aboutsummaryrefslogtreecommitdiff
path: root/src/transformation_facade.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/transformation_facade.cc')
-rw-r--r--src/transformation_facade.cc48
1 files changed, 24 insertions, 24 deletions
diff --git a/src/transformation_facade.cc b/src/transformation_facade.cc
index b411b38..698cdb1 100644
--- a/src/transformation_facade.cc
+++ b/src/transformation_facade.cc
@@ -26,14 +26,34 @@ TransformationFacade::~TransformationFacade() {
}
int TransformationFacade::generate(const std::string& target) {
+ StylesheetParameterGuard guard(this->transformer_);
+
+ return this->generate(target, guard);
+}
+
+int TransformationFacade::generate(
+ const std::string& target,
+ const StylesheetParameterGuard::map& parameters
+) {
+ StylesheetParameterGuard guard(this->transformer_, parameters);
+
+ return this->generate(target, guard);
+}
+
+int TransformationFacade::generate(
+ const std::string& target,
+ StylesheetParameterGuard& parameters
+) {
const boost::filesystem::path targetFilePath(
boost::filesystem::absolute(target)
);
- this->setParameters({
- { "target-file", targetFilePath.filename().string() },
- { "parent-directory", targetFilePath.parent_path().filename().string() }
- });
+ parameters.set(
+ "target-file", targetFilePath.filename().string()
+ );
+ parameters.set(
+ "parent-directory", targetFilePath.parent_path().filename().string()
+ );
std::stringstream emptyStream("<dummy/>");
xalan::XSLTInputSource inputSource(emptyStream);
@@ -49,27 +69,7 @@ int TransformationFacade::generate(const std::string& target) {
std::cerr << this->transformer_.getLastError() << std::endl;
}
- this->transformer_.clearStylesheetParams();
-
return resultCode;
}
-int TransformationFacade::generate(
- const std::string& target,
- const parameter_map& parameters
-) {
- this->setParameters(parameters);
-
- return this->generate(target);
-}
-
-void TransformationFacade::setParameters(const parameter_map& parameters) {
- for ( auto&& parameter : parameters ) {
- this->transformer_.setStylesheetParam(
- parameter.first.data(),
- std::string("'" + parameter.second + "'").data()
- );
- }
-}
-
}