ORA-FO-335-B: Please define "collation"

SECTION 7.3.1: Collations

This section is at pains to say how to specify (reference)
a collation, but it does not normatively say what a collation is.
Contrast this with the XQuery Language working draft, 2.1.1
"Static context", item regarding in-scope collations, where it
says "A collation may be regarded as an object that supports
two functions..." and a description of those two functions.
This tells me what a collation is.  I think this definition 
logically belongs in F&O.  The 
passage in the XQuery Language is merely telling how collations 
are part of the static context, and should not be the normative
text for what a collation is.

So what is the definition of collation?  We have seen one definition
in XQuery language.  F&O Section 7.5 "Functions based on substring 
matching" has a different definition.  
It seems that a collation consists of:

1. "the capability of deciding whether two strings are considered
equal, and if not, which of the strings should be regarded as 
preceding the other".  This capability completely captures the 
two points mentioned in XQuery Language.

2. Optionally, "decompose the string into a sequence of units, each 
unit consisting of one or more characters, such that two strings 
can be compared by pairwise comparison of these units".  
This capability might be realized by a function taking a single
argument of type xs:string and returning a sequence of type 
xs:string*, though I suspect that in practice implementations 
will find a way to represent the sequence with less overhead than
actually using a sequence of the data model.

3. Some means of indicating whether the collation has item #2.

This needs to be clarified.

- Steve B.

Received on Tuesday, 17 February 2004 14:08:34 UTC