106{
107 const char*
str=
s.c_str();
108 MemBufInputSource memBuf (reinterpret_cast<const XMLByte*>(str),strlen(str),"prodInfo",false);
110 bool errorsOccured = false;
112 try
113 {
115 }
116 catch (const OutOfMemoryException&)
117 {
118 XERCES_STD_QUALIFIER cerr << "OutOfMemoryException" << XERCES_STD_QUALIFIER endl;
119 errorsOccured = true;
120 }
121 catch (const XMLException& e)
122 {
123 XERCES_STD_QUALIFIER cerr << "An error occurred during parsing\n Message: "
124 << XMLString::transcode(
e.getMessage()) << XERCES_STD_QUALIFIER endl;
125 errorsOccured = true;
126 }
127 catch (const DOMException& e)
128 {
129 const unsigned int maxChars = 2047;
130 XMLCh errText[maxChars + 1];
131
132 XERCES_STD_QUALIFIER cerr <<
"\nDOM Error during parsing: '" <<
s <<
"'\n"
133 <<
"DOMException code is: " <<
e.code << XERCES_STD_QUALIFIER endl;
134
135 if (DOMImplementation::loadDOMExceptionMsg(
e.code, errText, maxChars))
136 XERCES_STD_QUALIFIER cerr << "Message is: " << XMLString::transcode(errText) << XERCES_STD_QUALIFIER endl;
137
138 errorsOccured = true;
139 }
140 catch (...)
141 {
142 XERCES_STD_QUALIFIER cerr << "An error occurred during parsing\n " << XERCES_STD_QUALIFIER endl;
143 errorsOccured = true;
144 }
146 return errorsOccured;
147}