【发布时间】:2010-06-30 09:13:34
【问题描述】:
XSL 样式表应向 Internet Explorer 输出以下代码:
<xml:namespace prefix="vml" ns="urn:schemas-microsoft-com:vml"/>
但是当我使用任何 XML 执行以下模板时
<xsl:template match="*|node()">
<xml:namespace prefix="vml"
ns="urn:schemas-microsoft-com:vml"/>
</xsl:template>
IE 抛出解析错误:样式表不包含文档元素。 同时 Firefox 在输出中删除 xml 命名空间...
那么,如何在输出中保留 xml 命名空间?
重要
一个。我使用的输出方法是 html
b.以下代码不能解决我的问题:
<xsl:template match="*|node()">
<namespace prefix="vml"
xmlns="http://www.w3.org/XML/1998/namespace"
ns="urn:schemas-microsoft-com:vml"/>
</xsl:template>
【问题讨论】:
-
我是否正确理解您要为每个元素添加命名空间节点?
-
@Sawa:我必须说我同意 Dimitre 反对使用 xml:namespace 和 MS 允许的其他非标准元素。此外,这可以通过正确的命名空间声明
xmlns:vml="urn:schemas-microsoft-com:vml"来完成
标签: xml xslt namespaces