w3c / qt3tests

Tests for XPath and XQuery
27 stars 17 forks source link

Question about test case `K2-OrderbyExprWithout-26` and `K2-OrderbyExprWithout-27` #46

Open adamretter opened 2 years ago

adamretter commented 2 years ago

These two tests use a sequence of two items for the Order spec key, and allow either a result or an error of XPTY004. However the XQuery 1.0 and 3.1 specs both state:

The process of evaluating and comparing the orderspecs is based on the following rules:

  • Atomization is applied to the result of the expression in each orderspec. If the result of atomization is neither a single atomic value nor an empty sequence, a type error is raised [err:XPTY0004].

As far as I can see these tests should only allow an error of XPTY004... or did I miss something?

adamretter commented 2 years ago

The same goes for test cases:

It seems unlikely to me that all of these tests are incorrect, and so I feel that I must be missing some vital piece of information...

michaelhkay commented 2 years ago

I don't know the history, but my guess would be that someone decided that in all these cases, the sort can be optimised away because the input to the sort is a singleton, and that it therefore falls under the rule that if you can get the answer to a query without ever evaluating some subexpression (in this case, the sort key), then an error in that subexpression doesn't need to be reported.