ADELIA |
VADELIA |
SADELIA |
WADELIA |
EADELIA |
(I/B) |
(I/B) (C/S) |
(B) (S) |
(I/B) (C/S) |
(B) (C/S) |
Paragraphe d'utilisation
Tous.
Syntaxe
XML_SELECTION NomIdentifiantXml cheminXPATH NbValeurs
CheminXPATH |
→ |
CheminXPATHAdélia | <cste alpha> | &<variable alpha> |
NbValeurs |
→ |
<Variable numérique> | Rien |
Description
Sélectionne les noeuds spécifiés par le chemin XPATH et positionne sur le premier.
Le chemin XPATH de sélection peut être indiqué sous la forme :
- d'un chemin XPATH Adélia,
- d'un chemin XPATH standard indiqué dans la constante alpha ou la variable alphanumérique.
La variable NbValeurs est facultative. Si elle est indiquée, elle doit être une variable numérique dans laquelle sera retournée le nombre de noeuds sélectionnés.
Gestion des espaces de noms :
- un élément peut être lié à un espace de noms à condition d'être préfixé ou d'être dans la portée d'un espace de noms par défaut.
- un attribut peut être lié à un espace de noms uniquement s'il est préfixé.
Pour interroger un élément ou un attribut lié à un espace de noms, il faut, dans un premier temps, ajouter une définition de préfixe dans le contexte d'exécution courant à l'aide de l'ordre XML_AJOUTER_NS. Cet ordre permet en effet d'associer un préfixe à un espace de noms identifié par une Uri. Le préfixe est alors utilisé pour qualifier un nom d'élément ou d'attribut dans le chemin XPATH.
Exemples :
XML_AJOUTER_NS xmlidf 'ha' 'urn:hardis:warehouse'
XML_SELECTION xmlidf /ha:bookstore/ha:book
XML_SELECTION xmlidf /ha:book[@ha:genre]
Après l'exécution de cet ordre, le mot réservé *CODE_RETOUR peut prendre les valeurs suivantes :
0 (*NORMAL) |
La sélection s'est bien déroulée, et le positionnement sur un noeud a réussi. |
100 (*NON_TROUVE) |
Aucun noeud correspondant à la sélection n'a été trouvé. |
1 |
Erreur : le chemin XPATH est invalide. |
13 |
Erreur : l'identifiant XML n'est pas ouvert. |
25 |
Erreur d'enregistrement d'un préfixe d'espace de noms. |
Par exemple
XML_SELECTION xml1 /AdelDBG/InfoPgm
XML_RECUP_VAL xml1 nom WNOM
XML_SELECTION xml1 /AdelDBG/InfoPgm/Dlls/Dll WNBVAL
SI WNBVAL > 0
XML_SELECTION xml1 /AdelDBG/InfoPgm/Dlls/Dll[WNBVAL]
XML_RECUP_VAL xml1 *TEXTE WDERNIERE_DLL
FIN
* récupération d'éléments préfixés
XML_AJOUTER_NS xml1 'ha' 'urn:xmlns:hardis:warehouse'
XML_SELECTION xml1 /ha:bookstore/ha:books WNBVAL
SI WNBVAL > 0
XML_SELECTION xml1 /ha:bookstore/ha:books[WNBVAL]
XML_RECUP_VAL xml1 *TEXTE varTexte
FIN