@XMLXPATH[["filename"],path]: Requête XML XPath. Les arguments sont :

 

filename - le nom du fichier XML

path - un ou plusieurs accesseurs d'éléments séparés par un /.

 

Si vous ne spécifiez pas de nom de fichier (qui *doit* être entre guillemets), @XMLXPATH utilisera le fichier XML précédemment ouvert par @XMLOPEN.

 

Pour renvoyer un attribut, faites précéder le nom de l'attribut d'un @.

 

Le chemin d'accès est une série d'un ou plusieurs accesseurs d'éléments séparés par "/". Le chemin peut être absolu (commençant par "/") ou relatif à l'emplacement XPath actuel. Les valeurs suivantes sont possibles pour un accesseur d'élément :

'name'

un nom d'élément particulier

name[i]

Le i-ème sous-élément de l'élément actuel avec le nom donné

[i]

Le i-ème sous-élément de l'élément courant

[last()]

Le dernier sous-élément de l'élément courant

[last()-i]

Le sous-élément situé à la dernière position moins i dans l'élément courant

name[@attrname="attrvalue"]

Le sous-élément contenant une valeur particulière pour un attribut donné (prend en charge les guillemets simples ET doubles)

..

Le parent de l'élément actuel

 

Exemple :

 

Bookstore.xml :

 

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>

<book>

<title lang="jap">Harry Potter</title>

<price>29.99</price>

</book>

<book>

<title lang="eng">Learning XML</title>

<price>39.95</price>

</book>

<book>

<title lang="ger">Day Watch</title>

<price>14.99</price>

</book>

<book>

<title lang="eng">Winston Churchill: An Autobiography</title>

<price>49.99</price>

</book>

</bookstore>

 

Bookstore.btm :

 

@ECHO OFF

SET a=%@XMLOPEN[bookstore.xml]

SET b=%@XMLNODES[/bookstore]

DO i = 1 to %b

SET Title= %@XMLXPATH[/bookstore/book[%i]/title]

SET Price= %@XMLXPATH[/bookstore/book[%i]/price]

ECHO %Title ` costs only ` %Price

ENDDO

SET c=%@XMLCLOSE[]

 

L'exécution des sorties de bookstore.btm :

 

Harry Potter ne coûte que 29,99

Learning XML ne coûte que 39,95

Day Watch ne coûte que 14,99

Winston Churchill : Une Autobiographie ne coûte que 49,99

 

Erreurs XML :

 

101 Index d'attribut invalide

102 Aucun attribut disponible

103 Index d'espace de noms incorrect

104 Aucun espace de noms disponible

105 Index d'élément incorrect

106 Aucun élément disponible

107 L'attribut n'existe pas

201 Balise d'élément déséquilibrée

202 Préfixe d'élément inconnu (espace de noms introuvable)

203 Préfixe d'attribut inconnu (espace de noms introuvable)

204 Balisage XML non valide

205 État final invalide pour l'analyseur

206 Le document contient des éléments déséquilibrés

207 XPath invalide

208 Aucun enfant de ce type

209 L'élément supérieur ne correspond pas au début du chemin

210 L'arbre DOM n'est pas disponible

302 Impossible d'ouvrir le fichier

401 Un XML invalide serait généré

402 Un nom XML non valide a été spécifié