Hi all,
i'm trying to validate an OVAL (http://oval.mitre.org) xml document against it's schematron rules (http://oval.mitre.org/language/version5.7/ovaldefinition/schematron/oval-definitions-schematron.sch)
Following the manual (http://codespeak.net/lxml/validation.html) i wrote the following piece of code:
from lxml import etree
rule = open("oval-definitions-schematron.sch")
defs = open("oval.xml")
sct_doc = etree.parse(rule)
try:
schematron = etree.Schematron(sct_doc)
except etree.SchematronParseError, e:
print e.args
print e.error_log
print e.message
doc = etree.parse(defs)
print schematron.validate(doc)
but i got the following error(s):
Document is not a valid Schematron schema
oval-definitions-schematron.sch:34:0:ERROR:SCHEMASP:SCHEMAP_NOROOT: Expecting a pattern element instead of phase (repeated N times)
...
oval-definitions-schematron.sch:1547:0:ERROR:SCHEMASP:SCHEMAP_NOROOT: Failed to compile context expression oval-def:objects/*/*[@datatype='binary']|oval-def:states/*/*[@datatype='binary']|oval-def:states/*/* (repeated N times)
$ dpkg -l | grep libxml2
ii libxml-libxml-perl 1.70.ds-1 Perl interface to the libxml2 library
ii libxml2 2.7.6.dfsg-1ubuntu1 GNOME XML library
ii libxml2-dev 2.7.6.dfsg-1ubuntu1 Development files for the GNOME XML library
ii libxml2-utils 2.7.6.dfsg-1ubuntu1 XML utilities
ii python-libxml2 2.7.6.dfsg-1ubuntu1 Python bindings for the GNOME XML library
on Ubuntu 10.04
Can you help me?
Thanks
---
Masetto