XSLT <xsl:namespace-alias> 元素

定义和用法

<xsl:namespace-alias> 元素用于在输出中把样式表中的命名空间替换为不同的命名空间,换句话说,使用其他前缀替换与给定命名空间关联的前缀。

注释:<xsl:namespace-alias> 是顶层元素(top-level element),且必须是 <xsl:stylesheet> 或 <xsl:transform> 的子元素。

有时,XSLT 文件会生成另一个 XSLT。这为命名空间带来了问题,因为没有明确的方式可以声明同一个命名空间的两个前缀,而处理器又不会将两个前缀作为同一个命名空间对待并进行操作。使用 <xsl:namespace-alias> 命令可以将过渡命名空间分配给备用前缀,再应用样式表,然后将备用命名空间映射到 XSLT 命名空间。

虽然 XSL 到 XSL 的文件生成是此命令的主要用途,但并不是唯一用途。可以在任何命名空间冲突的地方使用该命令(例如 xsi: 架构数据类型命名空间)。

语法

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

属性

属性 描述
stylesheet-prefix
  • prefix
  • #default
必需。规定您希望更改的命名空间。
result-prefix
  • prefix
  • #default
必需。为输出规定期望的命名空间。

实例

例子 1

前缀 wxsl 被在输出中被转换为前缀 xsl:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wxsl="http://www.phpStudy.net/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>