Hi,
ich habe ein XML, das ausschnittsweise vereinfacht so aussieht:
Ich muß nun eine laufende Numerierung für das ancestor-Element Id generieren, damit ich später so etwas wie
bekomme.
Bei einer Transformation, die sich auf ancestor-Level bewegte war das noch einfach mit
zu bewerkstelligen, als ich jedoch in einer zweiten Transformation auf Item-Level "abtauchen" mußte, klappte das natürlich nicht mehr. Ich habe dann versucht mit ancestor und position herumzuspielen, aber das schlug fehl. Letztlich fand ich dann über Google Hinweise die so etwas wie
nahelegten, aber diese Herangehensweise geht davon aus, daß die parents sich auf einer Ebene befinden und nicht wie hier innerhalb von Containern.
Daher nun meine Frage: Wie kann ich die bisherigen Container/Id-Elemente fortlaufend durchzählen, während ich mich auf Item-Ebene befinde?
Dank im voraus!
ich habe ein XML, das ausschnittsweise vereinfacht so aussieht:
Code:
<Container> <Id>ABC123</Id> <List> <Item>ItemOne</Item> </List> <Id>ABC456</Id> <List> <Item>ItemOne</Item> <Item>ItemTwo</Item> </List> </Container> <Container> <Id>XYZ321</Id> <List> <Item>AnotherOne</Item> <Item>AnotherTwo</Item> </List> <Id>ABC456</Id> <List> <Item>AnotherThree</Item> </List> </Container>
Code:
1;ABC123;ItemOne 2;ABC456;ItemOne 2;ABC456;ItemTwo 3;XYZ321;AnotherOne 3:XYZ321;AnotherTwo 4;ABC456;AnotherThree
Bei einer Transformation, die sich auf ancestor-Level bewegte war das noch einfach mit
Code:
<xsl:number value="position()"/>
Code:
count(parent::*/preceding-sibling::*) + 1
Daher nun meine Frage: Wie kann ich die bisherigen Container/Id-Elemente fortlaufend durchzählen, während ich mich auf Item-Ebene befinde?
Dank im voraus!
Comment