Fonction position
Retourne la position, ou numéro d'index, du nœud, par rapport à tous les nœuds sélectionnés dans la liste de nœuds.
number position()
Notes
La position du nœud est de base 1 ; le premier nœud retourne donc la position 1.
Exemple
L'exemple de code suivant illustre les effets de la fonction position()
.
Fichier XML (position.xml)
Fichier XSLT (position.xsl)
Sortie
Appliquée au fichier XML source, la feuille de style XSLT ci-dessus mappe tous les éléments <x>
à de nouveaux éléments <x>
dont le contenu comporte leur position dans l'ordre du document.
<x a="a11">1</x>
<x a="a21">2</x>
<x a="a31">3</x>
<x a="a12">4</x>
<x a="a22">5</x>
<x a="a13">6</x>
<x a="a14">7</x>
Pour illustrer la sensibilité de la fonction position()
par rapport au contexte dans lequel elle est exécutée, remplaçons la règle de modèle suivante (du fichier XSLT ci-dessus) :
par la suivante :
Le résultat est le suivant :
<x a="a11">1</x>
<x a="a21">2</x>
<x a="a31">3</x>
<x a="a22">4</x>
D'autre part, si nous remplaçons la règle de modèle par la suivante :
<xsl:template match="/">
<xsl:apply-templates select="//x[2]"/>
</xsl:template>
nous obtenons le résultat suivant :
<x a="a12">1</x>