我正在使用python/lxml将源xml转换为目标xml格式。当我尝试将模板与根(“/”)以外的任何其他元素匹配时,我总是得到一个XLSTParseError,但无法找出错误所在-非常确定它的命名空间相关…我尝试从源xml访问的内容包含在元素中。知道如何修复或如何让lxml输出更详细的错误消息吗?你知道吗
源xml具有声明:
<?xml version="1.0" encoding="UTF-8"?>
<dataroot generated="2016-10-24T09:16:37" xsi:noNamespaceSchemaLocation="BOLIG_XML.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:od="urn:schemas-microsoft-com:officedata">
<BOLIG_XML>...</BOLIG_XML>
<BOLIG_XML>...</BOLIG_XML>
...
目标xml具有声明:
<?xml version="1.0" encoding="utf-8"?>
<BoligListe xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:oio:lbf:1.0.0">
<BoligStruktur>...</BoligStruktur>
<BoligStruktur>...</BoligStruktur>
...
XSLT当前看起来如下所示:
xslt_tree = etree.XML('''\
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<BoligListe xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:oio:lbf:1.0.0">
<xsl:template match="BOLIG_XML">
<BoligStruktur>hello world</BoligStruktur>
</xsl:template>
</BoligListe>
</xsl:template>
</xsl:stylesheet>'''
)
每个
xsl:template
元素都需要是样式表根元素的顶级元素,您不能像在XSLT代码中那样嵌套模板。然后使用xsl:apply-templates
处理具有匹配模板的子元素,因此我想您需要相关问题 更多 >
编程相关推荐