Ausgabe die Tiefe des aktuellen Knotens in der Hierarchie
Unter Verwendung von XSLT/XPATH 1.0, ich möchte HTML-Code erstellen, wo die class
Attribut eines span
element zeigt die Tiefe in der ursprünglichen XML-Hierarchie.
Beispielsweise mit diesem XML-fragment:
<text>
<div type="Book" n="3">
<div type="Chapter" n="6">
<div type="Verse" n="12">
</div>
</div>
</div>
</text>
Möchte ich diese HTML:
<span class="level1">Book 3</span>
<span class="level2">Chapter 6</span>
<span class="level3">Verse 12</span>
Wie tief diese div
Elemente gehen könnte, ist nicht a priori bekannt. Die div
s konnte sein Buch -> Kapitel. Sie konnte sein Volumen -> Buch -> Kapitel -> Absatz -> Line.
Kann ich nicht verlassen sich auf die Werte von @Typ. Einige oder alle Null-Werte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser hat eine sehr einfache und kurze Lösung-keine Rekursion, keine Parameter, keine
xsl:element
keinexsl:attribute
:wenn diese transformation wird angewendet auf das XML-Dokument:
die wollten, das richtige Ergebnis produziert wird:
Erklärung: Korrekte Verwendung von Vorlagen, AVT und die
count()
Funktion.Ohne oder mit Rekursion - aber Dimitre Antwort ist besser als meine eine
Da in der Regel mit XSL Rekursion.