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
_______________________________________________
lxml - The Python XML Toolkit mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/lxml.python.org/
Member address: [email protected]

Reply via email to