Hi Olivier,
I made a mistake in writing the code (well, it happens, when you don't test the code before suggesting it! ;-) )
The order of the initialization methods after the ":" is derived from the order of declaration of the variables; so fTarget was still 0 when given to the constructor of XMLFormatter. You need to change the header to say


      LocalFileFormatTarget*  fTarget;
      XMLFormatter    fFormatter;

Alberto


At 17.25 24/06/2004 +0200, Caignart Olivier wrote:
Thanks a lot Alberto !

It was a typo as you said.

Unfortunalty my trouble go a little further.
I've tried this sample :

SAXPrintHandlers::SAXPrintHandlers( const   char* const encodingName,
const XMLFormatter::UnRepFlags unRepFlags)

: fTarget(new LocalFileFormatTarget(goutputfile)) ,
fFormatter(encodingName, fTarget, XMLFormatter::NoEscapes, unRepFlags )
{
}
SAXPrintHandlers::~SAXPrintHandlers()
{
        delete fTarget;
}

with static char* goutputFile = "/home/[...]/output.xml" ;

but it doesn't work. I got a segmentation fault ! Anyway outputfile is
created but not filled.

Any idea?

Olivier

On Thu, 2004-06-24 at 13:35, Alberto Massari wrote:
> Hi Olivier,
> reading the message in the archive I would say it has a typo. The correct
> code would be
>
> SAXPrintHandlers.hpp:
>
> class SAXPrintHandlers : public HandlerBase, private XMLFormatTarget
> {
> [...]
> XMLFormatter fFormatter;
> LocalFileFormatTarget* fTarget;
> };
>
> ---SAXPrintHandlers.cpp:
>
> SAXPrintHandlers::SAXPrintHandlers( const char* const encodingName
> , const XMLFormatter::UnRepFlags
> unRepFlags) : fTarget(new LocalFileFormatTarget(goutputfile)),
> fFormatter
> (
> encodingName
> , fTarget
> , XMLFormatter::NoEscapes
> , unRepFlags
> )
> {
> }
>
> SAXPrintHandlers::~SAXPrintHandlers()
> {
> delete fTarget;
> }
>
> Alberto
>
> At 10.02 24/06/2004 +0200, Caignart Olivier wrote:
> >Hello to XML-c-dev mailing list !
> >
> >I've tried to use a sample code found here (below you could find the
> >original thread :
> >http://www.mail-archive.com/[EMAIL PROTECTED]/msg08148.html
> >)to do the same thing as Thomas wanted to do in this thread.
> >Unfortunately i cannot make it work and i get this answer.
> >
> >Here's the answer of my compiler (gcc-3.3) :
> >/home/.../src/xerces-c-src_2_5_0/samples/SAXPrint/SAXPrintHandlers.cpp:
> >In
> > constructor `SAXPrintHandlers::SAXPrintHandlers(const char*,
> > xercesc_2_5::XMLFormatter::UnRepFlags)':
> >/home/.../src/xerces-c-src_2_5_0/samples/SAXPrint/SAXPrintHandlers.cpp: 189:
> >error: no
> > base or member initializers given following ':'
> >/home/.../src/xerces-c-src_2_5_0/include/xercesc/framework/XMLFormatter .hpp:449:
> >error: `
> > xercesc_2_5::XMLFormatter::XMLFormatter()' is private
> >/home/.../src/xerces-c-src_2_5_0/samples/SAXPrint/SAXPrintHandlers.cpp: 189:
> >error: within
> > this context
> >/home/.../src/xerces-c-src_2_5_0/samples/SAXPrint/SAXPrintHandlers.cpp: 190:
> >error: parse
> > error before `(' token
> >/home/.../src/xerces-c-src_2_5_0/samples/SAXPrint/SAXPrintHandlers.cpp: 198:
> >error: no
> > match for call to `(xercesc_2_5::XMLFormatter) (const char* const&,
> > xercesc_2_5::XMLFormatTarget*&,
> >xercesc_2_5::XMLFormatter::EscapeFlags,
> > const xercesc_2_5::XMLFormatter::UnRepFlags&)'
> >/home/.../src/xerces-c-src_2_5_0/samples/SAXPrint/SAXPrintHandlers.cpp: 199:
> >error: parse
> > error before `:' token
> >make: ***
> >[/home/.../src/xerces-c-src_2_5_0/bin/obj/SAXPrint/SAXPrintHandlers.o]
> >Error 1
> >
> >
> >Could you tell me what's wrong? I'm neither a good programmer nor good
> >in Xerces as well so I'll try to understand your answer.
> >
> >
> >If you know any other method to write in a XML file from SAX please tell
> >me !!
> >
> >Regards,
> >Olivier Caignart
>
>
>
> ---------------------------------------------------------------------
> 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]



Reply via email to