Ausgabetiefe des aktuellen Knotens in der Hierarchie

7

Mit XSLT / XPATH 1.0 möchte ich HTML erstellen, wobei das class -Attribut eines span -Elements die Tiefe in der ursprünglichen XML-Hierarchie angibt.

Zum Beispiel mit diesem XML-Fragment:

%Vor%

Ich möchte dieses HTML:

%Vor%

Wie tief diese div Elemente gehen könnten, ist a priori nicht bekannt. Das div s könnte Buch - & gt; Kapitel. Sie könnten Volumen sein - & gt; Buch - & gt; Kapitel - & gt; Absatz - & gt; Linie.

Ich kann mich nicht auf die Werte von @type verlassen. Einige oder alle könnten NULL sein.

    
JPM 04.02.2012, 22:58
quelle

3 Antworten

16

Dies hat eine sehr einfache und kurze Lösung - keine Rekursion, keine Parameter, keine xsl:element , keine xsl:attribute :

%Vor%

, wenn diese Umwandlung auf das bereitgestellte XML-Dokument angewendet wird :

%Vor%

das gewünschte, korrekte Ergebnis wird erzeugt :

%Vor%

Erläuterung : Richtige Verwendung von Vorlagen, AVT und der Funktion count() .

    
Dimitre Novatchev 05.02.2012, 00:15
quelle
5

Oder ohne Rekursion - aber Dimitres Antwort ist besser als meine Eins

%Vor%     
Kevan 05.02.2012 00:05
quelle
0

Wie bei XSL, verwenden Sie die Rekursion.

%Vor%     
GSerg 04.02.2012 23:38
quelle

Tags und Links