[Bug 3025] Lexical mappings are not necessarily functions (editorial)

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





------- Comment #1 from cmsmcq@w3.org  2006-10-09 18:17 -------
The same error occurs in section 2.1, although not elsewhere, as
far as I can tell by examining sentences containing the word
'mapping'.

A possible solution is: in section 2.1, replace 

    [Definition:] In this specification, a datatype has three
    properties:

      ...

      * A small collection of functions, relations, and
        procedures associated with the datatype.  Included are
        equality and order relations on the ·value space·, and a
        ·lexical mapping·, which is a function on the ·lexical
        space· onto the ·value space·.

with

    [Definition:] In this specification, a datatype has three
    properties:

      ...

      * A small collection of functions, relations, and
        procedures associated with the datatype.  Included are
        equality and order relations on the ·value space·, and a
        ·lexical mapping·, which is a mapping from the ·lexical
        space· onto the ·value space·.

And in section 2.3, replace the first paragraph

    [Definition:] The lexical mapping for a datatype is a
    prescribed function whose domain is a prescribed set of
    character strings (the ·lexical space·) and whose range is
    the ·value space· of that datatype.

with (draft A):

    [Definition:] The lexical mapping for a datatype is a
    prescribed relation whose domain is a prescribed set of
    character strings (the ·lexical space·) and whose range is
    the ·value space· of that datatype.

        Note: For each primitive datatype defined here, the
        lexical mapping is a total function from the lexical
        space onto the value space of the datatype.  

        For unions, the lexical mapping may or may not be a
        function; when a lexical representation maps to more than
        one value in the union, the choice of which value to use
        for further processing is determined by the order of the
        members of the union, or (when performing schema-validity
        assessment as defined in [XML Schema Part 1: Structures])
        an xsi:type attribute in the document instance.

        For the special datatypes, the lexical mapping is not a
        function, since the same character sequence may map to
        several values. When a lexical representation maps to
        more than one value, the choice of which value to use for
        further processing is not determined by this
        specification; when performing schema-validity assessment
        as defined in [XML Schema Part 1: Structures], the value
        to be used may be determined by rules given there.  In
        the case of anySimpleType, alone among datatypes defined
        here, the lexical mapping is also not a function onto the
        value space, because there are values with no lexical
        representation.

or (draft B):

    [Definition:] The lexical mapping for a datatype is a
    prescribed relation whose domain is a prescribed set of
    character strings (the ·lexical space·) and whose range is
    the ·value space· of that datatype.

        Note: For each primitive datatype defined here, the
        lexical mapping is a total function from the lexical
        space onto the value space of the datatype.  

        For unions and special datatypes, the lexical mapping is
        not a function, since the same character sequence may map
        to several values.  When a lexical representation maps to
        more than one value, the choice of which value to use for
        further processing may be determined by rules given
        elsewhere (for unions, by the order of the members of the
        union; when performing schema-validity assessment as
        defined in [XML Schema Part 1: Structures] by rules given
        there; otherwise, by rules given in other
        specifications).

        For every datatype except anySimpleType, the lexical
        mapping maps *onto* the value space of the datatype
        (i.e., every member of the value space is mapped to by
        some lexical representation).  In the case of
        anySimpleType, alone among datatypes defined here, the
        lexical mapping is also not a function onto the value
        space, because there are values with no lexical
        representation.

or (draft C):

    [Definition:] The lexical mapping for a datatype is a
    prescribed relation whose domain is a prescribed set of
    character strings (the ·lexical space·) and whose range is
    the ·value space· of that datatype.

        Note: For each primitive datatype defined here, the
        lexical mapping is a total function from the lexical
        space onto the value space of the datatype.  

        For unions and special datatypes, the lexical mapping is
        not a function, since the same character sequence may map
        to several values.  When a lexical representation maps to
        more than one value, the choice of which value to use for
        further processing may be determined by rules given
        elsewhere.

As currently defined, anySimpleType has values without lexical
representations; that fact is noted in drafts A and B, but not C.
It should also be noted in section 3.2.1, but that change is not
part of this proposal; it belongs to bug 3243.

Received on Monday, 9 October 2006 18:19:23 UTC