XML validation: Difference between revisions
Content added Content deleted
m (→{{header|F_Sharp|F#}}: Added missing line from last minute edit) |
No edit summary |
||
Line 189:
}
}</lang>
=={{header|Python}}==
<lang python>#!/bin/python
from __future__ import print_function
import lxml
from lxml import etree
if __name__=="__main__":
parser = etree.XMLParser(dtd_validation=True)
schema_root = etree.XML('''\
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="a" type="xsd:integer"/>
</xsd:schema>
''')
schema = etree.XMLSchema(schema_root)
#Good xml
parser = etree.XMLParser(schema = schema)
try:
root = etree.fromstring("<a>5</a>", parser)
print ("Finished validating good xml")
except lxml.etree.XMLSyntaxError as err:
print (err)
#Bad xml
parser = etree.XMLParser(schema = schema)
try:
root = etree.fromstring("<a>5<b>foobar</b></a>", parser)
except lxml.etree.XMLSyntaxError as err:
print (err)</lang>
{{out}}
<pre>Finished validating good xml
Element 'a': Element content is not allowed, because the type definition is simple.</pre>
|