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.yousite.com/style.xsl">
<xsl:namespace-alias stylesheet-prefix="wxsl" result-prefix="xsl"/>
- <xsl:template match="/">
- <wxsl:stylesheet>
- <xsl:apply-templates/>
- </wxsl:stylesheet>
- </xsl:template>
- </xsl:stylesheet>