[Bug 10852] New: [XQuery1.1] Editorial: Redundant and incomplete description of ordering mode

http://www.w3.org/Bugs/Public/show_bug.cgi?id=10852

           Summary: [XQuery1.1] Editorial: Redundant and incomplete
                    description of ordering mode
           Product: XPath / XQuery / XSLT
           Version: Member-only Editors Drafts
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XQuery 1.1
        AssignedTo: jonathan.robie@redhat.com
        ReportedBy: oliver@cbcl.co.uk
         QAContact: public-qt-comments@w3.org
             Group: XSLXQuery_WG


3.10 (Ordering mode) states:

Ordering mode affects the behavior of path expressions that include a "/" or
"//" operator or an axis step; union, intersect, and except expressions; the
fn:id and fn:idref functions; and certain clauses within a FLWOR expression. If
ordering mode is ordered, node sequences returned by path expressions, union,
intersect, and except expressions, and the fn:id and fn:idref functions are in
document order; otherwise the order of these return sequences is
implementation-dependent. The effect of ordering mode on FLWOR expressions is
described in 3.9.2 For Clause, 3.9.4.3 Effects of Window Clauses on the Tuple
Stream, and 3.9.7 Group By Clause. Ordering mode has no effect on duplicate
elimination.


and 4.7 (Ordering mode declaration) states:

Ordering mode affects the behavior of path expressions that include a "/" or
"//" operator or an axis step; union, intersect, and except expressions; and
FLWOR expressions that have no order by clause. If ordering mode is ordered,
node sequences returned by path, union, intersect, and except expressions are
in document order; otherwise the order of these return sequences is
implementation-dependent. The effect of ordering mode on FLWOR expressions is
described in 3.9 FLWOR Expressions.

This latter paragraph seems to be redundant to the former.  Since the paragraph
in 3.10 seems more complete, I propose dropping this paragraph from 4.7.


The note following the paragraph in 3.10 is also incomplete:

Note:

In a region of a query where ordering mode is unordered, the result of an
expression may be nondeterministic if the expression invokes certain functions
that are affected by the ordering of node sequences. These functions include
fn:position, fn:last, fn:index-of, fn:insert-before, fn:remove, fn:reverse, and
fn:subsequence. Also, within a path expression in an unordered region, numeric
predicates are nondeterministic. For example, in an ordered region, the path
expression (//a/b)[5] will return the fifth qualifying b-element in document
order. In an unordered region, the same expression will return an
implementation-dependent qualifying b-element.

The list of functions whose behaviour becomes non-deterministic in unordered
mode should also include fn:boolean, fn:not (as is noted in 2.4.3).

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Thursday, 30 September 2010 13:50:46 UTC