Forum: XML Beginner |
Thema:
ancestor.... xpath... Verfolgung von Attributen |
Von:
G. Guest (
05.06.2003 14:13) |
Hallo,
ich habe folgendes Beispiel XML-Dokument:
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Beispiel1>
<Versuche1>Erster Versuch</Versuche1>
</Beispiel1>
<Buch>
<Name>83</Name>
<BuchInfo>
<Erscheinung></Erscheinung>
<Verlag></Verlag>
</BuchInfo>
<Heft ID="one">
<HeftInfo>
<Name>Aufbau</Name>
<Bezeichnung></Bezeichnung>
</HeftInfo>
<HeftBody>
<Seite ID="erste" Zahl="01">
<Titel></Titel>
<HeftBody>
<Seite ID="Uno" Zahl="01">
<Titel></Titel>
<HeftBody>
<Itemlist>
<Remark ID="fuer-P1">
<Anmerkung></Anmerkung>
....
</Remark>
<Item ID="P1" Zahl="0001">
<SummeSeiten></SummeSeiten>
<Qty></Qty>
<Text></Text>
......
</Item>
</Itemlist>
</HeftBody>
</Seite>
</HeftBody>
</Seite>
<Seite ID="zweite" Zahl="02">
<Titel></Titel>
<HeftBody>
<Seite ID="Two" Zahl="01">
<Titel></Titel>
<HeftBody>
<Itemlist>
<Remark ID="fuer-P2_1">
<Anmerkung></Anmerkung>
....
</Remark>
<Item ID="P2_1" Zahl="0001">
<SummeSeiten></SummeSeiten>
<Qty></Qty>
<Text></Text>
......
</Item>
</Itemlist>
</HeftBody>
</Seite>
</HeftBody>
</Seite>
</HeftBody>
</Heft>
</Buch>
</Root>
Mit u.a. folgendem "Rule" im Template über die Elemente "Seite" und "Item" :
<xsl:value-of select="ancestor::Seite/@Zahl"/><xsl:value-of select="@Zahl"/>
habe ich versucht, folgendes Ergebnis zu erzielen:
01
0101
01010001
02
0201
02010001
Aber es klappt nicht. Da es viele Knoten dazwischen gibt, die Verfolgung der Attribute der übergeordneten Elemente "Seite" erfolgt nicht. Immer wird direkt das Attribut des ersten Elements "Seite" selektiert.
Mein Ziel ist, daß bei jedem Element "Seite" oder "Item", erst das Attribut "Zahl" der übergeordneten Elemente "Seiten" (von oben angefangen nach unten) selektiert wird und letztendlich das Attribut des aktuellen node auch selektiert wird..
Hat jemand eine Idee, wie ich das "Rule" im Template verbessern soll?
Danke
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!