nein eher so in der xml
<name>hase</name><jahr>2007<jahr><betrag>20.00</betrag>
<name>hase</name><jahr>2006<jahr><betrag>880.00</betrag>
<name>hase</name><jahr>2006<jahr><betrag>37.00</betrag>
<name>hase</name><jahr>2007<jahr><betrag>21.00</betrag>
davon mit verschiedenen namen halt einige seiten.
das ganzw wird in ein pdf gezaubert...
aber beim pdf steht halt dann immer
hase 2007 20.00
hase 2006 880.00
hase 2006 37.00
hase 2007 21.00
ich will aber das es so aussieht...
hase 2007 20.00
2006 880.00
2006 37.00
2007 21.00
selbst die xsl datei ist ellenlang....
<xsl:for-each select="****">
fo:table-row
<fo:table-cell padding="0.5pt">
fo:block
<xsl:value-of select="****"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
<xsl:apply-templates select="****"/>
</xsl:for-each>
Das ist jetzt eine sehr gekürzte Variante... hab noch ein paar Seiten davon *g*
Das for-each oben ist dafür, die Zeilen zu wiederholen mit den Zahlen (jahr/betrag)
Oder kann man "doppelte Einträge" wegblenden?
vielleicht hilft das ja ein wenig
Hi nochmal!
Dann versuch ich's halt als Orakel:
Ich glaube jetzt verstanden zu haben, dass deine xml Datei aus, sagen wir mal, Datengruppen aufgebaut wie vorgeschlagen aufgebaut ist:
<el col1="A" col2="12" col3="88"/>
<el col1="A" col2="02" col3="188"/>
<el col1="B" col2="09" col3="818"/>
<el col1="B" col2="99" col3="81"/>Und jetzt möchtest du ein html output, indem col1 nur jeweils einmal pro Gruppe aufgeführt ist ?
Nun gut:
(sei col1 ein kein rein nummersicher eintrag => type=text)
<xsl:for each select="./el">
<xsl:sort select = "./@col1" order="ascending" data-type="text"/>
<xsl:variable name="compare">
xsl:choose
<xsl:when test="position()=1"></xsl:when>
xsl:otherwise<xsl:value-of select="./@col1"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="./@col1!=$compare">
<p>Nur einmal: <xsl:value-of select="./@col1"/></p>
</xsl:if>
<p>Jedesmal: <xsl:value-of select="./@col2"/> <xsl:value-of select="./@col3"/></p>
</xsl:for-each>Mehr gibt die Kristallkugel leider nicht her.
Grüsse,
Richard