From 426265b91d4533b7aa16d53124ad9b5d0a6862d6 Mon Sep 17 00:00:00 2001 From: Adrian Kummerländer Date: Mon, 19 May 2014 22:14:31 +0200 Subject: Implemented external "resolve-include" function * resolves paths provided as strings against include paths provided through the newly created "--include" argument of the test executable * this was implemented to enable central collections of XSLT libraries simmilar to how there are C headers in "/usr/include" --- src/function/resolve_include.h | 44 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/function/resolve_include.h (limited to 'src/function/resolve_include.h') diff --git a/src/function/resolve_include.h b/src/function/resolve_include.h new file mode 100644 index 0000000..2d6e62f --- /dev/null +++ b/src/function/resolve_include.h @@ -0,0 +1,44 @@ +#ifndef INPUTXSLT_SRC_FUNCTION_RESOLVE_INCLUDE_H_ +#define INPUTXSLT_SRC_FUNCTION_RESOLVE_INCLUDE_H_ + +#include +#include +#include + +#include "boost/filesystem.hpp" + +#include +#include +#include + +#include "common.h" +#include "support/filesystem_context.h" + +namespace InputXSLT { + +class FunctionResolveInclude : public xalan::Function { + public: + FunctionResolveInclude(const std::vector&); + + virtual xalan::XObjectPtr execute( + xalan::XPathExecutionContext&, + xalan::XalanNode*, + const xalan::XObjectPtr, + const xalan::Locator* + ) const; + + virtual FunctionResolveInclude* clone(xalan::MemoryManager&) const; + + FunctionResolveInclude& operator=(const FunctionResolveInclude&) = delete; + bool operator==(const FunctionResolveInclude&) const = delete; + + private: + const std::shared_ptr> path_; + + const xalan::XalanDOMString& getError(xalan::XalanDOMString&) const; + +}; + +} + +#endif // INPUTXSLT_SRC_FUNCTION_RESOLVE_INCLUDE_H_ -- cgit v1.2.3