Mit XSL die Tiefe eines XML Baums ermitteln. (Hierarchietiefe)

Ziel ist es zu erfahren wie tief ein XML verschachtelt ist. Im konkreten Fall soll das XSL Script herausfinden wie viele Tags innerhalb eines Tags bestehen.

Dazu wird der gesamte Node an ein xsl:template übergeben und dort wird für jeden Tag, dasselbe Template mit dem aktuellen Zähler aufgerufen plus dem aktuellen Node.

 

Input

Die Beispiel XML Datei sieht wie folgt aus:

 

XSL StyleSheet

Im folgenden XSL Script wird im Haupttemplate das Template CountDepth aufgerufen und der Knoten des ersten Tags übergeben. Anschließend ruft sich das Template CountDepth selbständig mit xsl:call-template für jeden Tag auf.

 

Output

Das Endresultat sieht wie folgt aus:

(Visited 45 times, 1 visits today)

2 Comments Mit XSL die Tiefe eines XML Baums ermitteln. (Hierarchietiefe)

    1. Wilfried Grupe

      Sorry, da ist wohl der XSL-Code verlorengegangen

      <xsl:value-of select=“max(for $vch in /root/descendant-or-self::record return count($vch/ancestor-or-self::record))“/>

      Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.