XML schema validation error using 3.6.3
Hi all: moving from 3.6.2 to 3.6.3 introduces an XML Schema validation error. Test case: XML document: https://github.com/geopython/pycsw/blob/master/tests/suites/default/post/Get... Associated XML Schema: http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd (note there are numerous includes/imports. Full schema tree can be downloaded from http://schemas.opengis.net/SCHEMAS_OPENGIS_NET.zip). Code snippet: schema = etree.XMLSchema(file='/path/to/csw/2.0.2/CSW-discovery.xsd') parser = etree.XMLParser(schema=schema, resolve_entities=False) doc = etree.fromstring(postdata, parser) Result: Element '{http://www.opengis.net/cat/csw/2.0.2}GetRecordById', attribute 'service': The value '(null)' does not match the fixed value constraint 'CSW'. Testing results summary [1]: - lxml 3.6.1 && libxml2 2.9.1 passes - lxml 3.6.2 && libxml2 2.9.1 passes - lxml 3.6.3 && libxml2 2.9.4 FAILS with said validation error - lxml 3.6.4 && libxml2 2.9.4 FAILS with said validation error Any ideas? Is this a libxml2 issue? I notice 3.6.2 uses libxml2 2.9.1 whereas 3.6.3 uses libxml2 2.9.4 (on travis, fwiw). Let me know if you need more info or a clearer test case, or if/where I should file an issue. Thanks ..Tom [1] https://github.com/geopython/pycsw/pull/453
Tom Kralidis schrieb am 24.08.2016 um 03:29:
Testing results summary [1]:
- lxml 3.6.1 && libxml2 2.9.1 passes - lxml 3.6.2 && libxml2 2.9.1 passes - lxml 3.6.3 && libxml2 2.9.4 FAILS with said validation error - lxml 3.6.4 && libxml2 2.9.4 FAILS with said validation error
Any ideas? Is this a libxml2 issue?
Definitely. Try installing libxml2 2.9.3, it seems that there are some issues with the latest version. Filing a bug report on their side would be nice. You can use the xmllint tool that comes with libxml2 to see if you can reproduce the validation error without lxml. Stefan
On Thu, Sep 1, 2016 at 3:17 PM, Stefan Behnel <stefan_ml@behnel.de> wrote:
Tom Kralidis schrieb am 24.08.2016 um 03:29:
Testing results summary [1]:
- lxml 3.6.1 && libxml2 2.9.1 passes - lxml 3.6.2 && libxml2 2.9.1 passes - lxml 3.6.3 && libxml2 2.9.4 FAILS with said validation error - lxml 3.6.4 && libxml2 2.9.4 FAILS with said validation error
Any ideas? Is this a libxml2 issue?
Definitely. Try installing libxml2 2.9.3, it seems that there are some issues with the latest version. Filing a bug report on their side would be nice.
My test case works w/ libxml2 2.9.3. It's a 2.9.4 issue, which appears to be reported/fixed: https://bugzilla.gnome.org/show_bug.cgi?id=766834 Cheers ..Tom
You can use the xmllint tool that comes with libxml2 to see if you can reproduce the validation error without lxml.
Stefan
participants (2)
-
Stefan Behnel
-
Tom Kralidis