- From: <noah_mendelsohn@us.ibm.com>
- Date: Fri, 4 Jan 2002 14:39:06 -0500
- To: Kevin Burges <xmldude@burieddreams.com>
- Cc: xmlschema-dev@w3.org
Kevin Burges asks whether:
>> "having an <xs:all> group in a base type and extending
>> it with a second <xs:all> group in a derived type is perhaps
>> illegal?
Yup, illegal. The general rule is that extension is defined as creating a
sequence, and you can't have sequences of <all>. Extension of <all> is a
known possible future function. The incomprehensible fine print is at [1]
where it says:
"Schema Component Constraint: Particle Valid (Extension)
[Definition:] For a particle (call it E, for extension) to be a valid
extension of another particle (call it B, for base) one of the following
must be true:
1 They are the same particle.
2 E's {min occurs}={max occurs}=1 and its {term} is a sequence group whose
{particles}' first member is a particle all of whose properties,
recursively, are identical to those of B, with the exception of
{annotation} properties."
Where it says "...is a sequence group.." is where you get in trouble. You
have an "all" group.
[1] http://www.w3.org/TR/xmlschema-1/#cos-particle-extend
------------------------------------------------------------------------
Noah Mendelsohn Voice: 1-617-693-4036
Lotus Development Corp. Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------------
Received on Friday, 4 January 2002 14:51:16 UTC