English | >> Français << | Deutsch | Magyar | 中文 | Polski ZVON > Tutorials > XSLT Tutorial
>> Page 65 << | Précédent | Suivant | Contenu | Index des éléments

La fonction current() renvoie un ensemble de noeuds dont le seul membre est le noeud courant. Pour une expression autonome (expression ne faisant partie d'aucune autre expression), le noeud courant est toujours le même que le noeud contextuel. Cependant, lorsqu'il se trouve entre crochets, le noeud courant est en règle générale différent du noeud contextuel.

Feuille de style XSLT 1

Source XML
<source>

<AAA name="first">
     <BBB name="first">11111</BBB>
     <BBB name="second">22222</BBB>
</AAA>
<AAA name="second">
     <BBB name="first">33333</BBB>
     <BBB name="second">44444</BBB>
</AAA>

</source>

Sortie
<TABLE border="1">
  <TR>
     <TH> . </TH>
     <TH>current()</TH>
  </TR>
  <TR>
     <TD>first</TD>
     <TD>first</TD>
  </TR>
  <TR>
     <TD>11111</TD>
     <TD>1111122222</TD>
  </TR>
  <TR>
     <TD>second</TD>
     <TD>second</TD>
  </TR>
  <TR>
     <TD>33333</TD>
     <TD/>
  </TR>
</TABLE>

Vue HTML
. current()
first first
11111 1111122222
second second
33333
Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE border="1">
          <TR>
               <TH> . </TH>
               <TH>current()</TH>
          </TR>
          <xsl:apply-templates select="//AAA"/>
     </TABLE>
</xsl:template>

<xsl:template match="AAA">
     <TR>
          <TD>
               <xsl:value-of select="./@name"/>
          </TD>
          <TD>
               <xsl:value-of select="current()/@name"/>
          </TD>
     </TR>
     <TR>
          <TD>
               <xsl:apply-templates select="BBB[./@name='first']"/>
          </TD>
          <TD>
               <xsl:apply-templates select="BBB[current()/@name='first']"/>
          </TD>
     </TR>
</xsl:template>


</xsl:stylesheet>