Allereerst, mijn excuses voor de volslagen onduidelijke topictitel, meer kon ik er niet van maken. 
Dan nu mijn probleem: ik wil een XPath expressie maken waarbij ik een element selecteer op basis van een attribuut van dat element en de waarde van dat attribuut moet gelijk zijn aan dat van een attribuut binnen mijn contextnode.
Aangezien dat ook nog wat onduidelijk is, een voorbeeldje:
Aangezien ik graag appels met peren vergelijk (en dan met name wat ze kosten), wil ik nu een appel waarvan de kleur hetzelfde is als de peer en hier zit het probleem:
Voor de duidelijkheid, bovenstaande XPath expressie werk dus niet, maar het is hopelijk wel duidelijk wat ik nu wil: de prijs van de appel waarvan de kleur hetzelfde is als mijn peer (m'n contextnode).
Ik kom er eerlijk gezegd niet uit, hoe toets ik de waarde van het ene attribuut tegen het ander? Ik geef voor de kleur van mijn peer nog duidelijk aan dat het om het kleur attribuut gaat van m'n contextnode (./), maar ook dat mag niet baten.
Waarschijnlijk zie ik iets over het hoofd en is het gruwelijk simpel, maar ik zie het niet.
Dan nu mijn probleem: ik wil een XPath expressie maken waarbij ik een element selecteer op basis van een attribuut van dat element en de waarde van dat attribuut moet gelijk zijn aan dat van een attribuut binnen mijn contextnode.
Aangezien dat ook nog wat onduidelijk is, een voorbeeldje:
XML:
1
2
3
4
5
6
7
8
| <appels> <appel kleur="groen" prijs="5.00"/> <appel kleur="rood" prijs="3.00"/> </appel> <peren> <peer kleur="groen" prijs="4.00"/> </peren> |
Aangezien ik graag appels met peren vergelijk (en dan met name wat ze kosten), wil ik nu een appel waarvan de kleur hetzelfde is als de peer en hier zit het probleem:
XML:
1
| //appels/appel[@kleur=./@kleur]/@prijs |
Voor de duidelijkheid, bovenstaande XPath expressie werk dus niet, maar het is hopelijk wel duidelijk wat ik nu wil: de prijs van de appel waarvan de kleur hetzelfde is als mijn peer (m'n contextnode).
Ik kom er eerlijk gezegd niet uit, hoe toets ik de waarde van het ene attribuut tegen het ander? Ik geef voor de kleur van mijn peer nog duidelijk aan dat het om het kleur attribuut gaat van m'n contextnode (./), maar ook dat mag niet baten.
Waarschijnlijk zie ik iets over het hoofd en is het gruwelijk simpel, maar ik zie het niet.