File: Data.xml
<?xml version="1.0"?>
<INVENTORY>
<BOOK InStock="true">
<TITLE>title 1</TITLE>
<AUTHOR Born="1835">
<FIRSTNAME>Mark</FIRSTNAME>
<LASTNAME>Twain</LASTNAME>
</AUTHOR>
<BINDING>hardcover</BINDING>
<PAGES FrontMatter="8">298</PAGES>
<PRICE>5.49</PRICE>
<DATE>2000-03</DATE>
<ISBN>9-9999-9999-9</ISBN>
</BOOK>
</INVENTORY>
File: Schema.xsd
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="INVENTORY">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="BOOK" type="BookType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="BookType">
<xsd:sequence>
<xsd:element name="TITLE">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:element name="SUBTITLE" type="xsd:string"
minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="AUTHOR">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FIRSTNAME" type="xsd:string"/>
<xsd:element name="LASTNAME" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="Born" type="xsd:gYear"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="BINDING">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="hardcover"/>
<xsd:enumeration value="mass market paperback"/>
<xsd:enumeration value="trade paperback"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="PAGES">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:positiveInteger">
<xsd:attribute name="FrontMatter"
type="xsd:positiveInteger"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="PRICE">
<xsd:simpleType>
<xsd:restriction base="xsd:decimal">
<xsd:minExclusive value="0"/>
<xsd:maxExclusive value="100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="DATE" type="xsd:gYearMonth" minOccurs="0"/>
<xsd:element name="ISBN">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{1}-\d{4}-\d{4}-\d{1}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="InStock" type="xsd:boolean" use="required" />
</xsd:complexType>
</xsd:schema>
|