Emmanuel Guiton wrote:
Hello,

I want to force an XML document validation using an XML Schema.
I am trying to register an XMLEntityResolver handler to do that (Iam
suing a DOMParser). Quite difficult for a beginner like me since the
documentation on http://xml.apache.org/xerces-c/apiDocs is wrong.

The C++ documentation is generated from the source code using Doxygen, so I don't know what you mean by saying it's "wrong." Is it out-of-date? Does it not answer your questions? It's always helpful to know what's wrong, so we can fix it.

Does someone have good hints (a webpage with an example?) on how to
register an XMLEntityResolver handler?

You cannot force validation using an XMLEntityResolver, although you can force the parser to use a particular schema document or documents. Can you describe exactly what you're doing? For example, users often forget to set all of the options necessary for schema validation.


Or does someone have a simpler way to validate an XML file against an
XML schema (which is stored on my local filesystem)? I've tried using
setExternalSchemaLocation without any success.

As long as the document element contains a reference to the schema location hint you provided, and the proper options are set, it should work. Have you taken a look at the sample applications to see how to enable validation? SAX2Print is a good place to start.

Another option for forcing validation against a particular schema is to use the proprietary loadGrammar() API. You can then set the feature to use the cached grammar during parsing:

http://xml.apache.org/xerces-c/program-sax2.html#use-cached

Dave

Reply via email to