Hallo!
Ich würde gerne mit meinem Stylesheet (über XPath), die Spaltenbreite innerhalb von Tabellen aus einer XML auslesen.
Den Wert dafür, speicher ich in dem Attribut colwidth in jedem entry.
Innerhalb einer <row> ist jedes <entry> eine neue Spalte.
Also würde beispielsweise
<row><entry>...</entry><entry>....</entry></row>
<row><entry>...</entry><entry>....</entry></row>
folgende Tabelle ergeben:
Spal.1 Spal.2
+----++----+
|.......||.......| Reihe1
+----++----+
+----++----+
|.......||.......| Reihe2
+----++----+
Die Werte kriege ich eigentlich soweit ausgelesen.
Problem ist dabei, dass immer der letzte Wert in colwidth genommen wird(Dort benötige ich lediglich den größten Wert in colwidth innerhalb einer Spalte).
Weiterhin betreffen meine ausgelesenen Werte immer nur die erste Spalte.
Also meine for-each für <fo:table-column>, in der ich dnan die Werte der richtigen Spalte zuweise, klappt irgendwie auch nicht(hat jetzt nicht wirklich was mit XPath zu tun, vllt hat da trotzdem einer eine Idee)
In der XML ist außerdme für jede Tabelle das Attribut tablenum hinterlegt, welches auch noch eine Rolle in der ganzen Sache spielt.
Diese nummern müsste ich irgendwie zählen und dann später der aktuellen Tabelle die richtigen Werte zuweisen.
Wie man sieht steh ich da vor ner Menge offener Fragen...
Hier nochmal die Inhalt, wie er in der XML steht:
Bin für jede Hilfe dankbar...
Viele Grüße
Ich würde gerne mit meinem Stylesheet (über XPath), die Spaltenbreite innerhalb von Tabellen aus einer XML auslesen.
Den Wert dafür, speicher ich in dem Attribut colwidth in jedem entry.
Innerhalb einer <row> ist jedes <entry> eine neue Spalte.
Also würde beispielsweise
<row><entry>...</entry><entry>....</entry></row>
<row><entry>...</entry><entry>....</entry></row>
folgende Tabelle ergeben:
Spal.1 Spal.2
+----++----+
|.......||.......| Reihe1
+----++----+
+----++----+
|.......||.......| Reihe2
+----++----+
Die Werte kriege ich eigentlich soweit ausgelesen.
Problem ist dabei, dass immer der letzte Wert in colwidth genommen wird(Dort benötige ich lediglich den größten Wert in colwidth innerhalb einer Spalte).
Weiterhin betreffen meine ausgelesenen Werte immer nur die erste Spalte.
Also meine for-each für <fo:table-column>, in der ich dnan die Werte der richtigen Spalte zuweise, klappt irgendwie auch nicht(hat jetzt nicht wirklich was mit XPath zu tun, vllt hat da trotzdem einer eine Idee)
In der XML ist außerdme für jede Tabelle das Attribut tablenum hinterlegt, welches auch noch eine Rolle in der ganzen Sache spielt.
Diese nummern müsste ich irgendwie zählen und dann später der aktuellen Tabelle die richtigen Werte zuweisen.
Wie man sieht steh ich da vor ner Menge offener Fragen...
Hier nochmal die Inhalt, wie er in der XML steht:
Code:
<table tablenum="1"><caption /> <tbody><row> <entry align="left" valign="top" role="c255,255,255#l2t2r2b2" rowheight="5" colwidth="100"> <phrase>test</phrase></entry> <entry align="left" valign="top" role="c255,255,255#l2t2r2b2" rowheight="5" colwidth=""><phrase>test </phrase></entry></row> <row><entry align="left" valign="top" role="c255,255,255#l2t2r2b2" rowheight="5" colwidth=""><phrase>test</phrase></entry> <entry align="left" valign="top" role="c255,255,255#l2t2r2b2" rowheight="5" colwidth="30"><phrase>test2</phrase></entry></row> </tbody></table>
Bin für jede Hilfe dankbar...
Viele Grüße
Comment