Annotation of embedaddon/libxml2/test/schemas/vdv-first4_0.xsd, revision 1.1.1.1

1.1       misho       1: <?xml version="1.0" encoding="UTF-8"?>
                      2: <!-- $Header: /home/cvsroot/w3c-xml-schema/user/examples/first-complex-types.xsd,v 1.1 2001/11/12 20:54:00 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: 
                     11:   <xs:simpleType name="string32">
                     12:     <xs:restriction base="xs:token">
                     13:       <xs:maxLength value="32"/>
                     14:     </xs:restriction>
                     15:   </xs:simpleType>
                     16: 
                     17:   <xs:simpleType name="isbn">
                     18:     <xs:restriction base="xs:unsignedLong">
                     19:       <xs:totalDigits value="10"/>
                     20:       <xs:pattern value="\d{10}"/>
                     21:     </xs:restriction>
                     22:   </xs:simpleType>
                     23: 
                     24:   <xs:simpleType name="bookID">
                     25:     <xs:restriction base="xs:ID">
                     26:       <xs:pattern value="b\d{10}"/>
                     27:     </xs:restriction>
                     28:   </xs:simpleType>
                     29: 
                     30:   <xs:simpleType name="supportedLanguages">
                     31:     <xs:restriction base="xs:language">
                     32:       <xs:enumeration value="en"/>
                     33:       <xs:enumeration value="es"/>
                     34:     </xs:restriction>
                     35:   </xs:simpleType>
                     36: 
                     37:   <xs:simpleType name="date">
                     38:     <xs:restriction base="xs:date">
                     39:       <xs:pattern value="[^:Z]*"/>
                     40:     </xs:restriction>
                     41:   </xs:simpleType>
                     42: 
                     43:   <xs:element name="name" type="string32"/>
                     44:   <xs:element name="qualification" type="string255"/>
                     45:   <xs:element name="born" type="date"/>
                     46:   <xs:element name="dead" type="date"/>
                     47:   <xs:element name="isbn" type="isbn"/>
                     48:   
                     49:   <xs:attribute name="id" type="xs:ID"/>
                     50:   <xs:attribute name="available" type="xs:boolean"/>
                     51:   <xs:attribute name="lang" type="supportedLanguages"/>
                     52: 
                     53:   <xs:complexType name="elementWithID">
                     54:     <xs:attribute ref="id"/>
                     55:   </xs:complexType>
                     56: 
                     57:   <xs:complexType name="bookTmp">
                     58:     <xs:complexContent>
                     59:       <xs:extension base="elementWithID">
                     60:         <xs:sequence>
                     61:           <xs:element ref="isbn"/>
                     62:           <xs:element ref="title"/>
                     63:           <xs:element ref="author" minOccurs="0" maxOccurs="unbounded"/>
                     64:           <xs:element ref="character" minOccurs="0" maxOccurs="unbounded"/>
                     65:         </xs:sequence>
                     66:         <xs:attribute ref="available"/>
                     67:       </xs:extension>
                     68:     </xs:complexContent>
                     69:   </xs:complexType>
                     70:   
                     71:   <xs:complexType name="personType">
                     72:     <xs:complexContent>
                     73:       <xs:extension base="elementWithID">
                     74:         <xs:sequence>
                     75:           <xs:element ref="name"/>
                     76:           <xs:element ref="born"/>
                     77:           <xs:element ref="dead" minOccurs="0"/>
                     78:           <xs:element ref="qualification"  minOccurs="0"/>
                     79:         </xs:sequence>
                     80:       </xs:extension>
                     81:     </xs:complexContent>
                     82:   </xs:complexType>
                     83:     
                     84:   <xs:element name="title">
                     85:     <xs:complexType>
                     86:       <xs:simpleContent>
                     87:         <xs:extension base="string255">
                     88:           <xs:attribute ref="lang"/>
                     89:         </xs:extension>
                     90:       </xs:simpleContent>
                     91:     </xs:complexType>
                     92:   </xs:element>
                     93:   
                     94:   <xs:element name="library">
                     95:     <xs:complexType>
                     96:       <xs:sequence>
                     97:         <xs:element ref="book" maxOccurs="unbounded"/>
                     98:       </xs:sequence>
                     99:     </xs:complexType>
                    100:   </xs:element>
                    101:   
                    102:   <xs:element name="book">
                    103:     <xs:complexType>
                    104:       <xs:complexContent>
                    105:         <xs:restriction base="bookTmp">
                    106:           <xs:sequence>
                    107:             <xs:element ref="isbn"/>
                    108:             <xs:element ref="title"/>
                    109:             <xs:element ref="author" minOccurs="0" maxOccurs="unbounded"/>
                    110:             <xs:element ref="character" minOccurs="0" maxOccurs="unbounded"/>
                    111:           </xs:sequence>
                    112:           <xs:attribute name="id" type="bookID"/>
                    113:           <xs:attribute ref="available"/>
                    114:         </xs:restriction>
                    115:       </xs:complexContent>
                    116:     </xs:complexType>
                    117:   </xs:element>
                    118: 
                    119:   <xs:element name="author">
                    120:     <xs:complexType>
                    121:       <xs:complexContent>
                    122:         <xs:restriction base="personType">
                    123:           <xs:sequence>
                    124:             <xs:element ref="name"/>
                    125:             <xs:element ref="born"/>
                    126:             <xs:element ref="dead" minOccurs="0"/>
                    127:           </xs:sequence>
                    128:           <xs:attribute ref="id"/>
                    129:         </xs:restriction>
                    130:       </xs:complexContent>
                    131:     </xs:complexType>
                    132:   </xs:element>
                    133:   
                    134:   
                    135:   <xs:element name="character">
                    136:     <xs:complexType>
                    137:       <xs:complexContent>
                    138:         <xs:restriction base="personType">
                    139:           <xs:sequence>
                    140:             <xs:element ref="name"/>
                    141:             <xs:element ref="born"/>
                    142:             <xs:element ref="qualification"/>
                    143:           </xs:sequence>
                    144:           <xs:attribute ref="id"/>
                    145:         </xs:restriction>
                    146:       </xs:complexContent>
                    147:     </xs:complexType>
                    148:   </xs:element>
                    149:   
                    150: </xs:schema>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>