I have a few strategy questions for any Xerces + schema veterans....

I am trying to use Xerces in an environment without net connectivity.  The
documents I am parsing may reference DTDs using URLs.  I am attempting to
write an EntityResolver to catch these and provide a copy from local disk
instead.

In the DTD only world, this was easy.  I examined the public and system ID
strings and dispatched the request accordingly.

When you add schema support, this isn't nearly as easy because each schema
may include other schema.  In my case, I have a 'top-level.xsd' which
includes a 'root.xsd' which in turn includes 'http://www.w3.org/2001/xml.xsd'.

Q: Must I also copy this document and all of its dependencies to my local
environment or is this somehow build into Xerces?  [From the strings in
XMLUni.cpp, I suspect that the XML schema isn't built in.]

Secondly, 'top-level.xsd' actually references 'root.xsd' in two ways.  My
EntityResolver returns the same document for both
    <xsd:include schemaLocation="root.xsd"/>
and
    <xsd:redefine schemaLocation="root.xsd">
but I am getting an "Invalid Redefine: 'root.xsd' has already been included
or redefined" error.

Q: Am I doing something wrong?


Thanks.

                                                        -=- Jerry Carter

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to