如何使用 IE 条件注释 XSLT 转换 XHTML 文档?
我使用 XSLT 将一个 XHTML 文档转换为另一个 XML 文档。 在 XHTML-Input-Dokument 中,有几个 IE 条件注释,例如:
<!--[if lte IE 7]>
<link rel='stylesheet' href='ie.css' type='text/css' />
<![endif]-->
但是在转换时它们会丢失... 即使我只尝试进行身份复制:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" />
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
我也只获得链接元素,而没有周围的条件注释。
如何复制带有条件注释的 XHTML 文档?
I transform a XHTML dokument to another XML-Dokument with XSLT.
In the XHTML-Input-Dokument there are several IE-conditional-comments, like this one:
<!--[if lte IE 7]>
<link rel='stylesheet' href='ie.css' type='text/css' />
<![endif]-->
But while the transformation they get lost...
Even if I try only to do an identity-copy:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" />
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
I only get the link-element without the conditional comment around it.
How can I copy the XHTML-Dokument with the conditional comment?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果这是真的(我对此表示怀疑),那么您使用的是一个有很多错误的 XSLT 处理器。如果没有适当的 XSLT 指令(在匹配
comment()
的模板内),任何兼容的 XSLT 处理器都不会删除注释并生成注释文本。当然,我无法重现这个“问题”,因为我尝试了 6-7 个不同的 XSLT 处理器进行此转换:
当应用于此 XML 文档时(注释包含在单个顶部元素成为格式良好的 XML 文档):
结果与 XML 文档完全相同:
话虽如此,生成这样的“注释”有点棘手 -- 这是一个演示如何做this:
当此转换应用于任何 XML 文档(在我们的示例中未使用)时,就会生成所需的正确输出:
If this is true, which I doubt, then you are using a very buggy XSLT processor. No compliant XSLT processor will strip out a comment and produce the comment text -- without having the appropriate XSLT instructions (within a template matching
comment()
).Of course, I couldn't reproduce this "problem" having tried 6-7 different XSLT processors with this transformation:
When applied on this XML document (the comment, wrapped in a single top element to become a well-formed XML document):
the result is exactly the same XML document:
Having said that, to generate such a "comment" is a little bit more tricky -- here is a demo how to do this:
When this transformation is applied to any XML document (not used in our example), the wanted, correct output is produced: