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: 架构数据类型命名空间)。


语法

  1. <xsl:namespace-alias
  2. stylesheet-prefix="prefix|#default"
  3. result-prefix="prefix|"#default"/>
属性
属性描述
stylesheet-prefix
  • prefix
  • #default
必需。规定您希望更改的命名空间。
result-prefix
  • prefix
  • #default
必需。为输出规定期望的命名空间。

实例

例子 1

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

  1. <xsl:stylesheet version="1.0"
  2. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns:wxsl="https://www.cankaoshouce.com/w3style.xsl">
  4. <xsl:namespace-alias stylesheet-prefix="wxsl" result-prefix="xsl"/>
  5. <xsl:template match="/">
  6. <wxsl:stylesheet>
  7. <xsl:apply-templates/>
  8. </wxsl:stylesheet>
  9. </xsl:template>
  10. </xsl:stylesheet>

分类导航