função current() do XSLT

definição e uso

A função current() retorna um conjunto de nós que contém apenas o nó atual. Normalmente, o nó atual é o mesmo que o nó de contexto.

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

igual a

<xsl:value-of select="."/>

No entanto, há uma diferença. Vamos olhar para a expressão XPath a seguir: "catalog/cd". A expressão escolhe o subnó "catalog" do nó atual, e em seguida, escolhe o subnó "cd" do nó "catalog". Isso significa que, em cada passo da computação, o ponto (".") tem um significado diferente.

Aqui está essa linha:

<xsl:apply-templates select="//cd[@title=current()/@ref]"/>

Tratará de todos os elementos cd cujo valor do atributo title seja igual ao valor do atributo ref do nó atual.

Diferente disso:

<xsl:apply-templates select="//cd[@title=./@ref]"/>

Este processo tratará de todos os elementos cd que possuam o atributo title e ref com valores iguais.

sintaxe

node-set current()

exemplo

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
  <xsl:for-each select="catalog/cd/artist">
    Nó atual: <xsl:value-of select="}}current()"/>
    <br />
  </xsl:for-each>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

Ver arquivo XML,Ver arquivo XSL,Ver resultados.