Tiefe der Verschachtelung ermitteln
Mho
- xsl
0 MudGuard0 Mho
0 Thomas J.S.
Hallo ihr alle
Wie kann man mit XSL feststellen auf welcher Ebene der Verschachtelung man sich befindet?
Ich möchte in einer Aufzählung die IDs nach der Ebene vergeben.
<element>A
<element>B</element>
<element>C</element>
<element>
<element>D</element>
<element>E</element>
</element>
</element>
<element>F</element>
<element>G</element>
Hier sollen die IDs folgendermaßen vergeben werden:
A 1
B 1_1
C 1_2
D 1_2_1
E 1_2_2
F 2
G 3
Dazu müsste ich während der Transformation wissen auf welcher Ebene ich mich befnde. Oder mir die mit position() ermittelte ebene des Elternelementes merken. Das klappt alles nicht so ganz wie ich das gerne hätte.
Hat jemand eine Idee? Gibt es da einen ganz anderen Ansatz?
Grüsse Mho
Hi,
Ich möchte in einer Aufzählung die IDs nach der Ebene vergeben.
Dazu müsste ich während der Transformation wissen auf welcher Ebene ich mich befnde. Oder mir die mit position() ermittelte ebene des Elternelementes merken. Das klappt alles nicht so ganz wie ich das gerne hätte.
Die Elemente entlang der ancestor-Achse zählen?
also sowas wie
count(ancestor::*)
(ungetestet)
cu,
Andreas
Ich glaube darauf kann ich aufbauen
vielen Dank
Hallo,
Hier sollen die IDs folgendermaßen vergeben werden:
A 1
B 1_1
C 1_2
D 1_2_1
E 1_2_2
F 2
G 3Dazu müsste ich während der Transformation wissen auf welcher Ebene ich mich befnde. Oder mir die mit position() ermittelte ebene des Elternelementes merken. Das klappt alles nicht so ganz wie ich das gerne hätte.
Du kannst auch mit <xsl:number level="multiple" format="1_" /> arbeiten.
Grüße
Thomas