Re: Xerces-c question

2006-02-16 Thread Alberto Massari

Hi Fred,
which version of Xerces are you using?

Alberto

At 02:57 PM 2/15/2006 -0500, Fred Harju wrote:

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-devhttp://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



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



Re: Xerces-c question

2006-02-16 Thread Fred Harju




I'm using libxerces-c.so.26.0
and this suggestion worked perfectly!

Thanks!
Fred


Boris Kolpackov wrote:

  Fred,

Fred Harju [EMAIL PROTECTED] writes:

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

  
  
You can override schemaLocation in your instance using the
fgXercesSchemaExternalSchemaLocation property, e.g.,

// Pseudo code.
//

XMLCh* loc ("http://mywebsite file:///usr/local/files/myschemafile.xsd");

parser-setProperty (
  XMLUni::fgXercesSchemaExternalSchemaLocation, loc);


See API docs for more information.

hth,
-boris

--
Boris Kolpackov
Code Synthesis Tools CC
www.codesynthesis.com


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