Clarify merge/union of facets

Definition of {facets} in 4.1.2.1 Derivation by restriction:

   {facets}  The union of the set of Facets (§2.4) components
         resolved to by the facet [children] merged with {facets}
         from {base type definition}, subject to the Facet
         Restriction Valid constraints specified in Facets (§2.4).

What is being "unioned" and how does "merge" work?  For example, if the 
base has a minLength facet with value 5 and the derived type has a 
minLength child facet of value 7, how many minLength facets are in the 
derived type's facets property?

The text above makes it sound like both are present, but constraints 
within the rec strongly imply there is only one facet for each facet 
name. (For instance, reference to "*the* minLength facet" for 
validation constraints).  Common sense suggests the last facet of a 
given name wins, but it's hard to get that from "union" and "merge".

Related member-only thread: Facet equality: questions/issues
http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2004Mar/0187.html

xan

Received on Thursday, 1 April 2004 09:22:23 UTC