Ok, thanks Kasimier for this good pointer to the test suite file "xstc/xstc.py".
So here are the steps (note that in xstc.py the error cases are properly
handled)
JL
# inspired from the test suite file "xstc/xstc.py"
# thanks to Kasimier Buchcik
#
import libxml2
ctxt = libxml2.schemaNewParserCtxt("my-schema.xsd")
schema = ctxt.schemaParse()
del ctxt
validationCtxt = schema.schemaNewValidCtxt()
doc = libxml2.parseFile("test.xml")
#instance_Err = validationCtxt.schemaValidateFile(filePath, 0)
instance_Err = validationCtxt.schemaValidateDoc(doc)
del validationCtxt
del schema
doc.freeDoc()
if instance_Err != 0:
print "VALIDATION FAILED"
else:
print "VALIDATED"
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Kasimier Buchcik
Sent: Tuesday, October 25, 2005 5:44 PM
To: Meunier, Jean-Luc
Cc: ML-libxml2
Subject: Re: [xml] On validating a DOM with a schema, in Python
Hi,
On Tue, 2005-10-25 at 17:14 +0200, Meunier, Jean-Luc wrote:
> Hi,
>
>
>
> In Python, I need to validate a DOM tree using a W3C XML schema, but I cannot
> figure out how to do it.
>
> It seems that the C-function xmlSchemaValidateDoc does the job but I'm lost
> in the Python binding.
>
>
> ( My (naïve) trials were in the style:
> schemadoc = libxml2.parseFile("my-schema.wxs")
> schema = libxml2.Schema(schemadoc)
> ctxt = libxml2.SchemaValidCtxt(schema)
> #ctxt.schemaParse() ??
> doc = libxml2.parseFile("test.xml")
> res = doc.schemaValidateDoc(ctxt)
> )
>
> Is there anyone around that can show me the way? (I insist, that it is about
> validating a DOM already in memory)
>
> Thanks,
>
> JL
I'm heading home, so just a short one: maybe the test suite
file "xstc/xstc.py" can be of some help; it uses schemaValidateDoc()
as well as schemaValidateFile() for stream-based validation.
Regards,
Kasimier
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml