Annotation of embedaddon/libxml2/test/schemas/bug306806_1.xsd, revision 1.1.1.1
1.1 misho 1: <?xml version="1.0" encoding="UTF-8"?>
2: <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
3: <xs:element name="targetGeometry">
4: <xs:complexType>
5: <xs:group minOccurs="0" maxOccurs="unbounded" ref="geometry-element"/>
6: </xs:complexType>
7: </xs:element>
8: <xs:element name="geometryGroup" type="geometryGroup-content"/>
9: <xs:complexType name="geometryGroup-content">
10: <xs:group maxOccurs="unbounded" ref="geometry-element"/>
11: <xs:attribute name="name" use="required" type="xs:token"/>
12: </xs:complexType>
13: <xs:group name="geometry-element">
14: <xs:sequence>
15: <xs:choice minOccurs="0" maxOccurs="unbounded">
16: <xs:element ref="component"/>
17: <xs:element ref="geometryGroup"/>
18: </xs:choice>
19: </xs:sequence>
20: </xs:group>
21: <xs:element name="component">
22: <xs:complexType>
23: <xs:sequence>
24: <xs:element minOccurs="0" ref="description"/>
25: <xs:choice minOccurs="0" maxOccurs="unbounded">
26: <xs:element ref="cylinder"/>
27: <xs:element ref="ellipsoid"/>
28: <xs:element ref="faceSet"/>
29: <xs:element ref="tube"/>
30: <xs:element ref="sphere"/>
31: <xs:element ref="box"/>
32: <xs:element ref="extrusion"/>
33: </xs:choice>
34: </xs:sequence>
35: <xs:attributeGroup ref="name-attribute"/>
36: </xs:complexType>
37: </xs:element>
38: <xs:element name="translation">
39: <xs:complexType>
40: <xs:simpleContent>
41: <xs:extension base="three-doubles-list">
42: <xs:attributeGroup ref="dimension-attribute"/>
43: <xs:attributeGroup ref="Length-attribute"/>
44: </xs:extension>
45: </xs:simpleContent>
46: </xs:complexType>
47: </xs:element>
48: <xs:element name="rotation">
49: <xs:complexType>
50: <xs:simpleContent>
51: <xs:extension base="three-doubles-list">
52: <xs:attributeGroup ref="dimension-attribute"/>
53: <xs:attributeGroup ref="Length-attribute"/>
54: </xs:extension>
55: </xs:simpleContent>
56: </xs:complexType>
57: </xs:element>
58: <xs:element name="about">
59: <xs:complexType>
60: <xs:simpleContent>
61: <xs:extension base="three-doubles-list">
62: <xs:attributeGroup ref="dimension-attribute"/>
63: <xs:attributeGroup ref="Length-attribute"/>
64: </xs:extension>
65: </xs:simpleContent>
66: </xs:complexType>
67: </xs:element>
68: <xs:element name="length">
69: <xs:complexType>
70: <xs:simpleContent>
71: <xs:restriction base="xs:anyType">
72: <xs:simpleType>
73: <xs:restriction base="xs:double">
74: <xs:minExclusive value="0"/>
75: </xs:restriction>
76: </xs:simpleType>
77: <xs:attributeGroup ref="dimension-attribute"/>
78: <xs:attributeGroup ref="Length-attribute"/>
79: </xs:restriction>
80: </xs:simpleContent>
81: </xs:complexType>
82: </xs:element>
83: <xs:element name="radius">
84: <xs:complexType>
85: <xs:simpleContent>
86: <xs:restriction base="xs:anyType">
87: <xs:simpleType>
88: <xs:restriction base="xs:double">
89: <xs:minExclusive value="0"/>
90: </xs:restriction>
91: </xs:simpleType>
92: <xs:attributeGroup ref="dimension-attribute"/>
93: <xs:attributeGroup ref="Length-attribute"/>
94: </xs:restriction>
95: </xs:simpleContent>
96: </xs:complexType>
97: </xs:element>
98: <xs:element name="base1">
99: <xs:complexType>
100: <xs:simpleContent>
101: <xs:extension base="three-doubles-list">
102: <xs:attributeGroup ref="dimension-attribute"/>
103: <xs:attributeGroup ref="Length-attribute"/>
104: </xs:extension>
105: </xs:simpleContent>
106: </xs:complexType>
107: </xs:element>
108: <xs:element name="base2">
109: <xs:complexType>
110: <xs:simpleContent>
111: <xs:extension base="three-doubles-list">
112: <xs:attributeGroup ref="dimension-attribute"/>
113: <xs:attributeGroup ref="Length-attribute"/>
114: </xs:extension>
115: </xs:simpleContent>
116: </xs:complexType>
117: </xs:element>
118: <xs:element name="transform">
119: <xs:complexType>
120: <xs:sequence>
121: <xs:element minOccurs="0" ref="translation"/>
122: <xs:element minOccurs="0" ref="rotation"/>
123: <xs:element minOccurs="0" ref="about"/>
124: </xs:sequence>
125: </xs:complexType>
126: </xs:element>
127: <xs:element name="cyl-transform">
128: <xs:complexType>
129: <xs:sequence>
130: <xs:element ref="translation"/>
131: <xs:element minOccurs="0" ref="rotation"/>
132: <xs:element minOccurs="0" ref="about"/>
133: </xs:sequence>
134: </xs:complexType>
135: </xs:element>
136: <xs:element name="cylinder">
137: <xs:complexType>
138: <xs:choice minOccurs="0" maxOccurs="unbounded">
139: <xs:element ref="radius"/>
140: <xs:choice>
141: <xs:choice>
142: <xs:element ref="length"/>
143: <xs:element ref="cyl-transform"/>
144: </xs:choice>
145: <xs:choice>
146: <xs:element ref="base1"/>
147: <xs:element ref="base2"/>
148: <xs:element minOccurs="0" maxOccurs="unbounded" ref="transform"/>
149: </xs:choice>
150: </xs:choice>
151: <xs:element ref="description"/>
152: <xs:element ref="vMaterial"/>
153: </xs:choice>
154: <xs:attributeGroup ref="name-attribute"/>
155: </xs:complexType>
156: </xs:element>
157: <xs:element name="ellipsoid">
158: <xs:complexType>
159: <xs:choice minOccurs="0" maxOccurs="unbounded">
160: <xs:element name="radius">
161: <xs:complexType>
162: <xs:simpleContent>
163: <xs:extension base="three-doubles-list">
164: <xs:attributeGroup ref="length-attribute"/>
165: </xs:extension>
166: </xs:simpleContent>
167: </xs:complexType>
168: </xs:element>
169: <xs:element ref="vMaterial"/>
170: <xs:element ref="transform"/>
171: </xs:choice>
172: <xs:attributeGroup ref="name-attribute"/>
173: </xs:complexType>
174: </xs:element>
175: <xs:element name="faceSet">
176: <xs:complexType>
177: <xs:choice minOccurs="0" maxOccurs="unbounded">
178: <xs:element ref="description"/>
179: <xs:element ref="vertex_normals"/>
180: <xs:element ref="vertices"/>
181: <xs:element ref="facets"/>
182: <xs:group ref="optional-content"/>
183: </xs:choice>
184: <xs:attribute name="name" type="xs:token"/>
185: </xs:complexType>
186: </xs:element>
187: <xs:element name="facets" type="facets-content"/>
188: <xs:simpleType name="facets-content">
189: <xs:restriction base="integer-list"/>
190: </xs:simpleType>
191: <xs:element name="vertex_normals" type="vertex_normals-content"/>
192: <xs:complexType name="vertex_normals-content">
193: <xs:simpleContent>
194: <xs:restriction base="xs:anyType">
195: <xs:simpleType>
196: <xs:restriction>
197: <xs:simpleType>
198: <xs:list>
199: <xs:simpleType>
200: <xs:union>
201: <xs:simpleType>
202: <xs:union memberTypes="xs:double xs:double xs:double"/>
203: </xs:simpleType>
204: <xs:simpleType>
205: <xs:union memberTypes="xs:double xs:double xs:double"/>
206: </xs:simpleType>
207: <xs:simpleType>
208: <xs:union memberTypes="xs:double xs:double xs:double"/>
209: </xs:simpleType>
210: <xs:simpleType>
211: <xs:union memberTypes="xs:double xs:double xs:double"/>
212: </xs:simpleType>
213: </xs:union>
214: </xs:simpleType>
215: </xs:list>
216: </xs:simpleType>
217: <xs:minLength value="9"/>
218: </xs:restriction>
219: </xs:simpleType>
220: <xs:attributeGroup ref="length-attribute"/>
221: </xs:restriction>
222: </xs:simpleContent>
223: </xs:complexType>
224: <xs:element name="vertices" type="vertices-content"/>
225: <xs:complexType name="vertices-content">
226: <xs:simpleContent>
227: <xs:restriction base="xs:anyType">
228: <xs:simpleType>
229: <xs:restriction>
230: <xs:simpleType>
231: <xs:list>
232: <xs:simpleType>
233: <xs:union>
234: <xs:simpleType>
235: <xs:union memberTypes="xs:double xs:double xs:double"/>
236: </xs:simpleType>
237: <xs:simpleType>
238: <xs:union memberTypes="xs:double xs:double xs:double"/>
239: </xs:simpleType>
240: <xs:simpleType>
241: <xs:union memberTypes="xs:double xs:double xs:double"/>
242: </xs:simpleType>
243: <xs:simpleType>
244: <xs:union memberTypes="xs:double xs:double xs:double"/>
245: </xs:simpleType>
246: </xs:union>
247: </xs:simpleType>
248: </xs:list>
249: </xs:simpleType>
250: <xs:minLength value="9"/>
251: </xs:restriction>
252: </xs:simpleType>
253: <xs:attributeGroup ref="length-attribute"/>
254: </xs:restriction>
255: </xs:simpleContent>
256: </xs:complexType>
257: <xs:element name="tube" type="tube-content"/>
258: <xs:complexType name="tube-content">
259: <xs:choice minOccurs="0" maxOccurs="unbounded">
260: <xs:element ref="spine"/>
261: <xs:element ref="radius"/>
262: <xs:group ref="optional-content"/>
263: </xs:choice>
264: <xs:attributeGroup ref="name-attribute"/>
265: </xs:complexType>
266: <xs:element name="spine" type="spine-content"/>
267: <xs:complexType name="spine-content">
268: <xs:simpleContent>
269: <xs:restriction base="xs:anyType">
270: <xs:simpleType>
271: <xs:restriction>
272: <xs:simpleType>
273: <xs:list>
274: <xs:simpleType>
275: <xs:union>
276: <xs:simpleType>
277: <xs:union memberTypes="xs:double xs:double xs:double"/>
278: </xs:simpleType>
279: <xs:simpleType>
280: <xs:union memberTypes="xs:double xs:double xs:double"/>
281: </xs:simpleType>
282: </xs:union>
283: </xs:simpleType>
284: </xs:list>
285: </xs:simpleType>
286: <xs:minLength value="6"/>
287: </xs:restriction>
288: </xs:simpleType>
289: <xs:attributeGroup ref="length-attribute"/>
290: </xs:restriction>
291: </xs:simpleContent>
292: </xs:complexType>
293: <xs:element name="sphere" type="sphere-content"/>
294: <xs:complexType name="sphere-content">
295: <xs:choice minOccurs="0" maxOccurs="unbounded">
296: <xs:element ref="radius"/>
297: <xs:element ref="position"/>
298: </xs:choice>
299: <xs:attributeGroup ref="name-attribute"/>
300: </xs:complexType>
301: <xs:element name="position" type="position-content"/>
302: <xs:complexType name="position-content">
303: <xs:simpleContent>
304: <xs:extension base="three-doubles-list">
305: <xs:attributeGroup ref="length-attribute"/>
306: </xs:extension>
307: </xs:simpleContent>
308: </xs:complexType>
309: <xs:element name="box" type="box-content"/>
310: <xs:complexType name="box-content">
311: <xs:choice minOccurs="0" maxOccurs="unbounded">
312: <xs:element ref="size"/>
313: <xs:choice>
314: <xs:element ref="position"/>
315: <xs:element ref="transform"/>
316: </xs:choice>
317: </xs:choice>
318: <xs:attributeGroup ref="name-attribute"/>
319: </xs:complexType>
320: <xs:element name="size" type="size-content"/>
321: <xs:complexType name="size-content">
322: <xs:simpleContent>
323: <xs:extension base="three-doubles-list">
324: <xs:attributeGroup ref="length-attribute"/>
325: </xs:extension>
326: </xs:simpleContent>
327: </xs:complexType>
328: <xs:element name="extrusion" type="extrusion-content"/>
329: <xs:complexType name="extrusion-content">
330: <xs:choice minOccurs="0" maxOccurs="unbounded">
331: <xs:element ref="spine"/>
332: <xs:element ref="scale"/>
333: <xs:element ref="crossSection"/>
334: <xs:group ref="optional-content"/>
335: </xs:choice>
336: <xs:attributeGroup ref="name-attribute"/>
337: </xs:complexType>
338: <xs:element name="scale" type="scale-content"/>
339: <xs:simpleType name="scale-content">
340: <xs:restriction>
341: <xs:simpleType>
342: <xs:list>
343: <xs:simpleType>
344: <xs:union memberTypes="xs:double xs:double"/>
345: </xs:simpleType>
346: </xs:list>
347: </xs:simpleType>
348: <xs:minLength value="2"/>
349: </xs:restriction>
350: </xs:simpleType>
351: <xs:element name="crossSection" type="crossSection-content"/>
352: <xs:complexType name="crossSection-content">
353: <xs:simpleContent>
354: <xs:restriction base="xs:anyType">
355: <xs:simpleType>
356: <xs:restriction>
357: <xs:simpleType>
358: <xs:list>
359: <xs:simpleType>
360: <xs:union>
361: <xs:simpleType>
362: <xs:union memberTypes="xs:double xs:double xs:double"/>
363: </xs:simpleType>
364: <xs:simpleType>
365: <xs:union memberTypes="xs:double xs:double xs:double"/>
366: </xs:simpleType>
367: <xs:simpleType>
368: <xs:union memberTypes="xs:double xs:double xs:double"/>
369: </xs:simpleType>
370: </xs:union>
371: </xs:simpleType>
372: </xs:list>
373: </xs:simpleType>
374: <xs:minLength value="9"/>
375: </xs:restriction>
376: </xs:simpleType>
377: <xs:attributeGroup ref="length-attribute"/>
378: <xs:attributeGroup ref="closed-attribute"/>
379: </xs:restriction>
380: </xs:simpleContent>
381: </xs:complexType>
382: <xs:attributeGroup name="closed-attribute">
383: <xs:attribute name="closed" use="required" type="xs:boolean"/>
384: </xs:attributeGroup>
385: <xs:group name="optional-content">
386: <xs:annotation>
387: <xs:documentation>global #############</xs:documentation>
388: </xs:annotation>
389: <xs:sequence>
390: <xs:choice minOccurs="0" maxOccurs="unbounded">
391: <xs:element ref="transform"/>
392: <xs:element ref="vMaterial"/>
393: </xs:choice>
394: </xs:sequence>
395: </xs:group>
396: <xs:element name="description" type="xs:string"/>
397: <xs:attributeGroup name="length-attribute">
398: <xs:attributeGroup ref="dimension-attribute"/>
399: <xs:attributeGroup ref="Length-attribute"/>
400: </xs:attributeGroup>
401: <xs:attributeGroup name="dimension-attribute">
402: <xs:attribute name="dimension" use="required">
403: <xs:simpleType>
404: <xs:restriction base="xs:token">
405: <xs:enumeration value="L"/>
406: <xs:enumeration value="F"/>
407: <xs:enumeration value="M"/>
408: <xs:enumeration value="T"/>
409: <xs:enumeration value="F/L"/>
410: <xs:enumeration value="F/LL"/>
411: <xs:enumeration value="F/LLL"/>
412: <xs:enumeration value="F/T"/>
413: <xs:enumeration value="F/TT"/>
414: <xs:enumeration value="F/TTT"/>
415: <xs:enumeration value="L/T"/>
416: <xs:enumeration value="L/TT"/>
417: <xs:enumeration value="LLLLL"/>
418: <xs:enumeration value="D/D"/>
419: </xs:restriction>
420: </xs:simpleType>
421: </xs:attribute>
422: </xs:attributeGroup>
423: <xs:attributeGroup name="Length-attribute">
424: <xs:attribute name="Length" use="required">
425: <xs:simpleType>
426: <xs:restriction base="xs:token">
427: <xs:enumeration value="meter"/>
428: <xs:enumeration value="m"/>
429: <xs:enumeration value="foot"/>
430: <xs:enumeration value="f"/>
431: <xs:enumeration value="inch"/>
432: <xs:enumeration value="in"/>
433: <xs:enumeration value="centimeter"/>
434: <xs:enumeration value="cm"/>
435: <xs:enumeration value="decimeter"/>
436: <xs:enumeration value="dm"/>
437: <xs:enumeration value="millimeter"/>
438: <xs:enumeration value="mm"/>
439: <xs:enumeration value="degree"/>
440: </xs:restriction>
441: </xs:simpleType>
442: </xs:attribute>
443: </xs:attributeGroup>
444: <xs:attributeGroup name="Time-attribute">
445: <xs:attribute name="Time" use="required">
446: <xs:simpleType>
447: <xs:restriction base="xs:token">
448: <xs:enumeration value="second"/>
449: <xs:enumeration value="s"/>
450: <xs:enumeration value="sec"/>
451: <xs:enumeration value="minute"/>
452: <xs:enumeration value="min"/>
453: <xs:enumeration value="hour"/>
454: <xs:enumeration value="hr"/>
455: </xs:restriction>
456: </xs:simpleType>
457: </xs:attribute>
458: </xs:attributeGroup>
459: <xs:attributeGroup name="Force-attribute">
460: <xs:attribute name="Force" use="required">
461: <xs:simpleType>
462: <xs:restriction base="xs:token">
463: <xs:enumeration value="newton"/>
464: <xs:enumeration value="n"/>
465: <xs:enumeration value="pound"/>
466: <xs:enumeration value="grain"/>
467: </xs:restriction>
468: </xs:simpleType>
469: </xs:attribute>
470: </xs:attributeGroup>
471: <xs:attributeGroup name="Mass-attribute">
472: <xs:attribute name="Mass" use="required">
473: <xs:simpleType>
474: <xs:restriction base="xs:token">
475: <xs:enumeration value="kilogram"/>
476: <xs:enumeration value="kg"/>
477: <xs:enumeration value="gram"/>
478: </xs:restriction>
479: </xs:simpleType>
480: </xs:attribute>
481: </xs:attributeGroup>
482: <xs:attributeGroup name="Dimensionless-attribute">
483: <xs:attribute name="Dimensionless" use="required">
484: <xs:simpleType>
485: <xs:restriction base="xs:token">
486: <xs:enumeration value="radian"/>
487: <xs:enumeration value="rad"/>
488: </xs:restriction>
489: </xs:simpleType>
490: </xs:attribute>
491: </xs:attributeGroup>
492: <xs:simpleType name="three-doubles-list">
493: <xs:restriction>
494: <xs:simpleType>
495: <xs:list>
496: <xs:simpleType>
497: <xs:union memberTypes="xs:double xs:double xs:double"/>
498: </xs:simpleType>
499: </xs:list>
500: </xs:simpleType>
501: <xs:length value="3"/>
502: </xs:restriction>
503: </xs:simpleType>
504: <xs:simpleType name="integer-list">
505: <xs:restriction>
506: <xs:simpleType>
507: <xs:list>
508: <xs:simpleType>
509: <xs:union memberTypes="xs:integer xs:integer"/>
510: </xs:simpleType>
511: </xs:list>
512: </xs:simpleType>
513: <xs:minLength value="1"/>
514: </xs:restriction>
515: </xs:simpleType>
516: <xs:attributeGroup name="name-attribute">
517: <xs:attribute name="name" use="required" type="xs:token"/>
518: </xs:attributeGroup>
519: <xs:attributeGroup name="description-attribute">
520: <xs:attribute name="description" use="required"/>
521: </xs:attributeGroup>
522: <xs:element name="vMaterial">
523: <xs:complexType>
524: <xs:sequence>
525: <xs:element minOccurs="0" ref="diffuseColor"/>
526: <xs:element minOccurs="0" ref="emissiveColor"/>
527: <xs:element minOccurs="0" ref="specularColor"/>
528: <xs:element minOccurs="0" ref="shininess"/>
529: <xs:element minOccurs="0" ref="transparency"/>
530: <xs:element minOccurs="0" ref="ambientIntensity"/>
531: <xs:element minOccurs="0" ref="DEF"/>
532: <xs:element minOccurs="0" ref="USE"/>
533: </xs:sequence>
534: </xs:complexType>
535: </xs:element>
536: <xs:element name="diffuseColor" type="xs:string"/>
537: <xs:element name="emissiveColor" type="xs:string"/>
538: <xs:element name="specularColor" type="xs:string"/>
539: <xs:element name="shininess" type="xs:string"/>
540: <xs:element name="transparency" type="xs:string"/>
541: <xs:element name="ambientIntensity" type="xs:string"/>
542: <xs:element name="DEF" type="xs:string"/>
543: <xs:element name="USE" type="xs:string"/>
544: </xs:schema>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>