@XMLXPATH[["nom de fichier"], chemin] : Requête XML XPath. Les arguments sont :

 

nom de fichier - nom du fichier XML

chemin - 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 doubles), @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 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. Voici les valeurs possibles pour un accesseur d'élément :

'nom'

Un nom d'élément particulier

nom[i]

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

[I]

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

[dernier()]

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

[dernier()-i]

Le sous-élément situé au dernier emplacement moins i dans l'élément actuel

nom[@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

 

Mise en situation :

 

Librairie.xml :

 

   Harry Potter

   29.99

   Apprendre XML

   39.95

   Veille quotidienne

   14.99

   Winston Churchill : une autobiographie

   49.99

 

Librairie.btm :

 

@ECHO OFF

SET a=%@XMLOPEN[librairie.xml]

SET b=%@XMLNODES[/librairie]

FAIRE i = 1 à %b

       Titre SET = %@XMLXPATH[/librairie/livre[%i]/titre]

       Prix ​​fixe = %@XMLXPATH[/librairie/livre[%i]/prix]

       ECHO %Titre ` coûts seulement ` %Prix

Endo

DÉFINIR c=%@XMLCLOSE[]

 

Exécution des sorties bookstore.btm :

 

Harry Potter ne coûte que 29.99

L'apprentissage du 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 invalide

104 Aucun espace de noms disponible

105 Index d'élément invalide

106 Aucun élément disponible

107 L'attribut n'existe pas

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

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

203 Préfixe d'attribut inconnu (impossible de trouver l'espace de noms)

204 Balisage XML invalide

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 Arborescence DOM indisponible

302 Impossible d'ouvrir le fichier

401 Un XML invalide serait généré

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