- From: Benito van der Zander <benito@benibela.de>
- Date: Wed, 9 Nov 2016 23:18:33 +0100
- To: Michael Kay <mike@saxonica.com>, O'Neil Delpratt <oneil@saxonica.com>
- Cc: Public Joint XSLT XQuery XPath <public-xsl-query@w3.org>
- Message-ID: <4234226e-2f72-8b90-5749-70508afe7055@benibela.de>
Hi, > * Support for XSD 1.1. Most vendors of XSLT and XQuery processors rely > on a third party implementation of XSD (Saxonica and Altova are > notable exceptions) and many XSD 1.0 processors have not been upgraded > to XSD 1,1. Again there appears to be no practical alternative to our > approach of making support for XSD 1.1 optional. > I have implemented XSD 1.1 in Xidel, too, at least the datatypes without validation of nodes. But then it only supports 3.0. > * Support for UCA Collations. We chose to make support for UCA > collations mandatory in the interests of interoperability and I18N > support, but implementation is technically challenging, and typically > depends on third party libraries. We could make the feature optional, > but we don't think this would be in the interests of the user > community; rather we would prefer to accept that implementation of > these features may lag a little behind. > And this point is actually what has stopped me from implementing XQuery 3.1 so far. > * Support for fn:transform() (dynamic invocation of XSLT from XQuery). > There is strong evidence that users require this feature, but it is > difficult to ensure 100% interoperability of implementations because > in many cases it will depend on integrating a third-party product. > Tests where the transformation requires XSLT 3.0 are particularly > challenging because the standard is so new. We think we have done the > right thing by including this feature although it will probably remain > true that different vendors will offer different subsets of the > capability. > or this. Best, Benito On 11/09/2016 01:19 PM, Michael Kay wrote: >> >> The lists below are the test cases which are either failed by all >> implementations or only passed by one implementation. > > A little more analysis on these: >> >> >> *Failed by all implementations:* >> >> * >> * >> ST-Data001 (static typing feature) > > To be honest, there is only one implementation passing any of the > static typing tests, namely XMLPrime, but it comes up in XPath, > XQuery, and XQueryX guises. I'm not sure why this particular test > differs from the other static typing tests. > >> collation-key-009u (probably failing due to the new dependency added) > >> compare-031 (probably failing due to the new dependency added) >> compare-034 (probably failing due to the new dependency added) >> compare-035 (probably failing due to the new dependency added) >> compare-039 (probably failing due to the new dependency added) > > These are UCA collation tests. I think Saxon should be able to pass > these with a tweak to the way the test driver handles dependencies. > Perhaps the same is true of XMLPrime, but we may never know. These > are quite tough tests of UCA collations, added fairly recently so > implementors haven't had much time to respond to them. >> >> >> *Passed by one implementation only:* >> >> substitution-020 (XML schema 1.1 dependency) >> substitution-021 (XML schema 1.1 dependency) >> substitution-022 (XML schema 1.1 dependency) >> substitution-023 (XML schema 1.1 dependency) >> substitution-024 (XML schema 1.1 dependency) >> substitution-025 (XML schema 1.1 dependency) >> Serialization-adaptive-37 (XML schema 1.1 dependency) > > These tests require support for XSD 1.1, which only Saxon (among the > implementations that have reported results) currently supports. >> >> >> Currently only two implementations support fn:transform. The >> following fn:transform tests were only passed by one implementation. >> It looks like we are still waiting on features to be implemented. > > Actually we have three PRODUCTS reporting some test successes for > fn:transform (Exselt, XMLPrime, Saxon). For some of the cases where > tests were passed by two implementations, the implementations in > question are Saxon XQuery and Saxon XPath, therefore not independent. > Many of the tests in the list below have no result for XMLPrime, which > may be because the tests were created rather recently in response to > late spec changes. >> >> fn-transform-2 >> fn-transform-19 >> fn-transform-37 >> fn-transform-50 >> fn-transform-51 >> fn-transform-52 >> fn-transform-53 >> fn-transform-54 >> fn-transform-55 >> fn-transform-56 >> fn-transform-57 >> fn-transform-58 >> fn-transform-59 >> fn-transform-60 >> fn-transform-61 >> fn-transform-62 >> fn-transform-63 >> fn-transform-64 >> fn-transform-66 >> > > So overall the situation is pretty healthy given that we are talking > about a few dozen problematic tests out of 30,000. But in some > respects we are over-egging the results; the figures don't distinguish > whether the implementations that are passing the tests are truly > independent of each other. > > We can summarize the analysis by saying that there appear to be four > areas where reported test results show that implementation is imcomplete: > > * Support for static typing. This is a feature that we retain in the > specification for backwards compatibility, but which has fallen out of > favour with many implementors. It was always an optional feature. I > don't think there is any practical alternative to our approach here, > of retaining support for the feature in 3.1 given that it is supported > in some products. > > * Support for XSD 1.1. Most vendors of XSLT and XQuery processors rely > on a third party implementation of XSD (Saxonica and Altova are > notable exceptions) and many XSD 1.0 processors have not been upgraded > to XSD 1,1. Again there appears to be no practical alternative to our > approach of making support for XSD 1.1 optional. > > * Support for UCA Collations. We chose to make support for UCA > collations mandatory in the interests of interoperability and I18N > support, but implementation is technically challenging, and typically > depends on third party libraries. We could make the feature optional, > but we don't think this would be in the interests of the user > community; rather we would prefer to accept that implementation of > these features may lag a little behind. > > * Support for fn:transform() (dynamic invocation of XSLT from XQuery). > There is strong evidence that users require this feature, but it is > difficult to ensure 100% interoperability of implementations because > in many cases it will depend on integrating a third-party product. > Tests where the transformation requires XSLT 3.0 are particularly > challenging because the standard is so new. We think we have done the > right thing by including this feature although it will probably remain > true that different vendors will offer different subsets of the > capability. > > Michael Kay > Saxonica >
Received on Wednesday, 9 November 2016 22:12:08 UTC