Hi,

Is this the appropriate list to ask a question about Xerces-c?  The subscribe on this page is broken:
http://xml.apache.org/mail.html#xerces-c-dev (yes I replaced .at. with @)

No matter, I found this list :)

My question is with setting up a DOMEntityResolver.  I would like to validate XML against a schema but I want the source of the schema to be a file on the local filesystem because I don't have a network connection.

>From reading the docs I think all I have to do is implement the DOMEntityResolver interface then make a call to DOMBuilder::setEntityResolver(...) then enable a few features like fgDOMNamespaces, fgXercesSchema, fxXercesSchemaFullChecking and fgDOMValidation.

I did this but the problem is that it only queries my interface at times -- not every time. 

ex: I have a call to DOMBuilder::ParseURI(XMLfile) and I see the path to XMLFile go through my interface, which I ignore by returning 0, but the schema referenced inside XMLFile doesn't show up.

The root node inside XMLfile looks something like this:

<myrootnode
   xmlns="http://mywebsite"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://mywebsite myschemafile.xsd">
.....
</myrootnode>

What happens is that my validation fails because it couldn't find the schema file.

Is there something else I have to do to trap the download of the schema?

The only way I can make it work is by changing XMLfile to look somethign like this:

<myrootnode
   xmlns="http://mywebsite"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://mywebsite file:///usr/local/files/myschemafile.xsd">
.....
</myrootnode>

Regards,
Fred

Reply via email to