Compartir a través de


Elemento <xsl:variable>

Especifica un valor enlazado de una expresión.

<xsl:variable
  name = QName
  select = Expression
</xsl:variable>

Atributos

  • name
    Obligatorio.El Nombres completos de la variable.

  • select
    El valor del atributo es una Expresiones (XML) y el valor de la variable es el objeto que resulta de evaluar la expresión.Cuando se especifica este atributo, el contenido de <xsl:variable> debe estar vacío.

Información del elemento

Número de apariciones

Ilimitado

Elementos primarios

xsl:attribute, xsl:comment, xsl:copy, xsl:element, xsl:for-each, xsl:if, xsl:otherwise, xsl:param, xsl:processing-instruction, xsl:stylesheetxsl:template, xsl:variable, xsl:when, xsl:with-param, elementos resultantes

Elementos secundarios

xsl:apply-templates, xsl:attribute, xsl:call-template, xsl:choose, xsl:comment, xsl:copy, xsl:copy-of, xsl:element, xsl:for-each, xsl:if, xsl:processing-instruction, xsl:text, xsl:value-of, xsl:variable, elementos resultantes

Comentarios

El valor de la variable puede ser un objeto de cualquier tipo que pueda ser emitido por una expresión.El elemento <xsl:variable> puede especificar el valor de la variable de tres formas alternativas:

  • Si el elemento tiene un atributo select, el valor del atributo debe ser una expresión y el valor de la variable es el objeto que resulta de la evaluación de la expresión.En este caso, el contenido del elemento debe estar vacío.

  • Si el elemento no tiene un atributo select y no tiene un contenido vacío como uno o varios nodos secundarios, el contenido especifica el valor.El contenido es una plantilla para la que se han creado instancias con el fin de proporcionar el valor de la variable.El valor es un fragmento de árbol de resultados equivalente a un conjunto de nodos que contiene solo un nodo raíz sencillo que posee como elemento secundario la secuencia de nodos que se produce al crear instancias para la plantilla.El identificador URI básico de los nodos del fragmento de árbol de resultados es el identificador de recursos uniforme (URI) básico del elemento de enlace de variables.

    Si un miembro de la secuencia de nodos originada mediante la creación de instancias para la plantilla es un nodo de atributo o un nodo de espacio de nombres, se producirá un error, ya que un nodo raíz no puede tener un nodo de atributo o un nodo de espacio de nombres como elemento secundario.

  • Si el contenido está vacío y no tiene un atributo select, el valor de la variable es una cadena vacía.Así,

    <xsl:variable name="x"/>
    

    equivale a

    <xsl:variable name="x" select="''"/>
    

    Cuando se utiliza una variable para seleccionar nodos según la posición, tenga cuidado de no hacer lo siguiente:

    <xsl:variable name="n">2</xsl:variable>
    ...
    <xsl:value-of select="item[$n]"/>
    

    Esto generará el valor del primer elemento, ya que la variable "n" estará enlazada a un fragmento de árbol de resultados, no a un número.En su lugar, utilice:

    <xsl:variable name="n" select="2"/>
    ...
    <xsl:value-of select="item[$n]"/>
    

    ...o bien:

    <xsl:variable name="n">2</xsl:variable>
    ...
    <xsl:value-of select="item[number($n)]"/>
    

Vea también

Referencia

Elemento <xsl:param>