[prev in list] [next in list] [prev in thread] [next in thread]
List: xerces-c-dev
Subject: Re: xml4c parsing problem
From: "Jason Jesso" <jjesso () global-matrix ! com>
Date: 2001-11-30 18:52:25
[Download RAW message or body]
Hmmm, I got the example from:
http://xml.apache.org/xerces-c/program.html#ConstructIDOMParser
Maybe they should fix it.
Thanks for your help,
Jason
Tinny Ng wrote:
> Jason,
>
> You used HandlerBase as your error handler. And HandlerBase rethrow a
> SAXParserException with fatal error:
>
> inline void HandlerBase::fatalError(const SAXParseException& exception)
> {
> throw exception;
> }
>
> Since your program does not catch this exception, the program core dump.
>
> Add the following catch statement to your program will work:
>
> catch (const SAXParseException& e)
> {
> cerr << "An IDOM error occured during parsing, got SAXParseExpcetion
> " << endl;
> }
>
> Tinny
>
> Jason Jesso wrote:
>
> > I am new to using xml4C and am trying to write a simple example in C++.
> > I am using xml4c from IBM for AIX4.3.3.
> >
> > I have no problem with an xml file with no error's, but only a problem
> > with something like:
> >
> > <HELLO>
> > fnkjsdsf
> > <HELLO>
> >
> > I get the following error when I run my program:
> >
> > IOT/Abort trap(coredump)
> >
> > Can anybody help??
> >
> > My program is:
> >
> > #include <iostream.h>
> > #include "dom/DOM.hpp"
> > #include "parsers/IDOMParser.hpp"
> > #include "util/PlatformUtils.hpp"
> > #include "idom/IDOM_DOMException.hpp"
> > #include "sax/ErrorHandler.hpp"
> > #include "sax/HandlerBase.hpp"
> >
> > int
> > main( int ac, char* av[] )
> > {
> > try {
> > XMLPlatformUtils::Initialize();
> > }
> > catch (const XMLException& toCatch) {
> > cout << "Error during initialization! :\n"
> > << toCatch.getMessage() << "\n";
> > return 1;
> > }
> >
> > char* xmlFile = "x1.xml";
> > IDOMParser* parser = new IDOMParser();
> > parser->setValidationScheme(IDOMParser::Val_Always); // optional.
> > parser->setDoNamespaces(true); // optional
> >
> > ErrorHandler* errHandler = (ErrorHandler*) new HandlerBase();
> > parser->setErrorHandler(errHandler);
> >
> > try {
> > parser->parse(xmlFile);
> > }
> > catch (const XMLException& toCatch) {
> > cout << "\nFile not found: '" << xmlFile << "'\n"
> > << "Exception message is: \n"
> > << toCatch.getMessage() << "\n" ;
> > return -1;
> > }
> > catch (const IDOM_DOMException& e)
> > {
> > cerr << "An IDOM error occured during parsing\n IDOMException
> > code: " << e.code << endl;
> > }
> >
> > return 0;
> >
> > }
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> > For additional commands, e-mail: xerces-c-dev-help@xml.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
> For additional commands, e-mail: xerces-c-dev-help@xml.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-c-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-c-dev-help@xml.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic