#ifndef INPUTXSLT_SRC_SUPPORT_INCLUDE_ENTITY_RESOLVER_H_ #define INPUTXSLT_SRC_SUPPORT_INCLUDE_ENTITY_RESOLVER_H_ #include #include #include #include #include #include "filesystem_context.h" namespace InputXSLT { class IncludeEntityResolver : public xercesc::EntityResolver { public: static boost::filesystem::path getPathFromSystemId(const XMLCh* const); IncludeEntityResolver(const std::vector&); xercesc::InputSource* resolveEntity( const XMLCh* const, const XMLCh* const ); boost::optional resolve( const std::string&) const; private: const std::vector path_; boost::optional tryIncludePaths( const boost::filesystem::path&) const; }; } #endif // INPUTXSLT_SRC_SUPPORT_INCLUDE_ENTITY_RESOLVER_H_