Assistant d'expression XPath - options de référence de syntaxe

Vous pouvez utiliser les options de référence de syntaxe pour spécifier des opérateurs et un chemin d'emplacement pour votre expression XPath. Les opérateurs sont utilisés pour manipuler des valeurs numériques, combiner des chemins et comparer des valeurs de chaîne ou des valeurs numériques. Un chemin d'emplacement décrit l'emplacement d'un noeud ou d'un groupe de noeuds dans un document XML.

Il existe deux types de chemin d'emplacement - absolu et relatif. Les chemins absolus commencent au niveau d'un point de référence fixe - le noeud racine. Les chemine relatifs commencent au niveau d'un point variable - un noeud de contexte.

Un chemin d'emplacement renvoie un ensemble de noeuds correspondant à une collection de noeuds (toute partie d'un document XML, tel qu'un élément, un attribut, un espace de nom ou un commentaire). Les chemins d'emplacement sont constitués d'étapes d'emplacement. Chaque étape comprend deux parties :

Une étape d'emplacement ressemble à ceci :

axis: node-test

Les étapes d'emplacement peuvent être combinées en les séparant par des barres obliques. Chaque étape dans le chemin d'emplacement résultant définit le noeud de contexte pour le prochain chemin dans l'étape.

Pour accéder aux options de référence de syntaxe, cliquez sur l'onglet Référence dans l'assistant d'expression XPath.

Spécificateurs d'axe

Chaque étape d'emplacement XPath se déplace le long d'un axe à partir d'un noeud de contexte. Par exemple, si vous sélectionnez enfant comme axe, votre expression XPath effectue une recherche sur tous les enfants du noeud de contexte.

Axis Emplacement dans lequel les noeuds sont recherchés
ancestor:: Noeud racine et tous les noeuds d'élément contenant le noeud de contexte. 
ancestor-or-self :: Tous les ancêtres du noeud de contexte, ainsi que le noeud lui-même.
attribute:: Tous les attributs du noeud de contexte.
child:: Tous les enfants du noeud de contexte. Les noeuds d'attribut et d'espace de nom ne sont pas des enfants de n'importe lequel des noeuds, bien qu'ils aient des noeuds parents.

Il s'agit de la valeur par défaut.

descendant:: Tous les noeuds contenus au sein d'un noeud de contexte, c'est-à-dire, n'importe quel enfant ou enfant d'enfant, etc. Seuls les noeuds d'élément et racine ont des descendants. De même que l'axe enfant, l'axe descendant ne contient jamais de noeuds d'espace de nom ou d'attributs.
descendant-or-self:: Tout descendant d'un noeud de contexte ou le noeud de contexte lui-même.
following:: Tous les noeuds qui commencent après les fins de noeud de contexte, excepté pour les noeuds d'espace de nom et les noeuds d'attribut.
following-sibling::  Tous les noeuds qui suivent la fin du noeud de contexte et ayant le même noeud parent. Les noeuds d'attribut et d'espace de nom n'ont pas d'éléments apparentés.
namespace::  Tous les espaces de nom dans la portée du noeud de contexte.
parent::  Noeud élément ou racine contenant immédiatement le noeud de contexte. Seul le noeud racine ne possède pas de noeud parent.
preceding::  Tous les noeuds qui se terminent avant le début du noeud de contexte, excepté pour les noeuds d'espace de nom et les noeuds d'attribut. 
preceding-sibling:: Tous les noeuds qui précèdent le début du noeud de contexte et ayant le même noeud parent. Les noeuds d'attribut et d'espace de nom n'ont pas d'éléments apparentés.
self::  Noeud de contexte lui-même. 

Tests de noeud

Chaque étape d'emplacement possède au moins un axe et un test de noeud. Le test de noeud affine encore plus les noeuds sélectionnés par l'étape d'emplacement. Par exemple, si vous spécifiez child:: comment( ) comme étape d'emplacement, votre expression XPath renvoie tous les enfants de noeud de commentaire du noeud de contexte.

Noeud Ce qu'il renvoie
* Sélectionne tous les éléments sans tenir compte du nom. Par exemple, child::* sélectionne tous les enfants élément du noeud de contexte et attribute::* sélectionne tous les attributs du noeud de contexte.
comment ( ) Tous les noeuds de commentaire. 
node( ) Tous les noeuds, sans considération de type.
processing-instruction ('target' ) Sans arguments, renvoie toutes les instructions de traitement. Avec un argument de chaîne unique target, il sélectionne toutes les instructions de traitement ayant la cible spécifiée.
text( ) Tous les noeuds de texte. Par exemple, child::text() sélectionne tous les enfants de noeud de texte du noeud de contexte.

Opérateurs

Il existe trois types d'opérateurs :
  • Ensemble de noeuds - opérateurs utilisés pour combiner ou définir des chemins
  • Booléen - opérateurs utilisés pour comparer des expressions numériques ou de chaîne
  • Nombre - opérateurs utilisés pour manipuler des valeurs numériques

Ensemble de noeuds

Opérateur Fonction
| Opérateur d'union. Il prend deux ensembles de noeuds et combine tous les noeuds ensemble (après avoir supprimé tous les noeuds en double).
/ Sélectionne tous les noeuds enfants.
// Sélectionne tous les noeuds descendant.

Booléen

Opérateurs booléens pouvant être utilisés pour comparer des expressions numériques ou de chaîne ou des valeurs booléennes.

Opérateur Retours
<= true si la valeur de la première expression numérique est inférieure ou égale à la valeur de la seconde, sinon false.
< true si la valeur de la première expression numérique est inférieure à la valeur de la seconde, sinon false.
>= true si la valeur de la première expression numérique est supérieure ou égale à la valeur de la seconde, sinon false.
> true si la valeur de la première expression numérique est supérieure à la valeur de la seconde, sinon false.
= True si les deux expressions (chaîne ou numérique) ont la même valeur, sinon false.
!= true si les deux expressions (chaîne ou numérique) n'ont pas la même valeur, sinon false.
and True si les valeurs booléennes sont vraies, sinon false.
or False uniquement si les deux valeurs sont fausses, sinon true.

Nombre

Ces opérateurs peuvent être utilisés pour manipuler des valeurs numériques.

Opérateur Retours
+ Somme de deux expressions de nombre.
- Différence de la première expression numérique moins la seconde.
* Produit de deux expressions numériques.
div Première expression numérique divisée par la seconde expression.
mod \ Première expression numérique modulo la seconde expression (le résultat est le reste).
Tâches associées
Création d'expressions XPath
Référence associée
Assistant d'expression XPath - options de référence de fonctions

Retour d'informations