Hallo zusammen!
Ich habe ein (für mich) schwieriges Problem und hoffe, dass mir hier ein Profi helfen kann.
Ich möchte ein XML so transformieren, dass die Eingabe = Ausgabe und bestimmte Elemente ein neues Attribut erhalten. Der neue Attribut-Wert soll die Position des aktuellen Knoten (bezogen auf ein übergeordnetes Element) beinhalten.
Beispiel:
Es soll an alle Elemente beginnend mit "Text" ein Attribut geschrieben werden. Der Attributwert besagt das wievielste Text*-Element innerhalb eines Kapitels es ist. Text kann dabei an verschiedensten Stellen untehalb von "Kapitel"vorkommen.
Eingabemenge:
Alles anzeigen
Ausgabe:
Alles anzeigen
Ich konnte das Problem hoffentlich ausreichend beschreiben und hoffe auf schnelle Hilfe.
Als Parser verwende ich dem SAXON8 (xslt2.0)
Danke und besten Gruß
ti-schmi
Ich habe ein (für mich) schwieriges Problem und hoffe, dass mir hier ein Profi helfen kann.
Ich möchte ein XML so transformieren, dass die Eingabe = Ausgabe und bestimmte Elemente ein neues Attribut erhalten. Der neue Attribut-Wert soll die Position des aktuellen Knoten (bezogen auf ein übergeordnetes Element) beinhalten.
Beispiel:
Es soll an alle Elemente beginnend mit "Text" ein Attribut geschrieben werden. Der Attributwert besagt das wievielste Text*-Element innerhalb eines Kapitels es ist. Text kann dabei an verschiedensten Stellen untehalb von "Kapitel"vorkommen.
Eingabemenge:
Quellcode
Ausgabe:
Quellcode
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <Schrank>
- <Buch>
- <Kapitel>
- <Text1 count="1"/>
- <Text2 count="2"/>
- <Text2 count="3"/>
- <Bild/>
- <Tabelle>
- <Text1 count="4"/>
- <Text2 count="5"/>
- <TextXYZ count="6"/>
- </Tabelle>
- </Kapitel>
- <Kapitel>
- <Text1 count="1"/>
- <Text2 count="2"/>
- <Text2 count="3"/>
- <Bild/>
- <Tabelle>
- <Text1 count="4"/>
- <Text2 count="5"/>
- <TextXYZ count="6"/>
- </Tabelle>
- </Kapitel>
- </Buch>
- </Schrank>
Ich konnte das Problem hoffentlich ausreichend beschreiben und hoffe auf schnelle Hilfe.
Als Parser verwende ich dem SAXON8 (xslt2.0)
Danke und besten Gruß
ti-schmi