diff options
Diffstat (limited to 'src/transformer_facade.cc')
-rw-r--r-- | src/transformer_facade.cc | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/src/transformer_facade.cc b/src/transformer_facade.cc index 10c8c7a..76b68d6 100644 --- a/src/transformer_facade.cc +++ b/src/transformer_facade.cc @@ -11,10 +11,8 @@ #include <xalanc/XercesParserLiaison/XercesDOMSupport.hpp> #include <xalanc/XalanTransformer/XercesDOMWrapperParsedSource.hpp> -#include <xercesc/dom/DOMDocument.hpp> -#include <xercesc/dom/DOMImplementation.hpp> - #include "support/xerces_string_guard.h" +#include "support/dom/document_cache.h" namespace InputXSLT { @@ -59,19 +57,15 @@ void TransformerFacade::generate( ) { ErrorCapacitor errorCapacitor(&this->error_multiplexer_); - xercesc::DOMDocument* const inputDocument( - xercesc::DOMImplementation::getImplementation()->createDocument( - nullptr, - *XercesStringGuard<XMLCh>("dummy"), - nullptr - ) + DomDocumentCache::document_ptr inputDocument( + DomDocumentCache::createDocument() ); xalan::XercesParserLiaison parserLiaison; xalan::XercesDOMSupport domSupport(parserLiaison); xalan::XercesDOMWrapperParsedSource inputParsedSource( - inputDocument, + inputDocument.get(), parserLiaison, domSupport ); @@ -82,8 +76,6 @@ void TransformerFacade::generate( target ); - inputDocument->release(); - errorCapacitor.discharge(); } @@ -94,12 +86,12 @@ void TransformerFacade::generate( ) { ErrorCapacitor errorCapacitor(&this->error_multiplexer_); - xercesc::DOMDocument* const inputDocument( - xercesc::DOMImplementation::getImplementation()->createDocument() + DomDocumentCache::document_ptr inputDocument( + DomDocumentCache::createDocument() ); xalan::FormatterToXercesDOM inputFormatter( - inputDocument, + inputDocument.get(), inputDocument->getDocumentElement() ); @@ -121,8 +113,6 @@ void TransformerFacade::generate( target ); - inputDocument->release(); - errorCapacitor.discharge(); } |