Fonction current
Retourne une collection de nœuds ayant le nœud actuel pour seul membre.
node-set current()
Notes
La fonction retourne une collection de nœuds ayant le nœud actuel pour seul membre. Pour une expression extérieure, c'est-à-dire qui n'apparaît pas dans une autre expression, le nœud actuel est toujours identique à celui de contexte. Donc
<xsl:value-of select="current()"/>
est identique à
<xsl:value-of select="."/>
Toutefois, placé entre crochets, le nœud actuel est généralement différent du nœud de contexte. Par exemple,
<xsl:apply-templates select="//glossary/item[@name=current()/@ref]"/>
traite tous les éléments <item>
ayant un élément parent <glossary>
et un attribut name
avec une valeur égale à celle de l'attribut ref
du nœud actuel. C'est différent de
<xsl:apply-templates select="//glossary/item[@name=./@ref]"/>
qui a la même signification que
<xsl:apply-templates select="//glossary/item[@name=@ref]"/>
et qui traite donc tous les éléments <item>
ayant un élément parent <glossary>
et des attributs name
et ref
de même valeur.
Exemple
Fichier XML (current.xml)
<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="current.xsl" ?>
<nodes>
<node>first</node>
<node>1</node>
<node>
<obj>class</obj>
</node>
</nodes>
Fichier XSLT (current.xsl)
Sortie
Voici les données en sortie formatées affichées dans le navigateur :
first
1
class
Voici les données en sortie du processeur XSLT. Pour obtenir cette sortie, cliquez avec le bouton droit dans le navigateur et sélectionnez l'option de menu View XSL Output.