aboutsummaryrefslogtreecommitdiff
path: root/src/function/transform.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/function/transform.cc')
-rw-r--r--src/function/transform.cc18
1 files changed, 5 insertions, 13 deletions
diff --git a/src/function/transform.cc b/src/function/transform.cc
index e53b55f..c97897e 100644
--- a/src/function/transform.cc
+++ b/src/function/transform.cc
@@ -2,10 +2,6 @@
#include <xalanc/XercesParserLiaison/FormatterToXercesDOM.hpp>
-#include <xercesc/dom/DOMDocument.hpp>
-#include <xercesc/dom/DOMImplementation.hpp>
-#include <xercesc/dom/DOMElement.hpp>
-
#include "transformer_facade.h"
#include "support/xerces_string_guard.h"
#include "support/dom/result_node_facade.h"
@@ -30,28 +26,24 @@ inline void handleErrors(
namespace InputXSLT {
-xercesc::DOMDocument* FunctionTransform::constructDocument(
+DomDocumentCache::document_ptr FunctionTransform::constructDocument(
xalan::XSLTInputSource inputSource,
xalan::XSLTInputSource transformationSource
) {
- xercesc::DOMDocument* const domDocument(
- xercesc::DOMImplementation::getImplementation()->createDocument(
- nullptr,
- *XercesStringGuard<XMLCh>("content"),
- nullptr
- )
+ DomDocumentCache::document_ptr domDocument(
+ DomDocumentCache::createDocument()
);
xercesc::DOMElement* const rootElement(
domDocument->getDocumentElement()
);
- ResultNodeFacade result(domDocument, rootElement, "transformation");
+ ResultNodeFacade result(domDocument.get(), rootElement, "transformation");
TransformerFacade transformer(this->include_resolver_);
try {
xalan::FormatterToXercesDOM targetFormatter(
- domDocument,
+ domDocument.get(),
result.getResultElement()
);