You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by Magnus Karlsson <ma...@transrail.se> on 2003/09/07 23:17:44 UTC
EndOfEntityException when calling DOMBuilder::parseURI
Hi!
I am using Xerces 2.2.0 and BCB 5.
I have stripped DOMCounter to a minimum, but when I am running it a receive
EndOfEntityException. Is this normal or I am doing something wrong?
Magnus Karlsson
DOMDocument *doc = NULL;
// Initialize the XML4C system
try {
XMLPlatformUtils::Initialize();
} catch (const XMLException &e) {
memo->Lines->Add("Error during initialization.");
memo->Lines->Add(e.getMessage());
return;
}
// Instantiate the DOM parser.
static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull };
DOMImplementation *impl =
DOMImplementationRegistry::getDOMImplementation(gLS);
DOMBuilder *parser =
((DOMImplementationLS*)impl)->createDOMBuilder(DOMImplementationLS::MODE_SYN
CHRONOUS, 0);
parser->setFeature(XMLUni::fgDOMNamespaces, false);
parser->setFeature(XMLUni::fgXercesSchema, false);
parser->setFeature(XMLUni::fgXercesSchemaFullChecking, false);
parser->setFeature(XMLUni::fgDOMValidateIfSchema, false);
// enable datatype normalization - default is off
parser->setFeature(XMLUni::fgDOMDatatypeNormalization, true);
// And create our error handler and install it
XMLErrorHandler errorHandler;
errorHandler.setOutput(memo);
parser->setErrorHandler(&errorHandler);
String xmlFile = "file:///C:/temp/Ny mapp (30)/DAOConfiguration.xml";
try {
errorHandler.resetErrors();
// reset document pool
parser->resetDocumentPool();
doc = parser->parseURI(xmlFile.c_str());
} catch (const XMLException &e) {
memo->Lines->Add("Error during parsing: " + xmlFile);
memo->Lines->Add(e.getMessage());
} catch (const DOMException& e) {
const unsigned int maxChars = 2047;
XMLCh errText[maxChars + 1];
memo->Lines->Add("DOM Error during parsing: " + xmlFile);
memo->Lines->Add("DOMException code is: " + e.code);
if (DOMImplementation::loadDOMExceptionMsg(e.code, errText,
maxChars))
memo->Lines->Add("Message is: " + (String) errText);;
} catch (Exception &e) {
memo->Lines->Add("Unexpected exception during parsing: " + xmlFile);
}
//
// Extract the DOM tree, get the list of all the elements and report
the
// length as the count of elements.
//
if (errorHandler.getHasErrors()) {
} else {
if (doc != NULL) {
memo->Lines->Add("OK");
} else {
}
}
//
// Delete the parser itself. Must be done prior to calling Terminate,
below.
//
parser->release();
// And call the termination method
XMLPlatformUtils::Terminate();
Magnus Karlsson
_________________________________________________
Magnus Karlsson
Consultant, M. Sc.
Transrail Sweden AB, Infosys
Torget 1, SE - 172 67 Sundbyberg
+46 8 404 09 94. +46 70 218 00 84
www.transrail.se