Folgende XML-Daten muss ich gruppieren und dann als csv-String ausgeben.
Das funktioniert soweit, allerdings muss ich zusätzlich die Anzahl der gefunden Gruppen ermitteln da ich den Rest des csv-Strings mit Leer-Spalten (zusätzliche Semikolons) auffüllen muss. Keine Ahnung wie das geht.
Hier die XML-Daten
Und hier die Translation:
Wie kann ihc ermitteln wieviele Gruppen gebildet wurden?
Vielleicht denke ich auch in die falsche Richtung?
Danke!
Thorsten
Das funktioniert soweit, allerdings muss ich zusätzlich die Anzahl der gefunden Gruppen ermitteln da ich den Rest des csv-Strings mit Leer-Spalten (zusätzliche Semikolons) auffüllen muss. Keine Ahnung wie das geht.
Hier die XML-Daten
Code:
<CostItems> <CostItem> <Type>Base Cost</Type> <Value>76.00</Value> </CostItem> <CostItem> <Type>Base Cost</Type> <Value>76.00</Value> </CostItem> <CostItem> <Type>Base Cost</Type> <Value>76.00</Value> </CostItem> <CostItem> <Type>Base Cost</Type> <Value>73.00</Value> </CostItem> <CostItem> <Type>Party Supplement</Type> <Value>3.00</Value> </CostItem> <CostItem> <Type>Party Supplement</Type> <Value>3.00</Value> </CostItem> <CostItem> <Type>Party Supplement</Type> <Value>3.00</Value> </CostItem> <CostItem> <Type>Accom Supplement</Type> <Value>10.00</Value> </CostItem> <CostItem> <Type>Accom Supplement</Type> <Value>10.00</Value> </CostItem> <CostItem> <Type>Accom Supplement</Type> <Value>10.00</Value> </CostItem> <CostItem> <Type>Strandlaken-Set</Type> <Value>12.00</Value> </CostItem> <CostItem> <Type>Juniorzelt</Type> <Value>4.00</Value> </CostItem> </CostItems>
Code:
<xsl:template match="CostItems"> <xsl:for-each-group select="CostItem" group-by="Type"> <xsl:value-of select="Type"/> <xsl:text>:</xsl:text> <xsl:value-of select="sum(current-group()/Value)"/> <xsl:text>;</xsl:text> </xsl:for-each-group> </xsl:template>
Vielleicht denke ich auch in die falsche Richtung?
Danke!
Thorsten
Comment