Basing Complex Types on Complex Types : complexContent « XML Schema « XML Tutorial






Declaring an Element of Complex Type

File: Schema.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  targetNamespace="http://www.java2s.com" xmlns="http://www.java2s.com"
  elementFormDefault="qualified">

  <xsd:complexType name="characteristicsType">
    <xsd:sequence>
      <xsd:element name="weight" type="xsd:string" />
      <xsd:element name="length" type="xsd:string" />
    </xsd:sequence>
      <xsd:attribute name="kind" type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="birthType">
    <xsd:complexContent>
      <xsd:extension base="characteristicsType">
        <xsd:sequence>
          <xsd:element name="mother" type="xsd:string" />
          <xsd:element name="birthdate" type="xsd:date" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="birth_characteristics" type="birthType" />
</xsd:schema>
 

File: Data.xml

<?xml version="1.0"?>
<birth_characteristics xmlns="http://www.java2s.com" kind="normal">
  <weight>2-3 pounds</weight>
  <length>18-24 inches</length>
  <mother>Abcde</mother>
  <birthdate>1999-06-10</birthdate>
</birth_characteristics>








3.55.complexContent
3.55.1.Defining Empty Elements
3.55.2.Basing Complex Types on Complex Types
3.55.3.Derived by Restriction