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 |
|
必需。规定您希望更改的命名空间。 |
result-prefix |
|
必需。为输出规定期望的命名空间。 |
实例
例子 1
前缀 wxsl 被在输出中被转换为前缀 xsl:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wxsl="https://www.w3school.org.cn/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>