[Home] [By Thread] [By Date] [Recent Entries]
That's what I was afraid of. This seems like an overly restrictive constraint. The <all> group would be perfect for modelling fields of objects, but if you can't use it with inheritance, then it becomes useless for this purpose. Given this, any recommendations on how to model objects that use inheritance? I don't want to use <sequence>, because that imposes an artificial ordering on the fields of the object that make marshalling and unmarshalling the objects to and from XML more difficult. Is there an equivalent to the (a | b | c)* content group in XML Schema? Thanks Jim Williams > I don't believe this is valid according to the restriction imposed on the > <xsd:all> group. I haven't found the relevant sections in the Structure > spec [1] but the Primer says [2]: > > "When a complex type is derived by extension, its effective content model > is the content model of the base type plus the content model specified in > the type derivation. Furthermore, the two content models are treated as > two children of a sequential group." > > This means that the above derivation can be written as a single content > model: > > <complexType name="parentType"> > <sequence> > <all> > <element name="x" type="string"/> > <element name="y" type="string"/> > </all> > <all> > <element name="z" type="string"/> > </all> > </sequence> > </complexType> > > According to the constraints imposed on the all group (must be the sole > child at the top of a content model) this is illegal and that would mean > that the all group cannot be used in a type derivation by extension. > > Cheers, > /Eddie > > [1] http://www.w3.org/TR/xmlschema-1 > [2] http://www.w3.org/TR/xmlschema-0/#DerivExt >
|

Cart



