Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fn-transform-68 test should use a test method valid in all versions of Saxon #44

Open
alanpaxton opened this issue Aug 1, 2022 · 3 comments

Comments

@alanpaxton
Copy link

The test is testing for the vendor field being correctly recognized as - 'vendor' : 'Saxonica' - we are using SaxonHE in the eXist implementation of fn:transform, and the vendor string returned from Saxon matches; therefore we attempt to compile and run the stylesheet. Doing so,

the template used in this test:

<xsl:template name='main'>
              <out><xsl:value-of select=""saxon:in-summer-time(xs:dateTime('2016-07-01T00:00:00'), 'Europe/London')""/></out>
            </xsl:template> 

causes an error when run using Saxon HE: QueryError(FOXT0003,err:FOXT0003 Errors were reported during stylesheet compilation.

Further digging suggests that saxon:in-summer-time is restricted to Saxon EE. Presumably therefore the test passes when run with a version of Saxon EE.

We suggest that the test be modified to use a function valid in all versions of Saxon.

@michaelhkay
Copy link
Contributor

This isn't easily achieved because essentially all Saxon extensions to the W3C specs require Saxon-PE or -EE. I'm inclined to add a dependency on schema-awareness or streaming.

@michaelhkay
Copy link
Contributor

I think the simplest fix is to allow an error code of XPST0017, which is what will be thrown if Saxon-HE is invoked.

@alanpaxton
Copy link
Author

Thanks, we can proceed on the assumption that XPST0017 is valid

alanpaxton added a commit to evolvedbinary/exist that referenced this issue Aug 4, 2022
When the cause chain for an error contains an XPathException in native eXist, or the Saxon type for an XPathException, work harder to get the correct error code out of that cause, and reflect it in the XPathException ultimately thrown out of FnTransform.

This has an effect on the error thrown by XQTS test transform-68, which becomes consistent with the proposed test suite fix here w3c/qt3tests#44
pull bot pushed a commit to EIDO-Systems/exist that referenced this issue Aug 16, 2022
When the cause chain for an error contains an XPathException in native eXist, or the Saxon type for an XPathException, work harder to get the correct error code out of that cause, and reflect it in the XPathException ultimately thrown out of FnTransform.

This has an effect on the error thrown by XQTS test transform-68, which becomes consistent with the proposed test suite fix here w3c/qt3tests#44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants