0

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

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 =行以使其正常工作,但似乎应该有更好的方法。)

4

1 回答 1

2

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

如果是,那么 libxsl 会自动/从自闭标签中删除所有内容。

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

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

于 2011-06-18T23:30:54.797 回答