Hi Alberto,
The DOMCharacterDataImpl::substringData is NOT called directly from
XmlWrapper::getAttributeValue. Here is the code from
XmlWrapper::getAttributeValue.
std::string
XmlWrapper::getAttributeValue(DOMElement *kid,const std::string
&attributename,int &getattr_rc, const int uca
seme) {
std::string ret;
char *c;
XMLCh *xtmp;
getattr_rc=1;
//check if attribute exists
xtmp=XMLString::transcode(attributename.c_str());
DOMAttr* attr=kid->getAttributeNode(xtmp);
if (attr==NULL) {
ret="Attribute: " + attributename;
//this->xmlwarning(ret + " does not exist !");
getattr_rc=0;
}
//c=XMLString::transcode(kid->getAttribute(XMLString::transcode(attribut
ename.c_str())));
c=XMLString::transcode(kid->getAttribute(xtmp));
if (ucaseme) {
ret=strtoupper(c);
}
else {
ret=c;
}
delete [] c;
delete [] xtmp;
return ret;
}
Thanks & Regards,
Ramesh.
-----Original Message-----
From: Alberto Massari [mailto:[EMAIL PROTECTED]
Sent: 16. tammikuuta 2006 15:39
To: [email protected]
Cc: [email protected]
Subject: Re: Exception with Xerces 2.7
Hi Ramesh,
from the stack trace it looks that
DOMCharacterDataImpl::substringData is invoked directly from a function
you wrote (XmlWrapper::getAttributeValue); if you want help in double
checking the code, please post the code of the function.
Alberto
At 01:51 PM 1/16/2006 +0100, Venkata Ramesh Balabhadruni XX \(JO/LMF\)
wrote:
>Hi,
>
>I have an xml file with the content given at the end. When I tried to
>read an attribute, I got this exception. Is it a known exception OR I
>am doing some thing wrong here ? Any one know about this exception in
>substringData( ) ?
>
> ff19f86c _lwp_kill (6, 0, 0, ffffffff, 3511408, ff1d028c) + 8
> ff135984 abort (ff1bc008, 5, ff3314b0, 15234, 1cfd8, ff2cee98) +
100
> ff2b4f4c void __Cimpl::default_terminate() (ff2cee98, 64bc00,
> ff2ca538, 15234, a0328, ff2b4f48) + 4
> ff2b4d98 void __Cimpl::ex_terminate() (0, 0, ff2cae40, fe328c60,
> 140d0, 1) + 2c
> ff2b5744 _ex_throw_body (ff2cae40, 0, 0, 665fcc, 14f0c, ff2cae40) +
> 124 ff2b5600 void __Crun::ex_throw(void*,const
> __Crun::static_type_info*,void(*)(void*)) (ff2cae88, 5c7418, 25f2ec,
> ff2cae40, ff2ca538, e) + 4c
>
> 0024e790 const unsigned
> short*xercesc_2_7::DOMCharacterDataImpl::substringData(const
> xercesc_2_7::DOMNode*,unsigned,unsigned)const (454c374, 454c360,
> 45b0a68, 0, 454c360, 45b0a68) + 9c
>
> 001a16a8
> std::basic_string<char,std::char_traits<char>,std::allocator<char> >
> XmlWrapper::getAttributeValue(xercesc_2_7::DOMElement*,const
> std::basic_string<char,std::char_traits<char>,std::allocator<char> >
> &,int&,const int) (feffb188, 4425bd0, 454c360, feffb1b4, feffb1a8, 0)
> + 90
>
>XML File:
>=========
><?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE MGCF
>SYSTEM "mo.dtd"><MGCF> <MoCauseAnalysis action="0" Status="1"
>causeCode="57" index="1"/> <MoCauseAnalysis action="0" Status="1"
>causeCode="58" index="2"/> <MoCauseAnalysis action="0" Status="1"
>causeCode="65" index="3"/> <MoCauseAnalysis action="0" Status="1"
>causeCode="88" index="4"/> </MGCF>
>
>Thanks & Regards,
>Ramesh.
---------------------------------------------------------------------
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]