Share via


Spécification d'un chemin d'accès d'emplacement (SQLXML 4.0)

S’applique à :SQL ServerAzure SQL Database

Les requêtes XPath sont spécifiées sous la forme d'une expression. Il existe divers types d'expressions. Un chemin d'accès d'emplacement est une expression qui sélectionne un ensemble de nœuds associés au nœud de contexte. L'évaluation d'un chemin d'accès d'emplacement doit aboutir à un élément node-set.

Types de chemin d'accès d'emplacement

Un chemin d'accès d'emplacement peut adopter l'une ou l'autre des formes suivantes :

  • Chemin d'accès d'emplacement absolu

    Un chemin d'accès d'emplacement absolu démarre au nœud racine du document. Il se compose d'une barre oblique (/) suivie éventuellement d'un chemin d'accès relatif. La barre oblique (/) sélectionne le nœud racine du document.

  • Chemin d'accès relatif de l'emplacement

    Un chemin d'accès relatif de l'emplacement démarre au nœud de contexte dans le document. Un chemin d'accès d'emplacement consiste en une séquence d'une ou plusieurs étapes d'emplacement séparées par une barre oblique (/). Chaque étape sélectionne un ensemble de nœuds associés au nœud de contexte. La première séquence d'étapes sélectionne un ensemble de nœuds associés à un nœud de contexte. Chaque nœud dans cet ensemble est utilisé comme un nœud de contexte pour l'étape suivante. Les ensembles de nœuds identifiés par cette étape sont joints. Par exemple, child::Order/child::OrderDetail sélectionne les enfants de l’élément <OrderDetail> des enfants de l’élément <Order> du nœud de contexte.

    Notes

    Dans l'implémentation SQLXML 4.0 de XPath, chaque requête XPath démarre au contexte racine, même si la requête XPath n'est pas explicitement absolue. Par exemple, une requête XPath commençant par « Customer » (Client) est traitée comme « /Customer ». Dans la requête XPath Customer[Order], Customer commence au contexte racine, mais Order commence par le contexte Customer. Pour plus d’informations, consultez Présentation de l’utilisation des requêtes XPath (SQLXML 4.0).

Étapes d'emplacement

Un chemin d'accès d'emplacement (absolu ou relatif) est composé d'étapes d'emplacement contenant trois parties :

  • Axe

    L'axe spécifie la relation d'arborescence entre les nœuds sélectionnés par l'étape d'emplacement et le nœud de contexte. Les axes parent, child, attribute et self sont pris en charge. Si un axe enfant est spécifié dans le chemin d’accès d’emplacement, tous les nœuds sélectionnés par la requête sont les enfants du nœud de contexte. Si un axe parent est spécifié, le nœud sélectionné est le nœud parent du nœud de contexte. Si un axe d’attributs est spécifié, les nœuds sélectionnés sont les attributs du nœud de contexte.

  • Test de nœud

    Un test de nœud spécifie le type de nœud sélectionné par le niveau d'emplacement. Chaque axe (enfant, parent, attribut et auto)a un type de nœud principal. Pour l’axe des attributs , le type de nœud principal est <attribute>. Pour les axes parent, enfant et auto , le type de nœud principal est <element>.

    Par exemple, si le chemin d’accès d’emplacement spécifie child::Customer, les enfants de l’élément <Customer> du nœud de contexte sont sélectionnés. Étant donné que l’axe enfant a <l’élément> comme type de nœud principal, le test de nœud, Customer, a la valeur TRUE si Customer est un nœud d’élément<>.

  • Prédicats de sélection (aucun ou plusieurs)

    Un prédicat permet de filtrer un élément node-set par rapport à un axe. La définition de prédicats de sélection dans une expression XPath équivaut à spécifier une clause WHERE dans une instruction SELECT. Le prédicat est spécifié entre crochets. L'application du test spécifié dans les prédicats de sélection permet de filtrer les nœuds retournés par le test de nœud. Pour chaque nœud de l'élément node-set à filtrer, l'expression de prédicat est évaluée avec ce nœud en tant que nœud de contexte et avec le nombre de nœuds de l'élément node-set en tant que taille de contexte. Si l'expression de prédicat prend la valeur TRUE pour ce nœud, ce dernier est inclus dans l'élément node-set obtenu.

    La syntaxe d'une étape d'emplacement se compose du nom de l'axe et du test de nœud séparé par deux signes deux-points (::), suivis d'aucune ou plusieurs expressions, chacune entre crochets. Par exemple, l’expression XPath (chemin d’accès à l’emplacement) child::Customer[@CustomerID='ALFKI'] sélectionne tous les <enfants d’élément Customer> du nœud de contexte. Ensuite, le test dans le prédicat est appliqué à l’ensemble de nœuds, qui retourne uniquement les nœuds d’élément Customer> avec la< valeur d’attribut « ALFKI » pour son attribut CustomerID.

Dans cette section

Spécification d'un axe (SQLXML 4.0)
Fournit des exemples de spécification d'un axe.

Spécification d'un test de nœud dans le chemin d'accès d'emplacement (SQLXML 4.0)
Fournit des exemples de spécification d'un test de nœud.

Spécification de prédicats de sélection dans le chemin d'accès d'emplacement (SQLXML 4.0)
Fournit des exemples de spécification de prédicats de sélection.