Tiefe von verschachtelten Elementen rausfinden
Hans
- xml
Hallo,
ich möchte ein XML-Dokument formatieren das z.B. diese Struktur hat:
<bla>
<elemente>
<item />
<elemente>
<item />
<item />
</elemente>
</elemente>
</bla>
"<elemente>" kann also weitere "<elemente>" enhalten. Wie bekomme ich nun die Verschachtelungstiefe raus wenn ich mit XSLT durch alle "<elemente>" iteriere? Um z.B. alle "<item>"s mit ungerader Tiefe grün und alle mit gerader blau darzustellen? Gibts dafür irgendeinen XPath-Ausdruck der mir bisher entgangen ist?
Grüße,
Hans
Hallo,
"<elemente>" kann also weitere "<elemente>" enhalten. Wie bekomme ich nun die Verschachtelungstiefe raus wenn ich mit XSLT durch alle "<elemente>" iteriere? Um z.B. alle "<item>"s mit ungerader Tiefe grün und alle mit gerader blau darzustellen?
Probiere es so (ich hoffe, das richtig verstanden zu haben):
<xsl:template match="/">
</xsl:template>
<xsl:template match="elemente//item">
<xsl:when test="count(../item) mod 2 = 0">
<p style="color: #00C; background-color: #FFF">item mit gerade Verschachtelungstiefe unterhalb von element</p>
</xsl:when>
xsl:otherwise
<p style="color: #090; background-color: #FFF">item mit ungerader Verschachtelungstiefe unterhalb von element</p>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
MfG, Thomas