Name and Type OK (potential erratum?)

The constraint is quoted below.

- It's not mentioned what's B and what's R. The first sentence should be
modified to something similar to "For an element declaration particle R to
be a valid restriction of another element declaration particle R all of the
following must be true:".
- Since B and R are particles, bullets 2 and 7 are not correct in saying
B's {nillable} or R's {type definition}. I think the first sentence can be
further modified to "For a particle R whose {term} is an element
declaration RE to be a valid restriction of another particle B whose {term}
is an element declaration BE all of the following must be true:", then use
RE and BE in the proper places.


Schema Component Constraint: Particle Restriction OK (Elt:Elt --
NameAndTypeOK)

For an element declaration particle to be a ·valid restriction· of another
element declaration particle all of the following must be true:
1 The declarations' {name}s and {target namespace}s are the same.
2 Either B's {nillable} is true or R's {nillable} is false.
3 R's occurrence range is a valid restriction of B's occurrence range as
defined by Occurrence Range OK (§3.9.6).
4 either B's declaration's {value constraint} is absent, or is not fixed,
or R's declaration's {value constraint} is fixed with the same value.
5 R's declaration's {identity-constraint definitions} is a subset of B's
declaration's {identity-constraint definitions}, if any.
6 R's declaration's {disallowed substitutions} is a superset of B's
declaration's {disallowed substitutions}.
7 R's {type definition} is validly derived given {extension, list, union}
from B's {type definition} as defined by Type Derivation OK (Complex)
(§3.4.6) or Type Derivation OK (Simple) (§3.14.6), as appropriate.
Note: The above constraint on {type definition} means that in deriving a
type by restriction, any contained type definitions must themselves be
explicitly derived by restriction from the corresponding type definitions
in the base definition, or be one of the member types of a corresponding
union.


Proposed text:

Schema Component Constraint: Particle Restriction OK (Elt:Elt --
NameAndTypeOK)

For a particle R whose {term} is an element declaration RE to be a valid
restriction of another particle B whose {term} is an element declaration BE
all of the following must be true:
1 RE and BE have the same {name}s and {target namespace}s.
2 Either BE's {nillable} is true or RE's {nillable} is false.
3 R's occurrence range is a valid restriction of B's occurrence range as
defined by Occurrence Range OK (§3.9.6).
4 Either BE's {value constraint} is absent, or is not fixed, or RE's {value
constraint} is fixed with the same value.
5 RE's {identity-constraint definitions} is a subset of BE's
{identity-constraint definitions}, if any.
6 RE's {disallowed substitutions} is a superset of BE's {disallowed
substitutions}.
7 RE's {type definition} is validly derived given {extension, list, union}
from BE's {type definition} as defined by Type Derivation OK (Complex)
(§3.4.6) or Type Derivation OK (Simple) (§3.14.6), as appropriate.
Note: The above constraint on {type definition} means that in deriving a
type by restriction, any contained type definitions must themselves be
explicitly derived by restriction from the corresponding type definitions
in the base definition, or be one of the member types of a corresponding
union.

Thanks,
Sandy Gao
Software Developer, IBM Canada
(1-905) 413-3255
sandygao@ca.ibm.com

Received on Friday, 6 June 2003 14:06:26 UTC