- From: Arshad Noor <arshad.noor@strongauth.com>
- Date: Mon, 23 Jun 2008 17:13:24 -0700
- To: Michael Kay <mike@saxonica.com>
- CC: 'Koray SAKIROGLU' <koray.sakiroglu@gmail.com>, xmlschema-dev@w3.org
Appreciate the feedback, Michael. I have chosen to use an attribute with an empty elementB, rather than have two types with the same name. I was not clear if XML Schema could do what I was attempting and thought I'd find out first before making a decision. Thanks. Arshad Noor StrongAuth, Inc. Michael Kay wrote: >>> 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 Tuesday, 24 June 2008 00:14:10 UTC