1<!-- 2 3Copyright (c) 2001-2004 World Wide Web Consortium, 4(Massachusetts Institute of Technology, Institut National de 5Recherche en Informatique et en Automatique, Keio University). All 6Rights Reserved. This program is distributed under the W3C's Software 7Intellectual Property License. This program is distributed in the 8hope that it will be useful, but WITHOUT ANY WARRANTY; without even 9the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 10PURPOSE. 11 12See W3C License http://www.w3.org/Consortium/Legal/ for more details. 13 14--> 15 16 17<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 18 targetNamespace="http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization" 19 xmlns="http://www.w3.org/2001/DOM-Test-Suite/Level-3/datatype_normalization"> 20 21 <xsd:element name="data"> 22 <xsd:complexType> 23 <xsd:choice minOccurs="0" maxOccurs="unbounded"> 24 <xsd:element ref="double"/> 25 <xsd:element ref="boolean"/> 26 <xsd:element ref="decimal"/> 27 <xsd:element ref="float"/> 28 <xsd:element ref="dateTime"/> 29 <xsd:element ref="time"/> 30 </xsd:choice> 31 </xsd:complexType> 32 </xsd:element> 33 34 <xsd:simpleType name="myDouble"> 35 <xsd:restriction base="xsd:double"/> 36 </xsd:simpleType> 37 38 <xsd:simpleType name="myDoubleList"> 39 <xsd:list itemType="myDouble"/> 40 </xsd:simpleType> 41 42 <xsd:simpleType name="myDoubleUnion"> 43 <xsd:union memberTypes="myDouble xsd:anyURI"/> 44 </xsd:simpleType> 45 46 <xsd:element name="double"> 47 <xsd:complexType> 48 <xsd:simpleContent> 49 <xsd:extension base="myDoubleList"> 50 <xsd:attribute name="value" type="myDouble" use="required"/> 51 <xsd:attribute name="union" type="myDoubleUnion" use="required"/> 52 <xsd:attribute name="default" type="myDouble" 53 default="+0003.141592600E+0000" use="optional"/> 54 </xsd:extension> 55 </xsd:simpleContent> 56 </xsd:complexType> 57 </xsd:element> 58 59 60 <xsd:simpleType name="myBoolean"> 61 <xsd:restriction base="xsd:boolean"/> 62 </xsd:simpleType> 63 64 <xsd:simpleType name="myBooleanList"> 65 <xsd:list itemType="myBoolean"/> 66 </xsd:simpleType> 67 68 <xsd:simpleType name="myBooleanUnion"> 69 <xsd:union memberTypes="myBoolean xsd:anyURI"/> 70 </xsd:simpleType> 71 72 <xsd:element name="boolean"> 73 <xsd:complexType> 74 <xsd:simpleContent> 75 <xsd:extension base="myBooleanList"> 76 <xsd:attribute name="value" type="myBoolean" use="required"/> 77 <xsd:attribute name="union" type="myDoubleUnion" use="required"/> 78 <xsd:attribute name="default" type="myBoolean" 79 default="1" use="optional"/> 80 </xsd:extension> 81 </xsd:simpleContent> 82 </xsd:complexType> 83 </xsd:element> 84 85 86 <xsd:simpleType name="myDecimal"> 87 <xsd:restriction base="xsd:decimal"/> 88 </xsd:simpleType> 89 90 <xsd:simpleType name="myDecimalList"> 91 <xsd:list itemType="myDecimal"/> 92 </xsd:simpleType> 93 94 <xsd:simpleType name="myDecimalUnion"> 95 <xsd:union memberTypes="myDecimal xsd:anyURI"/> 96 </xsd:simpleType> 97 98 <xsd:element name="decimal"> 99 <xsd:complexType> 100 <xsd:simpleContent> 101 <xsd:extension base="myDecimalList"> 102 <xsd:attribute name="value" type="myDecimal" use="required"/> 103 <xsd:attribute name="union" type="myDecimalUnion" use="required"/> 104 <xsd:attribute name="default" type="myDecimal" 105 default="+0003.141592600" use="optional"/> 106 </xsd:extension> 107 </xsd:simpleContent> 108 </xsd:complexType> 109 </xsd:element> 110 111 <xsd:simpleType name="myFloat"> 112 <xsd:restriction base="xsd:float"/> 113 </xsd:simpleType> 114 115 <xsd:simpleType name="myFloatList"> 116 <xsd:list itemType="myFloat"/> 117 </xsd:simpleType> 118 119 <xsd:simpleType name="myFloatUnion"> 120 <xsd:union memberTypes="myFloat xsd:anyURI"/> 121 </xsd:simpleType> 122 123 <xsd:element name="float"> 124 <xsd:complexType> 125 <xsd:simpleContent> 126 <xsd:extension base="myFloatList"> 127 <xsd:attribute name="value" type="myFloat" use="required"/> 128 <xsd:attribute name="union" type="myFloatUnion" use="required"/> 129 <xsd:attribute name="default" type="myDouble" 130 default="+0003.141592600E+0000" use="optional"/> 131 </xsd:extension> 132 </xsd:simpleContent> 133 </xsd:complexType> 134 </xsd:element> 135 136 137 <xsd:simpleType name="myDateTime"> 138 <xsd:restriction base="xsd:dateTime"/> 139 </xsd:simpleType> 140 141 <xsd:simpleType name="myDateTimeList"> 142 <xsd:list itemType="myDateTime"/> 143 </xsd:simpleType> 144 145 <xsd:simpleType name="myDateTimeUnion"> 146 <xsd:union memberTypes="myDateTime xsd:anyURI"/> 147 </xsd:simpleType> 148 149 <xsd:element name="dateTime"> 150 <xsd:complexType> 151 <xsd:simpleContent> 152 <xsd:extension base="myDateTimeList"> 153 <xsd:attribute name="value" type="myDateTime" use="required"/> 154 <xsd:attribute name="union" type="myDateTimeUnion" use="required"/> 155 <xsd:attribute name="default" type="myDateTime" 156 default="2004-01-21T15:30:00-05:00" use="optional"/> 157 </xsd:extension> 158 </xsd:simpleContent> 159 </xsd:complexType> 160 </xsd:element> 161 162 163 <xsd:simpleType name="myTime"> 164 <xsd:restriction base="xsd:time"/> 165 </xsd:simpleType> 166 167 <xsd:simpleType name="myTimeList"> 168 <xsd:list itemType="myTime"/> 169 </xsd:simpleType> 170 171 <xsd:simpleType name="myTimeUnion"> 172 <xsd:union memberTypes="myTime xsd:anyURI"/> 173 </xsd:simpleType> 174 175 <xsd:element name="time"> 176 <xsd:complexType> 177 <xsd:simpleContent> 178 <xsd:extension base="myTimeList"> 179 <xsd:attribute name="value" type="myTime" use="required"/> 180 <xsd:attribute name="union" type="myTimeUnion" use="required"/> 181 <xsd:attribute name="default" type="myTime" 182 default="15:30:00-05:00" use="optional"/> 183 </xsd:extension> 184 </xsd:simpleContent> 185 </xsd:complexType> 186 </xsd:element> 187 188 189 <xsd:simpleType name="myUnion"> 190 <xsd:union memberTypes="xsd:integer xsd:string"/> 191 </xsd:simpleType> 192 193 <xsd:simpleType name="myUnionList"> 194 <xsd:list itemType="myUnion"/> 195 </xsd:simpleType> 196 197 <xsd:simpleType name="myUnionUnion"> 198 <xsd:union memberTypes="myUnion xsd:anyURI"/> 199 </xsd:simpleType> 200 201 <xsd:element name="union"> 202 <xsd:complexType> 203 <xsd:simpleContent> 204 <xsd:extension base="myUnionList"> 205 <xsd:attribute name="value" type="myUnion" use="required"/> 206 <xsd:attribute name="union" type="myUnionUnion" use="required"/> 207 </xsd:extension> 208 </xsd:simpleContent> 209 </xsd:complexType> 210 </xsd:element> 211 212</xsd:schema> 213