1<?xml version="1.0" encoding="UTF-8"?> 2<!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/first-user-dt.xsd,v 1.1 2001/11/01 12:27:47 vdv Exp $ --> 3<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 4 5 <xs:simpleType name="string255"> 6 <xs:restriction base="xs:token"> 7 <xs:maxLength value="255"/> 8 </xs:restriction> 9 </xs:simpleType> 10 <xs:simpleType name="string32"> 11 <xs:restriction base="xs:token"> 12 <xs:maxLength value="32"/> 13 </xs:restriction> 14 </xs:simpleType> 15 <xs:simpleType name="isbn"> 16 <xs:restriction base="xs:unsignedLong"> 17 <xs:totalDigits value="10"/> 18 </xs:restriction> 19 </xs:simpleType> 20 <xs:simpleType name="supportedLanguages"> 21 <xs:restriction base="xs:language"> 22 <xs:enumeration value="en"/> 23 <xs:enumeration value="es"/> 24 </xs:restriction> 25 </xs:simpleType> 26 <xs:element name="name" type="string32"/> 27 <xs:element name="qualification" type="string255"/> 28 <xs:element name="born" type="xs:date"/> 29 <xs:element name="dead" type="xs:date"/> 30 <xs:element name="isbn" type="isbn"/> 31 32 <xs:attribute name="id" type="xs:ID"/> 33 <xs:attribute name="available" type="xs:boolean"/> 34 <xs:attribute name="lang" type="supportedLanguages"/> 35 36 <xs:element name="title"> 37 <xs:complexType> 38 <xs:simpleContent> 39 <xs:extension base="string255"> 40 <xs:attribute ref="lang"/> 41 </xs:extension> 42 </xs:simpleContent> 43 </xs:complexType> 44 </xs:element> 45 46 <xs:element name="library"> 47 <xs:complexType> 48 <xs:sequence> 49 <xs:element ref="book" maxOccurs="unbounded"/> 50 </xs:sequence> 51 </xs:complexType> 52 </xs:element> 53 54 <xs:element name="author"> 55 <xs:complexType> 56 <xs:sequence> 57 <xs:element ref="name"/> 58 <xs:element ref="born"/> 59 <xs:element ref="dead" minOccurs="0"/> 60 </xs:sequence> 61 <xs:attribute ref="id"/> 62 </xs:complexType> 63 </xs:element> 64 65 <xs:element name="book"> 66 <xs:complexType> 67 <xs:sequence> 68 <xs:element ref="isbn"/> 69 <xs:element ref="title"/> 70 <xs:element ref="author" minOccurs="0" maxOccurs="unbounded"/> 71 <xs:element ref="character" minOccurs="0" maxOccurs="unbounded"/> 72 </xs:sequence> 73 <xs:attribute ref="id"/> 74 <xs:attribute ref="available"/> 75 </xs:complexType> 76 </xs:element> 77 78 <xs:element name="character"> 79 <xs:complexType> 80 <xs:sequence> 81 <xs:element ref="name"/> 82 <xs:element ref="born"/> 83 <xs:element ref="qualification"/> 84 </xs:sequence> 85 <xs:attribute ref="id"/> 86 </xs:complexType> 87 </xs:element> 88 89</xs:schema> 90