- From: Michael Kay <mike@saxonica.com>
- Date: Tue, 24 Jun 2008 00:34:13 +0100
- To: "'Arshad Noor'" <arshad.noor@strongauth.com>, "'Koray SAKIROGLU'" <koray.sakiroglu@gmail.com>
- Cc: <xmlschema-dev@w3.org>
> > From what I understood you want something like this : > > > > > > <xsd:element name="elementA"> > > <xsd:complexType> > > <xsd:choice> > > > > <xsd:element name="elementB"> > > <xsd:complexType> > > <xsd:sequence> > > <xsd:element name="elementC" > type="xsd:string"/> > > <xsd:element name="elementD" > type="xsd:string"/> > > </xsd:sequence> > > </xsd:complexType> > > </xsd:element> > > > > <xsd:element ref="elementB" /> > > > > </xsd:choice> > > </xsd:complexType> You can't have two elementB particles in the same content model with different types. When the validator sees an element named elementB in the input, it has to be able to go to the schema and discover what its expected type is. In Schema 1.1 you can do this with assertions. Define a type with mixed content and two optional child elements, and then define an assertion to make the elements and the text mutually exclusive. But I still think it's not a very good document design. Michael Kay
Received on Monday, 23 June 2008 23:47:40 UTC