[Bug 11005] First note in 3.16.6.3 Type Derivation OK (simple)

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

--- Comment #2 from C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com> 2010-10-11 15:51:30 UTC ---
I think this comment applies most directly not to Datatypes but to Structures;
the text quoted appears in the latter but not the former.  But I'm not changing
the component field.

On the indentation:  The note seems to me to be correctly attached to clause
2.2.4.3 of Type Derivation OK (Simple), because it is the requirement that B
and any intervening unions have an empty {facets} property that guarantees the
subset relations mentioned.  (If D is a basic member of B, but B has a pattern
facet limiting it to strings of length 1, for example, then the subset relation
does not apply.  My recollection is that the QT formal semantics makes certain
plausible assumption about subset relations in restriction and in the use of
xsi:type to choose an alternate basic member of a union; without this
constraint those assumptions collapse like a dynamited smokestack.)  The note
in question was added as part of a fix for bug 2333, which in turn is connected
with bug 2044, about the loss of facet-based restrictions in unions.

On the truth of the note:  my understanding agrees with Dave Peterson's.  I'll
add only that trying to tighten up the formal definitions in Datatypes to clear
up questions like this one was one of our main goals in 1.1 work on Datatypes,
and I think that the spec is relatively explicit that lexical mappings are not
always functions (there is a reason they are not called lexical functions),
that construction by union results in a lexical mapping which is the set union
of the lexical mappings of the members, and that when the lexical mapping is
not a function, specifications (including both XSD and the QT specs) may
specify other means for choosing which member of the lexical mapping to use. 
(For elements and attributes with union types, XSD specifies an order of
preference matching the order in which members are listed in the {member type
definitions} facet; for elements, XSD allows the use of xsi:type to override
that default choice; QT provides a complicated set of promotion rules that
choose values when several are mapped to.)

-- 
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 Monday, 11 October 2010 15:51:32 UTC