Python lxml离线验证的收益率“;“拒绝连接”;到http://www.opengis.net/kml/2.2
我试图通过lxml和xsd验证一些XML (ogckml22.xsd)。这是离线发生的。我在那里读书 通过直接打开/读取文件 记录在案,http://www.opengis.net/kml/2.2 无效 另一篇文章: (因征求意见而澄清) 我得到的只是一个“拒绝连接”。 通过try/except,我得到的xmlschema_文档没有定义Python lxml离线验证的收益率“;“拒绝连接”;到http://www.opengis.net/kml/2.2,python,xsd,gis,lxml,offlineapps,Python,Xsd,Gis,Lxml,Offlineapps,我试图通过lxml和xsd验证一些XML (ogckml22.xsd)。这是离线发生的。我在那里读书 通过直接打开/读取文件 记录在案,http://www.opengis.net/kml/2.2 无效 另一篇文章: (因征求意见而澄清) 我得到的只是一个“拒绝连接”。 通过try/except,我得到的xmlschema_文档没有定义 File "<stdin>", line 1, in <module> File "<xmlschema.pxi",line
File "<stdin>", line 1, in <module>
File "<xmlschema.pxi",line 105, in lxml.etree.XMLSchema.__init__ (src/lxml/lxml.etree.c:132748
self.error_log)
lxml.etree.XMLSchemaParseError: connection refused
我从未看到“文档不是有效的XML模式”消息。我只能假设使用“拒绝连接”来代替“文档消息”(默认值?),但是
我无法更彻底地阅读错误日志(在重新编译之外)
真诚地
ArrowInTree导入另外两个模式文档(atom-author-link.xsd和xAL.xsd):
输出:
<lxml.etree.XMLSchema object at 0x00D25120>
至少这对我来说是可行的。你能提供一个再现问题的最小完整示例吗?什么是你的
lxml.etree.\uuuu version.\uuuuuu
?嗯,打印lxml.etree.\uuuu version.\uuuuuu.声明“lxml”没有定义,但“打印etree.\uuu version.\uuuuuuuuuuu”会产生“2.3.3”嗯,谢谢你的帮助,但是你引用的*.xsd文件与脚本位于同一目录中,尽管在fc17框上用xmlcatalog进行了各种旋转,我收到了同样的信息。那么您使用的是XML目录?你在问题中没有提到这一点。如果您不提供重现问题所需的所有详细信息,则很难提供帮助。xmlcatalog只是在您发布答案之后才进入现场,而不是之前。正如我所说,所有xsd文件都与脚本位于同一目录中,因此这应该是无关的http://docs.oasis-open.org/election/external/xAL.xsd“到schemaLocation=“xAL.xsd”
?是的,确实有效。非常感谢。但是头文件和xsd是一个共同的参考框架。唉。。。。知道任何关于xmlcatalog的好教程吗…?我知道(但它确实涉及到系统和uri)
if self._c_schema is NULL:
raise XMLSchemaParseError(
self.error_log._buildExceptionMessage(
u"Document is not valid XML Schema"),
self._error_log)
<!-- import atom:author and atom:link -->
<import namespace="http://www.w3.org/2005/Atom"
schemaLocation="atom-author-link.xsd"/>
<!-- import xAL:Address -->
<import namespace="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"
schemaLocation="http://docs.oasis-open.org/election/external/xAL.xsd"/>
from lxml import etree
xmlschema_doc = etree.parse("ogckml22.xsd")
xmlschema = etree.XMLSchema(xmlschema_doc)
print xmlschema
<lxml.etree.XMLSchema object at 0x00D25120>
xmlschema_doc = etree.parse("http://www.opengis.net/kml/2.2")