Я использую python/lxml для перевода исходного xml в целевой XML-формат. Я продолжаю получать XLSTParseError, когда пытаюсь сопоставить шаблон с любыми другими элементами, кроме root ('/'), но не могу понять, что не так - довольно уверен, что его пространство имен связано ... Содержимое, которое я пытаюсь получить из исходного xml, содержащихся в элементах. Любая идея, как исправить или как получить lxml для вывода более подробных сообщений об ошибке?lxml throwing xslt parse error - не удается сопоставить шаблон никому другому, кроме root
Источник 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">
\t <BOLIG_XML>...</BOLIG_XML>
\t <BOLIG_XML>...</BOLIG_XML>
...
Target 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">
\t <BoligStruktur>...</BoligStruktur>
\t <BoligStruktur>...</BoligStruktur>
...
XSLT в настоящее время выглядит следующим образом:
xslt_tree = etree.XML('''\
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
\t <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>'''
)