Konvertieren von xml - /html-Tabelle in pdf via xsl-fo

Arbeite ich an ein xslt und xsl-fo-code zu konvertieren, um html-und pdf-bzw..

In meinem Ausgangs-xml ich habe eine Tabelle die ich kopieren kann direkt für die html-Ausgabe.

     <text>
        <table border='1'>
          <thead>
            <tr><th>Problem</th><th>Date</th><th>Comments</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>Cholecystitis</td><td>9/28/2002 - 6/2003</td>
              <td>Resolved</td>
              <td>Surgery postponed until after delivery</td>
            </tr>
            <tr>
              <td>Pregnancy</td><td>7/2001 - 4/22/2002</td>
              <td>Resolved</td>
              <td>Prior history of miscarraige</td>
            </tr>
            <tr><td>Ankle Sprain</td><td>3/28/2005</td>
              <td>Current</td>
              <td>Slipped on ice and fell</td>
            </tr>
          </tbody>
        </table>
     </text>

Benutze ich nur das kopieren der Inhalte für die Knoten:

<xsl:copy-of select="."/>

Ich nehme an, das funktioniert für die xslt-Konvertierung zu html, weil der browser interpretieren kann dieser direkt. Aber für meine pdf-ich nehme an, ich habe mit xsl-fo ist das völlig anders. Ich weiß, in xsl-fo die ich habe zu verwenden:

<fo:table>

Aber, ist es eine "standard" - format in dieser Tabelle werden in der Lage, um es für meine pdf-Erzeugung? Das xsl:copy für die pdf-Datei erzeugt eine einzelne Linie mit allen, die ausgezogen Werte, aber keine Tabelle.

Danke!

=====================================

BEARBEITEN

Was ich versuche zu tun ist, um code-einige xslt zu "analysieren" die Tabelle eingebettet sind, in meinem Ausgangs-xml-Dateien zu generieren, so etwas wie dieses:

<fo:table  table-layout="fixed" width="100%">
    <fo:table-column column-width="25mm"/>
    <fo:table-column column-width="25mm"/>
    <fo:table-body>
        <fo:table-row>
            <fo:table-cell>
                <fo:block>
something
                </fo:block>
            </fo:table-cell>
        </fo:table-row>
        <fo:table-row>
            <fo:table-cell>
                <fo:block>
something
                </fo:block>
            </fo:table-cell>
        </fo:table-row>
    </fo:table-body>
</fo:table>

Ist es der Weg zu gehen?! Tabellen sind ziemlich standard, ich dachte, html-Tabelle könnte leicht umgestaltet werden, um die xslt/xsl-fo.

Sie müssen, verwenden Sie die XSL-FO-Vokabular für die Tabellen definiert in seinem eigenen spec
Es sieht aus wie eine einfache transformation table -> fo:table, tbody -> fo:table-body, tr -> fo:table-row und td -> fo:table-cell. Was haben Sie bisher getan?
gut, ich erstellte eine xslt-code zum konvertieren von html-table-tags xsl-fo.
Warum XSL-FO? Kennen Sie "CSS+XHTML zu PDF" - Technologien? Siehe Warum die Verwendung von XSL-FO statt CSS2, für die Transformation von HTML in guten PDF? Frage und Antworten.

InformationsquelleAutor code-gijoe | 2011-02-19

Schreibe einen Kommentar