<xslTutorial creator="nicmila@idoox.com">
<index keywords="current()"/>

<description>The current function returns a node-set that has the current node as its only member. For an outermost expression (an expression not occurring within another expression), the current node is always the same as the context node. However, within square brackets the current node is usually different from the context node.  </description>

<xmlSource id="id1">
<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>

</xmlSource>

<attValues>
<value match="">
</value>
</attValues>

<xslStylesheet id="id2">

<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>
</xslStylesheet>

</xslStylesheet>
</xslTutorial>