At 10.05 03/01/2007 +0100, [EMAIL PROTECTED] wrote:
Thanks for the response :)
--
> The only way you can test for a grammar to be valid is by loading
it using loadGrammar.
> Using the DTD or the XMLSchema provided by the specs will in any
case result in less validation checks than the ones listed in the specs itself.
--
Hmm, but then I need to load it twice, once as DOM, and once as
grammar. I could live with less checks, however, I want to catch
things like elements that are in the wrong place or wrongly spelt
attributes that my DOM scanning code doesn't see because its not
looking for such errors.
Is there a way to validate a Schema directly via DTD or Schema,
without using loadGrammar?
I tried once to validate a schema using a reduced version of the XSD
for XMLSchema, and I gave up (after removing the definitions of the
built-in simple types, I think I got stuck with the fact that the
XMLSchema namespace is already known to Xerces); you may have better
luck using the DTD, but you will have to change the schema file to
add the DOCTYPE instruction.
Good luck,
Alberto
Cheers,
Uwe
Alberto Massari amassari-at-datadirect.com |xerces-c-users mailing
list| schrieb:
Hi Uwe,
At 23.22 02/01/2007 +0000, [EMAIL PROTECTED] wrote:
Hello folks,
My application processes XML Schema files on the DOM level (.xsd
files are parsed with XercesDOMParser::parse()). However, to
detect user errors in the schema files, I'd like to turn on
validation for them.
Is that at all possible?
The only way you can test for a grammar to be valid is by loading
it using loadGrammar.
Using the DTD or the XMLSchema provided by the specs will in any
case result in less validation checks than the ones listed in the specs itself.
Alberto
I ran some tests with the schema for schemas, which
XercesDOMParser rejects (I assume that's because its built-in
types are redefined). I also tried to feed the schema DTD into the
parser, without success (Xerces seems to expect a schema rather
than a DTD when it requests a resource for a namespace identifier)
Can anyone point me into the right direction?
I can post my test code as well if that helps.
Cheers,
Uwe
--------------------------------------
Protect yourself from spam,
use http://sneakemail.com