aboutsummaryrefslogtreecommitdiff
path: root/test/read_xml_file
diff options
context:
space:
mode:
authorAdrian Kummerländer2014-05-31 14:18:48 +0200
committerAdrian Kummerländer2014-05-31 14:18:48 +0200
commit1a744712426c9c19019b8ebebdd0c703aae204a6 (patch)
treefd82b4e5b0e53b39dd0d9df5e5dda6aa0f050eb0 /test/read_xml_file
parentd5367d268e8f2be9dd519b3b90f7baa64d6d50b7 (diff)
downloadInputXSLT-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 'test/read_xml_file')
-rw-r--r--test/read_xml_file/transformation.xsl20
1 files changed, 16 insertions, 4 deletions
diff --git a/test/read_xml_file/transformation.xsl b/test/read_xml_file/transformation.xsl
index 2a6c5e5..f23273e 100644
--- a/test/read_xml_file/transformation.xsl
+++ b/test/read_xml_file/transformation.xsl
@@ -2,16 +2,28 @@
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xalan="http://xml.apache.org/xalan"
xmlns:InputXSLT="function.inputxslt.application"
- exclude-result-prefixes="InputXSLT"
+ exclude-result-prefixes="InputXSLT xalan"
>
<xsl:include href="[testcase.xsl]"/>
<xsl:template name="implementation">
- <xsl:for-each select="InputXSLT:read-xml-file('test.txt')/tester/eintrag">
- <item><xsl:value-of select="."/></item>
- </xsl:for-each>
+ <xsl:variable name="result">
+ <xsl:copy-of select="InputXSLT:read-xml-file('test.txt')"/>
+ </xsl:variable>
+
+ <xsl:choose>
+ <xsl:when test="xalan:nodeset($result)/file/@result = 'success'">
+ <xsl:for-each select="xalan:nodeset($result)/file/tester/eintrag">
+ <item><xsl:value-of select="."/></item>
+ </xsl:for-each>
+ </xsl:when>
+ <xsl:otherwise>
+ Error during file io
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:template>
</xsl:stylesheet>