aboutsummaryrefslogtreecommitdiff
path: root/src/function/read_xml_file.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/function/read_xml_file.cc')
-rw-r--r--src/function/read_xml_file.cc18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/function/read_xml_file.cc b/src/function/read_xml_file.cc
index 2fa4f13..cfa216c 100644
--- a/src/function/read_xml_file.cc
+++ b/src/function/read_xml_file.cc
@@ -1,28 +1,26 @@
#include "read_xml_file.h"
-#include <xalanc/XSLT/XSLTInputSource.hpp>
-
#include <xercesc/dom/DOMDocument.hpp>
#include <xercesc/dom/DOMImplementation.hpp>
#include <xercesc/dom/DOMElement.hpp>
#include <xercesc/parsers/XercesDOMParser.hpp>
-
-#include "boost/filesystem/fstream.hpp"
+#include <xercesc/framework/LocalFileInputSource.hpp>
#include "support/xerces_string_guard.h"
#include "support/dom/result_node_facade.h"
namespace {
-using InputXSLT::XercesStringGuard;
-
inline xercesc::DOMNode* importDocumentElement(
- const boost::filesystem::path& filePath,
+ const std::string& filePath,
xercesc::DOMDocument* const domDocument
) {
+ const xercesc::LocalFileInputSource file(
+ *InputXSLT::XercesStringGuard<XMLCh>(filePath.data())
+ );
+
xercesc::XercesDOMParser parser;
- boost::filesystem::ifstream file(filePath);
- parser.parse(xalan::XSLTInputSource(file));
+ parser.parse(file);
return domDocument->importNode(
parser.getDocument()->getDocumentElement(),
@@ -67,7 +65,7 @@ xercesc::DOMDocument* FunctionReadXmlFile::constructDocument(
result.setAttribute("result", "success");
result.setContent(
- importDocumentElement(filePath, domDocument)
+ importDocumentElement(filePath.string(), domDocument)
);
} else {
result.setAttribute("result", "error");