Re: Choice of sub-element or character-data in an element

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