Ik probeer al een tijdje om gegevens op te halen vanuit een sibling node, waarbij een attribuut-waarde van die sibling gelijk moet zijn aan een attribuut-waarde van de huidige node.
xml
XSLT (relevant)
In onderstaand voorbeeld moet vanuit het element property het attribuut type van element var ophalen waarbij de attributen name (van element var) en var (van element property) gelijk zijn.
In eerste instantie dacht ik dat de query
correct was, maar het lijkt erop dat als ik naar een andere node ga, ik de gegevens van de huidige node 'verlies', waarbij @var dus niet bruikbaar is.
Tevens heb ik geprobeerd om het preceding-sibling en preceding-sibling::node() deze gegevens op te vragen, maar ik krijg dan geen antwoord terug, dus verwacht ik dat mijn node niet correct is.
Hoe moet ik mijn XPath query wel correct schrijven?
xml
code:
1
2
3
4
5
| <var name="_queue" type="Queue" />
<var name="_document" type="string" />
<property var="_queue" />
<property var="_document" /> |
XSLT (relevant)
code:
1
| <xsl:value-of select="..//var[@name=..//@var]/@type" /> |
In onderstaand voorbeeld moet vanuit het element property het attribuut type van element var ophalen waarbij de attributen name (van element var) en var (van element property) gelijk zijn.
In eerste instantie dacht ik dat de query
code:
1
| ../var[@name=@var]/@type |
correct was, maar het lijkt erop dat als ik naar een andere node ga, ik de gegevens van de huidige node 'verlies', waarbij @var dus niet bruikbaar is.
Tevens heb ik geprobeerd om het preceding-sibling en preceding-sibling::node() deze gegevens op te vragen, maar ik krijg dan geen antwoord terug, dus verwacht ik dat mijn node niet correct is.
Hoe moet ik mijn XPath query wel correct schrijven?