Require Both Elements or None : Sequence « XML Schema « XML Tutorial






File: Schema.xsd

<?xml version = "1.0" ?>
<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
   
    <xs:element name="Book">
       <xs:complexType>
          <xs:sequence minOccurs = "0" maxOccurs = "1">
                <xs:element name="Title" type="xs:string" />
                <xs:element name="Author" type="xs:string"  />
          </xs:sequence>
       </xs:complexType>
    </xs:element>
   
</xs:schema>

So the following two examples would be allowed:

<Book></Book>
<Book>
   <Title>XML</Title>
   <Author>author</Author>
</Book>

But the third is invalid because it only contains one of the child elements:
<Book>
   <Title>Professional XML Schema</Title>
</Book>








3.57.Sequence
3.57.1. Declarations
3.57.2.Requiring Elements to Appear in Sequence
3.57.3.The minOccurs and maxOccurs attributes can be used with compositors
3.57.4.The sequence compositor allows you to require a sequence for child elements in a content model
3.57.5.Fixed Order: All Elements Required
3.57.6.Fixed Order Optional Elements
3.57.7.Requiring Repeating Sequences of Elements
3.57.8.Require Both Elements or None
3.57.9.Requiring Elements in a Mixed Model