| @XMLXPATH |
@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é