Compartir a través de


Elemento <xsl:attribute-set>

Define un conjunto de atributos con nombre.

<xsl:attribute-set
  name = QName
  use-attribute-sets = QNames
</xsl:attribute-set>

Atributos

  • name
    Obligatorio.El Nombres completos del conjunto de atributos.El valor del atributo name es un nombre completo.

  • use-attribute-sets
    Una lista de conjuntos de atributos separados por espacios en blanco, especificada como un Nombres completos.Al especificar este atributo se declara cada atributo en los conjuntos de atributos listados.

Información del elemento

Número de apariciones

Ilimitado

Elementos primarios

xsl:stylesheet, xsl:transform

Elementos secundarios

xsl:attribute

Comentarios

El contenido del elemento <xsl:attribute-set> se compone de algún elemento <xsl:attribute> que especifica los atributos del conjunto o ninguno de estos elementos.Para utilizar los conjuntos de atributos, especifique un atributo use-attribute-sets en los elementos <xsl:element>, <xsl:copy> o <xsl:attribute-set>.

Se producirá un error si mediante el uso de los atributos use-attribute-sets en los elementos <xsl:attribute-set> se provoca que un conjunto de atributos se utilice directa o indirectamente.

Especificar un atributo use-attribute-sets puede ser un modo eficiente de declarar varios atributos en un elemento.Para conseguir los mismos resultados mediante <xsl:attribute>, tendrá que utilizar un elemento <xsl:attribute> para cada atributo del conjunto de atributos con nombre.Deberá añadir estos elementos <xsl:attribute> como contenido del elemento <xsl:element>, <xsl:copy> o <xsl:attribute-set>.

Los conjuntos de atributos también pueden utilizarse especificando un atributo xsl:use-attribute-sets en un elemento de resultados literal.Para conseguir un elemento de resultados literal, se añadirán los atributos en el siguiente orden:

  1. Atributos de conjuntos de atributo denominados en un atributo xsl:use-attribute-sets, en el orden indicado en ese atributo.

  2. Atributos especificados en el elemento de resultados literal.

  3. Se añadirá cualquier atributo especificado por un elemento <xsl:attribute>.

Puesto que al añadir un atributo a un elemento se sustituye cualquier atributo que tenga ese elemento con el mismo nombre, los atributos especificados en conjuntos de atributos pueden invalidarse mediante atributos especificados en el propio elemento de resultados literal.

Cada vez que se utilice el atributo se creará una instancia para la plantilla de cada elemento <xsl:attribute> de un elemento <xsl:attribute-set>.Las instancias se crean utilizando el mismo nodo actual y la lista de nodos actuales que se utiliza para crear instancias para el elemento con el atributo use-attribute-sets o xsl:use-attribute-sets.Sin embargo, la posición del elemento <xsl:attribute> en la hoja de estilos (más que la posición del elemento con el atributo use-attribute-sets o xsl:use-attribute-sets) es la que determina los enlaces variables que estarán visibles.Por tanto, solo estarán visibles las variables y los parámetros declarados por los elementos de nivel superior <xsl:variable> y <xsl:param>.

Se combinan muchas definiciones de un conjunto de atributos con el mismo nombre expandido.Un atributo de una definición con mayor prioridad de importación tiene preferencia sobre un atributo de una definición que tiene menor prioridad de importación.

Si existen dos conjuntos de atributos con el mismo nombre expandido, la misma prioridad de importación y el mismo atributo, se producirá un error, a menos que exista una definición del conjunto de atributos con mayor prioridad de importación que también contenga el atributo.

En los temas siguientes se muestra un ejemplo del elemento <xsl:attribute-set>.