Annotation of embedaddon/libxml2/test/schemas/vdv-first4_0.xsd, revision 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>