Compartir a través de


Función position

Devuelve la posición, o número de índice, del nodo con respecto a todos los nodos seleccionados de la lista de nodos.

      number position()

Notas

La posición del nodo es de base 1, por lo que el primer nodo devuelve una posición de 1.

Ejemplo

En el código de ejemplo siguiente se muestran los efectos de la función position().

Archivo XML (position.xml)

Archivo XSLT (position.xsl)

Resultados

La hoja de estilos XSLT anterior, cuando se aplica al archivo XML de origen, asigna todos los elementos <x> a nuevos elementos <x> cuyo contenido mantiene su posición en el orden del documento.

<x a="a11">1</x>
<x a="a21">2</x>
<x a="a31">3</x>
<x a="a12">4</x>
<x a="a22">5</x>
<x a="a13">6</x>
<x a="a14">7</x>

Para ilustrar la dependencia de la función position() con respecto al contexto desde el que opera, vamos a sustituir la siguiente regla de plantilla (del archivo XSLT anterior):

por esta otra:

El resultado es el siguiente:

<x a="a11">1</x>
<x a="a21">2</x>
<x a="a31">3</x>
<x a="a22">4</x>

Por otro lado, si sustituimos la regla de plantilla por la siguiente:

<xsl:template match="/">
  <xsl:apply-templates select="//x[2]"/>
</xsl:template>

obtenemos el siguiente resultado:

<x a="a12">1</x>                 

Vea también

Referencia

Referencia de tipos de datos XML