我在Python中使用libxslt对一个XML数据文件应用了XSL样式表。一切都近乎完美,但是在unicode(applyStylesheet())的输出中,XSL文件中的每个<hr/>实例都被转换为<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 =行,以使其正常工作,但似乎应该有更好的方法。)
发布于 2011-06-19 07:30:55
我们能看看template.xsl文件吗?它是否包含<xsl:output/>标记?此标记的method属性是否设置为html
如果是,那么libxsl会自动将所有/从自结束标记中剥离出来。
请注意,xml输出方法并不总是输出正确的html,有关更多信息,请参阅xml, html or xhtml in : Which is the better choice?。
正如链接问题的答案中所解释的,最好的选择是xhtml,但是只有从版本2开始的xsl才支持它。
https://stackoverflow.com/questions/6399278
复制相似问题