aboutsummaryrefslogtreecommitdiff
path: root/src/function/read_xml_file.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/function/read_xml_file.h')
-rw-r--r--src/function/read_xml_file.h36
1 files changed, 9 insertions, 27 deletions
diff --git a/src/function/read_xml_file.h b/src/function/read_xml_file.h
index d7ef440..5314b4a 100644
--- a/src/function/read_xml_file.h
+++ b/src/function/read_xml_file.h
@@ -1,39 +1,21 @@
#ifndef INPUTXSLT_SRC_FUNCTION_READ_XML_FILE_H_
#define INPUTXSLT_SRC_FUNCTION_READ_XML_FILE_H_
-#include <xalanc/XalanTransformer/XalanTransformer.hpp>
-#include <xalanc/XPath/XObjectFactory.hpp>
-#include <xalanc/XPath/Function.hpp>
-#include <xalanc/XPath/XObject.hpp>
-
-#include <string>
-#include <memory>
-
-#include "common.h"
-#include "support/dom/document_cache.h"
+#include "base.h"
namespace InputXSLT {
-class FunctionReadXmlFile : public xalan::Function {
+class FunctionReadXmlFile : public FunctionBase<FunctionReadXmlFile> {
public:
- FunctionReadXmlFile();
-
- virtual xalan::XObjectPtr execute(
- xalan::XPathExecutionContext&,
- xalan::XalanNode*,
- const xalan::XObjectPtr,
- const xalan::Locator*
- ) const;
-
- virtual FunctionReadXmlFile* clone(xalan::MemoryManager&) const;
-
- FunctionReadXmlFile& operator=(const FunctionReadXmlFile&) = delete;
- bool operator==(const FunctionReadXmlFile&) const = delete;
+ using FunctionBase<FunctionReadXmlFile>::FunctionBase;
- private:
- std::shared_ptr<DomDocumentCache> document_cache_;
+ protected:
+ friend FunctionBase<FunctionReadXmlFile>;
- const xalan::XalanDOMString& getError(xalan::XalanDOMString& result) const;
+ xercesc::DOMDocument* constructDocument(
+ const FilesystemContext&,
+ const boost::filesystem::path&
+ );
};