I m testing install aware X3 for my company, before decide to buy it or not.
I m currently testing some XPath queries, but I cant make some work.
I need to find a node if text contains something. I also tried with equals comparaison.
This is my InstallAware "human readable" code:
Code: Select all
Evaluate Query //Client[@Name="LePicard"]/Peripherique[contains(text(),"bbb")]/@Id on XML file $InstallerFilesPath$\Clients_Peripheriques.xml, get result into variable SelectedDeviceId as type Full XML String
and
Code: Select all
Evaluate Query //Client[@Name="LePicard"]/Peripherique[text()="bbb"]/@Id on XML file $InstallerFilesPath$\Clients_Peripheriques.xml, get result into variable SelectedDeviceId as type Full XML String
Equality works well with parameters:
Code: Select all
Evaluate Query //Client[@Name="LePicard"]/Peripherique[@TerminalName="bbb"]/@Id on XML file $InstallerFilesPath$\Clients_Peripheriques.xml, get result into variable SelectedDeviceId as type Full XML String
but not contains
Code: Select all
Evaluate Query //Client[@Name="LePicard"]/Peripherique[contains(@TerminalName,"bbb")]/@Id on XML file $InstallerFilesPath$\Clients_Peripheriques.xml, get result into variable SelectedDeviceId as type Full XML String
So are contains(), text() or other w3C recommandation xpath functions implemented?
Or if there is a different query to do this, how can I do it?
Thanks.
There is my XML code sample:
Code: Select all
<?xml version="1.0" encoding="UTF-8" ?>
<Clients>
<Client Name="Neolis">
<Peripherique Id="1" TerminalName="Tab01" Type="Tablette">Tab01 - Tablette</Peripherique>
<Peripherique Id="2" TerminalName="Tab02" Type="Tablette">Tab02 - Tablette</Peripherique>
<Peripherique Id="3" TerminalName="Siege" Type="Serveur">Siege - Serveur</Peripherique>
</Client>
<Client Name="Boucheron">
<Peripherique Id="4" TerminalName="Terminal 01" Type="Tablette">Terminal 01 - Tablette</Peripherique>
<Peripherique Id="5" TerminalName="Terminal 02" Type="Tablette">Terminal 02 - Tablette</Peripherique>
<Peripherique Id="6" TerminalName="Siege Boucheron" Type="Serveur">Siege Boucheron - Serveur</Peripherique>
</Client>
<Client Name="LePicard">
<Peripherique Id="7" TerminalName="Tablette 01" Type="Tablette">Tablette 01 - Tablette</Peripherique>
<Peripherique Id="8" TerminalName="Tablette 02" Type="Tablette">Tablette 02 - Tablette</Peripherique>
<Peripherique Id="9" TerminalName="Maison Mere" Type="Serveur">Maison Mere - Serveur</Peripherique>
<Peripherique Id="10" TerminalName="bbb" Type="Serveur">bbb</Peripherique>
</Client>
</Clients>