libxslt's applyStylesheet() 生成损坏的 XHTML



我有一个XML数据文件,我正在使用Python中的libxslt对其应用XSL样式表。事情几乎是完美的,但XSL文件中<hr/>的每个实例都在unicode(applyStylesheet())的输出中转换为<hr>。这几乎就是我正在做的全部:

style = libxslt.parseStylesheetDoc(libxml2.parseFile('template.xsl'))
xmlDoc = libxml2.parseFile('data.xml')
data = unicode(self.style.applyStylesheet(xmlDoc, None))
xmlDoc.freeDoc()

我做错什么了吗?我是否缺少一个使输出有效XHTML的选项?

(我目前的计划是将.replace('<hr>','<hr/>')附加到data =行以使其工作,但似乎应该有更好的方法。)

我们能看到template.xsl文件吗?它包含<xsl:output/>标签吗?此标记的method属性是否设置为html

如果是,那么libxsl会自动从自关闭标记中剥离所有/

注意,xml输出方法并不总是输出正确的html,请参阅<xsl:output>:哪个是更好的选择?了解更多信息。

正如链接问题的答案中所解释的,最好的选择是xhtml,但它只受xsl从版本2开始的支持。

相关内容

  • 没有找到相关文章

最新更新