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]

Reply via email to