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.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/function/read_xml_file.cc b/src/function/read_xml_file.cc
index 616d189..be091a0 100644
--- a/src/function/read_xml_file.cc
+++ b/src/function/read_xml_file.cc
@@ -2,10 +2,12 @@
namespace InputXSLT {
-FunctionReadXmlFile::FunctionReadXmlFile():
+FunctionReadXmlFile::FunctionReadXmlFile(const std::string& path):
+ path_(path),
parser_() { }
-FunctionReadXmlFile::FunctionReadXmlFile(const FunctionReadXmlFile&):
+FunctionReadXmlFile::FunctionReadXmlFile(const FunctionReadXmlFile& src):
+ path_(src.path_),
parser_() { }
xalan::XObjectPtr FunctionReadXmlFile::execute(
@@ -22,9 +24,12 @@ xalan::XObjectPtr FunctionReadXmlFile::execute(
generalError(executionContext, context, locator);
}
+ xalan::XalanDOMString fileName(this->path_.data());
+ fileName.append(arguments[0]->str());
+
return executionContext.getXObjectFactory().createNodeSet(
this->parser_.parseXMLStream(
- xalan::XSLTInputSource(arguments[0]->str())
+ xalan::XSLTInputSource(fileName)
)
);
}