Partager via


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)

<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="text()">
  <xsl:value-of select="current()"/>
</xsl:template>

<xsl:template match="*">
  <blockquote><xsl:apply-templates/></blockquote>
</xsl:template>

</xsl:stylesheet>

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.

<?xml version="1.0" encoding="UTF-16"?>
<blockquote>
   <blockquote>first</blockquote>
   <blockquote>1</blockquote>
   <blockquote>
      <blockquote>class</blockquote>
   </blockquote>
</blockquote>

Voir aussi

Référence

Référence des types de données XML