XSLT <xsl:namespace-alias> 元素
<xsl:namespace-alias> 元素用于在输出中把样式表中的命名空间替换为不同的命名空间,换句话说,使用其他前缀替换与给定命名空间关联的前缀
<xsl:namespace-alias stylesheet-prefix="prefix|#default" result-prefix="prefix|#default" />
<xsl:namespace-alias> 是顶层元素(top-level element),且必须是 <xsl:stylesheet> 或 <xsl:transform> 的子元素。
有时,XSLT 文件会生成另一个 XSLT。这为命名空间带来了问题,因为没有明确的方式可以声明同一个命名空间的两个前缀,而处理器又不会将两个前缀作为同一个命名空间对待并进行操作。 使用 <xsl:namespace-alias>命令可以将过渡命名空间分配给备用前缀,再应用样式表,然后将备用命名空间映射到 XSLT 命名空间。
虽然 XSL 到 XSL 的文件生成是此命令的主要用途,但并不是唯一用途。可以在任何命名空间冲突的地方使用该命令(例如 xsi: 架构数据类型命名空间)
属性
属性 | 值 | 描述 |
---|---|---|
stylesheet-prefix | prefix#default | 必需。规定您希望更改的命名空间。 |
result-prefix | prefix#default | 必需。为输出规定期望的命名空间。 |
范例
前缀 wxsl 被在输出中被转换为前缀 xsl
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:wxsl="http://www.twle.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>