Complex type for element with child elements and attribute : complexType « XML Schema « XML Tutorial






File: Data.xml
<?xml version="1.0"?>
<BOOK InStock="true">
   <TITLE>title 1</TITLE>
   <AUTHOR>author 1</AUTHOR>
   <BINDING>trade paperback</BINDING>
   <PAGES>473</PAGES>
   <PRICE>10.95</PRICE>
</BOOK>

File: Schema.xsd


<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <xsd:element name="BOOK">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element name="TITLE" type="xsd:string"/>
            <xsd:element name="AUTHOR" type="xsd:string"/>
            <xsd:element name="BINDING" type="xsd:string"/>
            <xsd:element name="PAGES" type="xsd:positiveInteger"/>
            <xsd:element name="PRICE" type="xsd:decimal"/>
         </xsd:sequence>
         <xsd:attribute name="InStock" type="xsd:boolean" 
            use="required"/>
      </xsd:complexType>
   </xsd:element>
</xsd:schema>


If an element does not contain any character data, its considered empty. 


<xsd:element name="mark">
  <xsd:complexType/>
</xsd:element>








3.56.complexType
3.56.1.Defining Complex Types
3.56.2.To declare an empty content model in a definition
3.56.3.Content Models
3.56.4.Complex type with sequence
3.56.5.Defining Elements to Contain Only Elements
3.56.6.Defining Elements with Mixed Content
3.56.7.Build complexType with complexType
3.56.8.Complex type for element with child elements and attribute
3.56.9.When an element contains both child elements and character data, it follows the mixed content model