[Bug 3244] Sets of lists

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





------- Comment #6 from cmsmcq@w3.org  2007-10-26 02:47 -------
I suggest we modify the wording proposal of comment #3 by adopting the
changes suggested in comment #4, and also try to recast the
definitions in light of Sandy Gao's comment at the face to face
meeting that it feels odd to define the base type in terms of its
restrictions instead of vice versa.  (There is a limit to how fully I
have been able to address SG's concern, but I've tried.)

Net result:

1) In section 2.4.1, define atomic value and recast the definitions of
atomic and list datatypes to exploit it (and to align with the WG's
decision on bug 3230).  Specifically, for

    First, we distinguish ·atomic·, ·list·, and ·union· datatypes.

      - [Definition:] Atomic datatypes are those having values
        treated by this specification as indivisible.  Atomic
        datatypes are anyAtomicType and all datatypes ·derived· from
        it.

      - [Definition:] List datatypes are those having values each of
        which consists of a finite-length (possibly empty) sequence of
        values of an ·atomic· datatype (or a ·union· of ·atomic·
        datatypes), which is the ·item type· of the list.

read 

    First, we distinguish ·atomic·, ·list·, and ·union· datatypes.

    [Definition:] An atomic value is an elementary value, not
    constructed from simpler values by any means defined by this
    specification.

      - [Definition:] Atomic datatypes are those whose value spaces
        contain only atomic values.  Atomic datatypes are anyAtomicType 
        and all datatypes ·derived· from it.

      - [Definition:] List datatypes are those having values each of
        which consists of a finite-length (possibly empty) sequence of
        atomic values.  The values in a list are drawn from some 
        ·atomic· datatype (or from a ·union· of ·atomic·
        datatypes), which is the ·item type· of the list.

2) In 3.2.1, change the definition of anySimpleType, which currently
reads

    [Definition:] The definition of anySimpleType is a special
    ·restriction· of anyType.  anySimpleType has an unconstrained
    ·lexical space·, a ·value space· consisting of the union of the
    ·value spaces· of all the ·primitive· datatypes and the set of all
    lists of all members of the ·value spaces· of all the ·primitive·
    datatypes.

to read

    [Definition:] The definition of anySimpleType is a special
    ·restriction· of anyType.  Its ·lexical space· is the set of all
    sequences of Unicode characters, and ·value space· includes all
    ·atomic values· and all finite-length lists of ·atomic values·.

3) In 3.2.1.1, replace the current first and only paragraph, which now
reads:

    The ·value space· of anySimpleType is the union of the ·value
    spaces· of all the ·primitive· datatypes defined here, and of all
    sets of lists formed from the members of the ·primitive·
    datatypes.

with this reformulation:

    The ·value space· of anySimpleType is the set of all atomic values
    and of all finite-length lists of atomic values.


Note that this wording proposal has not had the normal full editorial
review.

Note also that as far as I can tell this proposal is compatible with
any of the proposed resolutions for the cluster of bug 3243, bug 3025,
and bug 5058.  Depending on how we resolve those issues, we should
probably add notes to 3.2.1 and 3.2.2 explaining how the value spaces
of anySimpleType and anyAtomicType relate to those of the primitives,
and how they stand on the question of effability.

Received on Friday, 26 October 2007 02:47:42 UTC