Hi all,
For security reasons I am trying to use resolveEntity to reject any uri that is not in an approved list of sources. I have the code running and if the uri is not in my list I return null. However, the behavior of xalanc is different than I anticipated. If null is returned as the input source then the following happens after resolveEntity is called ( this is in xalanc\XSLT\XSLTProcessorEnvSupportDefault.cpp ): typedef XalanAutoPtr<InputSource> AutoPtrType; const AutoPtrType resolverInputSource( theResolver->resolveEntity( 0, urlText.c_str())); if (resolverInputSource.get() != 0) { theDocument = parserLiaison.parseXMLStream(*resolverInputSource.get(), theEmptyString); } else { const XSLTInputSource inputSource(urlText.c_str(), theManager); theDocument = parserLiaison.parseXMLStream(inputSource, theEmptyString); } If null is returned by resolveEntity then the else branch is taken and the url is used anyway. Am I trying to use the EntityResolver interface for something it is not intended for. Any help you can provide is appreciated.