[Bug 2196] R-204: ComplexType mapping rule issue: min=max=0

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





------- Comment #1 from cmsmcq@w3.org  2006-09-19 19:58 -------
There does seem to be a discrepancy between the two locations.

But instead of making 2.1.1 more complicated, I think it would
be simpler to address the case where the outermost group
has min=max=0 with a separate clause (a new 2.1.4, that is), 
so that the beginning of 2.1 reads:

  2.1 If  one of the following is true

    2.1.1 There is no <group>, <all>, <choice> or <sequence> among the
          [children];

    2.1.2 There is an <all> or <sequence> among the [children] with no
          [children] of its own excluding <annotation>;

    2.1.3 There is a <choice> among the [children] with no [children]
          of its own excluding <annotation> whose minOccurs
          [attribute] has the ·actual value· 0;

    2.1.4 The only <group>, <all>, <choice> or <sequence> among the
          [children] has a maxOccurs [attribute] with an actual value
          of 0;

  , then the appropriate case among the following:  ...

(I entertained an alternative analysis, that this case was 
correctly excluded, so as to create an unsatisfiable particle,
but min=0 is never unsatisfiable, and min=max=0 is 
satisfied by the empty sequence, no matter what the min and
max are on.  So the particle created in the status quo accepts
the empty sequence, and only the empty sequence.  We might
as well make it use the keyword.)

Received on Tuesday, 19 September 2006 19:58:39 UTC