aboutsummaryrefslogtreecommitdiff
path: root/src/support/dom/document_cache_item.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/support/dom/document_cache_item.h')
-rw-r--r--src/support/dom/document_cache_item.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/support/dom/document_cache_item.h b/src/support/dom/document_cache_item.h
new file mode 100644
index 0000000..1f7152b
--- /dev/null
+++ b/src/support/dom/document_cache_item.h
@@ -0,0 +1,42 @@
+#ifndef INPUTXSLT_SRC_SUPPORT_DOM_DOCUMENT_CACHE_ITEM_H_
+#define INPUTXSLT_SRC_SUPPORT_DOM_DOCUMENT_CACHE_ITEM_H_
+
+#include <xalanc/XercesParserLiaison/XercesParserLiaison.hpp>
+#include <xalanc/XercesParserLiaison/XercesDOMSupport.hpp>
+#include <xalanc/XalanTransformer/XercesDOMWrapperParsedSource.hpp>
+
+#include <xercesc/dom/DOMDocument.hpp>
+
+#include <string>
+#include <memory>
+
+#include "common.h"
+#include "document_cache.h"
+
+namespace InputXSLT {
+
+class DomDocumentCache::item {
+ public:
+ ~item();
+
+ bool isFinalized() const;
+
+ xercesc::DOMDocument* getXercesDocument() const;
+ xalan::XalanDocument* getXalanDocument();
+
+ protected:
+ friend DomDocumentCache;
+
+ item(const std::string&);
+
+ private:
+ xalan::XercesParserLiaison parser_;
+ xalan::XercesDOMSupport dom_support_;
+ xercesc::DOMDocument* const document_;
+ std::unique_ptr<xalan::XercesDOMWrapperParsedSource> parsed_source_;
+
+};
+
+}
+
+#endif // INPUTXSLT_SRC_SUPPORT_DOM_DOCUMENT_CACHE_ITEM_H_