Mega Code Archive

 
Categories / XML Tutorial / XML Schema
 

Use xs

File: Data.xml <?xml version="1.0"?>  <library>    <book id="b0836217462" available="true">      <isbn>1111111111</isbn>      <title lang="en">Java</title>      <author id="CMS">        <name></name>        <born>2008-11-26</born>        <dead>2000-02-12</dead>      </author>      <character id="Snoopy">        <name>Snoopy</name>        <born>1950-10-04</born>        <qualification>not</qualification>      </character>    </book>  </library> File: Schema.xsd <?xml version="1.0"?>   <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">    <xs:element name="name" type="xs:token"/>    <xs:element name="qualification" type="xs:token"/>    <xs:element name="born" type="xs:date"/>    <xs:element name="dead" type="xs:date"/>    <xs:element name="isbn" type="xs:NMTOKEN"/>    <xs:attribute name="id" type="xs:ID"/>    <xs:attribute name="available" type="xs:boolean"/>    <xs:attribute name="lang" type="xs:language"/>    <xs:element name="title">      <xs:complexType>        <xs:simpleContent>          <xs:extension base="xs:token">            <xs:attribute ref="lang"/>          </xs:extension>        </xs:simpleContent>      </xs:complexType>    </xs:element>    <xs:element name="library">      <xs:complexType>        <xs:sequence>          <xs:element ref="book" maxOccurs="unbounded"/>        </xs:sequence>      </xs:complexType>    </xs:element>    <xs:element name="author">      <xs:complexType>        <xs:sequence>          <xs:element ref="name"/>          <xs:element ref="born"/>          <xs:element ref="dead" minOccurs="0"/>        </xs:sequence>        <xs:attribute ref="id"/>      </xs:complexType>    </xs:element>    <xs:element name="book">      <xs:complexType>        <xs:sequence>          <xs:element ref="isbn"/>          <xs:element ref="title"/>          <xs:element ref="author" minOccurs="0" maxOccurs="unbounded"/>           <xs:element ref="character" minOccurs="0"            maxOccurs="unbounded"/>        </xs:sequence>        <xs:attribute ref="id"/>        <xs:attribute ref="available"/>      </xs:complexType>    </xs:element>    <xs:element name="character">      <xs:complexType>        <xs:sequence>          <xs:element ref="name"/>          <xs:element ref="born"/>          <xs:element ref="qualification"/>        </xs:sequence>        <xs:attribute ref="id"/>      </xs:complexType>    </xs:element>  </xs:schema>