- From: <bugzilla@wiggum.w3.org>
- Date: Tue, 27 Nov 2007 18:38:49 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=5290 Summary: Unclear meaning of "collation" in order-by clause Product: XPath / XQuery / XSLFO / XSLT Version: Recommendation Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: XQuery AssignedTo: chamberl@almaden.ibm.com ReportedBy: chamberl@almaden.ibm.com QAContact: public-qt-comments@w3.org In XQuery Section 3.8.3 (Order By and Return clauses), the "greater-than" relationship between two ordering keys V and W, when a collation C is specified, is defined by fn:compare(V, W, C). The document does not specify that this definition applies only if the keys are strings. Consider the following case: order by $salary collation "fr-ca" If the type of $salary is xs:decimal, an error will result because fn:compare() requires strings for its first two parameters, and xs:decimal is not promotable to xs:string. If this is really the behavior we want, we should add a note that says this explicitly and designates the error code (XPST0017, No Such Function). If we think this is a confusing and unhelpful error code, we should invent a new code for this case. Alternatively, we could say that the collation applies only if the ordering keys are valid operands of fn:compare (strings or promotable to strings); otherwise the keys are compared using gt and the collation clause is ignored.
Received on Tuesday, 27 November 2007 18:38:56 UTC