aboutsummaryrefslogtreecommitdiff
path: root/src/function/transform.h
diff options
context:
space:
mode:
authorAdrian Kummerländer2014-05-14 16:41:58 +0200
committerAdrian Kummerländer2014-05-14 16:41:58 +0200
commit943768ad437011756395b86958399992e6822604 (patch)
treefca4a7f9672b9a7bc8b6691d841c24322a76083b /src/function/transform.h
parentb3bf487144a1a2978cc17d40b6d6ba1c0467fc37 (diff)
downloadInputXSLT-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.h37
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&
+ );
};