aboutsummaryrefslogtreecommitdiff
path: root/src/plattform_guard.cc
diff options
context:
space:
mode:
authorAdrian Kummerländer2014-05-25 21:49:59 +0200
committerAdrian Kummerländer2014-05-25 21:49:59 +0200
commitc5a11763985172f54d0da8a2a2778f882f3656e5 (patch)
tree2a2eb165424ecf91b0b229d36de1da79e4bdbaa3 /src/plattform_guard.cc
parentbf88fb942d624f40218716d375744aa14b3406a8 (diff)
downloadInputXSLT-c5a11763985172f54d0da8a2a2778f882f3656e5.tar
InputXSLT-c5a11763985172f54d0da8a2a2778f882f3656e5.tar.gz
InputXSLT-c5a11763985172f54d0da8a2a2778f882f3656e5.tar.bz2
InputXSLT-c5a11763985172f54d0da8a2a2778f882f3656e5.tar.lz
InputXSLT-c5a11763985172f54d0da8a2a2778f882f3656e5.tar.xz
InputXSLT-c5a11763985172f54d0da8a2a2778f882f3656e5.tar.zst
InputXSLT-c5a11763985172f54d0da8a2a2778f882f3656e5.zip
Implemented basic external "execute" function
* enables execution of external programs ** second parameter is passed to stdin ** stdout is captured and returned ** based on booost::process * this was implemented to enable access to external content preprocessors such as markdown
Diffstat (limited to 'src/plattform_guard.cc')
-rw-r--r--src/plattform_guard.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plattform_guard.cc b/src/plattform_guard.cc
index d66c8b5..ff4de08 100644
--- a/src/plattform_guard.cc
+++ b/src/plattform_guard.cc
@@ -10,6 +10,7 @@
#include "function/read_xml_file.h"
#include "function/read_directory.h"
#include "function/transform.h"
+#include "function/execute.h"
namespace InputXSLT {
@@ -45,6 +46,12 @@ PlattformGuard::PlattformGuard(const std::vector<std::string>& path):
xalan::XalanDOMString("transform"),
InputXSLT::FunctionTransform(&this->include_resolver_)
);
+
+ xalan::XalanTransformer::installExternalFunctionGlobal(
+ customNamespace,
+ xalan::XalanDOMString("execute"),
+ InputXSLT::FunctionExecute(&this->include_resolver_)
+ );
}
PlattformGuard::~PlattformGuard() {