Announcement

Collapse
No announcement yet.

Count beim gruppieren ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Count beim gruppieren ?

    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

    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>
    Und hier die Translation:

    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>
    Wie kann ihc ermitteln wieviele Gruppen gebildet wurden?

    Vielleicht denke ich auch in die falsche Richtung?

    Danke!

    Thorsten

  • #2
    Frage innerhalb des xsl:for-each-group-Blocks an geeigneter Stelle den Positionswert last() ab, also: <xsl:value-of select="last()"/>. Das wäre im Beispiel 5.

    Comment

    Working...
    X