Compartir a través de


Función current

Devuelve un conjunto de nodos que tiene el nodo actual como único miembro.

node-set current()

Comentarios

La función devuelve un conjunto de nodos que tiene el nodo actual como único miembro.Para una expresión exterior, es decir, una expresión que no aparezca dentro de otra expresión, el nodo actual es siempre el mismo que el nodo de contexto.Así,

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

equivale a:

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

Sin embargo, entre corchetes, el nodo actual suele ser diferente del nodo de contexto.Por ejemplo:

<xsl:apply-templates select="//glossary/item[@name=current()/@ref]"/>

procesa todos los elementos <item> que tienen un elemento principal <glossary> y un atributo name con el mismo valor que el del atributo ref del nodo actual.No sucede lo mismo que en

<xsl:apply-templates select="//glossary/item[@name=./@ref]"/>

lo que significa que es igual que

<xsl:apply-templates select="//glossary/item[@name=@ref]"/>

y, por tanto, procesa todos los elementos <item> que tienen un elemento principal <glossary> y que tienen un atributo name y un atributo ref con el mismo valor.

Ejemplo

Archivo 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>

Archivo 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>

Resultados

Este es el resultado con formato que se muestra en el explorador.

first

1

class

Este es el resultado desde el procesador XSLT.Para obtener dicho resultado, haga clic con el botón secundario en el explorador y seleccione el elemento de menú Ver resultado XSL.

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

Vea también

Referencia

Referencia de tipos de datos XML