xq2xsl Is a convertor from XQuery 1.0 to XSLT 2.0 implemented in XSLT 2.0. The xq2xsl conversion, followed by execution of the resulting XSLT stylesheet may be considered as an implementation of Xquery. For this test XSLT engine used both to execute the conversion and execute the resulting stylesheet was: Depends on underlying XSLT engine, in this case: SAXON 8.8 from Saxonica.
No transformations are made directly on the XQuery file, however after conversion to XSLT, the parameters corresponding to external $input-context variables are changed from having empty default definitions to having definition "doc(relative/path/to/input/fileas/specified/in/catalogue)".
XML: The result is not serialised. The expected result is parsed using doc() and compared using deep-equal(), if this fails, text nodes are normalized with normalize-space(), then deep-equal() is retried (Use of normalize-space is noted in the comment field in this case).
Fragment: The result is not serialised. The expected result is wrapped in an element node so it can be parsed by am XML parser, the child nodes of this element are then compared using deep-equal (and optionaly normalize-space, as for the XML comparision).
Text: is treated as a synonym for the Fragment comparison
Inspect: If these have been looked at, they are declared pass, otherwise declared not tested.
Errors are currently NOT compared. If (any) error is expected, (any) error raised is considered to be a test pass. (Due to limitations of the test harness: This should be fixed in time for a future version of the test suite.)
The xq2xsl transformation process is designed to only require a basic XSLT2 engine however the generated XSLT code may require a schema-aware XSLT engine to process some constructs. This test uses the same XSLT engine to transform the Query to XSLT and to execute the generated XSLT. The system used was SAXON 8.8 from Saxonica, for which the value of xsl:is-schema-aware is no.