diff options
Diffstat (limited to 'src/function/read_xml_file.cc')
-rw-r--r-- | src/function/read_xml_file.cc | 11 |
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) ) ); } |