[ http://nagoya.apache.org/jira/browse/XERCESC-1302?page=history ] cargilld resolved XERCESC-1302: -------------------------------
Resolution: Duplicate Hi, The problem reported in XERCESC-1151 (and XERCESC-1204) wasn't fixed until after 2.5 was released. So since you are running with 2.5 I believe that is the problem you are running into, so I am resolving this bug as a duplicate. David > XercesDOMParser doesn't always use XMLEntityResolver > ---------------------------------------------------- > > Key: XERCESC-1302 > URL: http://nagoya.apache.org/jira/browse/XERCESC-1302 > Project: Xerces-C++ > Type: Bug > Components: Non-Validating Parser, Validating Parser (DTD) > Versions: 2.5.0, 2.6.0 > Environment: Linux - but defect found at source code level... > Reporter: edA-qa mort-ora-y > Priority: Minor > > XercesDOMParser doesn't in 1 of 2 cases call an installed XMLEntityResolver. > In both cases it calls a normal EntityResolver (so the short-term workaround > is to use a normal resolver, but then you don't get all the XML info). > The code from XercesDOMParser is below. Basically for the first function it > does not call fXMLEntityResolver if it has one, it only checks for > fEntityResolve. In the second case it checks for both (though it appears > doing a parser->parse(file) with this object always results in the first one > being called, thus the XMLEntityParser is never used). > Related: XERCESC-1151 refers to a derivative class doing something wrong in > these regards. XERCESC-1204 (duplicate of XERCES-1151) has a copy of the > exact code below, but also speaks about a derived class only. > InputSource* > XercesDOMParser::resolveEntity(const XMLCh* const publicId, > const XMLCh* const systemId, > const XMLCh* const) > { > // > // Just map it to the SAX entity resolver. If there is not one installed, > // return a null pointer to cause the default resolution. > // > if (fEntityResolver) > return fEntityResolver->resolveEntity(publicId, systemId); > return 0; > } > InputSource* > XercesDOMParser::resolveEntity(XMLResourceIdentifier* resourceIdentifier) > { > // > // Just map it to the SAX entity resolver. If there is not one installed, > // return a null pointer to cause the default resolution. > // > if (fEntityResolver) > return > fEntityResolver->resolveEntity(resourceIdentifier->getPublicId(), > > resourceIdentifier->getSystemId()); > if (fXMLEntityResolver) > return fXMLEntityResolver->resolveEntity(resourceIdentifier); > return 0; > } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://nagoya.apache.org/jira/secure/Administrators.jspa - If you want more information on JIRA, or have a bug to report see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]