diff options
author | Adrian Kummerländer | 2014-05-31 14:18:48 +0200 |
---|---|---|
committer | Adrian Kummerländer | 2014-05-31 14:18:48 +0200 |
commit | 1a744712426c9c19019b8ebebdd0c703aae204a6 (patch) | |
tree | fd82b4e5b0e53b39dd0d9df5e5dda6aa0f050eb0 /src/function/read_xml_file.cc | |
parent | d5367d268e8f2be9dd519b3b90f7baa64d6d50b7 (diff) | |
download | InputXSLT-1a744712426c9c19019b8ebebdd0c703aae204a6.tar InputXSLT-1a744712426c9c19019b8ebebdd0c703aae204a6.tar.gz InputXSLT-1a744712426c9c19019b8ebebdd0c703aae204a6.tar.bz2 InputXSLT-1a744712426c9c19019b8ebebdd0c703aae204a6.tar.lz InputXSLT-1a744712426c9c19019b8ebebdd0c703aae204a6.tar.xz InputXSLT-1a744712426c9c19019b8ebebdd0c703aae204a6.tar.zst InputXSLT-1a744712426c9c19019b8ebebdd0c703aae204a6.zip |
Revamped external function result trees
* the root node of the result tree of each function is a domain element
** i.e. the root node of "read-xml-file" is "file", the root node of "read-directory" is "directory"
* the root node contains the result state of the function call encoded in a "result" attribute
** possible values are "success" and "error"
** the root node may contain additional attributes such as the target path of a called transformation
* the actual function result is contained within the child nodes of the function root node
** i.e. the XML file tree returned by "read-xml-file" is a child of the function root node
** if specific errors occured they are also returned as child nodes of the function root node
*** this is currently only the case for "transform" where transformation errors are returned as "error" value node childs of the function root node
* updated test cases accordingly
Diffstat (limited to 'src/function/read_xml_file.cc')
-rw-r--r-- | src/function/read_xml_file.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/function/read_xml_file.cc b/src/function/read_xml_file.cc index 6d0fd04..2fa4f13 100644 --- a/src/function/read_xml_file.cc +++ b/src/function/read_xml_file.cc @@ -60,16 +60,17 @@ xercesc::DOMDocument* FunctionReadXmlFile::constructDocument( domDocument->getDocumentElement() ); - if ( boost::filesystem::is_regular_file(filePath) ) { - ResultNodeFacade result(domDocument, rootNode, "result"); + ResultNodeFacade result(domDocument, rootNode, "file"); + result.setAttribute("path", filePath.string()); - result.setAttribute("name", filePath.filename().string()); + if ( boost::filesystem::is_regular_file(filePath) ) { + result.setAttribute("result", "success"); result.setContent( importDocumentElement(filePath, domDocument) ); } else { - ResultNodeFacade result(domDocument, rootNode, "error"); + result.setAttribute("result", "error"); } return domDocument; |