Elemento <xsl:namespace-alias> de XSLT

Definición y uso

El elemento <xsl:namespace-alias> se utiliza para reemplazar el espacio de nombres en la hoja de estilo con un espacio de nombres diferente en la salida, es decir, usar otros prefijos para reemplazar el prefijo asociado con el espacio de nombres dado.

Nota:<xsl:namespace-alias> es un elemento de nivel superior (top-level element) y debe ser un subelemento de <xsl:stylesheet> o <xsl:transform>.

A veces, los archivos de XSLT generan otro archivo de XSLT. Esto plantea problemas de espacio de nombres, ya que no hay manera clara de declarar dos prefijos para el mismo espacio de nombres, y el procesador no los trata como el mismo espacio de nombres. El comando <xsl:namespace-alias> puede asignar un espacio de nombres de transición a un prefijo alternativo, aplicar la hoja de estilo, y luego mapear el espacio de nombres alternativo al espacio de nombres de XSLT.

Aunque la generación de archivos de XSL a XSL es el principal uso de este comando, no es el único. Puede usarse en cualquier lugar donde haya un conflicto de espacio de nombres (por ejemplo, el espacio de nombres de tipos de datos de esquema xsi).

Sintaxis

<xsl:namespace-alias
stylesheet-prefix="prefix|#default"
result-prefix="prefix|"#default"/>

Atributo

Atributo Valor Descripción
stylesheet-prefix
  • prefix
  • #default
Obligatorio. Especifica el espacio de nombres que desea cambiar.
result-prefix
  • prefix
  • #default
Obligatorio. Especifica el espacio de nombres esperado para la salida.

Ejemplo

Ejemplo 1

El prefijo wxsl se convierte en el prefijo xsl: en la salida:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wxsl="http://www.codew3c.com/w3style.xsl">
<xsl:namespace-alias stylesheet-prefix="wxsl" result-prefix="xsl"/>
<xsl:template match="/">
  <wxsl:stylesheet>
    <xsl:apply-templates/>
  </wxsl:stylesheet>
</xsl:template>
</xsl:stylesheet>