Elemento <xsl:element>
Crea un elemento de salida con el nombre especificado.
<xsl:element
name = "element-name"
namespace = "uri-reference"
use-attribute-sets = QName
</xsl:element>
Atributos
name
Necesario.Nombre del elemento que se va a crear.Si este valor es Nombres completos, el nodo de elemento se crea en el espacio de nombres enlazado actualmente al prefijo, a no ser que sea invalidado por un atributo namespace.El valor del atributo name se interpreta como una plantilla de valor de atributo, es decir, las expresiones entre llaves se evalúan y convierten en cadenas, como en <xsl:value-of>.Esto permite calcular u obtener el nombre del elemento a partir del código fuente XML.namespace
El URI de espacio de nombres del elemento creado.Si el atributo name contiene un QName, el prefijo especificado allí estará enlazado al espacio de nombres especificado en el atributo namespace.Esto podría requerir declaraciones de espacio de nombres adicionales al serializar.El valor namespace se interpreta como una plantilla de valor de atributo.use-attribute-sets
Una lista de conjuntos de atributos separados por espacios en blanco, especificada como 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:copy, xsl:element, xsl:fallback, xsl:for-each, xsl:if, xsl:message, xsl:otherwise, xsl:param, xsl:template, xsl:variable, xsl:when, xsl:with-param, elementos de salida |
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 de salida |
Comentarios
El elemento <xsl:element> permite crear un elemento con un nombre calculado.El nombre del elemento que se va a crear se especifica mediante un atributo name necesario y un atributo namespace opcional.El contenido del elemento <xsl:element> es una plantilla para los atributos y secundarios del elemento creado.
Este elemento proporciona un mecanismo de escape para crear elementos con conflictos de espacio de nombres, como el propio XSLT.
Ejemplo
El elemento <xsl:element> es necesario ya que los elementos XSLT no se pueden utilizar como elementos de salida.Este ejemplo muestra cómo dar salida a un elemento <xsl:template>.
Archivo XML (item.xml)
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="element.xsl" ?>
<root>
<item>My Item</item>
</root>
Archivo XSLT (element.xsl)
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="item">
<xsl:element name="xsl:template">
<xsl:attribute name="match">cost</xsl:attribute>
<xsl:attribute name="xml:space">preserve</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Resultados
Este es el resultado con formato:
My Item
A continuación se muestra el resultado del procesador, al que se han añadido saltos de línea por razones de claridad.
<?xml version="1.0"?>
<xsl:template match="cost"
xml:space="preserve"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
My Item</xsl:template>