diff options
author | Adrian Kummerländer | 2014-05-14 16:41:58 +0200 |
---|---|---|
committer | Adrian Kummerländer | 2014-05-14 16:41:58 +0200 |
commit | 943768ad437011756395b86958399992e6822604 (patch) | |
tree | fca4a7f9672b9a7bc8b6691d841c24322a76083b /src/function/transform.h | |
parent | b3bf487144a1a2978cc17d40b6d6ba1c0467fc37 (diff) | |
download | InputXSLT-943768ad437011756395b86958399992e6822604.tar InputXSLT-943768ad437011756395b86958399992e6822604.tar.gz InputXSLT-943768ad437011756395b86958399992e6822604.tar.bz2 InputXSLT-943768ad437011756395b86958399992e6822604.tar.lz InputXSLT-943768ad437011756395b86958399992e6822604.tar.xz InputXSLT-943768ad437011756395b86958399992e6822604.tar.zst InputXSLT-943768ad437011756395b86958399992e6822604.zip |
Added ArgumentCount parameter to FunctionBase template
* constructDocument member method is provided with a FunctionBase::argument_array instance
* improved argument validation in FunctionBase
* this parameter was added to support FunctionBase as a base class for FunctionTransform
Diffstat (limited to 'src/function/transform.h')
-rw-r--r-- | src/function/transform.h | 37 |
1 files changed, 9 insertions, 28 deletions
diff --git a/src/function/transform.h b/src/function/transform.h index 41bba05..fc735f0 100644 --- a/src/function/transform.h +++ b/src/function/transform.h @@ -1,40 +1,21 @@ #ifndef INPUTXSLT_SRC_FUNCTION_TRANSFORM_H_ #define INPUTXSLT_SRC_FUNCTION_TRANSFORM_H_ -#include <xalanc/XalanTransformer/XalanTransformer.hpp> -#include <xalanc/XPath/XObjectFactory.hpp> -#include <xalanc/XPath/Function.hpp> -#include <xalanc/XPath/XObject.hpp> - -#include <memory> - -#include "common.h" -#include "support/dom/document_cache.h" -#include "support/filesystem_context.h" +#include "base.h" namespace InputXSLT { -class FunctionTransform : public xalan::Function { +class FunctionTransform : public FunctionBase<FunctionTransform, 2> { public: - FunctionTransform(); - - virtual xalan::XObjectPtr execute( - xalan::XPathExecutionContext&, - xalan::XalanNode*, - const xalan::XObjectPtr, - const xalan::XObjectPtr, - const xalan::Locator* - ) const; - - virtual FunctionTransform* clone(xalan::MemoryManager&) const; - - FunctionTransform& operator=(const FunctionTransform&) = delete; - bool operator==(const FunctionTransform&) const = delete; + using FunctionBase::FunctionBase; - private: - std::shared_ptr<DomDocumentCache> document_cache_; + protected: + friend FunctionBase; - const xalan::XalanDOMString& getError(xalan::XalanDOMString&) const; + xercesc::DOMDocument* constructDocument( + const FilesystemContext&, + const FunctionBase::argument_array& + ); }; |