After parsing an XML with PVI information kept, the DOMLSParser object crashes
when released...
-----------------------------------------------------------------------------------------------
Key: XERCESC-1933
URL: https://issues.apache.org/jira/browse/XERCESC-1933
Project: Xerces-C++
Issue Type: Bug
Components: DOM, Validating Parser (XML Schema)
Affects Versions: 3.1.1
Environment: Windows XP SP3, Visual Studio 8 (2005), also XQuilla
2.2.4 (but not necessary to get the crash)
Reporter: Alain BOHL
DOMImplementation* impl =
DOMImplementationRegistry::getDOMImplementation(XMLString::transcode("Core"));
m_parser = impl->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
DOMConfiguration *config = m_parser->getDomConfig();
config->setParameter(XMLUni::fgDOMNamespaces, true);
config->setParameter(XMLUni::fgXercesSchema, true);
config->setParameter(XMLUni::fgXercesHandleMultipleImports, true);
config->setParameter(XMLUni::fgXercesSchemaFullChecking, true);
config->setParameter(XMLUni::fgDOMComments, false);// Suppression des
commentaires
config->setParameter(XMLUni::fgDOMElementContentWhitespace, false);//
Suppression des blancs
config->setParameter(XMLUni::fgDOMValidateIfSchema, true); //
config->setParameter(XMLUni::fgDOMValidate, true);
// enable datatype normalization - default is off
config->setParameter(XMLUni::fgDOMDatatypeNormalization, true);
//************** If the following line is deleted the crash does not happen
****************
config->setParameter(XMLUni::fgXercesDOMHasPSVIInfo, true);
// Creation et installation of the error handler
DOMReseauErrorHandler errorHandler;
errorHandler.setLogFile(pFicLog);
config->setParameter(XMLUni::fgDOMErrorHandler, &errorHandler);
XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *doc = NULL;
// reset document pool
m_parser->resetDocumentPool();
if (xsdFile.length() > 0)
{
Grammar* grammar;
grammar = m_parser->loadGrammar(XMLString::transcode("file.xsd"),
Grammar::SchemaGrammarType, true);
//************************** grammar is not NULL
}
doc = m_parser->parseURI(XMLString::transcode("file.xml"));
//***************************** No xml parser error were met
delete m_parser; //*********************** Crash on this line
***********************************
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]