Alle Elemente im Baum zählen
Axel Hoogestraat
- xsl
Hallo,
ich habe wieder ein kleines XSL Problem. Mit dem Befehl
<xsl:number level="any" count="element"> werden alle Elemente "element" gezählt, die vor dem aktuellen Knoten liegen und auf der gleichen Ebene, wenn ich nicht irre. Ich möchte aber gleich zu beginn des Dokuments (also bei <xsl:apply-template match="/" />) wieviele Knoten des Types vorhanden sind. Das Problem ist, die können auch verschachtelt sein.
Bsp.:
<root>
<element>
<irgendwas />
<element>
<was_anderes />
</element
<element>
<nochwas />
</element>
</element>
</root>
Wie kann ich der Struktur das Gesamtvorkommen von "element" zählen?
Vielen Dank im Voraus
Schöne Grüße
Axel
Hallo,
Wie kann ich der Struktur das Gesamtvorkommen von "element" zählen?
<xsl:value-of select="count(root//element)"/>
MfG, Thomas
Hallo,
vielen Dank. Hat (so ähnlich) funktionier. Zwar hat
count(root//element) nicht den erwünschten Erfolg gebracht, aber
count(//element) klappt.
Nochmals Danke,
schöne Grüße
Axel
Hallo,
vielen Dank. Hat (so ähnlich) funktionier. Zwar hat
count(root//element) nicht den erwünschten Erfolg gebracht, aber
count(//element) klappt.
Das kommt auf den (nicht genannten) Kontext an. Ich erhalte mit dieser Vorlage den Wert 3:
<xsl:template match="/">
<xsl:value-of select="count(root//element)"/>
</xsl:template>
MfG, Thomas
Hallo,
das ist merkwürdig. Mein Dokument ist genauso aufgebaut. Nur, das ich "element" noch eine Ebene tiefer geschachtelt habe, aber daran kanns ja nicht liegen. count(root//element) hat bei mir 0 bzw. nichts geliefert.
Ich denke mal, dass das eher ein einem Bug im Parser liegen könnte. Bzw. einfach eine unterschiedliche Interpretation seitens des Parser. Ich verwende Saxon, glaub ich ;-).
Schöne Grüße
Axel