Hallo zusammen!
Da ich inzwischen schon alles erdenklich ausprobiert habe ohne weiterzukommen, will ich mich in letzter Hoffnung an Euch wenden. Und zwar versuche ich mehrere Elemente (punktName) verschiedener Nodes zusammenzufassen. Ich habe allerdings keine Ahnung wie ich es realiseren kann.
Mein XML File hat die folgenden Struktur.
Das Stylesheet ist jedoch so strukturiert, dass es für jede Node Lfs nur eine Zeile erzeugt! Das muss auch so bleiben! Ist meine Vorstellung trotzdem zu realisieren?
Ich wäre Euch sehr für Eure Hilfe dankbar!
Gruss, Freezer
Da ich inzwischen schon alles erdenklich ausprobiert habe ohne weiterzukommen, will ich mich in letzter Hoffnung an Euch wenden. Und zwar versuche ich mehrere Elemente (punktName) verschiedener Nodes zusammenzufassen. Ich habe allerdings keine Ahnung wie ich es realiseren kann.
Mein XML File hat die folgenden Struktur.
Code:
<selection> <spediteur> <lfs rowspan="3"> <row spediteur="TestSped" bestellnr="SJT070" lfsnr="16145A" datum="2008-03-05T00:00:00" ziel="BBBB" lfs_refnr="6041" lfs_emenge="tl" lfsGuid="000afa694b8b4c418f50a9612354e33f" lfs_transportnr="16145A" werksmassLUT="32.120" lmenge="9.342" pguid_ref="010C6BB3001808AC906D000000000000" wmValid="3" punktName="e" menge="1.6267999e+002" emenge="Fm" holzart="Fi" sortierung="Abs" guete="B/C" laenge="6.1"> <lmengeLfsUnit>5.06</lmengeLfsUnit> <werksmass>10.12</werksmass> <sorte>Fi, Abs, B/C, 6,10</sorte> </row> <row spediteur="TestSped" bestellnr="SJT070" lfsnr="16122A" datum="2008-03-05T00:00:00" ziel="BBBB" lfs_refnr="6041" lfs_emenge="tl" lfsGuid="000afa694b8b4c418f50a9612354e33f" lfs_transportnr="16145A" werksmassLUT="32.120" lmenge="20.308" pguid_ref="010C6BB3002506CCAB08000000000000" wmValid="3" punktName="160" menge="1.2870000e+001" emenge="Fm" holzart="Fi" sortierung="Abs" guete="B/C" laenge="6.1"> <lmengeLfsUnit>11.00</lmengeLfsUnit> <werksmass>22.00</werksmass> <sorte>Fi, Abs, B/C, 6,10</sorte> </row> <menge>12.87</menge> <emenge>Fm</emenge> <unit>tl</unit> <datum>2008-03-05</datum> <wmunit>tl</wmunit> <lmengeSumme>16.06</lmengeSumme> <wmmenge>32.12</wmmenge> </lfs> </spediteur>
Code:
<xsl:template match="/selection"> <xsl:for-each select="spediteur"> <xsl:for-each select=" lfs"> <xsl:sort data-type="text" select="row[1]/@spediteur"/> <xsl:sort data-type="text" select="row[1]/@bestellnr"/> <xsl:sort data-type="text" select="row[1]/@lfsnr"/><tr> <td rowspan="{@rowspan}"> <span style="font-weight: bold; color: rgb(255, 0, 0);"><xsl:value-of select="row[1]/@lfsnr"/></span> <br/><xsl:value-of select="row[1]/@lfs_refnr"/><br/><xsl:value-of select="row[1]/@lfs_transportnr"/></td> <td rowspan="{@rowspan}"><xsl:value-of select="row[1]/@bestellnr"/></td> <td rowspan="{@rowspan}"><xsl:value-of select="row[1]/@spediteur"/></td> <td rowspan="{@rowspan}"><xsl:value-of select="datum"/></td> <td rowspan="{@rowspan}"><xsl:value-of select="row[1]/@ziel"/></td><td rowspan="{@rowspan}"><xsl:value-of select="lfs/@row/@punktName"/></td> <td rowspan="{@rowspan}"><xsl:if test="menge > 0"><xsl:value-of select="format-number(menge, '#.##0,00')"/>*<xsl:value-of select="emenge"/></xsl:if></td> <td rowspan="{@rowspan}"><xsl:if test="lmengeSumme > 0"><xsl:value-of select="format-number(lmengeSumme, '#.##0,00')"/> <xsl:value-of select="unit"/></xsl:if></td> <td rowspan="{@rowspan}"><xsl:if test="wmmenge > 0"><xsl:value-of select="format-number(wmmenge, '#.##0,00')"/> <xsl:value-of select="wmunit"/></xsl:if></td></tr> <xsl:for-each select="row"> <tr display="none"> </tr> </xsl:for-each> </xsl:for-each> </xsl:for-each>
Gruss, Freezer
Comment