Partager via


Modèles (XSLT)

Un modèle est un type d'expression qui retourne une collection de nœuds en fonction d'un ensemble de conditions pour chaque nœud. Les nœuds qui satisfont aux conditions correspondent au modèle. La syntaxe des modèles est un sous-ensemble de la syntaxe des expressions. En particulier, les chemins de localisation répondant à certaines restrictions peuvent être utilisés comme modèles. Une expression qui est également un modèle est toujours évaluée en un objet de type node-set. Un nœud correspond à un modèle si ce nœud est un membre du résultat de l'évaluation du modèle en tant qu'expression par rapport à un contexte possible. Les contextes possibles sont ceux dont le nœud de contexte est le nœud dont la correspondance est recherchée ou l'un de ces ancêtres.

Le tableau suivant donne quelques exemples de modèles.

Modèle

Correspondance

Para

tout élément para

*

any, élément

chapter|appendix

tout élément chapter et tout élément appendix

olist/item

tout élément item dans un parent olist

appendix//para

tout élément para avec un élément ancêtre appendix

/

le nœud racine

text()

tout nœud de texte

processing-instruction()

toute instruction de traitement

node()

tout nœud autre qu'un nœud d'attribut et le nœud racine

id("W11")

l'élément ayant un ID unique W11

para[1]

tout élément para qui est le premier élément para enfant de son élément parent

*[position()=1 and self::para]

tout élément para qui est le premier élément enfant de son élément parent

para[last()=1]

tout élément para qui est le seul élément para enfant de son élément parent

items/item[position()>1]

tout élément item ayant un parent items et qui n'est pas le premier élément item enfant de son élément parent

item[position() mod 2 = 1]

tout élément item qui est un élément item enfant impair de son élément parent

div[@class="appendix"]//p

tout élément p ayant un élément ancêtre div qui possède un attribut class dont la valeur est appendix

@class

tout attribut class (pas tout élément ayant un attribut class)

@*

tout attribut

Voir aussi

Référence

Chemins de localisation (XPath)