aboutsummaryrefslogtreecommitdiff
path: root/src/support
diff options
context:
space:
mode:
authorAdrian Kummerländer2014-05-16 22:25:39 +0200
committerAdrian Kummerländer2014-05-16 22:25:39 +0200
commit7bd543e220c806177d805a8f4fbc13e951fe5788 (patch)
tree0fe8746d3ae922340a8fed56db7e112cd63dc811 /src/support
parentec6abad74348e9b577e1dd63b41d65263bb0334a (diff)
downloadInputXSLT-7bd543e220c806177d805a8f4fbc13e951fe5788.tar
InputXSLT-7bd543e220c806177d805a8f4fbc13e951fe5788.tar.gz
InputXSLT-7bd543e220c806177d805a8f4fbc13e951fe5788.tar.bz2
InputXSLT-7bd543e220c806177d805a8f4fbc13e951fe5788.tar.lz
InputXSLT-7bd543e220c806177d805a8f4fbc13e951fe5788.tar.xz
InputXSLT-7bd543e220c806177d805a8f4fbc13e951fe5788.tar.zst
InputXSLT-7bd543e220c806177d805a8f4fbc13e951fe5788.zip
Added XObjectPtr parameter to FunctionTransform
* the given XObject is passed to the called transformation ** this was done to enable templates to pass information to each other ** this should support any type usable in a XPath context to be passed as an argument * expanded FunctionTransform test case accordingly
Diffstat (limited to 'src/support')
-rw-r--r--src/support/stylesheet_parameter_guard.cc10
-rw-r--r--src/support/stylesheet_parameter_guard.h2
-rw-r--r--src/support/tuple/mapper.h2
-rw-r--r--src/support/tuple/xobject_value.cc5
4 files changed, 18 insertions, 1 deletions
diff --git a/src/support/stylesheet_parameter_guard.cc b/src/support/stylesheet_parameter_guard.cc
index f82c2d5..399bccb 100644
--- a/src/support/stylesheet_parameter_guard.cc
+++ b/src/support/stylesheet_parameter_guard.cc
@@ -33,4 +33,14 @@ void StylesheetParameterGuard::set(
);
}
+void StylesheetParameterGuard::set(
+ const std::string& key,
+ const xalan::XObjectPtr& value
+) {
+ this->transformer_.setStylesheetParam(
+ key.data(),
+ value
+ );
+}
+
}
diff --git a/src/support/stylesheet_parameter_guard.h b/src/support/stylesheet_parameter_guard.h
index f0622ad..7fa425e 100644
--- a/src/support/stylesheet_parameter_guard.h
+++ b/src/support/stylesheet_parameter_guard.h
@@ -2,6 +2,7 @@
#define INPUTXSLT_SRC_SUPPORT_STYLESHEET_PARAMETER_GUARD_H_
#include <xalanc/XalanTransformer/XalanTransformer.hpp>
+#include <xalanc/XPath/XObject.hpp>
#include <string>
#include <unordered_map>
@@ -24,6 +25,7 @@ class StylesheetParameterGuard {
void set(const map&);
void set(const std::string&, const std::string&);
+ void set(const std::string&, const xalan::XObjectPtr&);
private:
xalan::XalanTransformer& transformer_;
diff --git a/src/support/tuple/mapper.h b/src/support/tuple/mapper.h
index c95365e..28c5f3b 100644
--- a/src/support/tuple/mapper.h
+++ b/src/support/tuple/mapper.h
@@ -55,7 +55,7 @@ namespace Mapper {
)
);
}
-};
+}
}
diff --git a/src/support/tuple/xobject_value.cc b/src/support/tuple/xobject_value.cc
index 3883436..fac4d96 100644
--- a/src/support/tuple/xobject_value.cc
+++ b/src/support/tuple/xobject_value.cc
@@ -13,6 +13,11 @@ std::string get<std::string>(const xalan::XObjectPtr& ptr) {
return toString(ptr->str());
}
+template <>
+xalan::XObjectPtr get<xalan::XObjectPtr>(const xalan::XObjectPtr& ptr) {
+ return ptr;
+}
+
}
}