Cannot <include> from a network location
Hello The no_network argumenr to the XMLParser constructor does not seem to be working as described. The following import io from lxml import etree schema='''<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:paulhiggs:my-patch" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- Include patch operations from RFC5261 --> <include schemaLocation="https://www.iana.org/assignments/xml-registry/schema/patch-ops.xsd"/> <element name="Patch" type="PatchType"/> <!-- Patch --> <complexType name="PatchType"> <choice minOccurs="1" maxOccurs="unbounded"> <element name="add" type="add"/> <element name="remove" type="remove"/> <element name="replace" type="replace"/> </choice> <attribute name="paulsAttrib" type="string" use="required"/> </complexType> </schema> ''' parser=etree.XMLParser(load_dtd=True, no_network=False, huge_tree=True, resolve_entities=True) s=etree.parse(io.StringIO(schema), parser) my_schema=etree.XMLSchema(s) yields an unexpected error G:\lxml-test>python 10.py Traceback (most recent call last): File "G:\lxml-test\10.py", line 28, in <module> my_schema=etree.XMLSchema(s) File "src\lxml\xmlschema.pxi", line 88, in lxml.etree.XMLSchema.__init__ lxml.etree.XMLSchemaParseError: Element '{http://www.w3.org/2001/XMLSchema}include': Failed to load the document 'https://www.iana.org/assignments/xml-registry/schema/patch-ops.xsd' for inclusion., line 3 If I curl -O https://www.iana.org/assignments/xml-registry/schema/patch-ops.xsd and change to <include schemaLocation=" patch-ops.xsd"/> the loading of the schema is successful
participants (1)
-
Paul Higgs