Hi,
        I have used the SAXPrint example as a base and ripped out the 
parse code into a separate class. I then call the parse method of this 
class twice. I cannot reproduce the problem. Take a look at the example. 
If you still have a problem a zip of all the files I need to compile to my 
personnel address and Ill have a look.

Gareth



On Mon, 21 Oct 2002, BARUCH Deborah FTRD/DMR/LON wrote:

> Thanks but now XMLPlatformUtils::Initialize() is out of my constructor,
> in a specific method, that I call from main.cpp (only once) and still I
> get the same error at the same place.
> 
> 
> *-----Original Message-----
> *From: David Schulze [mailto:davids@;delorme.com]
> *Sent: 18 October 2002 17:37
> *To: '[EMAIL PROTECTED]'
> *Subject: RE: Help ! can not parse twice
> *
> *
> *You are initializing it twice.  Pull 
> *XMLPlatformUtils::Initialize(); out of
> *your constructor.  
> *
> *-----Original Message-----
> *From: BARUCH Deborah FTRD/DMR/LON
> *[mailto:deborah.baruch@;rd.francetelecom.com]
> *Sent: Friday, October 18, 2002 12:27 PM
> *To: [EMAIL PROTECTED]
> *Subject: RE: Help ! can not parse twice
> *
> *
> *Many thanks
> *
> *here is my code:
> *
> *in my main program I do:
> *
> *XmlCAMethods* xmlCA = new XmlCAMethods;
> *string xmldoc ("");
> * xmldoc += "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
> * xmldoc += "<test>\n";
> * xmldoc += "</test>\n";
> *cout<<"document to parse: \n"<<xmldoc;
> *
> *xmlCA->readxmldoc(xmldoc.c_str());
> *
> *xmldoc = "";
> * xmldoc += "<test2>\n";
> * xmldoc += "</test2>\n";
> *
> *xmlCA->readxmldoc(xmldoc.c_str());
> *
> *now in xmlCAMethods I do:
> *
> *
> */**Constructor*/
> *XmlCAMethods::XmlCAMethods()
> *{
> * try
> *    {
> *    cout<<"initialising the XML platform \n";
> *    XMLPlatformUtils::Initialize();
> *    }
> *    catch (const XMLException& toCatch)
> *    {
> *         cerr << "Error during initialization! :\n"
> *              << toCatch.getMessage() << endl;
> *       
> *    }
> *}
> *
> */**Destructor*/
> *XmlCAMethods::~XmlCAMethods()
> *{
> *XMLPlatformUtils::Terminate();
> *}
> *
> *
> *Information* XmlCAMethods::readxmldoc(const char* xmldoc)
> *{
> *
> * cout<<"reading xml doc..."<<endl;
> * MemBufInputSource* pMemBufIS = NULL;
> * Information* info;
> * int errorCount = 0;
> *   
> *
> *    //
> *    //  Create a SAX parser object and sets it to the parameters as
> *defined at the beginning
> *    //  of this file.
> *    //
> *    cout<<"create sax parser \n";
> *    SAXParser* parser = new SAXParser; //Error on this line 
> *
> *    cout<<"set parsing parameters \n";
> *    parser->setValidationScheme(valScheme);
> *    parser->setDoNamespaces(doNamespaces);
> *    parser->setDoSchema(doSchema);
> *    parser->setValidationSchemaFullChecking(schemaFullChecking);
> *
> *
> *    //
> *    //  Create the handler object and install it as the document and
> *error
> *    //  handler for the parser-> Then parse the file and catch any
> *exceptions
> *    //  that propogate out
> *    //
> *    try
> *    {
> *        cout<<"create the handler object\n";
> *        SAXIPMMHandlers handler(encodingName, unRepFlags);
> *        cout<<"setting the handler of the parser\n";
> *        parser->setDocumentHandler(&handler);
> *        parser->setErrorHandler(&handler);
> *        cout<<"transform doc \n";
> *        pMemBufIS = transformInputXml(xmldoc);
> *        cout<<"parse doc \n";
> *        parser->parse(*pMemBufIS);
> *        cout<<"out of parser \n";
> *        errorCount = parser->getErrorCount();
> *        cout<<"error count \n";
> *        //get info here
> *        info = handler.getInformation();
> *        handler.~SAXIPMMHandlers();
> *        cout<<"destroying handler \n";
> *
> *    }
> *
> *    catch (const XMLException& toCatch)
> *    {
> *        cout << "catching error\n";
> *        cerr << "\nAn error occurred\n  Error: "
> *             << toCatch.getMessage()
> *             << "\n" << endl;
> *        XMLPlatformUtils::Terminate();
> *        //return -1;
> *        return NULL;
> *    }
> *   //cout<< "out of parser"<<endl;
> *
> *    //
> *    //  Delete the parser itself.  Must be done prior to calling
> *Terminate, below.
> *    //
> *    delete parser;
> *
> *    delete pMemBufIS;
> *    cout<<"parser deleted.."<<endl;
> *
> *
> *    // And call the termination method
> *    
> *    if (errorCount > 0)
> *        return NULL;
> *    else
> *        return info;
> *
> *
> *}
> *
> *
> *
> *
> **-----Original Message-----
> **From: Gareth Reakes [mailto:gareth@;decisionsoft.com]
> **Sent: 18 October 2002 17:13
> **To: [EMAIL PROTECTED]
> **Subject: Re: Help ! can not parse twice
> **
> **
> **Hi,
> **    post the code you are using and I will take a look.
> **
> **Gareth
> **
> **
> **On Fri, 18 Oct 2002, BARUCH Deborah FTRD/DMR/LON wrote:
> **
> **> Hi,
> **> 
> **> sorry to send this email once again but I've definitely have 
> **a problem with the use of the xerces library. I can not manage 
> **to parse successively two documents using a sax parser 
> **(parsing once works fine) although I am initialising the 
> **XmlPlatformsUtil only once in the process...Has anyone 
> **encountered the same problem ? Any help would be greatly appreciated .
> **> 
> **> Thanks
> **> 
> **> Deborah
> **> 
> **> 
> **> 
> **
> **-- 
> **Gareth Reakes, Head of Product Development  
> **DecisionSoft Ltd.            http://www.decisionsoft.com
> **Office: +44 (0) 1865 203192
> **
> **
> **
> **---------------------------------------------------------------------
> **To unsubscribe, e-mail: [EMAIL PROTECTED]
> **For additional commands, e-mail: [EMAIL PROTECTED]
> **
> **
> *
> *---------------------------------------------------------------------
> *To unsubscribe, e-mail: [EMAIL PROTECTED]
> *For additional commands, e-mail: [EMAIL PROTECTED]
> *
> *
> *---------------------------------------------------------------------
> *To unsubscribe, e-mail: [EMAIL PROTECTED]
> *For additional commands, e-mail: [EMAIL PROTECTED]
> *
> *
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 

-- 
Gareth Reakes, Head of Product Development  
DecisionSoft Ltd.            http://www.decisionsoft.com
Office: +44 (0) 1865 203192



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

Reply via email to