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.cc38
1 files changed, 22 insertions, 16 deletions
diff --git a/src/transformation_facade.cc b/src/transformation_facade.cc
index 9d248b8..4017cd0 100644
--- a/src/transformation_facade.cc
+++ b/src/transformation_facade.cc
@@ -2,6 +2,9 @@
#include <xalanc/XSLT/XSLTInputSource.hpp>
#include <xalanc/XalanTransformer/XalanCompiledStylesheet.hpp>
+#include <xalanc/PlatformSupport/XalanOutputStreamPrintWriter.hpp>
+#include <xalanc/PlatformSupport/XalanStdOutputStream.hpp>
+#include <xalanc/XMLSupport/FormatterToXML.hpp>
#include "support/xerces_string_guard.h"
@@ -66,42 +69,45 @@ WarningCapacitor::warning_cache_ptr TransformationFacade::getCachedWarnings() {
return this->warning_capacitor_.discharge();
}
-void TransformationFacade::generate(std::basic_ostream<char>& targetStream) {
+void TransformationFacade::generate(
+ std::basic_ostream<char>& targetStream,
+ const xalan::XObjectPtr& parameter
+) {
StylesheetParameterGuard guard(this->transformer_);
+ guard.set("parameters", parameter);
- this->generate(targetStream, guard);
+ this->generate(targetStream);
}
-void TransformationFacade::generate(
- std::basic_ostream<char>& targetStream,
- const StylesheetParameterGuard::map& parameters
-) {
- StylesheetParameterGuard guard(this->transformer_, parameters);
+void TransformationFacade::generate(std::basic_ostream<char>& targetStream) {
+ StylesheetParameterGuard guard(this->transformer_);
+
+ xalan::XalanStdOutputStream outputStream(targetStream);
+ xalan::XalanOutputStreamPrintWriter outputWriter(outputStream);
- this->generate(targetStream, guard);
+ xalan::FormatterToXML formatter(outputWriter);
+ formatter.setDoIndent(true);
+
+ this->generate(formatter);
}
void TransformationFacade::generate(
- std::basic_ostream<char>& targetStream,
+ xalan::FormatterListener& formatter,
const xalan::XObjectPtr& parameter
) {
StylesheetParameterGuard guard(this->transformer_);
guard.set("parameters", parameter);
- this->generate(targetStream, guard);
+ this->generate(formatter);
}
-
-void TransformationFacade::generate(
- std::basic_ostream<char>& targetStream,
- StylesheetParameterGuard&
-) {
+void TransformationFacade::generate(xalan::FormatterListener& target) {
ErrorCapacitor errorCapacitor(&this->error_multiplexer_);
this->transformer_.transform(
*(this->input_),
this->transformation_,
- targetStream
+ target
);
errorCapacitor.discharge();