Thanks.
  That solved the problem.
  

David Bertoni <[EMAIL PROTECTED]> wrote:
  Lisa Davis wrote:
> Hi,
> I am having problems converting from the DOM parser to the SAX2 parser.
> I have code that will parse an xml file, using a schema, without error for 
> DOM.
> When I try to parse the same xml file, using the same scheme with SAX2, the 
> parser reports errors.
> Here is the code to configure the DOM and SAX2 parsers. What am I doing wrong 
> for SAX2?
> FYI, the my_DefaultHandler is currently an empty wrapper around the 
> DefaultHandler class.
> --DOM
> parser->setCreateEntityReferenceNodes(false);
> parser->setExpandEntityReferences(true);
> if (!schemaFile.empty()) {
> parser->setDoNamespaces(true);
> parser->setDoSchema(true);
> parser->setValidationScheme(XercesDOMParser::Val_Always);
> parser->setIncludeIgnorableWhitespace(false);
> parser->setCreateCommentNodes(false);
> parser->setExternalNoNamespaceSchemaLocation(schemaFile.c_str());
> }
> --SAX2
> if (!schemaFile.empty()) {
> parser->setFeature(XMLUni::fgSAX2CoreValidation, true);
> parser->setFeature(XMLUni::fgSAX2CoreNameSpaces, true);
> parser->setFeature(XMLUni::fgXercesSchema, true);
> parser->setFeature(XMLUni::fgXercesSchemaFullChecking, false);
> parser->setProperty(XMLUni::fgXercesSchemaExternalNoNameSpaceSchemaLocation, 
> reinterpret_cast(const_cast(schemaFile.c_str())));
> }

The SAX2 parser expects this property to be set using a UTF-16 string. 
AbstractDOMParser happens to have a convenience function that accepts a 
const char* and does the transcoding from the local code page to UTF-16 for 
you.

You will need to use of the XMLString::transcode() functions to transcode 
the file name to UTF-16 before you set the property.

Dave



                
---------------------------------
Get your email and more, right on the  new Yahoo.com 

Reply via email to