×
Menu
Index

Syntax

 

Introductie

Om elementen te adresseren gebruiken we de volgende syntax
 
RootElement/SubElementA/SubElementB/SubElementC
 
We adresseren nu
 
<RootElement>
<SubElementA>
<SubElementB>
<SubElementC>Value</SubElementC>
</SubElementB>
</SubElementA>
</RootElement>
 

Instance

Maar wat nu als we deze in deze situatie in de tweede instantie van SubElementA en in de derde instantie van SubElementB, SubElementC willen adresseren?
 
<RootElement>
<SubElementA>
<SubElementB>
<SubElementC>Value1</SubElementC>
</SubElementB>
</SubElementA>
<SubElementA>
<SubElementB>
<SubElementC>Value2</SubElementC>
</SubElementB>
<SubElementB>
<SubElementC>Value3</SubElementC>
</SubElementB>
<SubElementB>
<SubElementC>Value4</SubElementC>
</SubElementB>
</SubElementA>
</RootElement>
 
De syntax is dan:
 
RootElement/SubElementA{2}/SubElementB{3}/SubElementC
 
Let op!
Als er geen instantie wordt geplaatst (tussen {}), dan wordt uitgegaan van instantie 1.
 
Bovenstaande is dus gelijk aan:
RootElement{1}/SubElementA{2}/SubElementB{3}/SubElementC
 
 

Variabelen

Op de plaats van de constante kan ook een variabele worden geplaatst bij de instance. Bijvooorbeeld:
 
#ElementACounter = 2
#ElementBCounter = 3
 
RootElement/SubElementA{[#ElementACounter]}/SubElementB{[#ElementBCounter]}/SubElementC
 
Ook kan (een deel van) het pad in een variabele worden gezet. Bijvoorbeeld:
 
#PathToElementA = RootElement/SubElementA{2}
 
[#PathToElementA]/SubElementB{[#ElementBCounter]}/SubElementC
 
 

Relatieve paden

Wanneer we een element willen adresseren t.o.v. van ons huidige pad (onze context) dan gebruiken we relatieve paden. Hiervoor zijn 2 mogelijkheden:
 
.
 
We adresseren hiermee t.o.v. ons huidige pad. Stel we bevinden ons op een SubElementA (dit kan de eerste of de tweede zijn, dat maakt bij relatief adresseren niet uit). Dan gebruiken we het volgende om naar SubElementC te gaan:
 
./SubElementB{3}/SubElementC
 
..
 
We adresseren hiermee t.o.v. de parent. Stel we bevinden ons op SubElementB{2} en we willen naar SubElementB{3}/SubElementC. Dan is de syntax:
 
../SubElementB{3}/SubElementC
 
De .. kan ook achter elkaar worden gebruikt. Stel we bevinden ons op SubElementB{2} van SubElementA{2} en we willen naar SubElementA{1}/SubElementB/SubElementC, dan is de syntax:
 
../../SubElementA{1}/SubElementB/SubElementC