value of pattern facet

How are multiple pattern facet children represented in the schema 
component infoset?  The pattern facet schema component has a value 
which is a regular expression.  So presumably, that value is the 
disjunction of all patterns among the children.  Is that so?  How is 
the disjunction written? "p1|p2|p3", for instance?

What about pattern facets at different levels in the derivation?  The 
rec says they are effectively ANDed together, but how is that 
represented in the schema infoset, as there is no conjunction operator 
in the regex language?  Is the schema processor to figure out the 
conjunction?  Or do the base and derived patterns stay separate, with 
the processor required to walk the base chain for the ANDing?  Or are 
there multiple pattern facets in the component model?  I'm guessing the 
patterns at different derivation steps stay separate, but it's only a 
guess.

Relevant part of rec (part 2):

   Schema Representation Constraint: Multiple patterns

   If multiple <pattern> element information items appear as [children]
   of a <simpleType>, the [value]s should be combined as if they appeared
   in a single ·regular expression· as separate ·branch·es.
    Note:  It is a consequence of the schema representation constraint
   Multiple patterns (§4.3.4.3) and of the rules for ·restriction· that
   ·pattern· facets specified on the same step in a type derivation are
   ORed together, while ·pattern· facets specified on different steps of
   a type derivation are ANDed together.

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:27:07 UTC