~ubuntu-branches/ubuntu/wily/opencollada/wily-proposed

« back to all changes in this revision

Viewing changes to xsd2cppsax/collada_schema_1_5.xsd

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2015-05-14 17:23:27 UTC
  • Revision ID: package-import@ubuntu.com-20150514172327-f862u8envms01fra
Tags: upstream-0.1.0~20140703.ddf8f47+dfsg1
ImportĀ upstreamĀ versionĀ 0.1.0~20140703.ddf8f47+dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="utf-8"?>
 
2
<xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.collada.org/2008/03/COLLADASchema" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.collada.org/2008/03/COLLADASchema" elementFormDefault="qualified" version="1.5.0" xml:lang="EN" xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd">
 
3
        <!--<xs:import namespace="http://www.w3.org/1998/Math/MathML" schemaLocation="http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd"/>-->
 
4
        <xs:import namespace="http://www.w3.org/1998/Math/MathML" schemaLocation="mathml2/mathml2.xsd"/>
 
5
        <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
 
6
        <xs:annotation>
 
7
                <xs:documentation>
 
8
                         COLLADA Schema
 
9
                         Version 1.5.0 (August 6, 2008)
 
10
 
 
11
                         Copyright (C) 2008 The Khronos Group Inc., Sony Computer Entertainment Inc.
 
12
                         All Rights Reserved.
 
13
 
 
14
                         Khronos is a trademark of The Khronos Group Inc.
 
15
                         COLLADA is a trademark of Sony Computer Entertainment Inc. used by permission by Khronos.
 
16
 
 
17
                         Note that this software document is distributed on an "AS IS" basis, with ALL EXPRESS AND 
 
18
                         IMPLIED WARRANTIES AND CONDITIONS DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED
 
19
                         WARRANTIES AND CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR 
 
20
                         PURPOSE, AND NON-INFRINGEMENT.
 
21
                </xs:documentation>
 
22
        </xs:annotation>
 
23
        <xs:simpleType name="float_type">
 
24
                <xs:restriction base="xs:double"/>
 
25
        </xs:simpleType>
 
26
        <xs:simpleType name="int_type">
 
27
                <xs:restriction base="xs:long"/>
 
28
        </xs:simpleType>
 
29
        <xs:simpleType name="uint_type">
 
30
                <xs:restriction base="xs:unsignedLong"/>
 
31
        </xs:simpleType>
 
32
        <xs:simpleType name="sidref_type">
 
33
                <xs:restriction base="xs:string">
 
34
                        <xs:pattern value="(([\i-[:]][\c-[:]]*)|.)(/[\i-[:\.]][\c-[:]]*)+((\.[\i-[:]][\c-[:]]*)|(\([0-9]+\)){1,2})?"/>
 
35
                </xs:restriction>
 
36
        </xs:simpleType>
 
37
        <xs:simpleType name="sid_type">
 
38
                <xs:restriction base="xs:NCName"/>
 
39
        </xs:simpleType>
 
40
        <xs:simpleType name="list_of_bools_type">
 
41
                <xs:list itemType="xs:boolean"/>
 
42
        </xs:simpleType>
 
43
        <xs:simpleType name="list_of_floats_type">
 
44
                <xs:list itemType="float_type"/>
 
45
        </xs:simpleType>
 
46
        <xs:simpleType name="list_of_hex_binary_type">
 
47
                <xs:list itemType="xs:hexBinary"/>
 
48
        </xs:simpleType>
 
49
        <xs:simpleType name="list_of_ints_type">
 
50
                <xs:list itemType="int_type"/>
 
51
        </xs:simpleType>
 
52
        <xs:simpleType name="list_of_names_type">
 
53
                <xs:list itemType="xs:Name"/>
 
54
        </xs:simpleType>
 
55
        <xs:simpleType name="list_of_idrefs_type">
 
56
                <xs:list itemType="xs:Name"/>
 
57
        </xs:simpleType>
 
58
        <xs:simpleType name="list_of_sidrefs_type">
 
59
                <xs:list itemType="sidref_type"/>
 
60
        </xs:simpleType>
 
61
        <xs:simpleType name="list_of_tokens_type">
 
62
                <xs:list itemType="xs:token"/>
 
63
        </xs:simpleType>
 
64
        <xs:simpleType name="list_of_uints_type">
 
65
                <xs:list itemType="uint_type"/>
 
66
        </xs:simpleType>
 
67
        <xs:simpleType name="bool2_type">
 
68
                <xs:restriction base="list_of_bools_type">
 
69
                        <xs:minLength value="2"/>
 
70
                        <xs:maxLength value="2"/>
 
71
                </xs:restriction>
 
72
        </xs:simpleType>
 
73
        <xs:simpleType name="bool3_type">
 
74
                <xs:restriction base="list_of_bools_type">
 
75
                        <xs:minLength value="3"/>
 
76
                        <xs:maxLength value="3"/>
 
77
                </xs:restriction>
 
78
        </xs:simpleType>
 
79
        <xs:simpleType name="bool4_type">
 
80
                <xs:restriction base="list_of_bools_type">
 
81
                        <xs:minLength value="4"/>
 
82
                        <xs:maxLength value="4"/>
 
83
                </xs:restriction>
 
84
        </xs:simpleType>
 
85
        <xs:simpleType name="bool2x2_type">
 
86
                <xs:restriction base="list_of_bools_type">
 
87
                        <xs:minLength value="4"/>
 
88
                        <xs:maxLength value="4"/>
 
89
                </xs:restriction>
 
90
        </xs:simpleType>
 
91
        <xs:simpleType name="bool2x3_type">
 
92
                <xs:restriction base="list_of_bools_type">
 
93
                        <xs:minLength value="6"/>
 
94
                        <xs:maxLength value="6"/>
 
95
                </xs:restriction>
 
96
        </xs:simpleType>
 
97
        <xs:simpleType name="bool2x4_type">
 
98
                <xs:restriction base="list_of_bools_type">
 
99
                        <xs:minLength value="8"/>
 
100
                        <xs:maxLength value="8"/>
 
101
                </xs:restriction>
 
102
        </xs:simpleType>
 
103
        <xs:simpleType name="bool3x2_type">
 
104
                <xs:restriction base="list_of_bools_type">
 
105
                        <xs:minLength value="6"/>
 
106
                        <xs:maxLength value="6"/>
 
107
                </xs:restriction>
 
108
        </xs:simpleType>
 
109
        <xs:simpleType name="bool3x3_type">
 
110
                <xs:restriction base="list_of_bools_type">
 
111
                        <xs:minLength value="9"/>
 
112
                        <xs:maxLength value="9"/>
 
113
                </xs:restriction>
 
114
        </xs:simpleType>
 
115
        <xs:simpleType name="bool3x4_type">
 
116
                <xs:restriction base="list_of_bools_type">
 
117
                        <xs:minLength value="12"/>
 
118
                        <xs:maxLength value="12"/>
 
119
                </xs:restriction>
 
120
        </xs:simpleType>
 
121
        <xs:simpleType name="bool4x2_type">
 
122
                <xs:restriction base="list_of_bools_type">
 
123
                        <xs:minLength value="8"/>
 
124
                        <xs:maxLength value="8"/>
 
125
                </xs:restriction>
 
126
        </xs:simpleType>
 
127
        <xs:simpleType name="bool4x3_type">
 
128
                <xs:restriction base="list_of_bools_type">
 
129
                        <xs:minLength value="12"/>
 
130
                        <xs:maxLength value="12"/>
 
131
                </xs:restriction>
 
132
        </xs:simpleType>
 
133
        <xs:simpleType name="bool4x4_type">
 
134
                <xs:restriction base="list_of_bools_type">
 
135
                        <xs:minLength value="16"/>
 
136
                        <xs:maxLength value="16"/>
 
137
                </xs:restriction>
 
138
        </xs:simpleType>
 
139
        <xs:simpleType name="float2_type">
 
140
                <xs:restriction base="list_of_floats_type">
 
141
                        <xs:minLength value="2"/>
 
142
                        <xs:maxLength value="2"/>
 
143
                </xs:restriction>
 
144
        </xs:simpleType>
 
145
        <xs:simpleType name="float3_type">
 
146
                <xs:restriction base="list_of_floats_type">
 
147
                        <xs:minLength value="3"/>
 
148
                        <xs:maxLength value="3"/>
 
149
                </xs:restriction>
 
150
        </xs:simpleType>
 
151
        <xs:simpleType name="float4_type">
 
152
                <xs:restriction base="list_of_floats_type">
 
153
                        <xs:minLength value="4"/>
 
154
                        <xs:maxLength value="4"/>
 
155
                </xs:restriction>
 
156
        </xs:simpleType>
 
157
        <xs:simpleType name="float7_type">
 
158
                <xs:restriction base="list_of_floats_type">
 
159
                        <xs:minLength value="7"/>
 
160
                        <xs:maxLength value="7"/>
 
161
                </xs:restriction>
 
162
        </xs:simpleType>
 
163
        <xs:simpleType name="float2x2_type">
 
164
                <xs:restriction base="list_of_floats_type">
 
165
                        <xs:minLength value="4"/>
 
166
                        <xs:maxLength value="4"/>
 
167
                </xs:restriction>
 
168
        </xs:simpleType>
 
169
        <xs:simpleType name="float2x3_type">
 
170
                <xs:restriction base="list_of_floats_type">
 
171
                        <xs:minLength value="6"/>
 
172
                        <xs:maxLength value="6"/>
 
173
                </xs:restriction>
 
174
        </xs:simpleType>
 
175
        <xs:simpleType name="float2x4_type">
 
176
                <xs:restriction base="list_of_floats_type">
 
177
                        <xs:minLength value="8"/>
 
178
                        <xs:maxLength value="8"/>
 
179
                </xs:restriction>
 
180
        </xs:simpleType>
 
181
        <xs:simpleType name="float3x2_type">
 
182
                <xs:restriction base="list_of_floats_type">
 
183
                        <xs:minLength value="6"/>
 
184
                        <xs:maxLength value="6"/>
 
185
                </xs:restriction>
 
186
        </xs:simpleType>
 
187
        <xs:simpleType name="float3x3_type">
 
188
                <xs:restriction base="list_of_floats_type">
 
189
                        <xs:minLength value="9"/>
 
190
                        <xs:maxLength value="9"/>
 
191
                </xs:restriction>
 
192
        </xs:simpleType>
 
193
        <xs:simpleType name="float3x4_type">
 
194
                <xs:restriction base="list_of_floats_type">
 
195
                        <xs:minLength value="12"/>
 
196
                        <xs:maxLength value="12"/>
 
197
                </xs:restriction>
 
198
        </xs:simpleType>
 
199
        <xs:simpleType name="float4x2_type">
 
200
                <xs:restriction base="list_of_floats_type">
 
201
                        <xs:minLength value="8"/>
 
202
                        <xs:maxLength value="8"/>
 
203
                </xs:restriction>
 
204
        </xs:simpleType>
 
205
        <xs:simpleType name="float4x3_type">
 
206
                <xs:restriction base="list_of_floats_type">
 
207
                        <xs:minLength value="12"/>
 
208
                        <xs:maxLength value="12"/>
 
209
                </xs:restriction>
 
210
        </xs:simpleType>
 
211
        <xs:simpleType name="float4x4_type">
 
212
                <xs:restriction base="list_of_floats_type">
 
213
                        <xs:minLength value="16"/>
 
214
                        <xs:maxLength value="16"/>
 
215
                </xs:restriction>
 
216
        </xs:simpleType>
 
217
        <xs:simpleType name="int2_type">
 
218
                <xs:restriction base="list_of_ints_type">
 
219
                        <xs:minLength value="2"/>
 
220
                        <xs:maxLength value="2"/>
 
221
                </xs:restriction>
 
222
        </xs:simpleType>
 
223
        <xs:simpleType name="int3_type">
 
224
                <xs:restriction base="list_of_ints_type">
 
225
                        <xs:minLength value="3"/>
 
226
                        <xs:maxLength value="3"/>
 
227
                </xs:restriction>
 
228
        </xs:simpleType>
 
229
        <xs:simpleType name="int4_type">
 
230
                <xs:restriction base="list_of_ints_type">
 
231
                        <xs:minLength value="4"/>
 
232
                        <xs:maxLength value="4"/>
 
233
                </xs:restriction>
 
234
        </xs:simpleType>
 
235
        <xs:simpleType name="int2x2_type">
 
236
                <xs:restriction base="list_of_ints_type">
 
237
                        <xs:minLength value="4"/>
 
238
                        <xs:maxLength value="4"/>
 
239
                </xs:restriction>
 
240
        </xs:simpleType>
 
241
        <xs:simpleType name="int2x3_type">
 
242
                <xs:restriction base="list_of_ints_type">
 
243
                        <xs:minLength value="6"/>
 
244
                        <xs:maxLength value="6"/>
 
245
                </xs:restriction>
 
246
        </xs:simpleType>
 
247
        <xs:simpleType name="int2x4_type">
 
248
                <xs:restriction base="list_of_ints_type">
 
249
                        <xs:minLength value="8"/>
 
250
                        <xs:maxLength value="8"/>
 
251
                </xs:restriction>
 
252
        </xs:simpleType>
 
253
        <xs:simpleType name="int3x2_type">
 
254
                <xs:restriction base="list_of_ints_type">
 
255
                        <xs:minLength value="6"/>
 
256
                        <xs:maxLength value="6"/>
 
257
                </xs:restriction>
 
258
        </xs:simpleType>
 
259
        <xs:simpleType name="int3x3_type">
 
260
                <xs:restriction base="list_of_ints_type">
 
261
                        <xs:minLength value="9"/>
 
262
                        <xs:maxLength value="9"/>
 
263
                </xs:restriction>
 
264
        </xs:simpleType>
 
265
        <xs:simpleType name="int3x4_type">
 
266
                <xs:restriction base="list_of_ints_type">
 
267
                        <xs:minLength value="12"/>
 
268
                        <xs:maxLength value="12"/>
 
269
                </xs:restriction>
 
270
        </xs:simpleType>
 
271
        <xs:simpleType name="int4x2_type">
 
272
                <xs:restriction base="list_of_ints_type">
 
273
                        <xs:minLength value="8"/>
 
274
                        <xs:maxLength value="8"/>
 
275
                </xs:restriction>
 
276
        </xs:simpleType>
 
277
        <xs:simpleType name="int4x3_type">
 
278
                <xs:restriction base="list_of_ints_type">
 
279
                        <xs:minLength value="12"/>
 
280
                        <xs:maxLength value="12"/>
 
281
                </xs:restriction>
 
282
        </xs:simpleType>
 
283
        <xs:simpleType name="int4x4_type">
 
284
                <xs:restriction base="list_of_ints_type">
 
285
                        <xs:minLength value="16"/>
 
286
                        <xs:maxLength value="16"/>
 
287
                </xs:restriction>
 
288
        </xs:simpleType>
 
289
        <xs:simpleType name="digits_type">
 
290
                <xs:restriction base="xs:unsignedByte">
 
291
                        <xs:minInclusive value="1"/>
 
292
                        <xs:maxInclusive value="17"/>
 
293
                </xs:restriction>
 
294
        </xs:simpleType>
 
295
        <xs:simpleType name="magnitude_type">
 
296
                <xs:restriction base="xs:short">
 
297
                        <xs:minInclusive value="-324"/>
 
298
                        <xs:maxInclusive value="308"/>
 
299
                </xs:restriction>
 
300
        </xs:simpleType>
 
301
        <xs:simpleType name="morph_method_enum">
 
302
                <xs:annotation>
 
303
                        <xs:documentation>
 
304
                        An enumuerated type specifying the acceptable morph methods.
 
305
                        </xs:documentation>
 
306
                </xs:annotation>
 
307
                <xs:restriction base="xs:string">
 
308
                        <xs:enumeration value="NORMALIZED"/>
 
309
                        <xs:enumeration value="RELATIVE"/>
 
310
                </xs:restriction>
 
311
        </xs:simpleType>
 
312
        <xs:simpleType name="node_enum">
 
313
                <xs:annotation>
 
314
                        <xs:documentation>
 
315
                        An enumerated type specifying the acceptable node types.
 
316
                        </xs:documentation>
 
317
                </xs:annotation>
 
318
                <xs:restriction base="xs:string">
 
319
                        <xs:enumeration value="JOINT"/>
 
320
                        <xs:enumeration value="NODE"/>
 
321
                </xs:restriction>
 
322
        </xs:simpleType>
 
323
        <xs:simpleType name="sampler_behavior_enum">
 
324
                <xs:annotation>
 
325
                        <xs:documentation>
 
326
                        An enumerated type specifying the acceptable sampler pre and post behavior attribute types.
 
327
                        </xs:documentation>
 
328
                </xs:annotation>
 
329
                <xs:restriction base="xs:string">
 
330
                        <xs:enumeration value="CONSTANT"/>
 
331
                        <xs:enumeration value="CYCLE"/>
 
332
                        <xs:enumeration value="CYCLE_RELATIVE"/>
 
333
                        <xs:enumeration value="GRADIENT"/>
 
334
                        <xs:enumeration value="OSCILLATE"/>
 
335
                        <xs:enumeration value="UNDEFINED"/>
 
336
                </xs:restriction>
 
337
        </xs:simpleType>
 
338
        <xs:simpleType name="urifragment_type">
 
339
                <xs:annotation>
 
340
                        <xs:documentation>
 
341
                        This urifragment_type element is used for URI reference which can only reference a resource declared within it's same document.
 
342
                        </xs:documentation>
 
343
                </xs:annotation>
 
344
                <xs:restriction base="xs:string">
 
345
                        <xs:pattern value="(#(.*))"/>
 
346
                </xs:restriction>
 
347
        </xs:simpleType>
 
348
        <xs:simpleType name="up_axis_enum">
 
349
                <xs:annotation>
 
350
                        <xs:documentation>
 
351
                        An enumerated type specifying the acceptable up-axis values.
 
352
                        </xs:documentation>
 
353
                </xs:annotation>
 
354
                <xs:restriction base="xs:string">
 
355
                        <xs:enumeration value="X_UP"/>
 
356
                        <xs:enumeration value="Y_UP"/>
 
357
                        <xs:enumeration value="Z_UP"/>
 
358
                </xs:restriction>
 
359
        </xs:simpleType>
 
360
        <xs:simpleType name="version_enum">
 
361
                <xs:annotation>
 
362
                        <xs:documentation>
 
363
                        An enumerated type specifying the acceptable document versions.
 
364
                        </xs:documentation>
 
365
                </xs:annotation>
 
366
                <xs:restriction base="xs:string">
 
367
                        <xs:enumeration value="1.5.0"/>
 
368
                </xs:restriction>
 
369
        </xs:simpleType>
 
370
        <xs:complexType name="input_global_type">
 
371
                <xs:annotation>
 
372
                        <xs:documentation>
 
373
                        The input_global_type element is used to represent inputs that can reference external resources.
 
374
                        </xs:documentation>
 
375
                </xs:annotation>
 
376
                <xs:attribute name="semantic" type="xs:NMTOKEN" use="required">
 
377
                        <xs:annotation>
 
378
                                <xs:documentation>
 
379
                                The semantic attribute is the user-defined meaning of the input connection. Required attribute.
 
380
                                </xs:documentation>
 
381
                        </xs:annotation>
 
382
                </xs:attribute>
 
383
                <xs:attribute name="source" type="xs:anyURI" use="required">
 
384
                        <xs:annotation>
 
385
                                <xs:documentation>
 
386
                                The source attribute indicates the location of the data source. Required attribute.
 
387
                                </xs:documentation>
 
388
                        </xs:annotation>
 
389
                </xs:attribute>
 
390
        </xs:complexType>
 
391
        <xs:complexType name="input_local_type">
 
392
                <xs:annotation>
 
393
                        <xs:documentation>
 
394
                        The input_local_type element is used to represent inputs that can only reference resources declared in the same document.
 
395
                        </xs:documentation>
 
396
                </xs:annotation>
 
397
                <xs:attribute name="semantic" type="xs:NMTOKEN" use="required">
 
398
                        <xs:annotation>
 
399
                                <xs:documentation>
 
400
                                The semantic attribute is the user-defined meaning of the input connection. Required attribute.
 
401
                                </xs:documentation>
 
402
                        </xs:annotation>
 
403
                </xs:attribute>
 
404
                <xs:attribute name="source" type="urifragment_type" use="required">
 
405
                        <xs:annotation>
 
406
                                <xs:documentation>
 
407
                                The source attribute indicates the location of the data source. Required attribute.
 
408
                                </xs:documentation>
 
409
                        </xs:annotation>
 
410
                </xs:attribute>
 
411
        </xs:complexType>
 
412
        <xs:complexType name="input_local_offset_type">
 
413
                <xs:annotation>
 
414
                        <xs:documentation>
 
415
                        The input_local_offset_type element is used to represent indexed inputs that can only reference resources declared in the same document.
 
416
                        </xs:documentation>
 
417
                </xs:annotation>
 
418
                <xs:attribute name="offset" type="uint_type" use="required">
 
419
                        <xs:annotation>
 
420
                                <xs:documentation>
 
421
                                The offset attribute represents the offset into the list of indices.  If two input elements share 
 
422
                                the same offset, they will be indexed the same.  This works as a simple form of compression for the 
 
423
                                list of indices as well as defining the order the inputs should be used in.  Required attribute.
 
424
                                </xs:documentation>
 
425
                        </xs:annotation>
 
426
                </xs:attribute>
 
427
                <xs:attribute name="semantic" type="xs:NMTOKEN" use="required">
 
428
                        <xs:annotation>
 
429
                                <xs:documentation>
 
430
                                The semantic attribute is the user-defined meaning of the input connection. Required attribute.
 
431
                                </xs:documentation>
 
432
                        </xs:annotation>
 
433
                </xs:attribute>
 
434
                <xs:attribute name="source" type="urifragment_type" use="required">
 
435
                        <xs:annotation>
 
436
                                <xs:documentation>
 
437
                                The source attribute indicates the location of the data source. Required attribute.
 
438
                                </xs:documentation>
 
439
                        </xs:annotation>
 
440
                </xs:attribute>
 
441
                <xs:attribute name="set" type="uint_type">
 
442
                        <xs:annotation>
 
443
                                <xs:documentation>
 
444
                                The set attribute indicates which inputs should be grouped together as a single set. This is helpful 
 
445
                                when multiple inputs share the same semantics. 
 
446
                                </xs:documentation>
 
447
                        </xs:annotation>
 
448
                </xs:attribute>
 
449
        </xs:complexType>
 
450
        <xs:complexType name="targetable_float_type">
 
451
                <xs:annotation>
 
452
                        <xs:documentation>
 
453
                        The targetable_float_type element is used to represent elements which contain a single float value which can 
 
454
                        be targeted for animation.
 
455
                        </xs:documentation>
 
456
                </xs:annotation>
 
457
                <xs:simpleContent>
 
458
                        <xs:extension base="float_type">
 
459
                                <xs:attribute name="sid" type="sid_type">
 
460
                                        <xs:annotation>
 
461
                                                <xs:documentation>
 
462
                                                The sid attribute is a text string value containing the sub-identifier of this element. This 
 
463
                                                value must be unique within the scope of the parent element. Optional attribute.
 
464
                                                </xs:documentation>
 
465
                                        </xs:annotation>
 
466
                                </xs:attribute>
 
467
                        </xs:extension>
 
468
                </xs:simpleContent>
 
469
        </xs:complexType>
 
470
        <xs:complexType name="targetable_float3_type">
 
471
                <xs:annotation>
 
472
                        <xs:documentation>
 
473
                        The targetable_float3_type element is used to represent elements which contain a float3 value which can 
 
474
                        be targeted for animation.
 
475
                        </xs:documentation>
 
476
                </xs:annotation>
 
477
                <xs:simpleContent>
 
478
                        <xs:extension base="float3_type">
 
479
                                <xs:attribute name="sid" type="sid_type">
 
480
                                        <xs:annotation>
 
481
                                                <xs:documentation>
 
482
                                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
483
                                                This value must be unique within the scope of the parent element. Optional attribute.
 
484
                                                </xs:documentation>
 
485
                                        </xs:annotation>
 
486
                                </xs:attribute>
 
487
                        </xs:extension>
 
488
                </xs:simpleContent>
 
489
        </xs:complexType>
 
490
        <xs:complexType name="token_array_type">
 
491
                <xs:annotation>
 
492
                        <xs:documentation>
 
493
                        The token_array_type element declares the storage for a homogenous array of xs:token string values.
 
494
                        </xs:documentation>
 
495
                </xs:annotation>
 
496
                <xs:simpleContent>
 
497
                        <xs:extension base="list_of_tokens_type">
 
498
                                <xs:attribute name="id" type="xs:ID">
 
499
                                        <xs:annotation>
 
500
                                                <xs:documentation>
 
501
                                                        The id attribute is a text string containing the unique identifier of this element. 
 
502
                                                        This value must be unique within the instance document. Optional attribute.
 
503
                                                        </xs:documentation>
 
504
                                        </xs:annotation>
 
505
                                </xs:attribute>
 
506
                                <xs:attribute name="name" type="xs:token">
 
507
                                        <xs:annotation>
 
508
                                                <xs:documentation>
 
509
                                                        The name attribute is the text string name of this element. Optional attribute.
 
510
                                                        </xs:documentation>
 
511
                                        </xs:annotation>
 
512
                                </xs:attribute>
 
513
                                <xs:attribute name="count" type="uint_type" use="required">
 
514
                                        <xs:annotation>
 
515
                                                <xs:documentation>
 
516
                                                        The count attribute indicates the number of values in the array. Required attribute.
 
517
                                                        </xs:documentation>
 
518
                                        </xs:annotation>
 
519
                                </xs:attribute>
 
520
                        </xs:extension>
 
521
                </xs:simpleContent>
 
522
        </xs:complexType>
 
523
        <xs:complexType name="idref_array_type">
 
524
                <xs:annotation>
 
525
                        <xs:documentation>
 
526
                        The IDREF_array element declares the storage for a homogenous array of ID reference values.
 
527
                        </xs:documentation>
 
528
                </xs:annotation>
 
529
                <xs:simpleContent>
 
530
                        <xs:extension base="xs:IDREFS">
 
531
                                <xs:attribute name="id" type="xs:ID">
 
532
                                        <xs:annotation>
 
533
                                                <xs:documentation>
 
534
                                                        The id attribute is a text string containing the unique identifier of this element. This value 
 
535
                                                        must be unique within the instance document. Optional attribute.
 
536
                                                        </xs:documentation>
 
537
                                        </xs:annotation>
 
538
                                </xs:attribute>
 
539
                                <xs:attribute name="name" type="xs:token">
 
540
                                        <xs:annotation>
 
541
                                                <xs:documentation>
 
542
                                                        The name attribute is the text string name of this element. Optional attribute.
 
543
                                                        </xs:documentation>
 
544
                                        </xs:annotation>
 
545
                                </xs:attribute>
 
546
                                <xs:attribute name="count" type="uint_type" use="required">
 
547
                                        <xs:annotation>
 
548
                                                <xs:documentation>
 
549
                                                        The count attribute indicates the number of values in the array. Required attribute.
 
550
                                                        </xs:documentation>
 
551
                                        </xs:annotation>
 
552
                                </xs:attribute>
 
553
                        </xs:extension>
 
554
                </xs:simpleContent>
 
555
        </xs:complexType>
 
556
        <xs:complexType name="name_array_type">
 
557
                <xs:annotation>
 
558
                        <xs:documentation>
 
559
                        The Name_array element declares the storage for a homogenous array of Name string values.
 
560
                        </xs:documentation>
 
561
                </xs:annotation>
 
562
                <xs:simpleContent>
 
563
                        <xs:extension base="list_of_names_type">
 
564
                                <xs:attribute name="id" type="xs:ID">
 
565
                                        <xs:annotation>
 
566
                                                <xs:documentation>
 
567
                                                        The id attribute is a text string containing the unique identifier of this element. 
 
568
                                                        This value must be unique within the instance document. Optional attribute.
 
569
                                                        </xs:documentation>
 
570
                                        </xs:annotation>
 
571
                                </xs:attribute>
 
572
                                <xs:attribute name="name" type="xs:token">
 
573
                                        <xs:annotation>
 
574
                                                <xs:documentation>
 
575
                                                        The name attribute is the text string name of this element. Optional attribute.
 
576
                                                        </xs:documentation>
 
577
                                        </xs:annotation>
 
578
                                </xs:attribute>
 
579
                                <xs:attribute name="count" type="uint_type" use="required">
 
580
                                        <xs:annotation>
 
581
                                                <xs:documentation>
 
582
                                                        The count attribute indicates the number of values in the array. Required attribute.
 
583
                                                        </xs:documentation>
 
584
                                        </xs:annotation>
 
585
                                </xs:attribute>
 
586
                        </xs:extension>
 
587
                </xs:simpleContent>
 
588
        </xs:complexType>
 
589
        <xs:complexType name="bool_array_type">
 
590
                <xs:annotation>
 
591
                        <xs:documentation>
 
592
                        The bool_array element declares the storage for a homogenous array of boolean values.
 
593
                        </xs:documentation>
 
594
                </xs:annotation>
 
595
                <xs:simpleContent>
 
596
                        <xs:extension base="list_of_bools_type">
 
597
                                <xs:attribute name="id" type="xs:ID">
 
598
                                        <xs:annotation>
 
599
                                                <xs:documentation>
 
600
                                                        The id attribute is a text string containing the unique identifier of this element. 
 
601
                                                        This value must be unique within the instance document. Optional attribute.
 
602
                                                        </xs:documentation>
 
603
                                        </xs:annotation>
 
604
                                </xs:attribute>
 
605
                                <xs:attribute name="name" type="xs:token">
 
606
                                        <xs:annotation>
 
607
                                                <xs:documentation>
 
608
                                                        The name attribute is the text string name of this element. Optional attribute.
 
609
                                                        </xs:documentation>
 
610
                                        </xs:annotation>
 
611
                                </xs:attribute>
 
612
                                <xs:attribute name="count" type="uint_type" use="required">
 
613
                                        <xs:annotation>
 
614
                                                <xs:documentation>
 
615
                                                        The count attribute indicates the number of values in the array. Required attribute.
 
616
                                                        </xs:documentation>
 
617
                                        </xs:annotation>
 
618
                                </xs:attribute>
 
619
                        </xs:extension>
 
620
                </xs:simpleContent>
 
621
        </xs:complexType>
 
622
        <xs:complexType name="float_array_type">
 
623
                <xs:annotation>
 
624
                        <xs:documentation>
 
625
                        The float_array element declares the storage for a homogenous array of floating point values.
 
626
                        </xs:documentation>
 
627
                </xs:annotation>
 
628
                <xs:simpleContent>
 
629
                        <xs:extension base="list_of_floats_type">
 
630
                                <xs:attribute name="id" type="xs:ID">
 
631
                                        <xs:annotation>
 
632
                                                <xs:documentation>
 
633
                                                        The id attribute is a text string containing the unique identifier of this element. This value 
 
634
                                                        must be unique within the instance document. Optional attribute.
 
635
                                                        </xs:documentation>
 
636
                                        </xs:annotation>
 
637
                                </xs:attribute>
 
638
                                <xs:attribute name="name" type="xs:token">
 
639
                                        <xs:annotation>
 
640
                                                <xs:documentation>
 
641
                                                        The name attribute is the text string name of this element. Optional attribute.
 
642
                                                        </xs:documentation>
 
643
                                        </xs:annotation>
 
644
                                </xs:attribute>
 
645
                                <xs:attribute name="count" type="uint_type" use="required">
 
646
                                        <xs:annotation>
 
647
                                                <xs:documentation>
 
648
                                                        The count attribute indicates the number of values in the array. Required attribute.
 
649
                                                        </xs:documentation>
 
650
                                        </xs:annotation>
 
651
                                </xs:attribute>
 
652
                                <xs:attribute name="digits" type="digits_type" default="6">
 
653
                                        <xs:annotation>
 
654
                                                <xs:documentation>
 
655
                                                        The digits attribute indicates the number of significant decimal digits of the float values that 
 
656
                                                        can be contained in the array. The default value is 6. Optional attribute.
 
657
                                                        </xs:documentation>
 
658
                                        </xs:annotation>
 
659
                                </xs:attribute>
 
660
                                <xs:attribute name="magnitude" type="magnitude_type" default="38">
 
661
                                        <xs:annotation>
 
662
                                                <xs:documentation>
 
663
                                                        The magnitude attribute indicates the largest exponent of the float values that can be contained 
 
664
                                                        in the array. The default value is 38. Optional attribute.
 
665
                                                        </xs:documentation>
 
666
                                        </xs:annotation>
 
667
                                </xs:attribute>
 
668
                        </xs:extension>
 
669
                </xs:simpleContent>
 
670
        </xs:complexType>
 
671
        <xs:complexType name="int_array_type">
 
672
                <xs:annotation>
 
673
                        <xs:documentation>
 
674
                        The int_array element declares the storage for a homogenous array of integer values.
 
675
                        </xs:documentation>
 
676
                </xs:annotation>
 
677
                <xs:simpleContent>
 
678
                        <xs:extension base="list_of_ints_type">
 
679
                                <xs:attribute name="id" type="xs:ID">
 
680
                                        <xs:annotation>
 
681
                                                <xs:documentation>
 
682
                                                        The id attribute is a text string containing the unique identifier of this element. 
 
683
                                                        This value must be unique within the instance document. Optional attribute.
 
684
                                                        </xs:documentation>
 
685
                                        </xs:annotation>
 
686
                                </xs:attribute>
 
687
                                <xs:attribute name="name" type="xs:token">
 
688
                                        <xs:annotation>
 
689
                                                <xs:documentation>
 
690
                                                        The name attribute is the text string name of this element. Optional attribute.
 
691
                                                        </xs:documentation>
 
692
                                        </xs:annotation>
 
693
                                </xs:attribute>
 
694
                                <xs:attribute name="count" type="uint_type" use="required">
 
695
                                        <xs:annotation>
 
696
                                                <xs:documentation>
 
697
                                                        The count attribute indicates the number of values in the array. Required attribute.
 
698
                                                        </xs:documentation>
 
699
                                        </xs:annotation>
 
700
                                </xs:attribute>
 
701
                                <xs:attribute name="minInclusive" type="xs:integer" default="-2147483648">
 
702
                                        <xs:annotation>
 
703
                                                <xs:documentation>
 
704
                                                        The minInclusive attribute indicates the smallest integer value that can be contained in 
 
705
                                                        the array. The default value is -2147483648. Optional attribute.
 
706
                                                        </xs:documentation>
 
707
                                        </xs:annotation>
 
708
                                </xs:attribute>
 
709
                                <xs:attribute name="maxInclusive" type="xs:integer" default="2147483647">
 
710
                                        <xs:annotation>
 
711
                                                <xs:documentation>
 
712
                                                        The maxInclusive attribute indicates the largest integer value that can be contained in 
 
713
                                                        the array. The default value is 2147483647. Optional attribute.
 
714
                                                        </xs:documentation>
 
715
                                        </xs:annotation>
 
716
                                </xs:attribute>
 
717
                        </xs:extension>
 
718
                </xs:simpleContent>
 
719
        </xs:complexType>
 
720
        <xs:complexType name="param_type">
 
721
                <xs:annotation>
 
722
                        <xs:documentation>
 
723
                        The param element declares parametric information regarding its parent element.
 
724
                        </xs:documentation>
 
725
                </xs:annotation>
 
726
                <xs:simpleContent>
 
727
                        <xs:extension base="xs:string">
 
728
                                <xs:attribute name="name" type="xs:token">
 
729
                                        <xs:annotation>
 
730
                                                <xs:documentation>
 
731
                                                        The name attribute is the text string name of this element. Optional attribute.
 
732
                                                        </xs:documentation>
 
733
                                        </xs:annotation>
 
734
                                </xs:attribute>
 
735
                                <xs:attribute name="sid" type="sid_type">
 
736
                                        <xs:annotation>
 
737
                                                <xs:documentation>
 
738
                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
739
                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
740
                                                        </xs:documentation>
 
741
                                        </xs:annotation>
 
742
                                </xs:attribute>
 
743
                                <xs:attribute name="semantic" type="xs:NMTOKEN">
 
744
                                        <xs:annotation>
 
745
                                                <xs:documentation>
 
746
                                                        The semantic attribute is the user-defined meaning of the parameter. Optional attribute.
 
747
                                                        </xs:documentation>
 
748
                                        </xs:annotation>
 
749
                                </xs:attribute>
 
750
                                <xs:attribute name="type" type="xs:NMTOKEN" use="required">
 
751
                                        <xs:annotation>
 
752
                                                <xs:documentation>
 
753
                                                        The type attribute indicates the type of the value data. This text string must be understood 
 
754
                                                        by the application. Required attribute.
 
755
                                                        </xs:documentation>
 
756
                                        </xs:annotation>
 
757
                                </xs:attribute>
 
758
                        </xs:extension>
 
759
                </xs:simpleContent>
 
760
        </xs:complexType>
 
761
        <xs:complexType name="accessor_type">
 
762
                <xs:annotation>
 
763
                        <xs:documentation>
 
764
                        The accessor element declares an access pattern to one of the array elements: float_array, 
 
765
                        int_array, Name_array, bool_array, token_array, and IDREF_array. The accessor element describes access 
 
766
                        to arrays that are organized in either an interleaved or non-interleaved manner, depending 
 
767
                        on the offset and stride attributes.
 
768
                        </xs:documentation>
 
769
                </xs:annotation>
 
770
                <xs:sequence>
 
771
                        <xs:element name="param" type="param_type" minOccurs="0" maxOccurs="unbounded">
 
772
                                <xs:annotation>
 
773
                                        <xs:documentation>
 
774
                                                The accessor element may have any number of param elements.
 
775
                                                </xs:documentation>
 
776
                                </xs:annotation>
 
777
                        </xs:element>
 
778
                </xs:sequence>
 
779
                <xs:attribute name="count" type="uint_type" use="required">
 
780
                        <xs:annotation>
 
781
                                <xs:documentation>
 
782
                                        The count attribute indicates the number of times the array is accessed. Required attribute.
 
783
                                        </xs:documentation>
 
784
                        </xs:annotation>
 
785
                </xs:attribute>
 
786
                <xs:attribute name="offset" type="uint_type" default="0">
 
787
                        <xs:annotation>
 
788
                                <xs:documentation>
 
789
                                        The offset attribute indicates the index of the first value to be read from the array. 
 
790
                                        The default value is 0. Optional attribute.
 
791
                                        </xs:documentation>
 
792
                        </xs:annotation>
 
793
                </xs:attribute>
 
794
                <xs:attribute name="source" type="xs:anyURI" use="required">
 
795
                        <xs:annotation>
 
796
                                <xs:documentation>
 
797
                                        The source attribute indicates the location of the array to access using a URL expression. Required attribute.
 
798
                                        </xs:documentation>
 
799
                        </xs:annotation>
 
800
                </xs:attribute>
 
801
                <xs:attribute name="stride" type="uint_type" default="1">
 
802
                        <xs:annotation>
 
803
                                <xs:documentation>
 
804
                                        The stride attribute indicates number of values to be considered a unit during each access to 
 
805
                                        the array. The default value is 1, indicating that a single value is accessed. Optional attribute.
 
806
                                        </xs:documentation>
 
807
                        </xs:annotation>
 
808
                </xs:attribute>
 
809
        </xs:complexType>
 
810
        <xs:complexType name="p_type">
 
811
                <xs:annotation>
 
812
                        <xs:documentation>
 
813
                        The p element represents primitive data for the primitive types (lines, linestrips, polygons, 
 
814
                        polylist, triangles, trifans, tristrips). The p element contains indices that reference into 
 
815
                        the parent's source elements referenced by the input elements.
 
816
                        </xs:documentation>
 
817
                </xs:annotation>
 
818
                <xs:simpleContent>
 
819
                        <xs:extension base="list_of_uints_type"/>
 
820
                </xs:simpleContent>
 
821
        </xs:complexType>
 
822
        <xs:complexType name="lookat_type">
 
823
                <xs:annotation>
 
824
                        <xs:documentation>
 
825
                        The lookat element contains a position and orientation transformation suitable for aiming a camera.
 
826
                        The lookat element contains three mathematical vectors within it that describe: 
 
827
                        1.      The position of the object;
 
828
                        2.      The position of the interest point;
 
829
                        3.      The direction that points up.
 
830
                        </xs:documentation>
 
831
                </xs:annotation>
 
832
                <xs:simpleContent>
 
833
                        <xs:extension base="float3x3_type">
 
834
                                <xs:attribute name="sid" type="sid_type">
 
835
                                        <xs:annotation>
 
836
                                                <xs:documentation>
 
837
                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
838
                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
839
                                                        </xs:documentation>
 
840
                                        </xs:annotation>
 
841
                                </xs:attribute>
 
842
                        </xs:extension>
 
843
                </xs:simpleContent>
 
844
        </xs:complexType>
 
845
        <xs:complexType name="matrix_type">
 
846
                <xs:annotation>
 
847
                        <xs:documentation>
 
848
                        Matrix transformations embody mathematical changes to points within a coordinate systems or the 
 
849
                        coordinate system itself. The matrix element contains a 4-by-4 matrix of floating-point values.
 
850
                        </xs:documentation>
 
851
                </xs:annotation>
 
852
                <xs:simpleContent>
 
853
                        <xs:extension base="float4x4_type">
 
854
                                <xs:attribute name="sid" type="sid_type">
 
855
                                        <xs:annotation>
 
856
                                                <xs:documentation>
 
857
                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
858
                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
859
                                                        </xs:documentation>
 
860
                                        </xs:annotation>
 
861
                                </xs:attribute>
 
862
                        </xs:extension>
 
863
                </xs:simpleContent>
 
864
        </xs:complexType>
 
865
        <xs:complexType name="scale_type">
 
866
                <xs:annotation>
 
867
                        <xs:documentation>
 
868
                        The scale element contains a mathematical vector that represents the relative proportions of the 
 
869
                        X, Y and Z axes of a coordinated system.
 
870
                        </xs:documentation>
 
871
                </xs:annotation>
 
872
                <xs:simpleContent>
 
873
                        <xs:restriction base="targetable_float3_type"/>
 
874
                </xs:simpleContent>
 
875
        </xs:complexType>
 
876
        <xs:complexType name="skew_type">
 
877
                <xs:annotation>
 
878
                        <xs:documentation>
 
879
                        The skew element contains an angle and two mathematical vectors that represent the axis of 
 
880
                        rotation and the axis of translation.
 
881
                        </xs:documentation>
 
882
                </xs:annotation>
 
883
                <xs:simpleContent>
 
884
                        <xs:extension base="float7_type">
 
885
                                <xs:attribute name="sid" type="sid_type">
 
886
                                        <xs:annotation>
 
887
                                                <xs:documentation>
 
888
                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
889
                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
890
                                                        </xs:documentation>
 
891
                                        </xs:annotation>
 
892
                                </xs:attribute>
 
893
                        </xs:extension>
 
894
                </xs:simpleContent>
 
895
        </xs:complexType>
 
896
        <xs:complexType name="translate_type">
 
897
                <xs:annotation>
 
898
                        <xs:documentation>
 
899
                        The translate element contains a mathematical vector that represents the distance along the 
 
900
                        X, Y and Z-axes.
 
901
                        </xs:documentation>
 
902
                </xs:annotation>
 
903
                <xs:simpleContent>
 
904
                        <xs:restriction base="targetable_float3_type"/>
 
905
                </xs:simpleContent>
 
906
        </xs:complexType>
 
907
        <xs:complexType name="image_source_type">
 
908
                <xs:choice>
 
909
                        <xs:element name="ref" type="xs:anyURI">
 
910
                                <xs:annotation>
 
911
                                        <xs:documentation>Initialize purely from a file.  Assume the characteristics of the file.  If it is a complex format like DDS this may include cube maps, volumes,  mips, etc.</xs:documentation>
 
912
                                </xs:annotation>
 
913
                        </xs:element>
 
914
                        <xs:element name="hex">
 
915
                                <xs:annotation>
 
916
                                        <xs:documentation>The data element contains a sequence of hexadecimal encoded binary octets representing the embedded image data.  The format attribute is use the determine which codec decodes the image's descriptions and data.</xs:documentation>
 
917
                                </xs:annotation>
 
918
                                <xs:complexType>
 
919
                                        <xs:simpleContent>
 
920
                                                <xs:extension base="list_of_hex_binary_type">
 
921
                                                        <xs:attribute name="format" type="xs:token" use="required">
 
922
                                                                <xs:annotation>
 
923
                                                                        <xs:documentation>The format attribute is a text string value that indicates the image format.  Examples include "DDS", "EXR", "BMP", "JPG", and "PNG".  Note that all of these formats have internal descriptors of size, bpp, etc.</xs:documentation>
 
924
                                                                </xs:annotation>
 
925
                                                        </xs:attribute>
 
926
                                                </xs:extension>
 
927
                                        </xs:simpleContent>
 
928
                                </xs:complexType>
 
929
                        </xs:element>
 
930
                </xs:choice>
 
931
        </xs:complexType>
 
932
        <xs:complexType name="image_mips_type">
 
933
                <xs:attribute name="levels" type="xs:unsignedInt" use="required">
 
934
                        <xs:annotation>
 
935
                                <xs:documentation>Zero is max levels = 1 + floor(log2(max(w, h, d)))
 
936
in both OpenGL and DirectX.  One is no mips.</xs:documentation>
 
937
                        </xs:annotation>
 
938
                </xs:attribute>
 
939
                <xs:attribute name="auto_generate" type="xs:boolean" use="required">
 
940
                        <xs:annotation>
 
941
                                <xs:documentation>regenerate the mipmaps based on information loaded into mip0</xs:documentation>
 
942
                        </xs:annotation>
 
943
                </xs:attribute>
 
944
        </xs:complexType>
 
945
        <xs:simpleType name="image_face_enum">
 
946
                <xs:restriction base="xs:string">
 
947
                        <xs:enumeration value="POSITIVE_X"/>
 
948
                        <xs:enumeration value="NEGATIVE_X"/>
 
949
                        <xs:enumeration value="POSITIVE_Y"/>
 
950
                        <xs:enumeration value="NEGATIVE_Y"/>
 
951
                        <xs:enumeration value="POSITIVE_Z"/>
 
952
                        <xs:enumeration value="NEGATIVE_Z"/>
 
953
                </xs:restriction>
 
954
        </xs:simpleType>
 
955
        <xs:simpleType name="image_format_hint_channels_enum">
 
956
                <xs:annotation>
 
957
                        <xs:documentation>The per-texel layout of the format.  The length of the string indicate how many channels there are and the letter respresents the name of the channel.  There are typically 0 to 4 channels.</xs:documentation>
 
958
                </xs:annotation>
 
959
                <xs:restriction base="xs:string">
 
960
                        <xs:enumeration value="RGB">
 
961
                                <xs:annotation>
 
962
                                        <xs:documentation>RGB color  map</xs:documentation>
 
963
                                </xs:annotation>
 
964
                        </xs:enumeration>
 
965
                        <xs:enumeration value="RGBA">
 
966
                                <xs:annotation>
 
967
                                        <xs:documentation>RGB color + Alpha map often used for color + transparency or other things packed into channel A like specular power </xs:documentation>
 
968
                                </xs:annotation>
 
969
                        </xs:enumeration>
 
970
                        <xs:enumeration value="RGBE">
 
971
                                <xs:annotation>
 
972
                                        <xs:documentation>RGB color + shared exponent for HDR </xs:documentation>
 
973
                                </xs:annotation>
 
974
                        </xs:enumeration>
 
975
                        <xs:enumeration value="L">
 
976
                                <xs:annotation>
 
977
                                        <xs:documentation>Luminance map often used for light mapping </xs:documentation>
 
978
                                </xs:annotation>
 
979
                        </xs:enumeration>
 
980
                        <xs:enumeration value="LA">
 
981
                                <xs:annotation>
 
982
                                        <xs:documentation>Luminance+Alpha map often used for light mapping </xs:documentation>
 
983
                                </xs:annotation>
 
984
                        </xs:enumeration>
 
985
                        <xs:enumeration value="D">
 
986
                                <xs:annotation>
 
987
                                        <xs:documentation>Depth map often used for displacement, parellax, relief, or shadow mapping.  Depth is depth seperate from Luminace to make special hardware considerations </xs:documentation>
 
988
                                </xs:annotation>
 
989
                        </xs:enumeration>
 
990
                </xs:restriction>
 
991
        </xs:simpleType>
 
992
        <xs:simpleType name="image_format_hint_precision_enum">
 
993
                <xs:annotation>
 
994
                        <xs:documentation>Each channel of the texel has a precision.  Typically these are all linked together.  An exact format lay lower the precision of an individual channel but applying a higher precision by linking the channels together may still convey the same information.</xs:documentation>
 
995
                </xs:annotation>
 
996
                <xs:restriction base="xs:string">
 
997
                        <xs:enumeration value="DEFAULT">
 
998
                                <xs:annotation>
 
999
                                        <xs:documentation>Designer does not care as long as it provides "reasonable" percision and performance</xs:documentation>
 
1000
                                </xs:annotation>
 
1001
                        </xs:enumeration>
 
1002
                        <xs:enumeration value="LOW">
 
1003
                                <xs:annotation>
 
1004
                                        <xs:documentation>For integers this typically represents 8 bits.  For floats typically 16 bits.</xs:documentation>
 
1005
                                </xs:annotation>
 
1006
                        </xs:enumeration>
 
1007
                        <xs:enumeration value="MID">
 
1008
                                <xs:annotation>
 
1009
                                        <xs:documentation>For integers this typically represents 8 to 24 bits.  For floats typically 16 to 32 bits.</xs:documentation>
 
1010
                                </xs:annotation>
 
1011
                        </xs:enumeration>
 
1012
                        <xs:enumeration value="HIGH">
 
1013
                                <xs:annotation>
 
1014
                                        <xs:documentation>For integers this typically represents 16 to 32 bits.  For floats typically 24 to 32 bits.</xs:documentation>
 
1015
                                </xs:annotation>
 
1016
                        </xs:enumeration>
 
1017
                        <xs:enumeration value="MAX">
 
1018
                                <xs:annotation>
 
1019
                                        <xs:documentation>Typically 32 bits or 64 bits if available.  64 bit has been seperated into it's own catagory beyond HIGH because it typically has significant performance impact and is beyond what non CAD software considers high percision.</xs:documentation>
 
1020
                                </xs:annotation>
 
1021
                        </xs:enumeration>
 
1022
                </xs:restriction>
 
1023
        </xs:simpleType>
 
1024
        <xs:simpleType name="image_format_hint_range_enum">
 
1025
                <xs:annotation>
 
1026
                        <xs:documentation>Each channel represents a range of values. Some example ranges are signed or unsigned integers, or between between a clamped range such as 0.0f to 1.0f, or high dynamic range via floating point</xs:documentation>
 
1027
                </xs:annotation>
 
1028
                <xs:restriction base="xs:string">
 
1029
                        <xs:enumeration value="SNORM">
 
1030
                                <xs:annotation>
 
1031
                                        <xs:documentation>Format is representing a decimal value that remains within the -1 to 1 range. Implimentation could be integer-fixedpoint or floats.</xs:documentation>
 
1032
                                </xs:annotation>
 
1033
                        </xs:enumeration>
 
1034
                        <xs:enumeration value="UNORM">
 
1035
                                <xs:annotation>
 
1036
                                        <xs:documentation>Format is representing a decimal value that remains within the 0 to 1 range. Implimentation could be integer-fixedpoint or floats.</xs:documentation>
 
1037
                                </xs:annotation>
 
1038
                        </xs:enumeration>
 
1039
                        <xs:enumeration value="SINT">
 
1040
                                <xs:annotation>
 
1041
                                        <xs:documentation>Format is representing signed integer numbers.  (ex. 8bits = -128 to 127)</xs:documentation>
 
1042
                                </xs:annotation>
 
1043
                        </xs:enumeration>
 
1044
                        <xs:enumeration value="UINT">
 
1045
                                <xs:annotation>
 
1046
                                        <xs:documentation>Format is representing unsigned integer numbers.  (ex. 8bits = 0 to 255)</xs:documentation>
 
1047
                                </xs:annotation>
 
1048
                        </xs:enumeration>
 
1049
                        <xs:enumeration value="FLOAT">
 
1050
                                <xs:annotation>
 
1051
                                        <xs:documentation>Format should support full floating point ranges.  High precision is expected to be 32bit. Mid precision may be 16 to 32 bit.  Low precision is expected to be 16 bit.</xs:documentation>
 
1052
                                </xs:annotation>
 
1053
                        </xs:enumeration>
 
1054
                </xs:restriction>
 
1055
        </xs:simpleType>
 
1056
        <xs:complexType name="channel_type">
 
1057
                <xs:annotation>
 
1058
                        <xs:documentation>
 
1059
                        The channel element declares an output channel of an animation.
 
1060
                        </xs:documentation>
 
1061
                </xs:annotation>
 
1062
                <xs:attribute name="source" type="urifragment_type" use="required">
 
1063
                        <xs:annotation>
 
1064
                                <xs:documentation>
 
1065
                                        The source attribute indicates the location of the sampler using a URL expression. 
 
1066
                                        The sampler must be declared within the same document. Required attribute.
 
1067
                                        </xs:documentation>
 
1068
                        </xs:annotation>
 
1069
                </xs:attribute>
 
1070
                <xs:attribute name="target" type="xs:token" use="required">
 
1071
                        <xs:annotation>
 
1072
                                <xs:documentation>
 
1073
                                        The target attribute indicates the location of the element bound to the output of the sampler. 
 
1074
                                        This text string is a path-name following a simple syntax described in Address Syntax. 
 
1075
                                        Required attribute.
 
1076
                                        </xs:documentation>
 
1077
                        </xs:annotation>
 
1078
                </xs:attribute>
 
1079
        </xs:complexType>
 
1080
        <xs:complexType name="sampler_type">
 
1081
                <xs:annotation>
 
1082
                        <xs:documentation>
 
1083
                        The sampler element declares an N-dimensional function used for animation. Animation function curves 
 
1084
                        are represented by 1-D sampler elements in COLLADA. The sampler defines sampling points and how to 
 
1085
                        interpolate between them.
 
1086
                        </xs:documentation>
 
1087
                </xs:annotation>
 
1088
                <xs:sequence>
 
1089
                        <xs:element name="input" type="input_local_type" maxOccurs="unbounded">
 
1090
                                <xs:annotation>
 
1091
                                        <xs:documentation>
 
1092
                                                The input element must occur at least one time. These inputs are local inputs.
 
1093
                                                </xs:documentation>
 
1094
                                </xs:annotation>
 
1095
                        </xs:element>
 
1096
                </xs:sequence>
 
1097
                <xs:attribute name="id" type="xs:ID">
 
1098
                        <xs:annotation>
 
1099
                                <xs:documentation>
 
1100
                                        The id attribute is a text string containing the unique identifier of this element. This value 
 
1101
                                        must be unique within the instance document. Optional attribute.
 
1102
                                        </xs:documentation>
 
1103
                        </xs:annotation>
 
1104
                </xs:attribute>
 
1105
                <xs:attribute name="pre_behavior" type="sampler_behavior_enum">
 
1106
                        <xs:annotation>
 
1107
                                <xs:documentation>
 
1108
                                        Indicates what the sampled value should be before the first key.
 
1109
                </xs:documentation>
 
1110
                        </xs:annotation>
 
1111
                </xs:attribute>
 
1112
                <xs:attribute name="post_behavior" type="sampler_behavior_enum">
 
1113
                        <xs:annotation>
 
1114
                                <xs:documentation>
 
1115
                                        Indicates what the sampled value should be after the last key.
 
1116
                </xs:documentation>
 
1117
                        </xs:annotation>
 
1118
                </xs:attribute>
 
1119
        </xs:complexType>
 
1120
        <xs:simpleType name="altitude_mode_enum">
 
1121
                <xs:annotation>
 
1122
                        <xs:documentation> 
 
1123
            The legal values for the mode attribute on the altitute element in a 
 
1124
geographic_location element. 
 
1125
            </xs:documentation>
 
1126
                </xs:annotation>
 
1127
                <xs:restriction base="xs:string">
 
1128
                        <xs:enumeration value="absolute"/>
 
1129
                        <xs:enumeration value="relativeToGround"/>
 
1130
                </xs:restriction>
 
1131
        </xs:simpleType>
 
1132
        <xs:complexType name="technique_type">
 
1133
                <xs:annotation>
 
1134
                        <xs:appinfo>enable-xmlns</xs:appinfo>
 
1135
                        <xs:documentation>
 
1136
                        The technique element declares the information used to process some portion of the content. Each 
 
1137
                        technique conforms to an associated profile. Techniques generally act as a "switch". If more than 
 
1138
                        one is present for a particular portion of content, on import, one or the other is picked, but 
 
1139
                        usually not both. Selection should be based on which profile the importing application can support.
 
1140
                        Techniques contain application data and programs, making them assets that can be managed as a unit.
 
1141
                        </xs:documentation>
 
1142
                </xs:annotation>
 
1143
                <xs:sequence>
 
1144
                        <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
 
1145
                </xs:sequence>
 
1146
                <xs:attribute name="profile" type="xs:NMTOKEN" use="required">
 
1147
                        <xs:annotation>
 
1148
                                <xs:documentation>
 
1149
                                        The profile attribute indicates the type of profile. This is a vendor defined character 
 
1150
                                        string that indicates the platform or capability target for the technique. Required attribute.
 
1151
                                        </xs:documentation>
 
1152
                        </xs:annotation>
 
1153
                </xs:attribute>
 
1154
        </xs:complexType>
 
1155
        <xs:complexType name="extra_type">
 
1156
                <xs:annotation>
 
1157
                        <xs:documentation>
 
1158
                        The extra element declares additional information regarding its parent element.
 
1159
                        </xs:documentation>
 
1160
                </xs:annotation>
 
1161
                <xs:sequence>
 
1162
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
1163
                                <xs:annotation>
 
1164
                                        <xs:documentation>
 
1165
                                                The extra element may contain an asset element.
 
1166
                                                </xs:documentation>
 
1167
                                </xs:annotation>
 
1168
                        </xs:element>
 
1169
                        <xs:element name="technique" type="technique_type" maxOccurs="unbounded">
 
1170
                                <xs:annotation>
 
1171
                                        <xs:documentation>
 
1172
                                                This element must contain at least one non-common profile technique.
 
1173
                                                </xs:documentation>
 
1174
                                </xs:annotation>
 
1175
                        </xs:element>
 
1176
                </xs:sequence>
 
1177
                <xs:attribute name="id" type="xs:ID">
 
1178
                        <xs:annotation>
 
1179
                                <xs:documentation>
 
1180
                                        The id attribute is a text string containing the unique identifier of this element. This value 
 
1181
                                        must be unique within the instance document. Optional attribute.
 
1182
                                        </xs:documentation>
 
1183
                        </xs:annotation>
 
1184
                </xs:attribute>
 
1185
                <xs:attribute name="name" type="xs:token">
 
1186
                        <xs:annotation>
 
1187
                                <xs:documentation>
 
1188
                                        The name attribute is the text string name of this element. Optional attribute.
 
1189
                                        </xs:documentation>
 
1190
                        </xs:annotation>
 
1191
                </xs:attribute>
 
1192
                <xs:attribute name="type" type="xs:NMTOKEN">
 
1193
                        <xs:annotation>
 
1194
                                <xs:documentation>
 
1195
                                        The type attribute indicates the type of the value data. This text string must be understood by 
 
1196
                                        the application. Optional attribute.
 
1197
                                        </xs:documentation>
 
1198
                        </xs:annotation>
 
1199
                </xs:attribute>
 
1200
        </xs:complexType>
 
1201
        <xs:complexType name="polylist_type">
 
1202
                <xs:annotation>
 
1203
                        <xs:documentation>
 
1204
                        The polylist element provides the information needed to bind vertex attributes together and 
 
1205
                        then organize those vertices into individual polygons. The polygons described in polylist can 
 
1206
                        contain arbitrary numbers of vertices. Unlike the polygons element, the polylist element cannot 
 
1207
                        contain polygons with holes.
 
1208
                        </xs:documentation>
 
1209
                </xs:annotation>
 
1210
                <xs:sequence>
 
1211
                        <xs:element name="input" type="input_local_offset_type" minOccurs="0" maxOccurs="unbounded">
 
1212
                                <xs:annotation>
 
1213
                                        <xs:documentation>
 
1214
                                                The input element may occur any number of times. This input is a local input with the 
 
1215
                                                offset and set attributes.
 
1216
                                                </xs:documentation>
 
1217
                                </xs:annotation>
 
1218
                        </xs:element>
 
1219
                        <xs:element name="vcount" type="list_of_uints_type" minOccurs="0">
 
1220
                                <xs:annotation>
 
1221
                                        <xs:documentation>
 
1222
                                                The vcount element contains a list of integers describing the number of sides for each polygon 
 
1223
                                                described by the polylist element. The vcount element may occur once.
 
1224
                                                </xs:documentation>
 
1225
                                </xs:annotation>
 
1226
                        </xs:element>
 
1227
                        <xs:element name="p" type="p_type" minOccurs="0">
 
1228
                                <xs:annotation>
 
1229
                                        <xs:documentation>
 
1230
                                                The polylist element may have zero or one p element.
 
1231
                                                </xs:documentation>
 
1232
                                </xs:annotation>
 
1233
                        </xs:element>
 
1234
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
1235
                                <xs:annotation>
 
1236
                                        <xs:documentation>
 
1237
                                                The extra element may appear any number of times.
 
1238
                                                </xs:documentation>
 
1239
                                </xs:annotation>
 
1240
                        </xs:element>
 
1241
                </xs:sequence>
 
1242
                <xs:attribute name="name" type="xs:token">
 
1243
                        <xs:annotation>
 
1244
                                <xs:documentation>
 
1245
                                        The name attribute is the text string name of this element. Optional attribute.
 
1246
                                        </xs:documentation>
 
1247
                        </xs:annotation>
 
1248
                </xs:attribute>
 
1249
                <xs:attribute name="count" type="uint_type" use="required">
 
1250
                        <xs:annotation>
 
1251
                                <xs:documentation>
 
1252
                                        The count attribute indicates the number of polygon primitives. Required attribute.
 
1253
                                        </xs:documentation>
 
1254
                        </xs:annotation>
 
1255
                </xs:attribute>
 
1256
                <xs:attribute name="material" type="xs:NCName">
 
1257
                        <xs:annotation>
 
1258
                                <xs:documentation>
 
1259
                                        The material attribute declares a symbol for a material. This symbol is bound to a material at 
 
1260
                                        the time of instantiation. If the material attribute is not specified then the lighting and 
 
1261
                                        shading results are application defined. Optional attribute.
 
1262
                                        </xs:documentation>
 
1263
                        </xs:annotation>
 
1264
                </xs:attribute>
 
1265
        </xs:complexType>
 
1266
        <xs:complexType name="polygons_type">
 
1267
                <xs:annotation>
 
1268
                        <xs:documentation>
 
1269
                        The polygons element provides the information needed to bind vertex attributes together and 
 
1270
                        then organize those vertices into individual polygons. The polygons described can contain 
 
1271
                        arbitrary numbers of vertices. These polygons may be self intersecting and may also contain holes.
 
1272
                        </xs:documentation>
 
1273
                </xs:annotation>
 
1274
                <xs:sequence>
 
1275
                        <xs:element name="input" type="input_local_offset_type" minOccurs="0" maxOccurs="unbounded">
 
1276
                                <xs:annotation>
 
1277
                                        <xs:documentation>
 
1278
                                                The input element may occur any number of times. This input is a local input with the 
 
1279
                                                offset and set attributes.
 
1280
                                                </xs:documentation>
 
1281
                                </xs:annotation>
 
1282
                        </xs:element>
 
1283
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
1284
                                <xs:element name="p" type="p_type">
 
1285
                                        <xs:annotation>
 
1286
                                                <xs:documentation>
 
1287
                                                        The p element may occur any number of times.
 
1288
                                                        </xs:documentation>
 
1289
                                        </xs:annotation>
 
1290
                                </xs:element>
 
1291
                                <xs:element name="ph">
 
1292
                                        <xs:annotation>
 
1293
                                                <xs:documentation>
 
1294
                                                        The ph element may occur any number of times. It describes a polygon with holes.
 
1295
                                                        </xs:documentation>
 
1296
                                        </xs:annotation>
 
1297
                                        <xs:complexType>
 
1298
                                                <xs:sequence>
 
1299
                                                        <xs:element name="p" type="p_type">
 
1300
                                                                <xs:annotation>
 
1301
                                                                        <xs:documentation>
 
1302
                                                                                There may only be one p element.
 
1303
                                                                                </xs:documentation>
 
1304
                                                                </xs:annotation>
 
1305
                                                        </xs:element>
 
1306
                                                        <xs:element name="h" type="list_of_uints_type" maxOccurs="unbounded">
 
1307
                                                                <xs:annotation>
 
1308
                                                                        <xs:documentation>
 
1309
                                                                                The h element represents a hole in the polygon specified. There must be at least one h element.
 
1310
                                                                                </xs:documentation>
 
1311
                                                                </xs:annotation>
 
1312
                                                        </xs:element>
 
1313
                                                </xs:sequence>
 
1314
                                        </xs:complexType>
 
1315
                                </xs:element>
 
1316
                        </xs:choice>
 
1317
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
1318
                                <xs:annotation>
 
1319
                                        <xs:documentation>
 
1320
                                                The extra element may appear any number of times.
 
1321
                                                </xs:documentation>
 
1322
                                </xs:annotation>
 
1323
                        </xs:element>
 
1324
                </xs:sequence>
 
1325
                <xs:attribute name="name" type="xs:token">
 
1326
                        <xs:annotation>
 
1327
                                <xs:documentation>
 
1328
                                        The name attribute is the text string name of this element. Optional attribute.
 
1329
                                        </xs:documentation>
 
1330
                        </xs:annotation>
 
1331
                </xs:attribute>
 
1332
                <xs:attribute name="count" type="uint_type" use="required">
 
1333
                        <xs:annotation>
 
1334
                                <xs:documentation>
 
1335
                                        The count attribute indicates the number of polygon primitives. Required attribute.
 
1336
                                        </xs:documentation>
 
1337
                        </xs:annotation>
 
1338
                </xs:attribute>
 
1339
                <xs:attribute name="material" type="xs:NCName">
 
1340
                        <xs:annotation>
 
1341
                                <xs:documentation>
 
1342
                                        The material attribute declares a symbol for a material. This symbol is bound to a material 
 
1343
                                        at the time of instantiation. If the material attribute is not specified then the lighting 
 
1344
                                        and shading results are application defined. Optional attribute. 
 
1345
                                        </xs:documentation>
 
1346
                        </xs:annotation>
 
1347
                </xs:attribute>
 
1348
        </xs:complexType>
 
1349
        <xs:complexType name="linestrips_type">
 
1350
                <xs:annotation>
 
1351
                        <xs:documentation>
 
1352
                        The linestrips element provides the information needed to bind vertex attributes together and 
 
1353
                        then organize those vertices into connected line-strips. Each line-strip described by the mesh 
 
1354
                        has an arbitrary number of vertices. Each line segment within the line-strip is formed from the 
 
1355
                        current vertex and the preceding vertex.
 
1356
                        </xs:documentation>
 
1357
                </xs:annotation>
 
1358
                <xs:sequence>
 
1359
                        <xs:element name="input" type="input_local_offset_type" minOccurs="0" maxOccurs="unbounded">
 
1360
                                <xs:annotation>
 
1361
                                        <xs:documentation>
 
1362
                                                The input element may occur any number of times. This input is a local input with the offset 
 
1363
                                                and set attributes.
 
1364
                                                </xs:documentation>
 
1365
                                </xs:annotation>
 
1366
                        </xs:element>
 
1367
                        <xs:element name="p" type="p_type" minOccurs="0" maxOccurs="unbounded">
 
1368
                                <xs:annotation>
 
1369
                                        <xs:documentation>
 
1370
                                                The linestrips element may have any number of p elements.
 
1371
                                                </xs:documentation>
 
1372
                                </xs:annotation>
 
1373
                        </xs:element>
 
1374
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
1375
                                <xs:annotation>
 
1376
                                        <xs:documentation>
 
1377
                                                The extra element may appear any number of times.
 
1378
                                                </xs:documentation>
 
1379
                                </xs:annotation>
 
1380
                        </xs:element>
 
1381
                </xs:sequence>
 
1382
                <xs:attribute name="name" type="xs:token">
 
1383
                        <xs:annotation>
 
1384
                                <xs:documentation>
 
1385
                                        The name attribute is the text string name of this element. Optional attribute.
 
1386
                                        </xs:documentation>
 
1387
                        </xs:annotation>
 
1388
                </xs:attribute>
 
1389
                <xs:attribute name="count" type="uint_type" use="required">
 
1390
                        <xs:annotation>
 
1391
                                <xs:documentation>
 
1392
                                        The count attribute indicates the number of linestrip primitives. Required attribute.
 
1393
                                        </xs:documentation>
 
1394
                        </xs:annotation>
 
1395
                </xs:attribute>
 
1396
                <xs:attribute name="material" type="xs:NCName">
 
1397
                        <xs:annotation>
 
1398
                                <xs:documentation>
 
1399
                                        The material attribute declares a symbol for a material. This symbol is bound to a material 
 
1400
                                        at the time of instantiation. If the material attribute is not specified then the lighting 
 
1401
                                        and shading results are application defined. Optional attribute.
 
1402
                                        </xs:documentation>
 
1403
                        </xs:annotation>
 
1404
                </xs:attribute>
 
1405
        </xs:complexType>
 
1406
        <xs:complexType name="tristrips_type">
 
1407
                <xs:annotation>
 
1408
                        <xs:documentation>
 
1409
                        The tristrips element provides the information needed to bind vertex attributes together and then 
 
1410
                        organize those vertices into connected triangles. Each triangle described by the mesh has three 
 
1411
                        vertices. The first triangle is formed from first, second, and third vertices. Each subsequent 
 
1412
                        triangle is formed from the current vertex, reusing the previous two vertices.
 
1413
                        </xs:documentation>
 
1414
                </xs:annotation>
 
1415
                <xs:sequence>
 
1416
                        <xs:element name="input" type="input_local_offset_type" minOccurs="0" maxOccurs="unbounded">
 
1417
                                <xs:annotation>
 
1418
                                        <xs:documentation>
 
1419
                                                The input element may occur any number of times. This input is a local input with the offset 
 
1420
                                                and set attributes.
 
1421
                                                </xs:documentation>
 
1422
                                </xs:annotation>
 
1423
                        </xs:element>
 
1424
                        <xs:element name="p" type="p_type" minOccurs="0" maxOccurs="unbounded">
 
1425
                                <xs:annotation>
 
1426
                                        <xs:documentation>
 
1427
                                                The tristrips element may have any number of p elements.
 
1428
                                                </xs:documentation>
 
1429
                                </xs:annotation>
 
1430
                        </xs:element>
 
1431
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
1432
                                <xs:annotation>
 
1433
                                        <xs:documentation>
 
1434
                                                The extra element may appear any number of times.
 
1435
                                                </xs:documentation>
 
1436
                                </xs:annotation>
 
1437
                        </xs:element>
 
1438
                </xs:sequence>
 
1439
                <xs:attribute name="name" type="xs:token">
 
1440
                        <xs:annotation>
 
1441
                                <xs:documentation>
 
1442
                                        The name attribute is the text string name of this element. Optional attribute.
 
1443
                                        </xs:documentation>
 
1444
                        </xs:annotation>
 
1445
                </xs:attribute>
 
1446
                <xs:attribute name="count" type="uint_type" use="required">
 
1447
                        <xs:annotation>
 
1448
                                <xs:documentation>
 
1449
                                        The count attribute indicates the number of triangle strip primitives. Required attribute.
 
1450
                                        </xs:documentation>
 
1451
                        </xs:annotation>
 
1452
                </xs:attribute>
 
1453
                <xs:attribute name="material" type="xs:NCName">
 
1454
                        <xs:annotation>
 
1455
                                <xs:documentation>
 
1456
                                        The material attribute declares a symbol for a material. This symbol is bound to a material 
 
1457
                                        at the time of instantiation. If the material attribute is not specified then the lighting 
 
1458
                                        and shading results are application defined. Optional attribute.
 
1459
                                        </xs:documentation>
 
1460
                        </xs:annotation>
 
1461
                </xs:attribute>
 
1462
        </xs:complexType>
 
1463
        <xs:complexType name="lines_type">
 
1464
                <xs:annotation>
 
1465
                        <xs:documentation>
 
1466
                        The lines element provides the information needed to bind vertex attributes together and then 
 
1467
                        organize those vertices into individual lines. Each line described by the mesh has two vertices. 
 
1468
                        The first line is formed from first and second vertices. The second line is formed from the 
 
1469
                        third and fourth vertices and so on.
 
1470
                        </xs:documentation>
 
1471
                </xs:annotation>
 
1472
                <xs:sequence>
 
1473
                        <xs:element name="input" type="input_local_offset_type" minOccurs="0" maxOccurs="unbounded">
 
1474
                                <xs:annotation>
 
1475
                                        <xs:documentation>
 
1476
                                                The input element may occur any number of times. This input is a local input with the offset 
 
1477
                                                and set attributes.
 
1478
                                                </xs:documentation>
 
1479
                                </xs:annotation>
 
1480
                        </xs:element>
 
1481
                        <xs:element name="p" type="p_type" minOccurs="0">
 
1482
                                <xs:annotation>
 
1483
                                        <xs:documentation>
 
1484
                                                The lines element may have zero or one p element.
 
1485
                                                </xs:documentation>
 
1486
                                </xs:annotation>
 
1487
                        </xs:element>
 
1488
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
1489
                                <xs:annotation>
 
1490
                                        <xs:documentation>
 
1491
                                                The extra element may appear any number of times.
 
1492
                                                </xs:documentation>
 
1493
                                </xs:annotation>
 
1494
                        </xs:element>
 
1495
                </xs:sequence>
 
1496
                <xs:attribute name="name" type="xs:token">
 
1497
                        <xs:annotation>
 
1498
                                <xs:documentation>
 
1499
                                        The name attribute is the text string name of this element. Optional attribute.
 
1500
                                        </xs:documentation>
 
1501
                        </xs:annotation>
 
1502
                </xs:attribute>
 
1503
                <xs:attribute name="count" type="uint_type" use="required">
 
1504
                        <xs:annotation>
 
1505
                                <xs:documentation>
 
1506
                                        The count attribute indicates the number of line primitives. Required attribute.
 
1507
                                        </xs:documentation>
 
1508
                        </xs:annotation>
 
1509
                </xs:attribute>
 
1510
                <xs:attribute name="material" type="xs:NCName">
 
1511
                        <xs:annotation>
 
1512
                                <xs:documentation>
 
1513
                                        The material attribute declares a symbol for a material. This symbol is bound to a material at 
 
1514
                                        the time of instantiation. If the material attribute is not specified then the lighting and 
 
1515
                                        shading results are application defined. Optional attribute.
 
1516
                                        </xs:documentation>
 
1517
                        </xs:annotation>
 
1518
                </xs:attribute>
 
1519
        </xs:complexType>
 
1520
        <xs:complexType name="triangles_type">
 
1521
                <xs:annotation>
 
1522
                        <xs:documentation>
 
1523
                        The triangles element provides the information needed to bind vertex attributes together and 
 
1524
                        then organize those vertices into individual triangles. Each triangle described by the mesh has 
 
1525
                        three vertices. The first triangle is formed from the first, second, and third vertices. The 
 
1526
                        second triangle is formed from the fourth, fifth, and sixth vertices, and so on.
 
1527
                        </xs:documentation>
 
1528
                </xs:annotation>
 
1529
                <xs:sequence>
 
1530
                        <xs:element name="input" type="input_local_offset_type" minOccurs="0" maxOccurs="unbounded">
 
1531
                                <xs:annotation>
 
1532
                                        <xs:documentation>
 
1533
                                                The input element may occur any number of times. This input is a local input with the 
 
1534
                                                offset and set attributes.
 
1535
                                                </xs:documentation>
 
1536
                                </xs:annotation>
 
1537
                        </xs:element>
 
1538
                        <xs:element name="p" type="p_type" minOccurs="0">
 
1539
                                <xs:annotation>
 
1540
                                        <xs:documentation>
 
1541
                                                The triangles element may have zero or one p element.
 
1542
                                                </xs:documentation>
 
1543
                                </xs:annotation>
 
1544
                        </xs:element>
 
1545
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
1546
                                <xs:annotation>
 
1547
                                        <xs:documentation>
 
1548
                                                The extra element may appear any number of times.
 
1549
                                                </xs:documentation>
 
1550
                                </xs:annotation>
 
1551
                        </xs:element>
 
1552
                </xs:sequence>
 
1553
                <xs:attribute name="name" type="xs:token">
 
1554
                        <xs:annotation>
 
1555
                                <xs:documentation>
 
1556
                                        The name attribute is the text string name of this element. Optional attribute.
 
1557
                                        </xs:documentation>
 
1558
                        </xs:annotation>
 
1559
                </xs:attribute>
 
1560
                <xs:attribute name="count" type="uint_type" use="required">
 
1561
                        <xs:annotation>
 
1562
                                <xs:documentation>
 
1563
                                        The count attribute indicates the number of triangle primitives. Required attribute.
 
1564
                                        </xs:documentation>
 
1565
                        </xs:annotation>
 
1566
                </xs:attribute>
 
1567
                <xs:attribute name="material" type="xs:NCName">
 
1568
                        <xs:annotation>
 
1569
                                <xs:documentation>
 
1570
                                        The material attribute declares a symbol for a material. This symbol is bound to a material at 
 
1571
                                        the time of instantiation. Optional attribute. If the material attribute is not specified then 
 
1572
                                        the lighting and shading results are application defined.
 
1573
                                        </xs:documentation>
 
1574
                        </xs:annotation>
 
1575
                </xs:attribute>
 
1576
        </xs:complexType>
 
1577
        <xs:complexType name="trifans_type">
 
1578
                <xs:annotation>
 
1579
                        <xs:documentation>
 
1580
                        The trifans element provides the information needed to bind vertex attributes together and then 
 
1581
                        organize those vertices into connected triangles. Each triangle described by the mesh has three 
 
1582
                        vertices. The first triangle is formed from first, second, and third vertices. Each subsequent 
 
1583
                        triangle is formed from the current vertex, reusing the first and the previous vertices.
 
1584
                        </xs:documentation>
 
1585
                </xs:annotation>
 
1586
                <xs:sequence>
 
1587
                        <xs:element name="input" type="input_local_offset_type" minOccurs="0" maxOccurs="unbounded">
 
1588
                                <xs:annotation>
 
1589
                                        <xs:documentation>
 
1590
                                                The input element may occur any number of times. This input is a local input with the 
 
1591
                                                offset and set attributes.
 
1592
                                                </xs:documentation>
 
1593
                                </xs:annotation>
 
1594
                        </xs:element>
 
1595
                        <xs:element name="p" type="p_type" minOccurs="0" maxOccurs="unbounded">
 
1596
                                <xs:annotation>
 
1597
                                        <xs:documentation>
 
1598
                                                The trifans element may have any number of p elements.
 
1599
                                                </xs:documentation>
 
1600
                                </xs:annotation>
 
1601
                        </xs:element>
 
1602
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
1603
                                <xs:annotation>
 
1604
                                        <xs:documentation>
 
1605
                                                The extra element may appear any number of times.
 
1606
                                                </xs:documentation>
 
1607
                                </xs:annotation>
 
1608
                        </xs:element>
 
1609
                </xs:sequence>
 
1610
                <xs:attribute name="name" type="xs:token">
 
1611
                        <xs:annotation>
 
1612
                                <xs:documentation>
 
1613
                                        The name attribute is the text string name of this element. Optional attribute.
 
1614
                                        </xs:documentation>
 
1615
                        </xs:annotation>
 
1616
                </xs:attribute>
 
1617
                <xs:attribute name="count" type="uint_type" use="required">
 
1618
                        <xs:annotation>
 
1619
                                <xs:documentation>
 
1620
                                        The count attribute indicates the number of triangle fan primitives. Required attribute.
 
1621
                                        </xs:documentation>
 
1622
                        </xs:annotation>
 
1623
                </xs:attribute>
 
1624
                <xs:attribute name="material" type="xs:NCName">
 
1625
                        <xs:annotation>
 
1626
                                <xs:documentation>
 
1627
                                        The material attribute declares a symbol for a material. This symbol is bound to a material 
 
1628
                                        at the time of instantiation. If the material attribute is not specified then the lighting 
 
1629
                                        and shading results are application defined. Optional attribute.
 
1630
                                        </xs:documentation>
 
1631
                        </xs:annotation>
 
1632
                </xs:attribute>
 
1633
        </xs:complexType>
 
1634
        <xs:complexType name="vertices_type">
 
1635
                <xs:annotation>
 
1636
                        <xs:documentation>
 
1637
                        The vertices element declares the attributes and identity of mesh-vertices. The vertices element
 
1638
                        describes mesh-vertices in a mesh geometry. The mesh-vertices represent the position (identity) 
 
1639
                        of the vertices comprising the mesh and other vertex attributes that are invariant to tessellation.
 
1640
                        </xs:documentation>
 
1641
                </xs:annotation>
 
1642
                <xs:sequence>
 
1643
                        <xs:element name="input" type="input_local_type" maxOccurs="unbounded">
 
1644
                                <xs:annotation>
 
1645
                                        <xs:documentation>
 
1646
                                                The input element must occur at least one time. These inputs are local inputs.
 
1647
                                                </xs:documentation>
 
1648
                                </xs:annotation>
 
1649
                        </xs:element>
 
1650
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
1651
                                <xs:annotation>
 
1652
                                        <xs:documentation>
 
1653
                                                The extra element may appear any number of times.
 
1654
                                                </xs:documentation>
 
1655
                                </xs:annotation>
 
1656
                        </xs:element>
 
1657
                </xs:sequence>
 
1658
                <xs:attribute name="id" type="xs:ID" use="required">
 
1659
                        <xs:annotation>
 
1660
                                <xs:documentation>
 
1661
                                        The id attribute is a text string containing the unique identifier of this element. This 
 
1662
                                        value must be unique within the instance document. Required attribute.
 
1663
                                        </xs:documentation>
 
1664
                        </xs:annotation>
 
1665
                </xs:attribute>
 
1666
                <xs:attribute name="name" type="xs:token">
 
1667
                        <xs:annotation>
 
1668
                                <xs:documentation>
 
1669
                                        The name attribute is the text string name of this element. Optional attribute.
 
1670
                                        </xs:documentation>
 
1671
                        </xs:annotation>
 
1672
                </xs:attribute>
 
1673
        </xs:complexType>
 
1674
        <xs:complexType name="asset_type">
 
1675
                <xs:annotation>
 
1676
                        <xs:documentation>
 
1677
                        The asset element defines asset management information regarding its parent element.
 
1678
                        </xs:documentation>
 
1679
                </xs:annotation>
 
1680
                <xs:sequence>
 
1681
                        <xs:element name="contributor" minOccurs="0" maxOccurs="unbounded">
 
1682
                                <xs:annotation>
 
1683
                                        <xs:documentation>
 
1684
                                                The contributor element defines authoring information for asset management
 
1685
                                                </xs:documentation>
 
1686
                                </xs:annotation>
 
1687
                                <xs:complexType>
 
1688
                                        <xs:sequence>
 
1689
                                                <xs:element name="author" type="xs:string" minOccurs="0">
 
1690
                                                        <xs:annotation>
 
1691
                                                                <xs:documentation>
 
1692
                                                                        The author element contains a string with the author's name.
 
1693
                                                                        There may be only one author element.
 
1694
                                                                        </xs:documentation>
 
1695
                                                        </xs:annotation>
 
1696
                                                </xs:element>
 
1697
                                                <xs:element name="author_email" minOccurs="0">
 
1698
                                                        <xs:annotation>
 
1699
                                                                <xs:documentation>Contains a string with author's email address. String that compliant with RFC 2822 section 3.4. This element has no attributes. There may be only one author email address.</xs:documentation>
 
1700
                                                        </xs:annotation>
 
1701
                                                        <xs:simpleType>
 
1702
                                                                <xs:restriction base="xs:string">
 
1703
                                                                        <xs:pattern value="[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*@[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+(\.[A-Za-z0-9!#-'\*\+\-/=\?\^_`\{-~]+)*"/>
 
1704
                                                                </xs:restriction>
 
1705
                                                        </xs:simpleType>
 
1706
                                                </xs:element>
 
1707
                                                <xs:element name="author_website" type="xs:anyURI" minOccurs="0">
 
1708
                                                        <xs:annotation>
 
1709
                                                                <xs:documentation>Contains a URI reference (xs:anyURI) to author's website.  This element has no attributes.   There may be only one author website.</xs:documentation>
 
1710
                                                        </xs:annotation>
 
1711
                                                </xs:element>
 
1712
                                                <xs:element name="authoring_tool" type="xs:string" minOccurs="0">
 
1713
                                                        <xs:annotation>
 
1714
                                                                <xs:documentation>
 
1715
                                                                        The authoring_tool element contains a string with the authoring tool's name.
 
1716
                                                                        There may be only one authoring_tool element.
 
1717
                                                                        </xs:documentation>
 
1718
                                                        </xs:annotation>
 
1719
                                                </xs:element>
 
1720
                                                <xs:element name="comments" type="xs:string" minOccurs="0">
 
1721
                                                        <xs:annotation>
 
1722
                                                                <xs:documentation>
 
1723
                                                                        The comments element contains a string with comments from this contributor.
 
1724
                                                                        There may be only one comments element.
 
1725
                                                                        </xs:documentation>
 
1726
                                                        </xs:annotation>
 
1727
                                                </xs:element>
 
1728
                                                <xs:element name="copyright" type="xs:string" minOccurs="0">
 
1729
                                                        <xs:annotation>
 
1730
                                                                <xs:documentation>
 
1731
                                                                        The copyright element contains a string with copyright information.
 
1732
                                                                        There may be only one copyright element.
 
1733
                                                                        </xs:documentation>
 
1734
                                                        </xs:annotation>
 
1735
                                                </xs:element>
 
1736
                                                <xs:element name="source_data" type="xs:anyURI" minOccurs="0">
 
1737
                                                        <xs:annotation>
 
1738
                                                                <xs:documentation>
 
1739
                                                                        The source_data element contains a URI reference to the source data used for this asset.
 
1740
                                                                        There may be only one source_data element.
 
1741
                                                                        </xs:documentation>
 
1742
                                                        </xs:annotation>
 
1743
                                                </xs:element>
 
1744
                                        </xs:sequence>
 
1745
                                </xs:complexType>
 
1746
                        </xs:element>
 
1747
                        <xs:element name="coverage" minOccurs="0">
 
1748
                                <xs:complexType>
 
1749
                                        <xs:sequence>
 
1750
                                                <xs:element name="geographic_location" minOccurs="0">
 
1751
                                                        <xs:annotation>
 
1752
                                                                <xs:documentation> 
 
1753
                                    Specifies the location of the asset using the WGS84 coordinate system. 
 
1754
                                    </xs:documentation>
 
1755
                                                        </xs:annotation>
 
1756
                                                        <xs:complexType>
 
1757
                                                                <xs:sequence>
 
1758
                                                                        <xs:element name="longitude" type="xs:float"/>
 
1759
                                                                        <xs:element name="latitude" type="xs:float"/>
 
1760
                                                                        <xs:element name="altitude">
 
1761
                                                                                <xs:annotation>
 
1762
                                                                                        <xs:documentation> 
 
1763
                                                 Altitude is always given in meters.  If the mode is "absolute", then the value is interpreted as meters from mean sea level.  If the mode is "relativeToGround" then the value is interpreted as meters above the actual ground elevation at that particular location. 
 
1764
                                                </xs:documentation>
 
1765
                                                                                </xs:annotation>
 
1766
                                                                                <xs:complexType>
 
1767
                                                                                        <xs:simpleContent>
 
1768
                                                                                                <xs:extension base="xs:float">
 
1769
                                                                                                        <xs:attribute name="mode" type="altitude_mode_enum" default="relativeToGround"/>
 
1770
                                                                                                </xs:extension>
 
1771
                                                                                        </xs:simpleContent>
 
1772
                                                                                </xs:complexType>
 
1773
                                                                        </xs:element>
 
1774
                                                                </xs:sequence>
 
1775
                                                        </xs:complexType>
 
1776
                                                </xs:element>
 
1777
                                        </xs:sequence>
 
1778
                                </xs:complexType>
 
1779
                        </xs:element>
 
1780
                        <xs:element name="created" type="xs:dateTime">
 
1781
                                <xs:annotation>
 
1782
                                        <xs:documentation>
 
1783
                                                The created element contains the date and time that the parent element was created and is 
 
1784
                                                represented in an ISO 8601 format.  The created element may appear zero or one time.
 
1785
                                                </xs:documentation>
 
1786
                                </xs:annotation>
 
1787
                        </xs:element>
 
1788
                        <xs:element name="keywords" type="xs:token" minOccurs="0">
 
1789
                                <xs:annotation>
 
1790
                                        <xs:documentation>
 
1791
                                                The keywords element contains a list of words used as search criteria for the parent element. 
 
1792
                                                There may be only one keywords element.
 
1793
                                                </xs:documentation>
 
1794
                                </xs:annotation>
 
1795
                        </xs:element>
 
1796
                        <xs:element name="modified" type="xs:dateTime">
 
1797
                                <xs:annotation>
 
1798
                                        <xs:documentation>
 
1799
                                                The modified element contains the date and time that the parent element was last modified and 
 
1800
                                                represented in an ISO 8601 format. The modified element may appear zero or one time.
 
1801
                                                </xs:documentation>
 
1802
                                </xs:annotation>
 
1803
                        </xs:element>
 
1804
                        <xs:element name="revision" type="xs:string" minOccurs="0">
 
1805
                                <xs:annotation>
 
1806
                                        <xs:documentation>
 
1807
                                                The revision element contains the revision information for the parent element. The revision 
 
1808
                                                element may appear zero or one time.
 
1809
                                                </xs:documentation>
 
1810
                                </xs:annotation>
 
1811
                        </xs:element>
 
1812
                        <xs:element name="subject" type="xs:string" minOccurs="0">
 
1813
                                <xs:annotation>
 
1814
                                        <xs:documentation>
 
1815
                                                The subject element contains a description of the topical subject of the parent element. The 
 
1816
                                                subject element may appear zero or one time.
 
1817
                                                </xs:documentation>
 
1818
                                </xs:annotation>
 
1819
                        </xs:element>
 
1820
                        <xs:element name="title" type="xs:string" minOccurs="0">
 
1821
                                <xs:annotation>
 
1822
                                        <xs:documentation>
 
1823
                                                The title element contains the title information for the parent element. The title element may 
 
1824
                                                appear zero or one time.
 
1825
                                                </xs:documentation>
 
1826
                                </xs:annotation>
 
1827
                        </xs:element>
 
1828
                        <xs:element name="unit" minOccurs="0">
 
1829
                                <xs:annotation>
 
1830
                                        <xs:documentation>
 
1831
                                                The unit element contains descriptive information about unit of measure. It has attributes for 
 
1832
                                                the name of the unit and the measurement with respect to the meter. The unit element may appear 
 
1833
                                                zero or one time.
 
1834
                                                </xs:documentation>
 
1835
                                </xs:annotation>
 
1836
                                <xs:complexType>
 
1837
                                        <xs:attribute name="meter" type="float_type" default="1.0">
 
1838
                                                <xs:annotation>
 
1839
                                                        <xs:documentation>
 
1840
                                                                The meter attribute specifies the measurement with respect to the meter. The default 
 
1841
                                                                value for the meter attribute is "1.0".
 
1842
                                                                </xs:documentation>
 
1843
                                                </xs:annotation>
 
1844
                                        </xs:attribute>
 
1845
                                        <xs:attribute name="name" type="xs:NMTOKEN" default="meter">
 
1846
                                                <xs:annotation>
 
1847
                                                        <xs:documentation>
 
1848
                                                                The name attribute specifies the name of the unit. The default value for the name 
 
1849
                                                                attribute is "meter".
 
1850
                                                                </xs:documentation>
 
1851
                                                </xs:annotation>
 
1852
                                        </xs:attribute>
 
1853
                                </xs:complexType>
 
1854
                        </xs:element>
 
1855
                        <xs:element name="up_axis" type="up_axis_enum" default="Y_UP" minOccurs="0">
 
1856
                                <xs:annotation>
 
1857
                                        <xs:documentation>
 
1858
                                                The up_axis element contains descriptive information about coordinate system of the geometric 
 
1859
                                                data. All coordinates are right-handed by definition. This element specifies which axis is 
 
1860
                                                considered up. The default is the Y-axis. The up_axis element may appear zero or one time.
 
1861
                                                </xs:documentation>
 
1862
                                </xs:annotation>
 
1863
                        </xs:element>
 
1864
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
1865
                </xs:sequence>
 
1866
        </xs:complexType>
 
1867
        <xs:complexType name="image_type">
 
1868
                <xs:sequence>
 
1869
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
1870
                                <xs:annotation>
 
1871
                                        <xs:documentation>
 
1872
                                                The image element may contain an asset element.
 
1873
                                                </xs:documentation>
 
1874
                                </xs:annotation>
 
1875
                        </xs:element>
 
1876
                        <xs:element name="renderable" minOccurs="0">
 
1877
                                <xs:annotation>
 
1878
                                        <xs:documentation>This image is renderable  if this element is used</xs:documentation>
 
1879
                                </xs:annotation>
 
1880
                                <xs:complexType>
 
1881
                                        <xs:attribute name="share" type="xs:boolean" use="required">
 
1882
                                                <xs:annotation>
 
1883
                                                        <xs:documentation>As a render target, true = shared across all users, false = unique per instance</xs:documentation>
 
1884
                                                </xs:annotation>
 
1885
                                        </xs:attribute>
 
1886
                                </xs:complexType>
 
1887
                        </xs:element>
 
1888
                        <xs:choice minOccurs="0">
 
1889
                                <xs:element name="init_from">
 
1890
                                        <xs:annotation>
 
1891
                                                <xs:documentation>initialize the whole image structure and data from formats like DDS</xs:documentation>
 
1892
                                        </xs:annotation>
 
1893
                                        <xs:complexType>
 
1894
                                                <xs:complexContent>
 
1895
                                                        <xs:extension base="image_source_type">
 
1896
                                                                <xs:attribute name="mips_generate" type="xs:boolean" use="optional" default="true">
 
1897
                                                                        <xs:annotation>
 
1898
                                                                                <xs:documentation>If true, unless mips already exist in data, generate the mipmaps based on information loaded into mip0, </xs:documentation>
 
1899
                                                                        </xs:annotation>
 
1900
                                                                </xs:attribute>
 
1901
                                                        </xs:extension>
 
1902
                                                </xs:complexContent>
 
1903
                                        </xs:complexType>
 
1904
                                </xs:element>
 
1905
                                <xs:element name="create_2d">
 
1906
                                        <xs:annotation>
 
1907
                                                <xs:documentation>Initialize a custom 2d image</xs:documentation>
 
1908
                                        </xs:annotation>
 
1909
                                        <xs:complexType>
 
1910
                                                <xs:sequence>
 
1911
                                                        <xs:choice>
 
1912
                                                                <xs:annotation>
 
1913
                                                                        <xs:documentation>sizing</xs:documentation>
 
1914
                                                                </xs:annotation>
 
1915
                                                                <xs:element name="size_exact">
 
1916
                                                                        <xs:annotation>
 
1917
                                                                                <xs:documentation>The surface should be sized to these exact dimensions</xs:documentation>
 
1918
                                                                        </xs:annotation>
 
1919
                                                                        <xs:complexType>
 
1920
                                                                                <xs:attribute name="width" type="xs:unsignedInt" use="required"/>
 
1921
                                                                                <xs:attribute name="height" type="xs:unsignedInt" use="required"/>
 
1922
                                                                        </xs:complexType>
 
1923
                                                                </xs:element>
 
1924
                                                                <xs:element name="size_ratio">
 
1925
                                                                        <xs:annotation>
 
1926
                                                                                <xs:documentation>Image size should be relative to the size of the viewport.  Ex 1,1 is the same size as the viewport.  0.5,0.5 is 1/2 the size of the viewport</xs:documentation>
 
1927
                                                                        </xs:annotation>
 
1928
                                                                        <xs:complexType>
 
1929
                                                                                <xs:attribute name="width" type="xs:float" use="required"/>
 
1930
                                                                                <xs:attribute name="height" type="xs:float" use="required"/>
 
1931
                                                                        </xs:complexType>
 
1932
                                                                </xs:element>
 
1933
                                                        </xs:choice>
 
1934
                                                        <xs:choice>
 
1935
                                                                <xs:annotation>
 
1936
                                                                        <xs:documentation>mips and texel addressing</xs:documentation>
 
1937
                                                                </xs:annotation>
 
1938
                                                                <xs:element name="mips" type="image_mips_type"/>
 
1939
                                                                <xs:element name="unnormalized">
 
1940
                                                                        <xs:annotation>
 
1941
                                                                                <xs:documentation>Unnormalized addressing of texels.  (0-W, 0-H).  This cannot be used with mips since the addressing is not uniform per level.  This is equivilant to OpenGL textureRECT extension.</xs:documentation>
 
1942
                                                                        </xs:annotation>
 
1943
                                                                </xs:element>
 
1944
                                                        </xs:choice>
 
1945
                                                        <xs:element name="array" minOccurs="0">
 
1946
                                                                <xs:complexType>
 
1947
                                                                        <xs:attribute name="length" type="xs:positiveInteger" use="required"/>
 
1948
                                                                </xs:complexType>
 
1949
                                                        </xs:element>
 
1950
                                                        <xs:element name="format" minOccurs="0">
 
1951
                                                                <xs:annotation>
 
1952
                                                                        <xs:documentation>If not present it is assumed to be R8G8B8A8 linear. </xs:documentation>
 
1953
                                                                </xs:annotation>
 
1954
                                                                <xs:complexType>
 
1955
                                                                        <xs:sequence>
 
1956
                                                                                <xs:element name="hint">
 
1957
                                                                                        <xs:annotation>
 
1958
                                                                                                <xs:documentation>if this element or a higher precidence element is not present then use a common format R8G8B8A8 with linear color gradient, not  sRGB.</xs:documentation>
 
1959
                                                                                        </xs:annotation>
 
1960
                                                                                        <xs:complexType>
 
1961
                                                                                                <xs:attribute name="channels" type="image_format_hint_channels_enum" use="required">
 
1962
                                                                                                        <xs:annotation>
 
1963
                                                                                                                <xs:documentation>The per-texel layout of the format.  The length of the string indicate how many channels there are and the letter respresents the name of the channel.  There are typically 0 to 4 channels.</xs:documentation>
 
1964
                                                                                                        </xs:annotation>
 
1965
                                                                                                </xs:attribute>
 
1966
                                                                                                <xs:attribute name="range" type="image_format_hint_range_enum" use="required">
 
1967
                                                                                                        <xs:annotation>
 
1968
                                                                                                                <xs:documentation>Each channel represents a range of values. Some example ranges are signed or unsigned integers, or between between a clamped range such as 0.0f to 1.0f, or high dynamic range via floating point</xs:documentation>
 
1969
                                                                                                        </xs:annotation>
 
1970
                                                                                                </xs:attribute>
 
1971
                                                                                                <xs:attribute name="precision" type="image_format_hint_precision_enum" default="DEFAULT">
 
1972
                                                                                                        <xs:annotation>
 
1973
                                                                                                                <xs:documentation>Each channel of the texel has a precision.  Typically these are all linked together.  An exact format lay lower the precision of an individual channel but applying a higher precision by linking the channels together may still convey the same information.</xs:documentation>
 
1974
                                                                                                        </xs:annotation>
 
1975
                                                                                                </xs:attribute>
 
1976
                                                                                                <xs:attribute name="space" type="xs:token">
 
1977
                                                                                                        <xs:annotation>
 
1978
                                                                                                                <xs:documentation>linear(default), sRGB </xs:documentation>
 
1979
                                                                                                        </xs:annotation>
 
1980
                                                                                                </xs:attribute>
 
1981
                                                                                        </xs:complexType>
 
1982
                                                                                </xs:element>
 
1983
                                                                                <xs:element name="exact" type="xs:token" minOccurs="0">
 
1984
                                                                                        <xs:annotation>
 
1985
                                                                                                <xs:documentation>Contains a string representing the profile and platform specific texel format that the author would like this surface to use.  If this element is not specified then the application will fall back to the hint</xs:documentation>
 
1986
                                                                                        </xs:annotation>
 
1987
                                                                                </xs:element>
 
1988
                                                                        </xs:sequence>
 
1989
                                                                </xs:complexType>
 
1990
                                                        </xs:element>
 
1991
                                                        <xs:element name="init_from" minOccurs="0" maxOccurs="unbounded">
 
1992
                                                                <xs:annotation>
 
1993
                                                                        <xs:documentation>init the image data from one or more partial pieces of data.  The load attribute indicates what portion of the image will be loaded based on the ''address" specified.  mip_generate may be used to complete the image.</xs:documentation>
 
1994
                                                                </xs:annotation>
 
1995
                                                                <xs:complexType>
 
1996
                                                                        <xs:complexContent>
 
1997
                                                                                <xs:extension base="image_source_type">
 
1998
                                                                                        <xs:attribute name="mip_index" type="xs:unsignedInt" use="required"/>
 
1999
                                                                                        <xs:attribute name="array_index" type="xs:unsignedInt" use="optional" default="0"/>
 
2000
                                                                                </xs:extension>
 
2001
                                                                        </xs:complexContent>
 
2002
                                                                </xs:complexType>
 
2003
                                                        </xs:element>
 
2004
                                                </xs:sequence>
 
2005
                                        </xs:complexType>
 
2006
                                </xs:element>
 
2007
                                <xs:element name="create_3d">
 
2008
                                        <xs:annotation>
 
2009
                                                <xs:documentation>Initialize a custom 3d image</xs:documentation>
 
2010
                                        </xs:annotation>
 
2011
                                        <xs:complexType>
 
2012
                                                <xs:sequence>
 
2013
                                                        <xs:element name="size">
 
2014
                                                                <xs:annotation>
 
2015
                                                                        <xs:documentation>The surface should be sized to these exact dimensions</xs:documentation>
 
2016
                                                                </xs:annotation>
 
2017
                                                                <xs:complexType>
 
2018
                                                                        <xs:attribute name="width" type="xs:unsignedInt" use="required"/>
 
2019
                                                                        <xs:attribute name="height" type="xs:unsignedInt" use="required"/>
 
2020
                                                                        <xs:attribute name="depth" type="xs:unsignedInt" use="required"/>
 
2021
                                                                </xs:complexType>
 
2022
                                                        </xs:element>
 
2023
                                                        <xs:element name="mips" type="image_mips_type"/>
 
2024
                                                        <xs:element name="array" minOccurs="0">
 
2025
                                                                <xs:complexType>
 
2026
                                                                        <xs:attribute name="length" type="xs:unsignedInt" use="required">
 
2027
                                                                                <xs:annotation>
 
2028
                                                                                        <xs:documentation>Zero is not an array</xs:documentation>
 
2029
                                                                                </xs:annotation>
 
2030
                                                                        </xs:attribute>
 
2031
                                                                </xs:complexType>
 
2032
                                                        </xs:element>
 
2033
                                                        <xs:element name="format" minOccurs="0">
 
2034
                                                                <xs:annotation>
 
2035
                                                                        <xs:documentation>If not present it is assumed to be R8G8B8A8 linear. </xs:documentation>
 
2036
                                                                </xs:annotation>
 
2037
                                                                <xs:complexType>
 
2038
                                                                        <xs:sequence>
 
2039
                                                                                <xs:element name="hint">
 
2040
                                                                                        <xs:annotation>
 
2041
                                                                                                <xs:documentation>if this element or a higher precidence element is not present then use a common format R8G8B8A8 with linear color gradient, not  sRGB.</xs:documentation>
 
2042
                                                                                        </xs:annotation>
 
2043
                                                                                        <xs:complexType>
 
2044
                                                                                                <xs:attribute name="channels" type="image_format_hint_channels_enum" use="required">
 
2045
                                                                                                        <xs:annotation>
 
2046
                                                                                                                <xs:documentation>The per-texel layout of the format.  The length of the string indicate how many channels there are and the letter respresents the name of the channel.  There are typically 0 to 4 channels.</xs:documentation>
 
2047
                                                                                                        </xs:annotation>
 
2048
                                                                                                </xs:attribute>
 
2049
                                                                                                <xs:attribute name="range" type="image_format_hint_range_enum" use="required">
 
2050
                                                                                                        <xs:annotation>
 
2051
                                                                                                                <xs:documentation>Each channel represents a range of values. Some example ranges are signed or unsigned integers, or between between a clamped range such as 0.0f to 1.0f, or high dynamic range via floating point</xs:documentation>
 
2052
                                                                                                        </xs:annotation>
 
2053
                                                                                                </xs:attribute>
 
2054
                                                                                                <xs:attribute name="precision" type="image_format_hint_precision_enum" default="DEFAULT">
 
2055
                                                                                                        <xs:annotation>
 
2056
                                                                                                                <xs:documentation>Each channel of the texel has a precision.  Typically these are all linked together.  An exact format lay lower the precision of an individual channel but applying a higher precision by linking the channels together may still convey the same information.</xs:documentation>
 
2057
                                                                                                        </xs:annotation>
 
2058
                                                                                                </xs:attribute>
 
2059
                                                                                                <xs:attribute name="space" type="xs:token">
 
2060
                                                                                                        <xs:annotation>
 
2061
                                                                                                                <xs:documentation>linear(default), sRGB </xs:documentation>
 
2062
                                                                                                        </xs:annotation>
 
2063
                                                                                                </xs:attribute>
 
2064
                                                                                        </xs:complexType>
 
2065
                                                                                </xs:element>
 
2066
                                                                                <xs:element name="exact" type="xs:token" minOccurs="0">
 
2067
                                                                                        <xs:annotation>
 
2068
                                                                                                <xs:documentation>Contains a string representing the profile and platform specific texel format that the author would like this surface to use.  If this element is not specified then the application will fall back to the hint</xs:documentation>
 
2069
                                                                                        </xs:annotation>
 
2070
                                                                                </xs:element>
 
2071
                                                                        </xs:sequence>
 
2072
                                                                </xs:complexType>
 
2073
                                                        </xs:element>
 
2074
                                                        <xs:element name="init_from" minOccurs="0" maxOccurs="unbounded">
 
2075
                                                                <xs:annotation>
 
2076
                                                                        <xs:documentation>init the image data from one or more partial pieces of data.  The load attribute indicates what portion of the image will be loaded based on the ''address" specified.  mip_generate may be used to complete the image.</xs:documentation>
 
2077
                                                                </xs:annotation>
 
2078
                                                                <xs:complexType>
 
2079
                                                                        <xs:complexContent>
 
2080
                                                                                <xs:extension base="image_source_type">
 
2081
                                                                                        <xs:attribute name="depth" type="xs:unsignedInt" use="required"/>
 
2082
                                                                                        <xs:attribute name="mip_index" type="xs:unsignedInt" use="required"/>
 
2083
                                                                                        <xs:attribute name="array_index" type="xs:unsignedInt" use="optional" default="0"/>
 
2084
                                                                                </xs:extension>
 
2085
                                                                        </xs:complexContent>
 
2086
                                                                </xs:complexType>
 
2087
                                                        </xs:element>
 
2088
                                                </xs:sequence>
 
2089
                                        </xs:complexType>
 
2090
                                </xs:element>
 
2091
                                <xs:element name="create_cube">
 
2092
                                        <xs:annotation>
 
2093
                                                <xs:documentation>Initialize a custom cube image</xs:documentation>
 
2094
                                        </xs:annotation>
 
2095
                                        <xs:complexType>
 
2096
                                                <xs:sequence>
 
2097
                                                        <xs:element name="size">
 
2098
                                                                <xs:annotation>
 
2099
                                                                        <xs:documentation>The surface should be sized to these exact dimensions</xs:documentation>
 
2100
                                                                </xs:annotation>
 
2101
                                                                <xs:complexType>
 
2102
                                                                        <xs:attribute name="width" type="xs:unsignedInt" use="required"/>
 
2103
                                                                </xs:complexType>
 
2104
                                                        </xs:element>
 
2105
                                                        <xs:element name="mips" type="image_mips_type"/>
 
2106
                                                        <xs:element name="array" minOccurs="0">
 
2107
                                                                <xs:complexType>
 
2108
                                                                        <xs:attribute name="length" type="xs:unsignedInt" use="required">
 
2109
                                                                                <xs:annotation>
 
2110
                                                                                        <xs:documentation>Zero is not an array</xs:documentation>
 
2111
                                                                                </xs:annotation>
 
2112
                                                                        </xs:attribute>
 
2113
                                                                </xs:complexType>
 
2114
                                                        </xs:element>
 
2115
                                                        <xs:element name="format" minOccurs="0">
 
2116
                                                                <xs:annotation>
 
2117
                                                                        <xs:documentation>If not present it is assumed to be R8G8B8A8 linear. </xs:documentation>
 
2118
                                                                </xs:annotation>
 
2119
                                                                <xs:complexType>
 
2120
                                                                        <xs:sequence>
 
2121
                                                                                <xs:element name="hint">
 
2122
                                                                                        <xs:annotation>
 
2123
                                                                                                <xs:documentation>if this element or a higher precidence element is not present then use a common format R8G8B8A8 with linear color gradient, not  sRGB.</xs:documentation>
 
2124
                                                                                        </xs:annotation>
 
2125
                                                                                        <xs:complexType>
 
2126
                                                                                                <xs:attribute name="channels" type="image_format_hint_channels_enum" use="required">
 
2127
                                                                                                        <xs:annotation>
 
2128
                                                                                                                <xs:documentation>The per-texel layout of the format.  The length of the string indicate how many channels there are and the letter respresents the name of the channel.  There are typically 0 to 4 channels.</xs:documentation>
 
2129
                                                                                                        </xs:annotation>
 
2130
                                                                                                </xs:attribute>
 
2131
                                                                                                <xs:attribute name="range" type="image_format_hint_range_enum" use="required">
 
2132
                                                                                                        <xs:annotation>
 
2133
                                                                                                                <xs:documentation>Each channel represents a range of values. Some example ranges are signed or unsigned integers, or between between a clamped range such as 0.0f to 1.0f, or high dynamic range via floating point</xs:documentation>
 
2134
                                                                                                        </xs:annotation>
 
2135
                                                                                                </xs:attribute>
 
2136
                                                                                                <xs:attribute name="precision" type="image_format_hint_precision_enum" default="DEFAULT">
 
2137
                                                                                                        <xs:annotation>
 
2138
                                                                                                                <xs:documentation>Each channel of the texel has a precision.  Typically these are all linked together.  An exact format lay lower the precision of an individual channel but applying a higher precision by linking the channels together may still convey the same information.</xs:documentation>
 
2139
                                                                                                        </xs:annotation>
 
2140
                                                                                                </xs:attribute>
 
2141
                                                                                                <xs:attribute name="space" type="xs:token">
 
2142
                                                                                                        <xs:annotation>
 
2143
                                                                                                                <xs:documentation>linear(default), sRGB </xs:documentation>
 
2144
                                                                                                        </xs:annotation>
 
2145
                                                                                                </xs:attribute>
 
2146
                                                                                        </xs:complexType>
 
2147
                                                                                </xs:element>
 
2148
                                                                                <xs:element name="exact" type="xs:token" minOccurs="0">
 
2149
                                                                                        <xs:annotation>
 
2150
                                                                                                <xs:documentation>Contains a string representing the profile and platform specific texel format that the author would like this surface to use.  If this element is not specified then the application will fall back to the hint</xs:documentation>
 
2151
                                                                                        </xs:annotation>
 
2152
                                                                                </xs:element>
 
2153
                                                                        </xs:sequence>
 
2154
                                                                </xs:complexType>
 
2155
                                                        </xs:element>
 
2156
                                                        <xs:element name="init_from" minOccurs="0" maxOccurs="unbounded">
 
2157
                                                                <xs:annotation>
 
2158
                                                                        <xs:documentation>init the image data from one or more partial pieces of data.  The load attribute indicates what portion of the image will be loaded based on the ''address" specified.  mip_generate may be used to complete the image.</xs:documentation>
 
2159
                                                                </xs:annotation>
 
2160
                                                                <xs:complexType>
 
2161
                                                                        <xs:complexContent>
 
2162
                                                                                <xs:extension base="image_source_type">
 
2163
                                                                                        <xs:attribute name="face" type="image_face_enum" use="required"/>
 
2164
                                                                                        <xs:attribute name="mip_index" type="xs:unsignedInt" use="required"/>
 
2165
                                                                                        <xs:attribute name="array_index" type="xs:unsignedInt" use="optional" default="0"/>
 
2166
                                                                                </xs:extension>
 
2167
                                                                        </xs:complexContent>
 
2168
                                                                </xs:complexType>
 
2169
                                                        </xs:element>
 
2170
                                                </xs:sequence>
 
2171
                                        </xs:complexType>
 
2172
                                </xs:element>
 
2173
                        </xs:choice>
 
2174
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
2175
                                <xs:annotation>
 
2176
                                        <xs:documentation>
 
2177
                                                The extra element may appear any number of times.
 
2178
                                                </xs:documentation>
 
2179
                                </xs:annotation>
 
2180
                        </xs:element>
 
2181
                </xs:sequence>
 
2182
                <xs:attribute name="id" type="xs:ID">
 
2183
                        <xs:annotation>
 
2184
                                <xs:documentation>
 
2185
                                        The id attribute is a text string containing the unique identifier of this element. This value 
 
2186
                                        must be unique within the instance document. Optional attribute.
 
2187
                                        </xs:documentation>
 
2188
                        </xs:annotation>
 
2189
                </xs:attribute>
 
2190
                <xs:attribute name="sid" type="sid_type">
 
2191
                        <xs:annotation>
 
2192
                                <xs:documentation>sub identifier</xs:documentation>
 
2193
                        </xs:annotation>
 
2194
                </xs:attribute>
 
2195
                <xs:attribute name="name" type="xs:token">
 
2196
                        <xs:annotation>
 
2197
                                <xs:documentation>
 
2198
                                        The name attribute is the text string name of this element. Optional attribute.
 
2199
                                        </xs:documentation>
 
2200
                        </xs:annotation>
 
2201
                </xs:attribute>
 
2202
        </xs:complexType>
 
2203
        <xs:complexType name="camera_type">
 
2204
                <xs:annotation>
 
2205
                        <xs:documentation>
 
2206
                        The camera element declares a view into the scene hierarchy or scene graph. The camera contains 
 
2207
                        elements that describe the camera's optics and imager.
 
2208
                        </xs:documentation>
 
2209
                </xs:annotation>
 
2210
                <xs:sequence>
 
2211
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
2212
                                <xs:annotation>
 
2213
                                        <xs:documentation>
 
2214
                                                The camera element may contain an asset element.
 
2215
                                                </xs:documentation>
 
2216
                                </xs:annotation>
 
2217
                        </xs:element>
 
2218
                        <xs:element name="optics">
 
2219
                                <xs:annotation>
 
2220
                                        <xs:documentation>
 
2221
                                                Optics represents the apparatus on a camera that projects the image onto the image sensor.
 
2222
                                                </xs:documentation>
 
2223
                                </xs:annotation>
 
2224
                                <xs:complexType>
 
2225
                                        <xs:sequence>
 
2226
                                                <xs:element name="technique_common">
 
2227
                                                        <xs:annotation>
 
2228
                                                                <xs:documentation>
 
2229
                                                                        The technique_common element specifies the optics information for the common profile 
 
2230
                                                                        which all COLLADA implementations need to support.
 
2231
                                                                        </xs:documentation>
 
2232
                                                        </xs:annotation>
 
2233
                                                        <xs:complexType>
 
2234
                                                                <xs:choice>
 
2235
                                                                        <xs:element name="orthographic">
 
2236
                                                                                <xs:annotation>
 
2237
                                                                                        <xs:documentation>
 
2238
                                                                                                The orthographic element describes the field of view of an orthographic camera.
 
2239
                                                                                                </xs:documentation>
 
2240
                                                                                </xs:annotation>
 
2241
                                                                                <xs:complexType>
 
2242
                                                                                        <xs:sequence>
 
2243
                                                                                                <xs:choice>
 
2244
                                                                                                        <xs:sequence>
 
2245
                                                                                                                <xs:element name="xmag" type="targetable_float_type">
 
2246
                                                                                                                        <xs:annotation>
 
2247
                                                                                                                                <xs:documentation>
 
2248
                                                                                                                                        The xmag element contains a floating point number describing the horizontal 
 
2249
                                                                                                                                        magnification of the view.
 
2250
                                                                                                                                        </xs:documentation>
 
2251
                                                                                                                        </xs:annotation>
 
2252
                                                                                                                </xs:element>
 
2253
                                                                                                                <xs:choice minOccurs="0">
 
2254
                                                                                                                        <xs:element name="ymag" type="targetable_float_type">
 
2255
                                                                                                                                <xs:annotation>
 
2256
                                                                                                                                        <xs:documentation>
 
2257
                                                                                                                                                The ymag element contains a floating point number describing the vertical 
 
2258
                                                                                                                                                magnification of the view.  It can also have a sid.
 
2259
                                                                                                                                                </xs:documentation>
 
2260
                                                                                                                                </xs:annotation>
 
2261
                                                                                                                        </xs:element>
 
2262
                                                                                                                        <xs:element name="aspect_ratio" type="targetable_float_type">
 
2263
                                                                                                                                <xs:annotation>
 
2264
                                                                                                                                        <xs:documentation>
 
2265
                                                                                                                                                The aspect_ratio element contains a floating point number describing the aspect ratio of 
 
2266
                                                                                                                                                the field of view. If the aspect_ratio element is not present the aspect ratio is to be 
 
2267
                                                                                                                                                calculated from the xmag or ymag elements and the current viewport.
 
2268
                                                                                                                                                </xs:documentation>
 
2269
                                                                                                                                </xs:annotation>
 
2270
                                                                                                                        </xs:element>
 
2271
                                                                                                                </xs:choice>
 
2272
                                                                                                        </xs:sequence>
 
2273
                                                                                                        <xs:sequence>
 
2274
                                                                                                                <xs:element name="ymag" type="targetable_float_type"/>
 
2275
                                                                                                                <xs:element name="aspect_ratio" type="targetable_float_type" minOccurs="0"/>
 
2276
                                                                                                        </xs:sequence>
 
2277
                                                                                                </xs:choice>
 
2278
                                                                                                <xs:element name="znear" type="targetable_float_type">
 
2279
                                                                                                        <xs:annotation>
 
2280
                                                                                                                <xs:documentation>
 
2281
                                                                                                                        The znear element contains a floating point number that describes the distance to the near 
 
2282
                                                                                                                        clipping plane. The znear element must occur exactly once.
 
2283
                                                                                                                        </xs:documentation>
 
2284
                                                                                                        </xs:annotation>
 
2285
                                                                                                </xs:element>
 
2286
                                                                                                <xs:element name="zfar" type="targetable_float_type">
 
2287
                                                                                                        <xs:annotation>
 
2288
                                                                                                                <xs:documentation>
 
2289
                                                                                                                        The zfar element contains a floating point number that describes the distance to the far 
 
2290
                                                                                                                        clipping plane. The zfar element must occur exactly once.
 
2291
                                                                                                                        </xs:documentation>
 
2292
                                                                                                        </xs:annotation>
 
2293
                                                                                                </xs:element>
 
2294
                                                                                        </xs:sequence>
 
2295
                                                                                </xs:complexType>
 
2296
                                                                        </xs:element>
 
2297
                                                                        <xs:element name="perspective">
 
2298
                                                                                <xs:annotation>
 
2299
                                                                                        <xs:documentation>
 
2300
                                                                                                The perspective element describes the optics of a perspective camera.
 
2301
                                                                                                </xs:documentation>
 
2302
                                                                                </xs:annotation>
 
2303
                                                                                <xs:complexType>
 
2304
                                                                                        <xs:sequence>
 
2305
                                                                                                <xs:choice>
 
2306
                                                                                                        <xs:sequence>
 
2307
                                                                                                                <xs:element name="xfov" type="targetable_float_type">
 
2308
                                                                                                                        <xs:annotation>
 
2309
                                                                                                                                <xs:documentation>
 
2310
                                                                                                                                        The xfov element contains a floating point number describing the horizontal field of view in degrees.
 
2311
                                                                                                                                        </xs:documentation>
 
2312
                                                                                                                        </xs:annotation>
 
2313
                                                                                                                </xs:element>
 
2314
                                                                                                                <xs:choice minOccurs="0">
 
2315
                                                                                                                        <xs:element name="yfov" type="targetable_float_type">
 
2316
                                                                                                                                <xs:annotation>
 
2317
                                                                                                                                        <xs:documentation>
 
2318
                                                                                                                                                The yfov element contains a floating point number describing the verticle field of view in degrees.
 
2319
                                                                                                                                                </xs:documentation>
 
2320
                                                                                                                                </xs:annotation>
 
2321
                                                                                                                        </xs:element>
 
2322
                                                                                                                        <xs:element name="aspect_ratio" type="targetable_float_type">
 
2323
                                                                                                                                <xs:annotation>
 
2324
                                                                                                                                        <xs:documentation>
 
2325
                                                                                                                                                The aspect_ratio element contains a floating point number describing the aspect ratio of the field 
 
2326
                                                                                                                                                of view. If the aspect_ratio element is not present the aspect ratio is to be calculated from the 
 
2327
                                                                                                                                                xfov or yfov elements and the current viewport.
 
2328
                                                                                                                                                </xs:documentation>
 
2329
                                                                                                                                </xs:annotation>
 
2330
                                                                                                                        </xs:element>
 
2331
                                                                                                                </xs:choice>
 
2332
                                                                                                        </xs:sequence>
 
2333
                                                                                                        <xs:sequence>
 
2334
                                                                                                                <xs:element name="yfov" type="targetable_float_type"/>
 
2335
                                                                                                                <xs:element name="aspect_ratio" type="targetable_float_type" minOccurs="0"/>
 
2336
                                                                                                        </xs:sequence>
 
2337
                                                                                                </xs:choice>
 
2338
                                                                                                <xs:element name="znear" type="targetable_float_type">
 
2339
                                                                                                        <xs:annotation>
 
2340
                                                                                                                <xs:documentation>
 
2341
                                                                                                                        The znear element contains a floating point number that describes the distance to the near 
 
2342
                                                                                                                        clipping plane. The znear element must occur exactly once.
 
2343
                                                                                                                        </xs:documentation>
 
2344
                                                                                                        </xs:annotation>
 
2345
                                                                                                </xs:element>
 
2346
                                                                                                <xs:element name="zfar" type="targetable_float_type">
 
2347
                                                                                                        <xs:annotation>
 
2348
                                                                                                                <xs:documentation>
 
2349
                                                                                                                        The zfar element contains a floating point number that describes the distance to the far 
 
2350
                                                                                                                        clipping plane. The zfar element must occur exactly once.
 
2351
                                                                                                                        </xs:documentation>
 
2352
                                                                                                        </xs:annotation>
 
2353
                                                                                                </xs:element>
 
2354
                                                                                        </xs:sequence>
 
2355
                                                                                </xs:complexType>
 
2356
                                                                        </xs:element>
 
2357
                                                                </xs:choice>
 
2358
                                                        </xs:complexType>
 
2359
                                                </xs:element>
 
2360
                                                <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded">
 
2361
                                                        <xs:annotation>
 
2362
                                                                <xs:documentation>
 
2363
                                                                        This element may contain any number of non-common profile techniques.
 
2364
                                                                        </xs:documentation>
 
2365
                                                        </xs:annotation>
 
2366
                                                </xs:element>
 
2367
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
2368
                                                        <xs:annotation>
 
2369
                                                                <xs:documentation>
 
2370
                                                                        The extra element may appear any number of times.
 
2371
                                                                        </xs:documentation>
 
2372
                                                        </xs:annotation>
 
2373
                                                </xs:element>
 
2374
                                        </xs:sequence>
 
2375
                                </xs:complexType>
 
2376
                        </xs:element>
 
2377
                        <xs:element name="imager" minOccurs="0">
 
2378
                                <xs:annotation>
 
2379
                                        <xs:documentation>
 
2380
                                                Imagers represent the image sensor of a camera (for example film or CCD).
 
2381
                                                </xs:documentation>
 
2382
                                </xs:annotation>
 
2383
                                <xs:complexType>
 
2384
                                        <xs:sequence>
 
2385
                                                <xs:element name="technique" type="technique_type" maxOccurs="unbounded">
 
2386
                                                        <xs:annotation>
 
2387
                                                                <xs:documentation>
 
2388
                                                                        This element may contain any number of non-common profile techniques.
 
2389
                                                                        There is no common technique for imager.
 
2390
                                                                        </xs:documentation>
 
2391
                                                        </xs:annotation>
 
2392
                                                </xs:element>
 
2393
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
2394
                                                        <xs:annotation>
 
2395
                                                                <xs:documentation>
 
2396
                                                                        The extra element may appear any number of times.
 
2397
                                                                        </xs:documentation>
 
2398
                                                        </xs:annotation>
 
2399
                                                </xs:element>
 
2400
                                        </xs:sequence>
 
2401
                                </xs:complexType>
 
2402
                        </xs:element>
 
2403
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
2404
                                <xs:annotation>
 
2405
                                        <xs:documentation>
 
2406
                                                The extra element may appear any number of times.
 
2407
                                                </xs:documentation>
 
2408
                                </xs:annotation>
 
2409
                        </xs:element>
 
2410
                </xs:sequence>
 
2411
                <xs:attribute name="id" type="xs:ID">
 
2412
                        <xs:annotation>
 
2413
                                <xs:documentation>
 
2414
                                        The id attribute is a text string containing the unique identifier of this element. This value 
 
2415
                                        must be unique within the instance document. Optional attribute.
 
2416
                                        </xs:documentation>
 
2417
                        </xs:annotation>
 
2418
                </xs:attribute>
 
2419
                <xs:attribute name="name" type="xs:token">
 
2420
                        <xs:annotation>
 
2421
                                <xs:documentation>
 
2422
                                        The name attribute is the text string name of this element. Optional attribute.
 
2423
                                        </xs:documentation>
 
2424
                        </xs:annotation>
 
2425
                </xs:attribute>
 
2426
        </xs:complexType>
 
2427
        <xs:complexType name="light_type">
 
2428
                <xs:annotation>
 
2429
                        <xs:documentation>
 
2430
                        The light element declares a light source that illuminates the scene.
 
2431
                        Light sources have many different properties and radiate light in many different patterns and 
 
2432
                        frequencies.
 
2433
                        </xs:documentation>
 
2434
                </xs:annotation>
 
2435
                <xs:sequence>
 
2436
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
2437
                                <xs:annotation>
 
2438
                                        <xs:documentation>
 
2439
                                                The light element may contain an asset element.
 
2440
                                                </xs:documentation>
 
2441
                                </xs:annotation>
 
2442
                        </xs:element>
 
2443
                        <xs:element name="technique_common">
 
2444
                                <xs:annotation>
 
2445
                                        <xs:documentation>
 
2446
                                                The technique_common element specifies the light information for the common profile which all 
 
2447
                                                COLLADA implementations need to support.
 
2448
                                                </xs:documentation>
 
2449
                                </xs:annotation>
 
2450
                                <xs:complexType>
 
2451
                                        <xs:choice>
 
2452
                                                <xs:element name="ambient">
 
2453
                                                        <xs:annotation>
 
2454
                                                                <xs:documentation>
 
2455
                                                                        The ambient element declares the parameters required to describe an ambient light source.  
 
2456
                                                                        An ambient light is one that lights everything evenly, regardless of location or orientation.
 
2457
                                                                        </xs:documentation>
 
2458
                                                        </xs:annotation>
 
2459
                                                        <xs:complexType>
 
2460
                                                                <xs:sequence>
 
2461
                                                                        <xs:element name="color" type="targetable_float3_type">
 
2462
                                                                                <xs:annotation>
 
2463
                                                                                        <xs:documentation>
 
2464
                                                                                                The color element contains three floating point numbers specifying the color of the light.
 
2465
                                                                                                The color element must occur exactly once.  
 
2466
                                                                                                </xs:documentation>
 
2467
                                                                                </xs:annotation>
 
2468
                                                                        </xs:element>
 
2469
                                                                </xs:sequence>
 
2470
                                                        </xs:complexType>
 
2471
                                                </xs:element>
 
2472
                                                <xs:element name="directional">
 
2473
                                                        <xs:annotation>
 
2474
                                                                <xs:documentation>
 
2475
                                                                        The directional element declares the parameters required to describe a directional light source.  
 
2476
                                                                        A directional light is one that lights everything from the same direction, regardless of location.  
 
2477
                                                                        The light's default direction vector in local coordinates is [0,0,-1], pointing down the -Z axis. 
 
2478
                                                                        The actual direction of the light is defined by the transform of the node where the light is 
 
2479
                                                                        instantiated.
 
2480
                                                                        </xs:documentation>
 
2481
                                                        </xs:annotation>
 
2482
                                                        <xs:complexType>
 
2483
                                                                <xs:sequence>
 
2484
                                                                        <xs:element name="color" type="targetable_float3_type">
 
2485
                                                                                <xs:annotation>
 
2486
                                                                                        <xs:documentation>
 
2487
                                                                                                The color element contains three floating point numbers specifying the color of the light.
 
2488
                                                                                                The color element must occur exactly once.  
 
2489
                                                                                                </xs:documentation>
 
2490
                                                                                </xs:annotation>
 
2491
                                                                        </xs:element>
 
2492
                                                                </xs:sequence>
 
2493
                                                        </xs:complexType>
 
2494
                                                </xs:element>
 
2495
                                                <xs:element name="point">
 
2496
                                                        <xs:annotation>
 
2497
                                                                <xs:documentation>
 
2498
                                                                        The point element declares the parameters required to describe a point light source.  A point light 
 
2499
                                                                        source radiates light in all directions from a known location in space. The intensity of a point 
 
2500
                                                                        light source is attenuated as the distance to the light source increases. The position of the light 
 
2501
                                                                        is defined by the transform of the node in which it is instantiated.
 
2502
                                                                        </xs:documentation>
 
2503
                                                        </xs:annotation>
 
2504
                                                        <xs:complexType>
 
2505
                                                                <xs:sequence>
 
2506
                                                                        <xs:element name="color" type="targetable_float3_type">
 
2507
                                                                                <xs:annotation>
 
2508
                                                                                        <xs:documentation>
 
2509
                                                                                                The color element contains three floating point numbers specifying the color of the light.
 
2510
                                                                                                The color element must occur exactly once.  
 
2511
                                                                                                </xs:documentation>
 
2512
                                                                                </xs:annotation>
 
2513
                                                                        </xs:element>
 
2514
                                                                        <xs:element name="constant_attenuation" type="targetable_float_type" default="1.0" minOccurs="0">
 
2515
                                                                                <xs:annotation>
 
2516
                                                                                        <xs:documentation>
 
2517
                                                                                                The constant_attenuation is used to calculate the total attenuation of this light given a distance. 
 
2518
                                                                                                The equation used is A = constant_attenuation + Dist*linear_attenuation + Dist^2*quadratic_attenuation. 
 
2519
                                                                                                </xs:documentation>
 
2520
                                                                                </xs:annotation>
 
2521
                                                                        </xs:element>
 
2522
                                                                        <xs:element name="linear_attenuation" type="targetable_float_type" default="0.0" minOccurs="0">
 
2523
                                                                                <xs:annotation>
 
2524
                                                                                        <xs:documentation>
 
2525
                                                                                                The linear_attenuation is used to calculate the total attenuation of this light given a distance. 
 
2526
                                                                                                The equation used is A = constant_attenuation + Dist*linear_attenuation + Dist^2*quadratic_attenuation. 
 
2527
                                                                                                </xs:documentation>
 
2528
                                                                                </xs:annotation>
 
2529
                                                                        </xs:element>
 
2530
                                                                        <xs:element name="quadratic_attenuation" type="targetable_float_type" default="0.0" minOccurs="0">
 
2531
                                                                                <xs:annotation>
 
2532
                                                                                        <xs:documentation>
 
2533
                                                                                                The quadratic_attenuation is used to calculate the total attenuation of this light given a distance. 
 
2534
                                                                                                The equation used is A = constant_attenuation + Dist*linear_attenuation + Dist^2*quadratic_attenuation. 
 
2535
                                                                                                </xs:documentation>
 
2536
                                                                                </xs:annotation>
 
2537
                                                                        </xs:element>
 
2538
                                                                </xs:sequence>
 
2539
                                                        </xs:complexType>
 
2540
                                                </xs:element>
 
2541
                                                <xs:element name="spot">
 
2542
                                                        <xs:annotation>
 
2543
                                                                <xs:documentation>
 
2544
                                                                        The spot element declares the parameters required to describe a spot light source.  A spot light 
 
2545
                                                                        source radiates light in one direction from a known location in space. The light radiates from 
 
2546
                                                                        the spot light source in a cone shape. The intensity of the light is attenuated as the radiation 
 
2547
                                                                        angle increases away from the direction of the light source. The intensity of a spot light source 
 
2548
                                                                        is also attenuated as the distance to the light source increases. The position of the light is 
 
2549
                                                                        defined by the transform of the node in which it is instantiated. The light's default direction 
 
2550
                                                                        vector in local coordinates is [0,0,-1], pointing down the -Z axis. The actual direction of the 
 
2551
                                                                        light is defined by the transform of the node where the light is instantiated.
 
2552
                                                                        </xs:documentation>
 
2553
                                                        </xs:annotation>
 
2554
                                                        <xs:complexType>
 
2555
                                                                <xs:sequence>
 
2556
                                                                        <xs:element name="color" type="targetable_float3_type">
 
2557
                                                                                <xs:annotation>
 
2558
                                                                                        <xs:documentation>
 
2559
                                                                                                The color element contains three floating point numbers specifying the color of the light.
 
2560
                                                                                                The color element must occur exactly once.  
 
2561
                                                                                                </xs:documentation>
 
2562
                                                                                </xs:annotation>
 
2563
                                                                        </xs:element>
 
2564
                                                                        <xs:element name="constant_attenuation" type="targetable_float_type" default="1.0" minOccurs="0">
 
2565
                                                                                <xs:annotation>
 
2566
                                                                                        <xs:documentation>
 
2567
                                                                                                The constant_attenuation is used to calculate the total attenuation of this light given a distance. 
 
2568
                                                                                                The equation used is A = constant_attenuation + Dist*linear_attenuation + Dist^2*quadratic_attenuation. 
 
2569
                                                                                                </xs:documentation>
 
2570
                                                                                </xs:annotation>
 
2571
                                                                        </xs:element>
 
2572
                                                                        <xs:element name="linear_attenuation" type="targetable_float_type" default="0.0" minOccurs="0">
 
2573
                                                                                <xs:annotation>
 
2574
                                                                                        <xs:documentation>
 
2575
                                                                                                The linear_attenuation is used to calculate the total attenuation of this light given a distance. 
 
2576
                                                                                                The equation used is A = constant_attenuation + Dist*linear_attenuation + Dist^2*quadratic_attenuation. 
 
2577
                                                                                                </xs:documentation>
 
2578
                                                                                </xs:annotation>
 
2579
                                                                        </xs:element>
 
2580
                                                                        <xs:element name="quadratic_attenuation" type="targetable_float_type" default="0.0" minOccurs="0">
 
2581
                                                                                <xs:annotation>
 
2582
                                                                                        <xs:documentation>
 
2583
                                                                                                The quadratic_attenuation is used to calculate the total attenuation of this light given a distance. 
 
2584
                                                                                                The equation used is A = constant_attenuation + Dist*linear_attenuation + Dist^2*quadratic_attenuation. 
 
2585
                                                                                                </xs:documentation>
 
2586
                                                                                </xs:annotation>
 
2587
                                                                        </xs:element>
 
2588
                                                                        <xs:element name="falloff_angle" type="targetable_float_type" default="180.0" minOccurs="0">
 
2589
                                                                                <xs:annotation>
 
2590
                                                                                        <xs:documentation>
 
2591
                                                                                                The falloff_angle is used to specify the amount of attenuation based on the direction of the light.
 
2592
                                                                                                </xs:documentation>
 
2593
                                                                                </xs:annotation>
 
2594
                                                                        </xs:element>
 
2595
                                                                        <xs:element name="falloff_exponent" type="targetable_float_type" default="0.0" minOccurs="0">
 
2596
                                                                                <xs:annotation>
 
2597
                                                                                        <xs:documentation>
 
2598
                                                                                                The falloff_exponent is used to specify the amount of attenuation based on the direction of the light.
 
2599
                                                                                                </xs:documentation>
 
2600
                                                                                </xs:annotation>
 
2601
                                                                        </xs:element>
 
2602
                                                                </xs:sequence>
 
2603
                                                        </xs:complexType>
 
2604
                                                </xs:element>
 
2605
                                        </xs:choice>
 
2606
                                </xs:complexType>
 
2607
                        </xs:element>
 
2608
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded">
 
2609
                                <xs:annotation>
 
2610
                                        <xs:documentation>
 
2611
                                                This element may contain any number of non-common profile techniques.
 
2612
                                                </xs:documentation>
 
2613
                                </xs:annotation>
 
2614
                        </xs:element>
 
2615
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
2616
                                <xs:annotation>
 
2617
                                        <xs:documentation>
 
2618
                                                The extra element may appear any number of times.
 
2619
                                                </xs:documentation>
 
2620
                                </xs:annotation>
 
2621
                        </xs:element>
 
2622
                </xs:sequence>
 
2623
                <xs:attribute name="id" type="xs:ID">
 
2624
                        <xs:annotation>
 
2625
                                <xs:documentation>
 
2626
                                        The id attribute is a text string containing the unique identifier of this element. 
 
2627
                                        This value must be unique within the instance document. Optional attribute.
 
2628
                                        </xs:documentation>
 
2629
                        </xs:annotation>
 
2630
                </xs:attribute>
 
2631
                <xs:attribute name="name" type="xs:token">
 
2632
                        <xs:annotation>
 
2633
                                <xs:documentation>
 
2634
                                        The name attribute is the text string name of this element. Optional attribute.
 
2635
                                        </xs:documentation>
 
2636
                        </xs:annotation>
 
2637
                </xs:attribute>
 
2638
        </xs:complexType>
 
2639
        <xs:complexType name="instance_with_extra_type">
 
2640
                <xs:annotation>
 
2641
                        <xs:documentation>
 
2642
                        The instance_with_extra_type element is used for all generic instance elements. A generic instance element 
 
2643
                        is one which does not have any specific child elements declared.
 
2644
                        </xs:documentation>
 
2645
                </xs:annotation>
 
2646
                <xs:sequence>
 
2647
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
2648
                                <xs:annotation>
 
2649
                                        <xs:documentation>
 
2650
                                                The extra element may occur any number of times.
 
2651
                                        </xs:documentation>
 
2652
                                </xs:annotation>
 
2653
                        </xs:element>
 
2654
                </xs:sequence>
 
2655
                <xs:attribute name="url" type="xs:anyURI" use="required">
 
2656
                        <xs:annotation>
 
2657
                                <xs:documentation>
 
2658
                                The url attribute refers to resource to instantiate. This may refer to a local resource using a 
 
2659
                                relative URL fragment identifier that begins with the "#" character. The url attribute may refer 
 
2660
                                to an external resource using an absolute or relative URL.
 
2661
                                </xs:documentation>
 
2662
                        </xs:annotation>
 
2663
                </xs:attribute>
 
2664
                <xs:attribute name="sid" type="sid_type">
 
2665
                        <xs:annotation>
 
2666
                                <xs:documentation>
 
2667
                                The sid attribute is a text string value containing the sub-identifier of this element. This 
 
2668
                                value must be unique within the scope of the parent element. Optional attribute.
 
2669
                                </xs:documentation>
 
2670
                        </xs:annotation>
 
2671
                </xs:attribute>
 
2672
                <xs:attribute name="name" type="xs:token">
 
2673
                        <xs:annotation>
 
2674
                                <xs:documentation>
 
2675
                                The name attribute is the text string name of this element. Optional attribute.
 
2676
                                </xs:documentation>
 
2677
                        </xs:annotation>
 
2678
                </xs:attribute>
 
2679
        </xs:complexType>
 
2680
        <xs:complexType name="instance_image_type">
 
2681
                <xs:complexContent>
 
2682
                        <xs:restriction base="instance_with_extra_type"/>
 
2683
                </xs:complexContent>
 
2684
        </xs:complexType>
 
2685
        <xs:complexType name="instance_camera_type">
 
2686
                <xs:annotation>
 
2687
                        <xs:documentation>
 
2688
                        The instance_camera element declares the instantiation of a COLLADA camera resource.
 
2689
                        </xs:documentation>
 
2690
                </xs:annotation>
 
2691
                <xs:complexContent>
 
2692
                        <xs:restriction base="instance_with_extra_type"/>
 
2693
                </xs:complexContent>
 
2694
        </xs:complexType>
 
2695
        <xs:complexType name="instance_force_field_type">
 
2696
                <xs:annotation>
 
2697
                        <xs:documentation>
 
2698
                        The instance_force_field element declares the instantiation of a COLLADA force_field resource.
 
2699
                        </xs:documentation>
 
2700
                </xs:annotation>
 
2701
                <xs:complexContent>
 
2702
                        <xs:restriction base="instance_with_extra_type"/>
 
2703
                </xs:complexContent>
 
2704
        </xs:complexType>
 
2705
        <xs:complexType name="instance_light_type">
 
2706
                <xs:annotation>
 
2707
                        <xs:documentation>
 
2708
                        The instance_light element declares the instantiation of a COLLADA light resource.
 
2709
                        </xs:documentation>
 
2710
                </xs:annotation>
 
2711
                <xs:complexContent>
 
2712
                        <xs:restriction base="instance_with_extra_type"/>
 
2713
                </xs:complexContent>
 
2714
        </xs:complexType>
 
2715
        <xs:complexType name="instance_material_type">
 
2716
                <xs:annotation>
 
2717
                        <xs:documentation>
 
2718
                        The instance_material element declares the instantiation of a COLLADA material resource.
 
2719
                        </xs:documentation>
 
2720
                </xs:annotation>
 
2721
                <xs:sequence>
 
2722
                        <xs:element name="bind" minOccurs="0" maxOccurs="unbounded">
 
2723
                                <xs:annotation>
 
2724
                                        <xs:documentation>
 
2725
                                                The bind element binds values to effect parameters upon instantiation.
 
2726
                                                </xs:documentation>
 
2727
                                </xs:annotation>
 
2728
                                <xs:complexType>
 
2729
                                        <xs:attribute name="semantic" type="xs:NCName" use="required">
 
2730
                                                <xs:annotation>
 
2731
                                                        <xs:documentation>
 
2732
                                                                The semantic attribute specifies which effect parameter to bind.
 
2733
                                                                </xs:documentation>
 
2734
                                                </xs:annotation>
 
2735
                                        </xs:attribute>
 
2736
                                        <xs:attribute name="target" type="xs:token" use="required">
 
2737
                                                <xs:annotation>
 
2738
                                                        <xs:documentation>
 
2739
                                                                The target attribute specifies the location of the value to bind to the specified semantic. 
 
2740
                                                                This text string is a path-name following a simple syntax described in the "Addressing Syntax" 
 
2741
                                                                section.
 
2742
                                                                </xs:documentation>
 
2743
                                                </xs:annotation>
 
2744
                                        </xs:attribute>
 
2745
                                </xs:complexType>
 
2746
                        </xs:element>
 
2747
                        <xs:element name="bind_vertex_input" minOccurs="0" maxOccurs="unbounded">
 
2748
                                <xs:annotation>
 
2749
                                        <xs:documentation>
 
2750
                                                The bind_vertex_input element binds vertex inputs to effect parameters upon instantiation.
 
2751
                                                </xs:documentation>
 
2752
                                </xs:annotation>
 
2753
                                <xs:complexType>
 
2754
                                        <xs:attribute name="semantic" type="xs:NCName" use="required">
 
2755
                                                <xs:annotation>
 
2756
                                                        <xs:documentation>
 
2757
                                                                The semantic attribute specifies which effect parameter to bind.
 
2758
                                                                </xs:documentation>
 
2759
                                                </xs:annotation>
 
2760
                                        </xs:attribute>
 
2761
                                        <xs:attribute name="input_semantic" type="xs:NCName" use="required">
 
2762
                                                <xs:annotation>
 
2763
                                                        <xs:documentation>
 
2764
                                                                The input_semantic attribute specifies which input semantic to bind.
 
2765
                                                                </xs:documentation>
 
2766
                                                </xs:annotation>
 
2767
                                        </xs:attribute>
 
2768
                                        <xs:attribute name="input_set" type="uint_type">
 
2769
                                                <xs:annotation>
 
2770
                                                        <xs:documentation>
 
2771
                                                                The input_set attribute specifies which input set to bind. 
 
2772
                                                                </xs:documentation>
 
2773
                                                </xs:annotation>
 
2774
                                        </xs:attribute>
 
2775
                                </xs:complexType>
 
2776
                        </xs:element>
 
2777
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
2778
                                <xs:annotation>
 
2779
                                        <xs:documentation>
 
2780
                                                The extra element may appear any number of times.
 
2781
                                                </xs:documentation>
 
2782
                                </xs:annotation>
 
2783
                        </xs:element>
 
2784
                </xs:sequence>
 
2785
                <xs:attribute name="symbol" type="xs:NCName" use="required">
 
2786
                        <xs:annotation>
 
2787
                                <xs:documentation>
 
2788
                                        The symbol attribute specifies which symbol defined from within the geometry this material binds to.
 
2789
                                        </xs:documentation>
 
2790
                        </xs:annotation>
 
2791
                </xs:attribute>
 
2792
                <xs:attribute name="target" type="xs:anyURI" use="required">
 
2793
                        <xs:annotation>
 
2794
                                <xs:documentation>
 
2795
                                        The target attribute specifies the URL of the location of the object to instantiate.
 
2796
                                        </xs:documentation>
 
2797
                        </xs:annotation>
 
2798
                </xs:attribute>
 
2799
                <xs:attribute name="sid" type="sid_type">
 
2800
                        <xs:annotation>
 
2801
                                <xs:documentation>
 
2802
                                        The sid attribute is a text string value containing the sub-identifier of this element. This 
 
2803
                                        value must be unique within the scope of the parent element. Optional attribute.
 
2804
                                        </xs:documentation>
 
2805
                        </xs:annotation>
 
2806
                </xs:attribute>
 
2807
                <xs:attribute name="name" type="xs:token">
 
2808
                        <xs:annotation>
 
2809
                                <xs:documentation>
 
2810
                                        The name attribute is the text string name of this element. Optional attribute.
 
2811
                                        </xs:documentation>
 
2812
                        </xs:annotation>
 
2813
                </xs:attribute>
 
2814
        </xs:complexType>
 
2815
        <xs:complexType name="bind_material_type">
 
2816
                <xs:annotation>
 
2817
                        <xs:documentation>
 
2818
                        Bind a specific material to a piece of geometry, binding varying and uniform parameters at the 
 
2819
                        same time.
 
2820
                        </xs:documentation>
 
2821
                </xs:annotation>
 
2822
                <xs:sequence>
 
2823
                        <xs:element name="param" type="param_type" minOccurs="0" maxOccurs="unbounded">
 
2824
                                <xs:annotation>
 
2825
                                        <xs:documentation>
 
2826
                                                The bind_material element may contain any number of param elements.
 
2827
                                                </xs:documentation>
 
2828
                                </xs:annotation>
 
2829
                        </xs:element>
 
2830
                        <xs:element name="technique_common">
 
2831
                                <xs:annotation>
 
2832
                                        <xs:documentation>
 
2833
                                                The technique_common element specifies the bind_material information for the common 
 
2834
                                                profile which all COLLADA implementations need to support.
 
2835
                                                </xs:documentation>
 
2836
                                </xs:annotation>
 
2837
                                <xs:complexType>
 
2838
                                        <xs:sequence>
 
2839
                                                <xs:element name="instance_material" type="instance_material_type" maxOccurs="unbounded">
 
2840
                                                        <xs:annotation>
 
2841
                                                                <xs:documentation>
 
2842
                                                                        The instance_material element specifies the information needed to bind a geometry
 
2843
                                                                        to a material. This element must appear at least once.
 
2844
                                                                        </xs:documentation>
 
2845
                                                        </xs:annotation>
 
2846
                                                </xs:element>
 
2847
                                        </xs:sequence>
 
2848
                                </xs:complexType>
 
2849
                        </xs:element>
 
2850
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded">
 
2851
                                <xs:annotation>
 
2852
                                        <xs:documentation>
 
2853
                                                This element may contain any number of non-common profile techniques.
 
2854
                                                </xs:documentation>
 
2855
                                </xs:annotation>
 
2856
                        </xs:element>
 
2857
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
2858
                                <xs:annotation>
 
2859
                                        <xs:documentation>
 
2860
                                                The extra element may appear any number of times.
 
2861
                                                </xs:documentation>
 
2862
                                </xs:annotation>
 
2863
                        </xs:element>
 
2864
                </xs:sequence>
 
2865
        </xs:complexType>
 
2866
        <xs:complexType name="instance_controller_type">
 
2867
                <xs:annotation>
 
2868
                        <xs:documentation>
 
2869
                        The instance_controller element declares the instantiation of a COLLADA controller resource.
 
2870
                        </xs:documentation>
 
2871
                </xs:annotation>
 
2872
                <xs:sequence>
 
2873
                        <xs:element name="skeleton" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
 
2874
                                <xs:annotation>
 
2875
                                        <xs:documentation>
 
2876
                                                The skeleton element is used to indicate where a skin controller is to start to search for 
 
2877
                                                the joint nodes it needs.  This element is meaningless for morph controllers.
 
2878
                                                </xs:documentation>
 
2879
                                </xs:annotation>
 
2880
                        </xs:element>
 
2881
                        <xs:element name="bind_material" type="bind_material_type" minOccurs="0">
 
2882
                                <xs:annotation>
 
2883
                                        <xs:documentation>
 
2884
                                                Bind a specific material to a piece of geometry, binding varying and uniform parameters at the 
 
2885
                                                same time.
 
2886
                                                </xs:documentation>
 
2887
                                </xs:annotation>
 
2888
                        </xs:element>
 
2889
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
2890
                                <xs:annotation>
 
2891
                                        <xs:documentation>
 
2892
                                                The extra element may appear any number of times.
 
2893
                                                </xs:documentation>
 
2894
                                </xs:annotation>
 
2895
                        </xs:element>
 
2896
                </xs:sequence>
 
2897
                <xs:attribute name="url" type="xs:anyURI" use="required">
 
2898
                        <xs:annotation>
 
2899
                                <xs:documentation>
 
2900
                                        The url attribute refers to resource. This may refer to a local resource using a relative 
 
2901
                                        URL fragment identifier that begins with the "#" character. The url attribute may refer to an 
 
2902
                                        external resource using an absolute or relative URL.
 
2903
                                        </xs:documentation>
 
2904
                        </xs:annotation>
 
2905
                </xs:attribute>
 
2906
                <xs:attribute name="sid" type="sid_type">
 
2907
                        <xs:annotation>
 
2908
                                <xs:documentation>
 
2909
                                        The sid attribute is a text string value containing the sub-identifier of this element. This 
 
2910
                                        value must be unique within the scope of the parent element. Optional attribute.
 
2911
                                        </xs:documentation>
 
2912
                        </xs:annotation>
 
2913
                </xs:attribute>
 
2914
                <xs:attribute name="name" type="xs:token">
 
2915
                        <xs:annotation>
 
2916
                                <xs:documentation>
 
2917
                                        The name attribute is the text string name of this element. Optional attribute.
 
2918
                                        </xs:documentation>
 
2919
                        </xs:annotation>
 
2920
                </xs:attribute>
 
2921
        </xs:complexType>
 
2922
        <xs:complexType name="instance_geometry_type">
 
2923
                <xs:annotation>
 
2924
                        <xs:documentation>
 
2925
                        The instance_geometry element declares the instantiation of a COLLADA geometry resource.
 
2926
                        </xs:documentation>
 
2927
                </xs:annotation>
 
2928
                <xs:sequence>
 
2929
                        <xs:element name="bind_material" type="bind_material_type" minOccurs="0">
 
2930
                                <xs:annotation>
 
2931
                                        <xs:documentation>
 
2932
                                                Bind a specific material to a piece of geometry, binding varying and uniform parameters at the 
 
2933
                                                same time.
 
2934
                                                </xs:documentation>
 
2935
                                </xs:annotation>
 
2936
                        </xs:element>
 
2937
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
2938
                                <xs:annotation>
 
2939
                                        <xs:documentation>
 
2940
                                                The extra element may appear any number of times.
 
2941
                                                </xs:documentation>
 
2942
                                </xs:annotation>
 
2943
                        </xs:element>
 
2944
                </xs:sequence>
 
2945
                <xs:attribute name="url" type="xs:anyURI" use="required">
 
2946
                        <xs:annotation>
 
2947
                                <xs:documentation>
 
2948
                                        The url attribute refers to resource.  This may refer to a local resource using a relative URL 
 
2949
                                        fragment identifier that begins with the "#" character. The url attribute may refer to an external 
 
2950
                                        resource using an absolute or relative URL.
 
2951
                                        </xs:documentation>
 
2952
                        </xs:annotation>
 
2953
                </xs:attribute>
 
2954
                <xs:attribute name="sid" type="sid_type">
 
2955
                        <xs:annotation>
 
2956
                                <xs:documentation>
 
2957
                                        The sid attribute is a text string value containing the sub-identifier of this element. This 
 
2958
                                        value must be unique within the scope of the parent element. Optional attribute.
 
2959
                                        </xs:documentation>
 
2960
                        </xs:annotation>
 
2961
                </xs:attribute>
 
2962
                <xs:attribute name="name" type="xs:token">
 
2963
                        <xs:annotation>
 
2964
                                <xs:documentation>
 
2965
                                        The name attribute is the text string name of this element. Optional attribute.
 
2966
                                        </xs:documentation>
 
2967
                        </xs:annotation>
 
2968
                </xs:attribute>
 
2969
        </xs:complexType>
 
2970
        <xs:complexType name="instance_node_type">
 
2971
                <xs:annotation>
 
2972
                        <xs:documentation>
 
2973
                        The instance_node element declares the instantiation of a COLLADA node resource.
 
2974
                        </xs:documentation>
 
2975
                </xs:annotation>
 
2976
                <xs:complexContent>
 
2977
                        <xs:extension base="instance_with_extra_type">
 
2978
                                <xs:attribute name="proxy" type="xs:anyURI"/>
 
2979
                        </xs:extension>
 
2980
                </xs:complexContent>
 
2981
        </xs:complexType>
 
2982
        <xs:complexType name="instance_physics_material_type">
 
2983
                <xs:annotation>
 
2984
                        <xs:documentation>
 
2985
                        The instance_physics_material element declares the instantiation of a COLLADA physics_material 
 
2986
                        resource.
 
2987
                        </xs:documentation>
 
2988
                </xs:annotation>
 
2989
                <xs:complexContent>
 
2990
                        <xs:restriction base="instance_with_extra_type"/>
 
2991
                </xs:complexContent>
 
2992
        </xs:complexType>
 
2993
        <xs:complexType name="instance_rigid_constraint_type">
 
2994
                <xs:annotation>
 
2995
                        <xs:documentation>
 
2996
                        This element allows instancing a rigid_constraint within an instance_physics_model. 
 
2997
                        </xs:documentation>
 
2998
                </xs:annotation>
 
2999
                <xs:sequence>
 
3000
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
3001
                                <xs:annotation>
 
3002
                                        <xs:documentation>
 
3003
                                                The extra element may appear any number of times.
 
3004
                                                </xs:documentation>
 
3005
                                </xs:annotation>
 
3006
                        </xs:element>
 
3007
                </xs:sequence>
 
3008
                <xs:attribute name="constraint" type="xs:NCName" use="required">
 
3009
                        <xs:annotation>
 
3010
                                <xs:documentation>
 
3011
                                        The constraint attribute indicates which rigid_constraing to instantiate. Required attribute.
 
3012
                                        </xs:documentation>
 
3013
                        </xs:annotation>
 
3014
                </xs:attribute>
 
3015
                <xs:attribute name="sid" type="sid_type">
 
3016
                        <xs:annotation>
 
3017
                                <xs:documentation>
 
3018
                                        The sid attribute is a text string value containing the sub-identifier of this element. This 
 
3019
                                        value must be unique within the scope of the parent element. Optional attribute.
 
3020
                                        </xs:documentation>
 
3021
                        </xs:annotation>
 
3022
                </xs:attribute>
 
3023
                <xs:attribute name="name" type="xs:token">
 
3024
                        <xs:annotation>
 
3025
                                <xs:documentation>
 
3026
                                        The name attribute is the text string name of this element. Optional attribute.
 
3027
                                        </xs:documentation>
 
3028
                        </xs:annotation>
 
3029
                </xs:attribute>
 
3030
        </xs:complexType>
 
3031
        <xs:complexType name="library_cameras_type">
 
3032
                <xs:annotation>
 
3033
                        <xs:documentation>
 
3034
                        The library_cameras element declares a module of camera elements.
 
3035
                        </xs:documentation>
 
3036
                </xs:annotation>
 
3037
                <xs:sequence>
 
3038
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
3039
                                <xs:annotation>
 
3040
                                        <xs:documentation>
 
3041
                                                The library_cameras element may contain an asset element.
 
3042
                                                </xs:documentation>
 
3043
                                </xs:annotation>
 
3044
                        </xs:element>
 
3045
                        <xs:element name="camera" type="camera_type" maxOccurs="unbounded">
 
3046
                                <xs:annotation>
 
3047
                                        <xs:documentation>
 
3048
                                                There must be at least one camera element.
 
3049
                                                </xs:documentation>
 
3050
                                </xs:annotation>
 
3051
                        </xs:element>
 
3052
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
3053
                                <xs:annotation>
 
3054
                                        <xs:documentation>
 
3055
                                                The extra element may appear any number of times.
 
3056
                                                </xs:documentation>
 
3057
                                </xs:annotation>
 
3058
                        </xs:element>
 
3059
                </xs:sequence>
 
3060
                <xs:attribute name="id" type="xs:ID">
 
3061
                        <xs:annotation>
 
3062
                                <xs:documentation>
 
3063
                                        The id attribute is a text string containing the unique identifier of this element. 
 
3064
                                        This value must be unique within the instance document. Optional attribute.
 
3065
                                        </xs:documentation>
 
3066
                        </xs:annotation>
 
3067
                </xs:attribute>
 
3068
                <xs:attribute name="name" type="xs:token">
 
3069
                        <xs:annotation>
 
3070
                                <xs:documentation>
 
3071
                                        The name attribute is the text string name of this element. Optional attribute.
 
3072
                                        </xs:documentation>
 
3073
                        </xs:annotation>
 
3074
                </xs:attribute>
 
3075
        </xs:complexType>
 
3076
        <xs:complexType name="library_images_type">
 
3077
                <xs:annotation>
 
3078
                        <xs:documentation>
 
3079
                        The library_images element declares a module of image elements.
 
3080
                        </xs:documentation>
 
3081
                </xs:annotation>
 
3082
                <xs:sequence>
 
3083
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
3084
                                <xs:annotation>
 
3085
                                        <xs:documentation>
 
3086
                                                The library_images element may contain an asset element.
 
3087
                                                </xs:documentation>
 
3088
                                </xs:annotation>
 
3089
                        </xs:element>
 
3090
                        <xs:element name="image" type="image_type" maxOccurs="unbounded">
 
3091
                                <xs:annotation>
 
3092
                                        <xs:documentation>
 
3093
                                                There must be at least one image element.
 
3094
                                                </xs:documentation>
 
3095
                                </xs:annotation>
 
3096
                        </xs:element>
 
3097
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
3098
                                <xs:annotation>
 
3099
                                        <xs:documentation>
 
3100
                                                The extra element may appear any number of times.
 
3101
                                                </xs:documentation>
 
3102
                                </xs:annotation>
 
3103
                        </xs:element>
 
3104
                </xs:sequence>
 
3105
                <xs:attribute name="id" type="xs:ID">
 
3106
                        <xs:annotation>
 
3107
                                <xs:documentation>
 
3108
                                        The id attribute is a text string containing the unique identifier of this element. 
 
3109
                                        This value must be unique within the instance document. Optional attribute.
 
3110
                                        </xs:documentation>
 
3111
                        </xs:annotation>
 
3112
                </xs:attribute>
 
3113
                <xs:attribute name="name" type="xs:token">
 
3114
                        <xs:annotation>
 
3115
                                <xs:documentation>
 
3116
                                        The name attribute is the text string name of this element. Optional attribute.
 
3117
                                        </xs:documentation>
 
3118
                        </xs:annotation>
 
3119
                </xs:attribute>
 
3120
        </xs:complexType>
 
3121
        <xs:complexType name="library_lights_type">
 
3122
                <xs:annotation>
 
3123
                        <xs:documentation>
 
3124
                        The library_lights element declares a module of light elements.
 
3125
                        </xs:documentation>
 
3126
                </xs:annotation>
 
3127
                <xs:sequence>
 
3128
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
3129
                                <xs:annotation>
 
3130
                                        <xs:documentation>
 
3131
                                                The library_lights element may contain an asset element.
 
3132
                                                </xs:documentation>
 
3133
                                </xs:annotation>
 
3134
                        </xs:element>
 
3135
                        <xs:element name="light" type="light_type" maxOccurs="unbounded">
 
3136
                                <xs:annotation>
 
3137
                                        <xs:documentation>
 
3138
                                                There must be at least one light element.
 
3139
                                                </xs:documentation>
 
3140
                                </xs:annotation>
 
3141
                        </xs:element>
 
3142
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
3143
                                <xs:annotation>
 
3144
                                        <xs:documentation>
 
3145
                                                The extra element may appear any number of times.
 
3146
                                                </xs:documentation>
 
3147
                                </xs:annotation>
 
3148
                        </xs:element>
 
3149
                </xs:sequence>
 
3150
                <xs:attribute name="id" type="xs:ID">
 
3151
                        <xs:annotation>
 
3152
                                <xs:documentation>
 
3153
                                        The id attribute is a text string containing the unique identifier of this element. 
 
3154
                                        This value must be unique within the instance document. Optional attribute.
 
3155
                                        </xs:documentation>
 
3156
                        </xs:annotation>
 
3157
                </xs:attribute>
 
3158
                <xs:attribute name="name" type="xs:token">
 
3159
                        <xs:annotation>
 
3160
                                <xs:documentation>
 
3161
                                        The name attribute is the text string name of this element. Optional attribute.
 
3162
                                        </xs:documentation>
 
3163
                        </xs:annotation>
 
3164
                </xs:attribute>
 
3165
        </xs:complexType>
 
3166
        <xs:simpleType name="fx_color_type">
 
3167
                <xs:restriction base="float4_type"/>
 
3168
        </xs:simpleType>
 
3169
        <xs:simpleType name="fx_opaque_enum">
 
3170
                <xs:restriction base="xs:string">
 
3171
                        <xs:enumeration value="A_ONE">
 
3172
                                <xs:annotation>
 
3173
                                        <xs:documentation>
 
3174
                                                When a transparent opaque attribute is set to A_ONE, it means the transparency information will be taken from the alpha channel of the color, texture, or parameter supplying the value. The value of 1.0 is opaque in this mode.
 
3175
                                        </xs:documentation>
 
3176
                                </xs:annotation>
 
3177
                        </xs:enumeration>
 
3178
                        <xs:enumeration value="A_ZERO">
 
3179
                                <xs:annotation>
 
3180
                                        <xs:documentation>
 
3181
                                                When a transparent opaque attribute is set to A_ZERO, it means the transparency information will be taken from the alpha channel of the color, texture, or parameter supplying the value. The value of 0.0 is opaque in this mode.
 
3182
                                        </xs:documentation>
 
3183
                                </xs:annotation>
 
3184
                        </xs:enumeration>
 
3185
                        <xs:enumeration value="RGB_ONE">
 
3186
                                <xs:annotation>
 
3187
                                        <xs:documentation>
 
3188
                                                When a transparent opaque attribute is set to RGB_ONE, it means the transparency information will be taken from the red, green, and blue channels of the color, texture, or parameter supplying the value. Each channel is modulated independently. The value of 1.0 is opaque in this mode.
 
3189
                                        </xs:documentation>
 
3190
                                </xs:annotation>
 
3191
                        </xs:enumeration>
 
3192
                        <xs:enumeration value="RGB_ZERO">
 
3193
                                <xs:annotation>
 
3194
                                        <xs:documentation>
 
3195
                                                When a transparent opaque attribute is set to RGB_ZERO, it means the transparency information will be taken from the red, green, and blue channels of the color, texture, or parameter supplying the value. Each channel is modulated independently. The value of 0.0 is opaque in this mode.
 
3196
                                        </xs:documentation>
 
3197
                                </xs:annotation>
 
3198
                        </xs:enumeration>
 
3199
                </xs:restriction>
 
3200
        </xs:simpleType>
 
3201
        <xs:simpleType name="fx_sampler_wrap_enum">
 
3202
                <xs:restriction base="xs:NMTOKEN">
 
3203
                        <xs:enumeration value="WRAP">
 
3204
                                <xs:annotation>
 
3205
                                        <xs:documentation>Tile the texture at every integer junction. For example, for u values between 0 and 3, the texture is repeated three times; no mirroring is performed</xs:documentation>
 
3206
                                </xs:annotation>
 
3207
                        </xs:enumeration>
 
3208
                        <xs:enumeration value="CLAMP">
 
3209
                                <xs:annotation>
 
3210
                                        <xs:documentation>Same as CLAMP_TO_EDGE.  Texture coordinates reaching or exceeding the range [0.0, 1.0] are set just within 0.0 or 1.0 so that the boarder is not sampled</xs:documentation>
 
3211
                                </xs:annotation>
 
3212
                        </xs:enumeration>
 
3213
                        <xs:enumeration value="BORDER">
 
3214
                                <xs:annotation>
 
3215
                                        <xs:documentation>Much like clamp except texture coordinates outside the range [0.0, 1.0] are set to the border color</xs:documentation>
 
3216
                                </xs:annotation>
 
3217
                        </xs:enumeration>
 
3218
                        <xs:enumeration value="MIRROR">
 
3219
                                <xs:annotation>
 
3220
                                        <xs:documentation>texture is flipped at every integer junction. For u values between 0 and 1, for example, the texture is addressed normally; between 1 and 2, the texture is flipped (mirrored); between 2 and 3, the texture is normal again; and so on. 
 
3221
</xs:documentation>
 
3222
                                </xs:annotation>
 
3223
                        </xs:enumeration>
 
3224
                        <xs:enumeration value="MIRROR_ONCE">
 
3225
                                <xs:annotation>
 
3226
                                        <xs:documentation>Takes the absolute value of the texture coordinate (thus, mirroring around 0), and then clamps to the maximum value</xs:documentation>
 
3227
                                </xs:annotation>
 
3228
                        </xs:enumeration>
 
3229
                </xs:restriction>
 
3230
        </xs:simpleType>
 
3231
        <xs:simpleType name="fx_sampler_min_filter_enum">
 
3232
                <xs:restriction base="xs:NMTOKEN">
 
3233
                        <xs:enumeration value="NEAREST"/>
 
3234
                        <xs:enumeration value="LINEAR"/>
 
3235
                        <xs:enumeration value="ANISOTROPIC"/>
 
3236
                </xs:restriction>
 
3237
        </xs:simpleType>
 
3238
        <xs:simpleType name="fx_sampler_mag_filter_enum">
 
3239
                <xs:restriction base="xs:NMTOKEN">
 
3240
                        <xs:enumeration value="NEAREST"/>
 
3241
                        <xs:enumeration value="LINEAR"/>
 
3242
                </xs:restriction>
 
3243
        </xs:simpleType>
 
3244
        <xs:simpleType name="fx_sampler_mip_filter_enum">
 
3245
                <xs:restriction base="xs:NMTOKEN">
 
3246
                        <xs:enumeration value="NONE"/>
 
3247
                        <xs:enumeration value="NEAREST"/>
 
3248
                        <xs:enumeration value="LINEAR"/>
 
3249
                </xs:restriction>
 
3250
        </xs:simpleType>
 
3251
        <xs:group name="fx_sampler_states_group">
 
3252
                <xs:sequence>
 
3253
                        <xs:element name="wrap_s" type="fx_sampler_wrap_enum" default="WRAP" minOccurs="0"/>
 
3254
                        <xs:element name="wrap_t" type="fx_sampler_wrap_enum" default="WRAP" minOccurs="0"/>
 
3255
                        <xs:element name="wrap_p" type="fx_sampler_wrap_enum" default="WRAP" minOccurs="0"/>
 
3256
                        <xs:element name="minfilter" type="fx_sampler_min_filter_enum" default="LINEAR" minOccurs="0">
 
3257
                                <xs:annotation>
 
3258
                                        <xs:documentation>minification</xs:documentation>
 
3259
                                </xs:annotation>
 
3260
                        </xs:element>
 
3261
                        <xs:element name="magfilter" type="fx_sampler_mag_filter_enum" default="LINEAR" minOccurs="0">
 
3262
                                <xs:annotation>
 
3263
                                        <xs:documentation>magnification</xs:documentation>
 
3264
                                </xs:annotation>
 
3265
                        </xs:element>
 
3266
                        <xs:element name="mipfilter" type="fx_sampler_mip_filter_enum" default="LINEAR" minOccurs="0">
 
3267
                                <xs:annotation>
 
3268
                                        <xs:documentation>filtering across mips.
 
3269
NONE = no minification
 
3270
NEAREST = bilinear
 
3271
LINEAR = trilinear
 
3272
ANISOTROPIC =  Compensates for distortion caused by the difference in angle between the polygon and the plane of the screen.  Relies on max_anisotropy</xs:documentation>
 
3273
                                </xs:annotation>
 
3274
                        </xs:element>
 
3275
                        <xs:element name="border_color" type="fx_color_type" minOccurs="0"/>
 
3276
                        <xs:element name="mip_max_level" type="xs:unsignedByte" default="0" minOccurs="0">
 
3277
                                <xs:annotation>
 
3278
                                        <xs:documentation>level-of-detail index of largest map to use. Values range from 0 to (n - 1) where 0 is the largest. The default value is zero</xs:documentation>
 
3279
                                </xs:annotation>
 
3280
                        </xs:element>
 
3281
                        <xs:element name="mip_min_level" type="xs:unsignedByte" default="0" minOccurs="0">
 
3282
                                <xs:annotation>
 
3283
                                        <xs:documentation>level-of-detail index of smallest map to use. Values range from 0 to (n - 1) where 0 is the smallest. The default value is zero</xs:documentation>
 
3284
                                </xs:annotation>
 
3285
                        </xs:element>
 
3286
                        <xs:element name="mip_bias" type="xs:float" default="0.0" minOccurs="0">
 
3287
                                <xs:annotation>
 
3288
                                        <xs:documentation>Mipmap level-of-detail bias. The default value is zero</xs:documentation>
 
3289
                                </xs:annotation>
 
3290
                        </xs:element>
 
3291
                        <xs:element name="max_anisotropy" type="xs:unsignedInt" default="1" minOccurs="0">
 
3292
                                <xs:annotation>
 
3293
                                        <xs:documentation>number of samples that may be used durring anisotropic filtering</xs:documentation>
 
3294
                                </xs:annotation>
 
3295
                        </xs:element>
 
3296
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
3297
                </xs:sequence>
 
3298
        </xs:group>
 
3299
        <xs:group name="fx_setparam_group">
 
3300
                <xs:annotation>
 
3301
                        <xs:documentation>
 
3302
                        A group that specifies the allowable types for effect scoped parameters.
 
3303
                        </xs:documentation>
 
3304
                </xs:annotation>
 
3305
                <xs:choice>
 
3306
                        <xs:element name="bool" type="xs:boolean"/>
 
3307
                        <xs:element name="bool2" type="bool2_type"/>
 
3308
                        <xs:element name="bool3" type="bool3_type"/>
 
3309
                        <xs:element name="bool4" type="bool4_type"/>
 
3310
                        <xs:element name="int" type="int_type"/>
 
3311
                        <xs:element name="int2" type="int2_type"/>
 
3312
                        <xs:element name="int3" type="int3_type"/>
 
3313
                        <xs:element name="int4" type="int4_type"/>
 
3314
                        <xs:element name="float" type="float_type"/>
 
3315
                        <xs:element name="float2" type="float2_type"/>
 
3316
                        <xs:element name="float3" type="float3_type"/>
 
3317
                        <xs:element name="float4" type="float4_type"/>
 
3318
                        <xs:element name="float2x1" type="float2_type"/>
 
3319
                        <xs:element name="float2x2" type="float2x2_type"/>
 
3320
                        <xs:element name="float2x3" type="float2x3_type"/>
 
3321
                        <xs:element name="float2x4" type="float2x4_type"/>
 
3322
                        <xs:element name="float3x1" type="float3_type"/>
 
3323
                        <xs:element name="float3x2" type="float3x2_type"/>
 
3324
                        <xs:element name="float3x3" type="float3x3_type"/>
 
3325
                        <xs:element name="float3x4" type="float3x4_type"/>
 
3326
                        <xs:element name="float4x1" type="float4_type"/>
 
3327
                        <xs:element name="float4x2" type="float4x2_type"/>
 
3328
                        <xs:element name="float4x3" type="float4x3_type"/>
 
3329
                        <xs:element name="float4x4" type="float4x4_type"/>
 
3330
                        <xs:element name="enum" type="xs:string"/>
 
3331
                        <xs:element name="sampler_image" type="instance_image_type"/>
 
3332
                        <xs:element name="sampler_states">
 
3333
                                <xs:complexType>
 
3334
                                        <xs:group ref="fx_sampler_states_group"/>
 
3335
                                </xs:complexType>
 
3336
                        </xs:element>
 
3337
                </xs:choice>
 
3338
        </xs:group>
 
3339
        <xs:complexType name="instance_effect_type">
 
3340
                <xs:annotation>
 
3341
                        <xs:documentation>
 
3342
                        The instance_effect element declares the instantiation of a COLLADA effect resource.
 
3343
                        </xs:documentation>
 
3344
                </xs:annotation>
 
3345
                <xs:sequence>
 
3346
                        <xs:element name="technique_hint" minOccurs="0" maxOccurs="unbounded">
 
3347
                                <xs:annotation>
 
3348
                                        <xs:documentation>
 
3349
                                                Add a hint for a platform of which technique to use in this effect.
 
3350
                                                </xs:documentation>
 
3351
                                </xs:annotation>
 
3352
                                <xs:complexType>
 
3353
                                        <xs:attribute name="platform" type="xs:NCName" use="optional">
 
3354
                                                <xs:annotation>
 
3355
                                                        <xs:documentation>
 
3356
                                                                A platform defines a string that specifies which platform this is hint is aimed for.
 
3357
                                                                </xs:documentation>
 
3358
                                                </xs:annotation>
 
3359
                                        </xs:attribute>
 
3360
                                        <xs:attribute name="profile" type="xs:NCName" use="optional">
 
3361
                                                <xs:annotation>
 
3362
                                                        <xs:documentation>
 
3363
                                                                A profile defines a string that specifies which API profile this is hint is aimed for.
 
3364
                                                                </xs:documentation>
 
3365
                                                </xs:annotation>
 
3366
                                        </xs:attribute>
 
3367
                                        <xs:attribute name="ref" type="xs:NCName" use="required">
 
3368
                                                <xs:annotation>
 
3369
                                                        <xs:documentation>
 
3370
                                                                A reference to the technique to use for the specified platform.
 
3371
                                                                </xs:documentation>
 
3372
                                                </xs:annotation>
 
3373
                                        </xs:attribute>
 
3374
                                </xs:complexType>
 
3375
                        </xs:element>
 
3376
                        <xs:element name="setparam" minOccurs="0" maxOccurs="unbounded">
 
3377
                                <xs:annotation>
 
3378
                                        <xs:documentation>
 
3379
                                                Assigns a new value to a previously defined parameter
 
3380
                                                </xs:documentation>
 
3381
                                </xs:annotation>
 
3382
                                <xs:complexType>
 
3383
                                        <xs:sequence>
 
3384
                                                <xs:group ref="fx_setparam_group"/>
 
3385
                                        </xs:sequence>
 
3386
                                        <xs:attribute name="ref" type="xs:token" use="required"/>
 
3387
                                </xs:complexType>
 
3388
                        </xs:element>
 
3389
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
3390
                                <xs:annotation>
 
3391
                                        <xs:documentation>
 
3392
                                                The extra element may appear any number of times.
 
3393
                                                </xs:documentation>
 
3394
                                </xs:annotation>
 
3395
                        </xs:element>
 
3396
                </xs:sequence>
 
3397
                <xs:attribute name="url" type="xs:anyURI" use="required">
 
3398
                        <xs:annotation>
 
3399
                                <xs:documentation>
 
3400
                                        The url attribute refers to resource.  This may refer to a local resource using a relative URL 
 
3401
                                        fragment identifier that begins with the "#" character. The url attribute may refer to an external 
 
3402
                                        resource using an absolute or relative URL.
 
3403
                                        </xs:documentation>
 
3404
                        </xs:annotation>
 
3405
                </xs:attribute>
 
3406
                <xs:attribute name="sid" type="sid_type">
 
3407
                        <xs:annotation>
 
3408
                                <xs:documentation>
 
3409
                                        The sid attribute is a text string value containing the sub-identifier of this element. This 
 
3410
                                        value must be unique within the scope of the parent element. Optional attribute.
 
3411
                                        </xs:documentation>
 
3412
                        </xs:annotation>
 
3413
                </xs:attribute>
 
3414
                <xs:attribute name="name" type="xs:token">
 
3415
                        <xs:annotation>
 
3416
                                <xs:documentation>
 
3417
                                        The name attribute is the text string name of this element. Optional attribute.
 
3418
                                        </xs:documentation>
 
3419
                        </xs:annotation>
 
3420
                </xs:attribute>
 
3421
        </xs:complexType>
 
3422
        <xs:complexType name="material_type">
 
3423
                <xs:annotation>
 
3424
                        <xs:documentation>
 
3425
                        Materials describe the visual appearance of a geometric object.
 
3426
                        </xs:documentation>
 
3427
                </xs:annotation>
 
3428
                <xs:sequence>
 
3429
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
3430
                                <xs:annotation>
 
3431
                                        <xs:documentation>
 
3432
                                                The material element may contain an asset element.
 
3433
                                                </xs:documentation>
 
3434
                                </xs:annotation>
 
3435
                        </xs:element>
 
3436
                        <xs:element name="instance_effect" type="instance_effect_type">
 
3437
                                <xs:annotation>
 
3438
                                        <xs:documentation>
 
3439
                                                The material must instance an effect.
 
3440
                                                </xs:documentation>
 
3441
                                </xs:annotation>
 
3442
                        </xs:element>
 
3443
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
3444
                                <xs:annotation>
 
3445
                                        <xs:documentation>
 
3446
                                                The extra element may appear any number of times.
 
3447
                                                </xs:documentation>
 
3448
                                </xs:annotation>
 
3449
                        </xs:element>
 
3450
                </xs:sequence>
 
3451
                <xs:attribute name="id" type="xs:ID">
 
3452
                        <xs:annotation>
 
3453
                                <xs:documentation>
 
3454
                                        The id attribute is a text string containing the unique identifier of this element. This value 
 
3455
                                        must be unique within the instance document. Optional attribute.
 
3456
                                        </xs:documentation>
 
3457
                        </xs:annotation>
 
3458
                </xs:attribute>
 
3459
                <xs:attribute name="name" type="xs:token">
 
3460
                        <xs:annotation>
 
3461
                                <xs:documentation>
 
3462
                                        The name attribute is the text string name of this element. Optional attribute.
 
3463
                                        </xs:documentation>
 
3464
                        </xs:annotation>
 
3465
                </xs:attribute>
 
3466
        </xs:complexType>
 
3467
        <xs:complexType name="library_materials_type">
 
3468
                <xs:annotation>
 
3469
                        <xs:documentation>
 
3470
                        The library_materials element declares a module of material elements.
 
3471
                        </xs:documentation>
 
3472
                </xs:annotation>
 
3473
                <xs:sequence>
 
3474
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
3475
                                <xs:annotation>
 
3476
                                        <xs:documentation>
 
3477
                                                The library_materials element may contain an asset element.
 
3478
                                                </xs:documentation>
 
3479
                                </xs:annotation>
 
3480
                        </xs:element>
 
3481
                        <xs:element name="material" type="material_type" maxOccurs="unbounded">
 
3482
                                <xs:annotation>
 
3483
                                        <xs:documentation>
 
3484
                                                There must be at least one material element.
 
3485
                                                </xs:documentation>
 
3486
                                </xs:annotation>
 
3487
                        </xs:element>
 
3488
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
3489
                                <xs:annotation>
 
3490
                                        <xs:documentation>
 
3491
                                                The extra element may appear any number of times.
 
3492
                                                </xs:documentation>
 
3493
                                </xs:annotation>
 
3494
                        </xs:element>
 
3495
                </xs:sequence>
 
3496
                <xs:attribute name="id" type="xs:ID">
 
3497
                        <xs:annotation>
 
3498
                                <xs:documentation>
 
3499
                                        The id attribute is a text string containing the unique identifier of this element. 
 
3500
                                        This value must be unique within the instance document. Optional attribute.
 
3501
                                        </xs:documentation>
 
3502
                        </xs:annotation>
 
3503
                </xs:attribute>
 
3504
                <xs:attribute name="name" type="xs:token">
 
3505
                        <xs:annotation>
 
3506
                                <xs:documentation>
 
3507
                                        The name attribute is the text string name of this element. Optional attribute.
 
3508
                                        </xs:documentation>
 
3509
                        </xs:annotation>
 
3510
                </xs:attribute>
 
3511
        </xs:complexType>
 
3512
        <xs:complexType name="fx_sampler_type">
 
3513
                <xs:annotation>
 
3514
                        <xs:documentation>Sampling state that can be sharable between samplers because there is often heavy re-use</xs:documentation>
 
3515
                </xs:annotation>
 
3516
                <xs:sequence>
 
3517
                        <xs:element name="instance_image" type="instance_image_type" minOccurs="0"/>
 
3518
                        <xs:group ref="fx_sampler_states_group"/>
 
3519
                </xs:sequence>
 
3520
        </xs:complexType>
 
3521
        <xs:complexType name="fx_sampler1D_type">
 
3522
                <xs:annotation>
 
3523
                        <xs:documentation>
 
3524
                        A one-dimensional texture sampler.
 
3525
                        </xs:documentation>
 
3526
                </xs:annotation>
 
3527
                <xs:complexContent>
 
3528
                        <xs:restriction base="fx_sampler_type"/>
 
3529
                </xs:complexContent>
 
3530
        </xs:complexType>
 
3531
        <xs:complexType name="fx_sampler2D_type">
 
3532
                <xs:annotation>
 
3533
                        <xs:documentation>
 
3534
                        A two-dimensional texture sampler.
 
3535
                        </xs:documentation>
 
3536
                </xs:annotation>
 
3537
                <xs:complexContent>
 
3538
                        <xs:restriction base="fx_sampler_type"/>
 
3539
                </xs:complexContent>
 
3540
        </xs:complexType>
 
3541
        <xs:complexType name="fx_sampler3D_type">
 
3542
                <xs:annotation>
 
3543
                        <xs:documentation>
 
3544
                        A three-dimensional texture sampler.
 
3545
                        </xs:documentation>
 
3546
                </xs:annotation>
 
3547
                <xs:complexContent>
 
3548
                        <xs:restriction base="fx_sampler_type"/>
 
3549
                </xs:complexContent>
 
3550
        </xs:complexType>
 
3551
        <xs:complexType name="fx_samplerCUBE_type">
 
3552
                <xs:annotation>
 
3553
                        <xs:documentation>
 
3554
                        A texture sampler for cube maps.
 
3555
                        </xs:documentation>
 
3556
                </xs:annotation>
 
3557
                <xs:complexContent>
 
3558
                        <xs:restriction base="fx_sampler_type"/>
 
3559
                </xs:complexContent>
 
3560
        </xs:complexType>
 
3561
        <xs:complexType name="fx_samplerRECT_type">
 
3562
                <xs:annotation>
 
3563
                        <xs:documentation>
 
3564
                        A two-dimensional texture sampler.
 
3565
                        </xs:documentation>
 
3566
                </xs:annotation>
 
3567
                <xs:complexContent>
 
3568
                        <xs:restriction base="fx_sampler_type"/>
 
3569
                </xs:complexContent>
 
3570
        </xs:complexType>
 
3571
        <xs:complexType name="fx_samplerDEPTH_type">
 
3572
                <xs:annotation>
 
3573
                        <xs:documentation>
 
3574
                        A texture sampler for depth maps.
 
3575
                        </xs:documentation>
 
3576
                </xs:annotation>
 
3577
                <xs:complexContent>
 
3578
                        <xs:restriction base="fx_sampler_type"/>
 
3579
                </xs:complexContent>
 
3580
        </xs:complexType>
 
3581
        <xs:group name="fx_newparam_group">
 
3582
                <xs:annotation>
 
3583
                        <xs:documentation>
 
3584
                        A group that specifies the allowable types for effect scoped parameters.
 
3585
                        </xs:documentation>
 
3586
                </xs:annotation>
 
3587
                <xs:choice>
 
3588
                        <xs:element name="bool" type="xs:boolean"/>
 
3589
                        <xs:element name="bool2" type="bool2_type"/>
 
3590
                        <xs:element name="bool3" type="bool3_type"/>
 
3591
                        <xs:element name="bool4" type="bool4_type"/>
 
3592
                        <xs:element name="int" type="int_type"/>
 
3593
                        <xs:element name="int2" type="int2_type"/>
 
3594
                        <xs:element name="int3" type="int3_type"/>
 
3595
                        <xs:element name="int4" type="int4_type"/>
 
3596
                        <xs:element name="float" type="float_type"/>
 
3597
                        <xs:element name="float2" type="float2_type"/>
 
3598
                        <xs:element name="float3" type="float3_type"/>
 
3599
                        <xs:element name="float4" type="float4_type"/>
 
3600
                        <xs:element name="float2x1" type="float2_type"/>
 
3601
                        <xs:element name="float2x2" type="float2x2_type"/>
 
3602
                        <xs:element name="float2x3" type="float2x3_type"/>
 
3603
                        <xs:element name="float2x4" type="float2x4_type"/>
 
3604
                        <xs:element name="float3x1" type="float3_type"/>
 
3605
                        <xs:element name="float3x2" type="float3x2_type"/>
 
3606
                        <xs:element name="float3x3" type="float3x3_type"/>
 
3607
                        <xs:element name="float3x4" type="float3x4_type"/>
 
3608
                        <xs:element name="float4x1" type="float4_type"/>
 
3609
                        <xs:element name="float4x2" type="float4x2_type"/>
 
3610
                        <xs:element name="float4x3" type="float4x3_type"/>
 
3611
                        <xs:element name="float4x4" type="float4x4_type"/>
 
3612
                        <xs:element name="sampler1D" type="fx_sampler1D_type"/>
 
3613
                        <xs:element name="sampler2D" type="fx_sampler2D_type"/>
 
3614
                        <xs:element name="sampler3D" type="fx_sampler3D_type"/>
 
3615
                        <xs:element name="samplerCUBE" type="fx_samplerCUBE_type"/>
 
3616
                        <xs:element name="samplerRECT" type="fx_samplerRECT_type"/>
 
3617
                        <xs:element name="samplerDEPTH" type="fx_samplerDEPTH_type"/>
 
3618
                        <xs:element name="enum" type="xs:string"/>
 
3619
                </xs:choice>
 
3620
        </xs:group>
 
3621
        <xs:group name="fx_annotate_group">
 
3622
                <xs:annotation>
 
3623
                        <xs:documentation>
 
3624
                        A group that specifies the allowable types for an annotation.
 
3625
                        </xs:documentation>
 
3626
                </xs:annotation>
 
3627
                <xs:choice>
 
3628
                        <xs:element name="bool" type="xs:boolean"/>
 
3629
                        <xs:element name="bool2" type="bool2_type"/>
 
3630
                        <xs:element name="bool3" type="bool3_type"/>
 
3631
                        <xs:element name="bool4" type="bool4_type"/>
 
3632
                        <xs:element name="int" type="int_type"/>
 
3633
                        <xs:element name="int2" type="int2_type"/>
 
3634
                        <xs:element name="int3" type="int3_type"/>
 
3635
                        <xs:element name="int4" type="int4_type"/>
 
3636
                        <xs:element name="float" type="float_type"/>
 
3637
                        <xs:element name="float2" type="float2_type"/>
 
3638
                        <xs:element name="float3" type="float3_type"/>
 
3639
                        <xs:element name="float4" type="float4_type"/>
 
3640
                        <xs:element name="float2x2" type="float2x2_type"/>
 
3641
                        <xs:element name="float3x3" type="float3x3_type"/>
 
3642
                        <xs:element name="float4x4" type="float4x4_type"/>
 
3643
                        <xs:element name="string" type="xs:string"/>
 
3644
                </xs:choice>
 
3645
        </xs:group>
 
3646
        <xs:simpleType name="fx_modifier_enum">
 
3647
                <xs:restriction base="xs:NMTOKEN">
 
3648
                        <xs:enumeration value="CONST"/>
 
3649
                        <xs:enumeration value="UNIFORM"/>
 
3650
                        <xs:enumeration value="VARYING"/>
 
3651
                        <xs:enumeration value="STATIC"/>
 
3652
                        <xs:enumeration value="VOLATILE"/>
 
3653
                        <xs:enumeration value="EXTERN"/>
 
3654
                        <xs:enumeration value="SHARED"/>
 
3655
                </xs:restriction>
 
3656
        </xs:simpleType>
 
3657
        <xs:complexType name="fx_rendertarget_type">
 
3658
                <xs:choice>
 
3659
                        <xs:element name="param">
 
3660
                                <xs:complexType>
 
3661
                                        <xs:attribute name="ref" type="xs:token" use="required"/>
 
3662
                                </xs:complexType>
 
3663
                        </xs:element>
 
3664
                        <xs:element name="instance_image" type="instance_image_type"/>
 
3665
                </xs:choice>
 
3666
                <xs:attribute name="index" type="xs:nonNegativeInteger" use="optional" default="0">
 
3667
                        <xs:annotation>
 
3668
                                <xs:documentation>array index</xs:documentation>
 
3669
                        </xs:annotation>
 
3670
                </xs:attribute>
 
3671
                <xs:attribute name="mip" type="xs:nonNegativeInteger" use="optional" default="0">
 
3672
                        <xs:annotation>
 
3673
                                <xs:documentation>mip level</xs:documentation>
 
3674
                        </xs:annotation>
 
3675
                </xs:attribute>
 
3676
                <xs:attribute name="face" type="image_face_enum" use="optional" default="POSITIVE_X">
 
3677
                        <xs:annotation>
 
3678
                                <xs:documentation>cube face</xs:documentation>
 
3679
                        </xs:annotation>
 
3680
                </xs:attribute>
 
3681
                <xs:attribute name="slice" type="xs:nonNegativeInteger" use="optional" default="0">
 
3682
                        <xs:annotation>
 
3683
                                <xs:documentation>volume depth</xs:documentation>
 
3684
                        </xs:annotation>
 
3685
                </xs:attribute>
 
3686
        </xs:complexType>
 
3687
        <xs:complexType name="fx_colortarget_type">
 
3688
                <xs:complexContent>
 
3689
                        <xs:extension base="fx_rendertarget_type"/>
 
3690
                </xs:complexContent>
 
3691
        </xs:complexType>
 
3692
        <xs:complexType name="fx_depthtarget_type">
 
3693
                <xs:complexContent>
 
3694
                        <xs:extension base="fx_rendertarget_type"/>
 
3695
                </xs:complexContent>
 
3696
        </xs:complexType>
 
3697
        <xs:complexType name="fx_stenciltarget_type">
 
3698
                <xs:complexContent>
 
3699
                        <xs:extension base="fx_rendertarget_type"/>
 
3700
                </xs:complexContent>
 
3701
        </xs:complexType>
 
3702
        <xs:complexType name="fx_clearcolor_type">
 
3703
                <xs:simpleContent>
 
3704
                        <xs:extension base="fx_color_type">
 
3705
                                <xs:attribute name="index" type="xs:nonNegativeInteger" use="optional" default="0"/>
 
3706
                        </xs:extension>
 
3707
                </xs:simpleContent>
 
3708
        </xs:complexType>
 
3709
        <xs:complexType name="fx_cleardepth_type">
 
3710
                <xs:simpleContent>
 
3711
                        <xs:extension base="float_type">
 
3712
                                <xs:attribute name="index" type="xs:nonNegativeInteger" use="optional" default="0"/>
 
3713
                        </xs:extension>
 
3714
                </xs:simpleContent>
 
3715
        </xs:complexType>
 
3716
        <xs:complexType name="fx_clearstencil_type">
 
3717
                <xs:simpleContent>
 
3718
                        <xs:extension base="xs:byte">
 
3719
                                <xs:attribute name="index" type="xs:nonNegativeInteger" use="optional" default="0"/>
 
3720
                        </xs:extension>
 
3721
                </xs:simpleContent>
 
3722
        </xs:complexType>
 
3723
        <xs:simpleType name="fx_draw_type">
 
3724
                <xs:annotation>
 
3725
                        <xs:documentation>
 
3726
? GEOMETRY: [default] The geometry associated with this instance_geometry or nstance_material.
 
3727
? SCENE_GEOMETRY: Draw the entire scene's geometry but with this effect, not the effects or
 
3728
materials already associated with the geometry. This is for techniques such as shadow-buffer
 
3729
generation, where you might be interested only in extracting the Z value from the light. This is
 
3730
without regard to ordering on the assumption that ZBuffer handles order.
 
3731
? SCENE_IMAGE: Draw the entire scene naturally into the render targets. Hense producing an image
 
3732
of the scene.  When used more then once, the later uses must include what has been rendered so far 
 
3733
to the backbuffer since the first render.  This is for effects that need an accurate image of the scene 
 
3734
to work on for effects such as postprocessing blurs. 
 
3735
? FULL_SCREEN_QUAD: Positions are 0,0 to 1,1 and the UVs match.                 
 
3736
                        </xs:documentation>
 
3737
                </xs:annotation>
 
3738
                <xs:restriction base="xs:string"/>
 
3739
        </xs:simpleType>
 
3740
        <xs:simpleType name="fx_pipeline_stage_enum">
 
3741
                <xs:restriction base="xs:string">
 
3742
                        <xs:enumeration value="TESSELLATION"/>
 
3743
                        <xs:enumeration value="VERTEX"/>
 
3744
                        <xs:enumeration value="GEOMETRY"/>
 
3745
                        <xs:enumeration value="FRAGMENT"/>
 
3746
                </xs:restriction>
 
3747
        </xs:simpleType>
 
3748
        <xs:complexType name="fx_annotate_type">
 
3749
                <xs:sequence>
 
3750
                        <xs:group ref="fx_annotate_group"/>
 
3751
                </xs:sequence>
 
3752
                <xs:attribute name="name" type="xs:token" use="required"/>
 
3753
        </xs:complexType>
 
3754
        <xs:complexType name="fx_newparam_type">
 
3755
                <xs:annotation>
 
3756
                        <xs:documentation>
 
3757
                        This element creates a new, named param object in the FX Runtime, assigns it a type, an initial value, and additional attributes at declaration time.
 
3758
                        </xs:documentation>
 
3759
                </xs:annotation>
 
3760
                <xs:sequence>
 
3761
                        <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded">
 
3762
                                <xs:annotation>
 
3763
                                        <xs:documentation>
 
3764
                                        The annotate element allows you to specify an annotation for this new param.
 
3765
                                        </xs:documentation>
 
3766
                                </xs:annotation>
 
3767
                        </xs:element>
 
3768
                        <xs:element name="semantic" type="xs:NCName" minOccurs="0">
 
3769
                                <xs:annotation>
 
3770
                                        <xs:documentation>
 
3771
                                        The semantic element allows you to specify a semantic for this new param.
 
3772
                                        </xs:documentation>
 
3773
                                </xs:annotation>
 
3774
                        </xs:element>
 
3775
                        <xs:element name="modifier" type="fx_modifier_enum" minOccurs="0">
 
3776
                                <xs:annotation>
 
3777
                                        <xs:documentation>
 
3778
                                        The modifier element allows you to specify a modifier for this new param.
 
3779
                                        </xs:documentation>
 
3780
                                </xs:annotation>
 
3781
                        </xs:element>
 
3782
                        <xs:group ref="fx_newparam_group"/>
 
3783
                </xs:sequence>
 
3784
                <xs:attribute name="sid" type="sid_type" use="required">
 
3785
                        <xs:annotation>
 
3786
                                <xs:documentation>
 
3787
                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
3788
                                This value must be unique within the scope of the parent element. Optional attribute.
 
3789
                                </xs:documentation>
 
3790
                        </xs:annotation>
 
3791
                </xs:attribute>
 
3792
        </xs:complexType>
 
3793
        <xs:complexType name="fx_include_type">
 
3794
                <xs:annotation>
 
3795
                        <xs:documentation>
 
3796
                        The include element is used to import source code or precompiled binary shaders into the FX Runtime by referencing an external resource.
 
3797
                        </xs:documentation>
 
3798
                </xs:annotation>
 
3799
                <xs:attribute name="sid" type="sid_type" use="required">
 
3800
                        <xs:annotation>
 
3801
                                <xs:documentation>
 
3802
                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
3803
                                        This value must be unique within the scope of the parent element. Optional attribute.
 
3804
                                </xs:documentation>
 
3805
                        </xs:annotation>
 
3806
                </xs:attribute>
 
3807
                <xs:attribute name="url" type="xs:anyURI" use="required">
 
3808
                        <xs:annotation>
 
3809
                                <xs:documentation>
 
3810
                                        The url attribute refers to resource.  This may refer to a local resource using a relative URL 
 
3811
                                        fragment identifier that begins with the "#" character. The url attribute may refer to an external 
 
3812
                                        resource using an absolute or relative URL.
 
3813
                                </xs:documentation>
 
3814
                        </xs:annotation>
 
3815
                </xs:attribute>
 
3816
        </xs:complexType>
 
3817
        <xs:complexType name="fx_code_type">
 
3818
                <xs:annotation>
 
3819
                        <xs:documentation>
 
3820
                        The fx_code_common type allows you to specify an inline block of source code.
 
3821
                        </xs:documentation>
 
3822
                </xs:annotation>
 
3823
                <xs:simpleContent>
 
3824
                        <xs:extension base="xs:string">
 
3825
                                <xs:attribute name="sid" type="sid_type" use="optional">
 
3826
                                        <xs:annotation>
 
3827
                                                <xs:documentation>
 
3828
                                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
3829
                                                This value must be unique within the scope of the parent element. Optional attribute.
 
3830
                                                </xs:documentation>
 
3831
                                        </xs:annotation>
 
3832
                                </xs:attribute>
 
3833
                        </xs:extension>
 
3834
                </xs:simpleContent>
 
3835
        </xs:complexType>
 
3836
        <xs:complexType name="fx_sources_type">
 
3837
                <xs:sequence>
 
3838
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
3839
                                <xs:element name="inline" type="xs:string">
 
3840
                                        <xs:annotation>
 
3841
                                                <xs:documentation>this is allows you to include some code right here....like a #define for an uber shader that is imported</xs:documentation>
 
3842
                                        </xs:annotation>
 
3843
                                </xs:element>
 
3844
                                <xs:element name="import">
 
3845
                                        <xs:annotation>
 
3846
                                                <xs:documentation>Ref attribute identifies the sid of a code or include element</xs:documentation>
 
3847
                                        </xs:annotation>
 
3848
                                        <xs:complexType>
 
3849
                                                <xs:attribute name="ref" type="xs:token" use="required"/>
 
3850
                                        </xs:complexType>
 
3851
                                </xs:element>
 
3852
                        </xs:choice>
 
3853
                </xs:sequence>
 
3854
        </xs:complexType>
 
3855
        <xs:complexType name="fx_target_type">
 
3856
                <xs:annotation>
 
3857
                        <xs:documentation>identify the platform_sku and compiler options to build a binary</xs:documentation>
 
3858
                </xs:annotation>
 
3859
                <xs:sequence>
 
3860
                        <xs:element name="binary" minOccurs="0">
 
3861
                                <xs:complexType>
 
3862
                                        <xs:choice>
 
3863
                                                <xs:element name="ref" type="xs:anyURI"/>
 
3864
                                                <xs:element name="hex">
 
3865
                                                        <xs:annotation>
 
3866
                                                                <xs:documentation>contains a sequence of hexadecimal encoded binary</xs:documentation>
 
3867
                                                        </xs:annotation>
 
3868
                                                        <xs:complexType>
 
3869
                                                                <xs:simpleContent>
 
3870
                                                                        <xs:extension base="list_of_hex_binary_type">
 
3871
                                                                                <xs:attribute name="format" type="xs:token">
 
3872
                                                                                        <xs:annotation>
 
3873
                                                                                                <xs:documentation>binary format which may include target device identificatrion</xs:documentation>
 
3874
                                                                                        </xs:annotation>
 
3875
                                                                                </xs:attribute>
 
3876
                                                                        </xs:extension>
 
3877
                                                                </xs:simpleContent>
 
3878
                                                        </xs:complexType>
 
3879
                                                </xs:element>
 
3880
                                        </xs:choice>
 
3881
                                </xs:complexType>
 
3882
                        </xs:element>
 
3883
                </xs:sequence>
 
3884
                <xs:attribute name="platform" type="xs:string" use="required">
 
3885
                        <xs:annotation>
 
3886
                                <xs:documentation>Name of sub-platform.  May be identical to the platform_series</xs:documentation>
 
3887
                        </xs:annotation>
 
3888
                </xs:attribute>
 
3889
                <xs:attribute name="target" type="xs:string" use="optional">
 
3890
                        <xs:annotation>
 
3891
                                <xs:documentation>compiler or linker results symbol.  Ex arbvp1, arbfp1, glslv, glslf, hlslv, hlslf, vs_3_0, ps_3_0</xs:documentation>
 
3892
                        </xs:annotation>
 
3893
                </xs:attribute>
 
3894
                <xs:attribute name="options" type="xs:string" use="optional">
 
3895
                        <xs:annotation>
 
3896
                                <xs:documentation>compiler or linker options</xs:documentation>
 
3897
                        </xs:annotation>
 
3898
                </xs:attribute>
 
3899
        </xs:complexType>
 
3900
        <xs:complexType name="fx_common_float_or_param_type">
 
3901
                <xs:choice>
 
3902
                        <xs:element name="float">
 
3903
                                <xs:complexType>
 
3904
                                        <xs:simpleContent>
 
3905
                                                <xs:extension base="float_type">
 
3906
                                                        <xs:attribute name="sid" type="sid_type"/>
 
3907
                                                </xs:extension>
 
3908
                                        </xs:simpleContent>
 
3909
                                </xs:complexType>
 
3910
                        </xs:element>
 
3911
                        <xs:element name="param">
 
3912
                                <xs:complexType>
 
3913
                                        <xs:attribute name="ref" type="xs:NCName" use="required"/>
 
3914
                                </xs:complexType>
 
3915
                        </xs:element>
 
3916
                </xs:choice>
 
3917
        </xs:complexType>
 
3918
        <xs:complexType name="fx_common_color_or_texture_type">
 
3919
                <xs:choice>
 
3920
                        <xs:element name="color">
 
3921
                                <xs:complexType>
 
3922
                                        <xs:simpleContent>
 
3923
                                                <xs:extension base="fx_color_type">
 
3924
                                                        <xs:attribute name="sid" type="sid_type"/>
 
3925
                                                </xs:extension>
 
3926
                                        </xs:simpleContent>
 
3927
                                </xs:complexType>
 
3928
                        </xs:element>
 
3929
                        <xs:element name="param">
 
3930
                                <xs:complexType>
 
3931
                                        <xs:attribute name="ref" type="xs:NCName" use="required"/>
 
3932
                                </xs:complexType>
 
3933
                        </xs:element>
 
3934
                        <xs:element name="texture">
 
3935
                                <xs:complexType>
 
3936
                                        <xs:sequence>
 
3937
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
3938
                                        </xs:sequence>
 
3939
                                        <xs:attribute name="texture" type="xs:NCName" use="required"/>
 
3940
                                        <xs:attribute name="texcoord" type="xs:NCName" use="required"/>
 
3941
                                </xs:complexType>
 
3942
                        </xs:element>
 
3943
                </xs:choice>
 
3944
        </xs:complexType>
 
3945
        <xs:complexType name="fx_common_transparent_type">
 
3946
                <xs:complexContent>
 
3947
                        <xs:extension base="fx_common_color_or_texture_type">
 
3948
                                <xs:attribute name="opaque" type="fx_opaque_enum" default="A_ONE"/>
 
3949
                        </xs:extension>
 
3950
                </xs:complexContent>
 
3951
        </xs:complexType>
 
3952
        <xs:complexType name="fx_common_newparam_type">
 
3953
                <xs:sequence>
 
3954
                        <xs:element name="semantic" type="xs:NCName" minOccurs="0"/>
 
3955
                        <xs:choice>
 
3956
                                <xs:element name="float" type="float_type"/>
 
3957
                                <xs:element name="float2" type="float2_type"/>
 
3958
                                <xs:element name="float3" type="float3_type"/>
 
3959
                                <xs:element name="float4" type="float4_type"/>
 
3960
                                <xs:element name="sampler2D" type="fx_sampler2D_type"/>
 
3961
                        </xs:choice>
 
3962
                </xs:sequence>
 
3963
                <xs:attribute name="sid" type="sid_type" use="required">
 
3964
                        <xs:annotation>
 
3965
                                <xs:documentation>
 
3966
                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
3967
                                This value must be unique within the scope of the parent element. Optional attribute.
 
3968
                                </xs:documentation>
 
3969
                        </xs:annotation>
 
3970
                </xs:attribute>
 
3971
        </xs:complexType>
 
3972
        <xs:complexType name="profile_common_type">
 
3973
                <xs:annotation>
 
3974
                        <xs:documentation>
 
3975
                        Opens a block of COMMON platform-specific data types and technique declarations.
 
3976
                        </xs:documentation>
 
3977
                </xs:annotation>
 
3978
                <xs:sequence>
 
3979
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
3980
                        <xs:element name="newparam" type="fx_common_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
3981
                        <xs:element name="technique">
 
3982
                                <xs:annotation>
 
3983
                                        <xs:documentation>
 
3984
                                                Holds a description of the textures, samplers, shaders, parameters, and passes necessary for rendering this effect using one method.
 
3985
                                                </xs:documentation>
 
3986
                                </xs:annotation>
 
3987
                                <xs:complexType>
 
3988
                                        <xs:sequence>
 
3989
                                                <xs:element name="asset" type="asset_type" minOccurs="0">
 
3990
                                                        <xs:annotation>
 
3991
                                                                <xs:documentation>
 
3992
                                                                        The technique element may contain an asset element.
 
3993
                                                                        </xs:documentation>
 
3994
                                                        </xs:annotation>
 
3995
                                                </xs:element>
 
3996
                                                <xs:choice>
 
3997
                                                        <xs:element name="constant">
 
3998
                                                                <xs:complexType>
 
3999
                                                                        <xs:sequence>
 
4000
                                                                                <xs:element name="emission" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4001
                                                                                <xs:element name="reflective" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4002
                                                                                <xs:element name="reflectivity" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4003
                                                                                <xs:element name="transparent" type="fx_common_transparent_type" minOccurs="0"/>
 
4004
                                                                                <xs:element name="transparency" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4005
                                                                                <xs:element name="index_of_refraction" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4006
                                                                        </xs:sequence>
 
4007
                                                                </xs:complexType>
 
4008
                                                        </xs:element>
 
4009
                                                        <xs:element name="lambert">
 
4010
                                                                <xs:complexType>
 
4011
                                                                        <xs:sequence>
 
4012
                                                                                <xs:element name="emission" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4013
                                                                                <xs:element name="ambient" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4014
                                                                                <xs:element name="diffuse" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4015
                                                                                <xs:element name="reflective" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4016
                                                                                <xs:element name="reflectivity" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4017
                                                                                <xs:element name="transparent" type="fx_common_transparent_type" minOccurs="0"/>
 
4018
                                                                                <xs:element name="transparency" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4019
                                                                                <xs:element name="index_of_refraction" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4020
                                                                        </xs:sequence>
 
4021
                                                                </xs:complexType>
 
4022
                                                        </xs:element>
 
4023
                                                        <xs:element name="phong">
 
4024
                                                                <xs:complexType>
 
4025
                                                                        <xs:sequence>
 
4026
                                                                                <xs:element name="emission" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4027
                                                                                <xs:element name="ambient" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4028
                                                                                <xs:element name="diffuse" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4029
                                                                                <xs:element name="specular" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4030
                                                                                <xs:element name="shininess" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4031
                                                                                <xs:element name="reflective" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4032
                                                                                <xs:element name="reflectivity" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4033
                                                                                <xs:element name="transparent" type="fx_common_transparent_type" minOccurs="0"/>
 
4034
                                                                                <xs:element name="transparency" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4035
                                                                                <xs:element name="index_of_refraction" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4036
                                                                        </xs:sequence>
 
4037
                                                                </xs:complexType>
 
4038
                                                        </xs:element>
 
4039
                                                        <xs:element name="blinn">
 
4040
                                                                <xs:complexType>
 
4041
                                                                        <xs:sequence>
 
4042
                                                                                <xs:element name="emission" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4043
                                                                                <xs:element name="ambient" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4044
                                                                                <xs:element name="diffuse" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4045
                                                                                <xs:element name="specular" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4046
                                                                                <xs:element name="shininess" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4047
                                                                                <xs:element name="reflective" type="fx_common_color_or_texture_type" minOccurs="0"/>
 
4048
                                                                                <xs:element name="reflectivity" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4049
                                                                                <xs:element name="transparent" type="fx_common_transparent_type" minOccurs="0"/>
 
4050
                                                                                <xs:element name="transparency" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4051
                                                                                <xs:element name="index_of_refraction" type="fx_common_float_or_param_type" minOccurs="0"/>
 
4052
                                                                        </xs:sequence>
 
4053
                                                                </xs:complexType>
 
4054
                                                        </xs:element>
 
4055
                                                </xs:choice>
 
4056
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
4057
                                                        <xs:annotation>
 
4058
                                                                <xs:documentation>
 
4059
                                                                        The extra element may appear any number of times.
 
4060
                                                                        </xs:documentation>
 
4061
                                                        </xs:annotation>
 
4062
                                                </xs:element>
 
4063
                                        </xs:sequence>
 
4064
                                        <xs:attribute name="id" type="xs:ID">
 
4065
                                                <xs:annotation>
 
4066
                                                        <xs:documentation>
 
4067
                                                                The id attribute is a text string containing the unique identifier of this element. 
 
4068
                                                                This value must be unique within the instance document. Optional attribute.
 
4069
                                                                </xs:documentation>
 
4070
                                                </xs:annotation>
 
4071
                                        </xs:attribute>
 
4072
                                        <xs:attribute name="sid" type="sid_type" use="required">
 
4073
                                                <xs:annotation>
 
4074
                                                        <xs:documentation>
 
4075
                                                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
4076
                                                                This value must be unique within the scope of the parent element. Optional attribute.
 
4077
                                                                </xs:documentation>
 
4078
                                                </xs:annotation>
 
4079
                                        </xs:attribute>
 
4080
                                </xs:complexType>
 
4081
                        </xs:element>
 
4082
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
4083
                                <xs:annotation>
 
4084
                                        <xs:documentation>
 
4085
                                                The extra element may appear any number of times.
 
4086
                                                </xs:documentation>
 
4087
                                </xs:annotation>
 
4088
                        </xs:element>
 
4089
                </xs:sequence>
 
4090
                <xs:attribute name="id" type="xs:ID" use="optional">
 
4091
                        <xs:annotation>
 
4092
                                <xs:documentation>
 
4093
                                        The id attribute is a text string containing the unique identifier of this element. 
 
4094
                                        This value must be unique within the instance document. Optional attribute.
 
4095
                                        </xs:documentation>
 
4096
                        </xs:annotation>
 
4097
                </xs:attribute>
 
4098
        </xs:complexType>
 
4099
        <xs:complexType name="profile_bridge_type">
 
4100
                <xs:annotation>
 
4101
                        <xs:documentation>Bridge COLLADA FX to an external FX framework such as NVIDIA's CgFX or Microsoft's Direct3D FX</xs:documentation>
 
4102
                </xs:annotation>
 
4103
                <xs:sequence>
 
4104
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
4105
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
4106
                </xs:sequence>
 
4107
                <xs:attribute name="id" type="xs:ID"/>
 
4108
                <xs:attribute name="platform" type="xs:NCName" use="optional">
 
4109
                        <xs:annotation>
 
4110
                                <xs:documentation>The type of platform. This is a vendor-defined character string that indicates the platform or capability target for the technique. Optional</xs:documentation>
 
4111
                        </xs:annotation>
 
4112
                </xs:attribute>
 
4113
                <xs:attribute name="url" type="xs:anyURI" use="required">
 
4114
                        <xs:annotation>
 
4115
                                <xs:documentation>The url to the file which we are bridging too</xs:documentation>
 
4116
                        </xs:annotation>
 
4117
                </xs:attribute>
 
4118
        </xs:complexType>
 
4119
        <xs:simpleType name="gl_max_lights_index_type">
 
4120
                <xs:restriction base="xs:nonNegativeInteger">
 
4121
                        <xs:minInclusive value="0"/>
 
4122
                </xs:restriction>
 
4123
        </xs:simpleType>
 
4124
        <xs:simpleType name="gl_max_clip_planes_index_type">
 
4125
                <xs:restriction base="xs:nonNegativeInteger">
 
4126
                        <xs:minInclusive value="0"/>
 
4127
                </xs:restriction>
 
4128
        </xs:simpleType>
 
4129
        <xs:simpleType name="gl_max_texture_image_units_index_type">
 
4130
                <xs:restriction base="xs:nonNegativeInteger">
 
4131
                        <xs:minInclusive value="0"/>
 
4132
                </xs:restriction>
 
4133
        </xs:simpleType>
 
4134
        <xs:simpleType name="gl_blend_enum">
 
4135
                <xs:restriction base="xs:string">
 
4136
                        <xs:enumeration value="ZERO">
 
4137
                                <xs:annotation>
 
4138
                                        <xs:appinfo>value=0x0</xs:appinfo>
 
4139
                                </xs:annotation>
 
4140
                        </xs:enumeration>
 
4141
                        <xs:enumeration value="ONE">
 
4142
                                <xs:annotation>
 
4143
                                        <xs:appinfo>value=0x1</xs:appinfo>
 
4144
                                </xs:annotation>
 
4145
                        </xs:enumeration>
 
4146
                        <xs:enumeration value="SRC_COLOR">
 
4147
                                <xs:annotation>
 
4148
                                        <xs:appinfo>value=0x0300</xs:appinfo>
 
4149
                                </xs:annotation>
 
4150
                        </xs:enumeration>
 
4151
                        <xs:enumeration value="ONE_MINUS_SRC_COLOR">
 
4152
                                <xs:annotation>
 
4153
                                        <xs:appinfo>value=0x0301</xs:appinfo>
 
4154
                                </xs:annotation>
 
4155
                        </xs:enumeration>
 
4156
                        <xs:enumeration value="DEST_COLOR">
 
4157
                                <xs:annotation>
 
4158
                                        <xs:appinfo>value=0x0306</xs:appinfo>
 
4159
                                </xs:annotation>
 
4160
                        </xs:enumeration>
 
4161
                        <xs:enumeration value="ONE_MINUS_DEST_COLOR">
 
4162
                                <xs:annotation>
 
4163
                                        <xs:appinfo>value=0x0307</xs:appinfo>
 
4164
                                </xs:annotation>
 
4165
                        </xs:enumeration>
 
4166
                        <xs:enumeration value="SRC_ALPHA">
 
4167
                                <xs:annotation>
 
4168
                                        <xs:appinfo>value=0x0302</xs:appinfo>
 
4169
                                </xs:annotation>
 
4170
                        </xs:enumeration>
 
4171
                        <xs:enumeration value="ONE_MINUS_SRC_ALPHA">
 
4172
                                <xs:annotation>
 
4173
                                        <xs:appinfo>value=0x0303</xs:appinfo>
 
4174
                                </xs:annotation>
 
4175
                        </xs:enumeration>
 
4176
                        <xs:enumeration value="DST_ALPHA">
 
4177
                                <xs:annotation>
 
4178
                                        <xs:appinfo>value=0x0304</xs:appinfo>
 
4179
                                </xs:annotation>
 
4180
                        </xs:enumeration>
 
4181
                        <xs:enumeration value="ONE_MINUS_DST_ALPHA">
 
4182
                                <xs:annotation>
 
4183
                                        <xs:appinfo>value=0x0305</xs:appinfo>
 
4184
                                </xs:annotation>
 
4185
                        </xs:enumeration>
 
4186
                        <xs:enumeration value="CONSTANT_COLOR">
 
4187
                                <xs:annotation>
 
4188
                                        <xs:appinfo>value=0x8001</xs:appinfo>
 
4189
                                </xs:annotation>
 
4190
                        </xs:enumeration>
 
4191
                        <xs:enumeration value="ONE_MINUS_CONSTANT_COLOR">
 
4192
                                <xs:annotation>
 
4193
                                        <xs:appinfo>value=0x8002</xs:appinfo>
 
4194
                                </xs:annotation>
 
4195
                        </xs:enumeration>
 
4196
                        <xs:enumeration value="CONSTANT_ALPHA">
 
4197
                                <xs:annotation>
 
4198
                                        <xs:appinfo>value=0x8003</xs:appinfo>
 
4199
                                </xs:annotation>
 
4200
                        </xs:enumeration>
 
4201
                        <xs:enumeration value="ONE_MINUS_CONSTANT_ALPHA">
 
4202
                                <xs:annotation>
 
4203
                                        <xs:appinfo>value=0x8004</xs:appinfo>
 
4204
                                </xs:annotation>
 
4205
                        </xs:enumeration>
 
4206
                        <xs:enumeration value="SRC_ALPHA_SATURATE">
 
4207
                                <xs:annotation>
 
4208
                                        <xs:appinfo>value=0x0308</xs:appinfo>
 
4209
                                </xs:annotation>
 
4210
                        </xs:enumeration>
 
4211
                </xs:restriction>
 
4212
        </xs:simpleType>
 
4213
        <xs:simpleType name="gl_face_enum">
 
4214
                <xs:restriction base="xs:string">
 
4215
                        <xs:enumeration value="FRONT">
 
4216
                                <xs:annotation>
 
4217
                                        <xs:appinfo>value=0x0404</xs:appinfo>
 
4218
                                </xs:annotation>
 
4219
                        </xs:enumeration>
 
4220
                        <xs:enumeration value="BACK">
 
4221
                                <xs:annotation>
 
4222
                                        <xs:appinfo>value=0x0405</xs:appinfo>
 
4223
                                </xs:annotation>
 
4224
                        </xs:enumeration>
 
4225
                        <xs:enumeration value="FRONT_AND_BACK">
 
4226
                                <xs:annotation>
 
4227
                                        <xs:appinfo>value=0x0408</xs:appinfo>
 
4228
                                </xs:annotation>
 
4229
                        </xs:enumeration>
 
4230
                </xs:restriction>
 
4231
        </xs:simpleType>
 
4232
        <xs:simpleType name="gl_blend_equation_enum">
 
4233
                <xs:restriction base="xs:string">
 
4234
                        <xs:enumeration value="FUNC_ADD">
 
4235
                                <xs:annotation>
 
4236
                                        <xs:appinfo>value=0x8006</xs:appinfo>
 
4237
                                </xs:annotation>
 
4238
                        </xs:enumeration>
 
4239
                        <xs:enumeration value="FUNC_SUBTRACT">
 
4240
                                <xs:annotation>
 
4241
                                        <xs:appinfo>value=0x800A</xs:appinfo>
 
4242
                                </xs:annotation>
 
4243
                        </xs:enumeration>
 
4244
                        <xs:enumeration value="FUNC_REVERSE_SUBTRACT">
 
4245
                                <xs:annotation>
 
4246
                                        <xs:appinfo>value=0x800B</xs:appinfo>
 
4247
                                </xs:annotation>
 
4248
                        </xs:enumeration>
 
4249
                        <xs:enumeration value="MIN">
 
4250
                                <xs:annotation>
 
4251
                                        <xs:appinfo>value=0x8007</xs:appinfo>
 
4252
                                </xs:annotation>
 
4253
                        </xs:enumeration>
 
4254
                        <xs:enumeration value="MAX">
 
4255
                                <xs:annotation>
 
4256
                                        <xs:appinfo>value=0x8008</xs:appinfo>
 
4257
                                </xs:annotation>
 
4258
                        </xs:enumeration>
 
4259
                </xs:restriction>
 
4260
        </xs:simpleType>
 
4261
        <xs:simpleType name="gl_func_enum">
 
4262
                <xs:restriction base="xs:string">
 
4263
                        <xs:enumeration value="NEVER">
 
4264
                                <xs:annotation>
 
4265
                                        <xs:appinfo>value=0x0200</xs:appinfo>
 
4266
                                </xs:annotation>
 
4267
                        </xs:enumeration>
 
4268
                        <xs:enumeration value="LESS">
 
4269
                                <xs:annotation>
 
4270
                                        <xs:appinfo>value=0x0201</xs:appinfo>
 
4271
                                </xs:annotation>
 
4272
                        </xs:enumeration>
 
4273
                        <xs:enumeration value="LEQUAL">
 
4274
                                <xs:annotation>
 
4275
                                        <xs:appinfo>value=0x0203</xs:appinfo>
 
4276
                                </xs:annotation>
 
4277
                        </xs:enumeration>
 
4278
                        <xs:enumeration value="EQUAL">
 
4279
                                <xs:annotation>
 
4280
                                        <xs:appinfo>value=0x0202</xs:appinfo>
 
4281
                                </xs:annotation>
 
4282
                        </xs:enumeration>
 
4283
                        <xs:enumeration value="GREATER">
 
4284
                                <xs:annotation>
 
4285
                                        <xs:appinfo>value=0x0204</xs:appinfo>
 
4286
                                </xs:annotation>
 
4287
                        </xs:enumeration>
 
4288
                        <xs:enumeration value="NOTEQUAL">
 
4289
                                <xs:annotation>
 
4290
                                        <xs:appinfo>value=0x0205</xs:appinfo>
 
4291
                                </xs:annotation>
 
4292
                        </xs:enumeration>
 
4293
                        <xs:enumeration value="GEQUAL">
 
4294
                                <xs:annotation>
 
4295
                                        <xs:appinfo>value=0x0206</xs:appinfo>
 
4296
                                </xs:annotation>
 
4297
                        </xs:enumeration>
 
4298
                        <xs:enumeration value="ALWAYS">
 
4299
                                <xs:annotation>
 
4300
                                        <xs:appinfo>value=0x0207</xs:appinfo>
 
4301
                                </xs:annotation>
 
4302
                        </xs:enumeration>
 
4303
                </xs:restriction>
 
4304
        </xs:simpleType>
 
4305
        <xs:simpleType name="gl_stencil_op_enum">
 
4306
                <xs:restriction base="xs:string">
 
4307
                        <xs:enumeration value="KEEP">
 
4308
                                <xs:annotation>
 
4309
                                        <xs:appinfo>value=0x1E00</xs:appinfo>
 
4310
                                </xs:annotation>
 
4311
                        </xs:enumeration>
 
4312
                        <xs:enumeration value="ZERO">
 
4313
                                <xs:annotation>
 
4314
                                        <xs:appinfo>value=0x0</xs:appinfo>
 
4315
                                </xs:annotation>
 
4316
                        </xs:enumeration>
 
4317
                        <xs:enumeration value="REPLACE">
 
4318
                                <xs:annotation>
 
4319
                                        <xs:appinfo>value=0x1E01</xs:appinfo>
 
4320
                                </xs:annotation>
 
4321
                        </xs:enumeration>
 
4322
                        <xs:enumeration value="INCR">
 
4323
                                <xs:annotation>
 
4324
                                        <xs:appinfo>value=0x1E02</xs:appinfo>
 
4325
                                </xs:annotation>
 
4326
                        </xs:enumeration>
 
4327
                        <xs:enumeration value="DECR">
 
4328
                                <xs:annotation>
 
4329
                                        <xs:appinfo>value=0x1E03</xs:appinfo>
 
4330
                                </xs:annotation>
 
4331
                        </xs:enumeration>
 
4332
                        <xs:enumeration value="INVERT">
 
4333
                                <xs:annotation>
 
4334
                                        <xs:appinfo>value=0x150A</xs:appinfo>
 
4335
                                </xs:annotation>
 
4336
                        </xs:enumeration>
 
4337
                        <xs:enumeration value="INCR_WRAP">
 
4338
                                <xs:annotation>
 
4339
                                        <xs:appinfo>value=0x8507</xs:appinfo>
 
4340
                                </xs:annotation>
 
4341
                        </xs:enumeration>
 
4342
                        <xs:enumeration value="DECR_WRAP">
 
4343
                                <xs:annotation>
 
4344
                                        <xs:appinfo>value=0x8508</xs:appinfo>
 
4345
                                </xs:annotation>
 
4346
                        </xs:enumeration>
 
4347
                </xs:restriction>
 
4348
        </xs:simpleType>
 
4349
        <xs:simpleType name="gl_material_enum">
 
4350
                <xs:restriction base="xs:string">
 
4351
                        <xs:enumeration value="EMISSION">
 
4352
                                <xs:annotation>
 
4353
                                        <xs:appinfo>value=0x1600</xs:appinfo>
 
4354
                                </xs:annotation>
 
4355
                        </xs:enumeration>
 
4356
                        <xs:enumeration value="AMBIENT">
 
4357
                                <xs:annotation>
 
4358
                                        <xs:appinfo>value=0x1200</xs:appinfo>
 
4359
                                </xs:annotation>
 
4360
                        </xs:enumeration>
 
4361
                        <xs:enumeration value="DIFFUSE">
 
4362
                                <xs:annotation>
 
4363
                                        <xs:appinfo>value=0x1201</xs:appinfo>
 
4364
                                </xs:annotation>
 
4365
                        </xs:enumeration>
 
4366
                        <xs:enumeration value="SPECULAR">
 
4367
                                <xs:annotation>
 
4368
                                        <xs:appinfo>value=0x1202</xs:appinfo>
 
4369
                                </xs:annotation>
 
4370
                        </xs:enumeration>
 
4371
                        <xs:enumeration value="AMBIENT_AND_DIFFUSE">
 
4372
                                <xs:annotation>
 
4373
                                        <xs:appinfo>value=0x1602</xs:appinfo>
 
4374
                                </xs:annotation>
 
4375
                        </xs:enumeration>
 
4376
                </xs:restriction>
 
4377
        </xs:simpleType>
 
4378
        <xs:simpleType name="gl_fog_enum">
 
4379
                <xs:restriction base="xs:string">
 
4380
                        <xs:enumeration value="LINEAR">
 
4381
                                <xs:annotation>
 
4382
                                        <xs:appinfo>value=0x2601</xs:appinfo>
 
4383
                                </xs:annotation>
 
4384
                        </xs:enumeration>
 
4385
                        <xs:enumeration value="EXP">
 
4386
                                <xs:annotation>
 
4387
                                        <xs:appinfo>value=0x0800</xs:appinfo>
 
4388
                                </xs:annotation>
 
4389
                        </xs:enumeration>
 
4390
                        <xs:enumeration value="EXP2">
 
4391
                                <xs:annotation>
 
4392
                                        <xs:appinfo>value=0x0801</xs:appinfo>
 
4393
                                </xs:annotation>
 
4394
                        </xs:enumeration>
 
4395
                </xs:restriction>
 
4396
        </xs:simpleType>
 
4397
        <xs:simpleType name="gl_fog_coord_src_enum">
 
4398
                <xs:restriction base="xs:string">
 
4399
                        <xs:enumeration value="FOG_COORDINATE">
 
4400
                                <xs:annotation>
 
4401
                                        <xs:appinfo>value=0x8451</xs:appinfo>
 
4402
                                </xs:annotation>
 
4403
                        </xs:enumeration>
 
4404
                        <xs:enumeration value="FRAGMENT_DEPTH">
 
4405
                                <xs:annotation>
 
4406
                                        <xs:appinfo>value=0x8452</xs:appinfo>
 
4407
                                </xs:annotation>
 
4408
                        </xs:enumeration>
 
4409
                </xs:restriction>
 
4410
        </xs:simpleType>
 
4411
        <xs:simpleType name="gl_front_face_enum">
 
4412
                <xs:restriction base="xs:string">
 
4413
                        <xs:enumeration value="CW">
 
4414
                                <xs:annotation>
 
4415
                                        <xs:appinfo>value=0x0900</xs:appinfo>
 
4416
                                </xs:annotation>
 
4417
                        </xs:enumeration>
 
4418
                        <xs:enumeration value="CCW">
 
4419
                                <xs:annotation>
 
4420
                                        <xs:appinfo>value=0x0901</xs:appinfo>
 
4421
                                </xs:annotation>
 
4422
                        </xs:enumeration>
 
4423
                </xs:restriction>
 
4424
        </xs:simpleType>
 
4425
        <xs:simpleType name="gl_light_model_color_control_enum">
 
4426
                <xs:restriction base="xs:string">
 
4427
                        <xs:enumeration value="SINGLE_COLOR">
 
4428
                                <xs:annotation>
 
4429
                                        <xs:appinfo>value=0x81F9</xs:appinfo>
 
4430
                                </xs:annotation>
 
4431
                        </xs:enumeration>
 
4432
                        <xs:enumeration value="SEPARATE_SPECULAR_COLOR">
 
4433
                                <xs:annotation>
 
4434
                                        <xs:appinfo>value=0x81FA</xs:appinfo>
 
4435
                                </xs:annotation>
 
4436
                        </xs:enumeration>
 
4437
                </xs:restriction>
 
4438
        </xs:simpleType>
 
4439
        <xs:simpleType name="gl_logic_op_enum">
 
4440
                <xs:restriction base="xs:string">
 
4441
                        <xs:enumeration value="CLEAR">
 
4442
                                <xs:annotation>
 
4443
                                        <xs:appinfo>value=0x1500</xs:appinfo>
 
4444
                                </xs:annotation>
 
4445
                        </xs:enumeration>
 
4446
                        <xs:enumeration value="AND">
 
4447
                                <xs:annotation>
 
4448
                                        <xs:appinfo>value=0x1501</xs:appinfo>
 
4449
                                </xs:annotation>
 
4450
                        </xs:enumeration>
 
4451
                        <xs:enumeration value="AND_REVERSE">
 
4452
                                <xs:annotation>
 
4453
                                        <xs:appinfo>value=0x1502</xs:appinfo>
 
4454
                                </xs:annotation>
 
4455
                        </xs:enumeration>
 
4456
                        <xs:enumeration value="COPY">
 
4457
                                <xs:annotation>
 
4458
                                        <xs:appinfo>value=0x1503</xs:appinfo>
 
4459
                                </xs:annotation>
 
4460
                        </xs:enumeration>
 
4461
                        <xs:enumeration value="AND_INVERTED">
 
4462
                                <xs:annotation>
 
4463
                                        <xs:appinfo>value=0x1504</xs:appinfo>
 
4464
                                </xs:annotation>
 
4465
                        </xs:enumeration>
 
4466
                        <xs:enumeration value="NOOP">
 
4467
                                <xs:annotation>
 
4468
                                        <xs:appinfo>value=0x1505</xs:appinfo>
 
4469
                                </xs:annotation>
 
4470
                        </xs:enumeration>
 
4471
                        <xs:enumeration value="XOR">
 
4472
                                <xs:annotation>
 
4473
                                        <xs:appinfo>value=0x1506</xs:appinfo>
 
4474
                                </xs:annotation>
 
4475
                        </xs:enumeration>
 
4476
                        <xs:enumeration value="OR">
 
4477
                                <xs:annotation>
 
4478
                                        <xs:appinfo>value=0x1507</xs:appinfo>
 
4479
                                </xs:annotation>
 
4480
                        </xs:enumeration>
 
4481
                        <xs:enumeration value="NOR">
 
4482
                                <xs:annotation>
 
4483
                                        <xs:appinfo>value=0x1508</xs:appinfo>
 
4484
                                </xs:annotation>
 
4485
                        </xs:enumeration>
 
4486
                        <xs:enumeration value="EQUIV">
 
4487
                                <xs:annotation>
 
4488
                                        <xs:appinfo>value=0x1509</xs:appinfo>
 
4489
                                </xs:annotation>
 
4490
                        </xs:enumeration>
 
4491
                        <xs:enumeration value="INVERT">
 
4492
                                <xs:annotation>
 
4493
                                        <xs:appinfo>value=0x150A</xs:appinfo>
 
4494
                                </xs:annotation>
 
4495
                        </xs:enumeration>
 
4496
                        <xs:enumeration value="OR_REVERSE">
 
4497
                                <xs:annotation>
 
4498
                                        <xs:appinfo>value=0x150B</xs:appinfo>
 
4499
                                </xs:annotation>
 
4500
                        </xs:enumeration>
 
4501
                        <xs:enumeration value="COPY_INVERTED">
 
4502
                                <xs:annotation>
 
4503
                                        <xs:appinfo>value=0x150C</xs:appinfo>
 
4504
                                </xs:annotation>
 
4505
                        </xs:enumeration>
 
4506
                        <xs:enumeration value="NAND">
 
4507
                                <xs:annotation>
 
4508
                                        <xs:appinfo>value=0x150E</xs:appinfo>
 
4509
                                </xs:annotation>
 
4510
                        </xs:enumeration>
 
4511
                        <xs:enumeration value="SET">
 
4512
                                <xs:annotation>
 
4513
                                        <xs:appinfo>value=0x150F</xs:appinfo>
 
4514
                                </xs:annotation>
 
4515
                        </xs:enumeration>
 
4516
                </xs:restriction>
 
4517
        </xs:simpleType>
 
4518
        <xs:simpleType name="gl_polygon_mode_enum">
 
4519
                <xs:restriction base="xs:string">
 
4520
                        <xs:enumeration value="POINT">
 
4521
                                <xs:annotation>
 
4522
                                        <xs:appinfo>value=0x1B00</xs:appinfo>
 
4523
                                </xs:annotation>
 
4524
                        </xs:enumeration>
 
4525
                        <xs:enumeration value="LINE">
 
4526
                                <xs:annotation>
 
4527
                                        <xs:appinfo>value=0x1B01</xs:appinfo>
 
4528
                                </xs:annotation>
 
4529
                        </xs:enumeration>
 
4530
                        <xs:enumeration value="FILL">
 
4531
                                <xs:annotation>
 
4532
                                        <xs:appinfo>value=0x1B02</xs:appinfo>
 
4533
                                </xs:annotation>
 
4534
                        </xs:enumeration>
 
4535
                </xs:restriction>
 
4536
        </xs:simpleType>
 
4537
        <xs:simpleType name="gl_shade_model_enum">
 
4538
                <xs:restriction base="xs:string">
 
4539
                        <xs:enumeration value="FLAT">
 
4540
                                <xs:annotation>
 
4541
                                        <xs:appinfo>value=0x1D00</xs:appinfo>
 
4542
                                </xs:annotation>
 
4543
                        </xs:enumeration>
 
4544
                        <xs:enumeration value="SMOOTH">
 
4545
                                <xs:annotation>
 
4546
                                        <xs:appinfo>value=0x1D01</xs:appinfo>
 
4547
                                </xs:annotation>
 
4548
                        </xs:enumeration>
 
4549
                </xs:restriction>
 
4550
        </xs:simpleType>
 
4551
        <xs:simpleType name="gl_alpha_value_type">
 
4552
                <xs:restriction base="xs:float">
 
4553
                        <xs:minInclusive value="0.0"/>
 
4554
                        <xs:maxInclusive value="1.0"/>
 
4555
                </xs:restriction>
 
4556
        </xs:simpleType>
 
4557
        <xs:simpleType name="gl_enumeration_type">
 
4558
                <xs:union memberTypes="gl_blend_enum gl_face_enum gl_blend_equation_enum gl_func_enum gl_stencil_op_enum gl_material_enum gl_fog_enum gl_fog_coord_src_enum gl_front_face_enum gl_light_model_color_control_enum gl_logic_op_enum gl_polygon_mode_enum gl_shade_model_enum"/>
 
4559
        </xs:simpleType>
 
4560
        <xs:group name="gl_pipeline_settings_group">
 
4561
                <xs:annotation>
 
4562
                        <xs:documentation>
 
4563
                        A group that defines all of the renderstates used for the CG and GLSL profiles.
 
4564
                        </xs:documentation>
 
4565
                </xs:annotation>
 
4566
                <xs:choice>
 
4567
                        <xs:element name="alpha_func">
 
4568
                                <xs:complexType>
 
4569
                                        <xs:sequence>
 
4570
                                                <xs:element name="func">
 
4571
                                                        <xs:complexType>
 
4572
                                                                <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
4573
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4574
                                                        </xs:complexType>
 
4575
                                                </xs:element>
 
4576
                                                <xs:element name="value">
 
4577
                                                        <xs:complexType>
 
4578
                                                                <xs:attribute name="value" type="gl_alpha_value_type" use="optional" default="0.0"/>
 
4579
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4580
                                                        </xs:complexType>
 
4581
                                                </xs:element>
 
4582
                                        </xs:sequence>
 
4583
                                </xs:complexType>
 
4584
                        </xs:element>
 
4585
                        <xs:element name="blend_func">
 
4586
                                <xs:complexType>
 
4587
                                        <xs:sequence>
 
4588
                                                <xs:element name="src">
 
4589
                                                        <xs:complexType>
 
4590
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ONE"/>
 
4591
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4592
                                                        </xs:complexType>
 
4593
                                                </xs:element>
 
4594
                                                <xs:element name="dest">
 
4595
                                                        <xs:complexType>
 
4596
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ZERO"/>
 
4597
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4598
                                                        </xs:complexType>
 
4599
                                                </xs:element>
 
4600
                                        </xs:sequence>
 
4601
                                </xs:complexType>
 
4602
                        </xs:element>
 
4603
                        <xs:element name="blend_func_separate">
 
4604
                                <xs:complexType>
 
4605
                                        <xs:sequence>
 
4606
                                                <xs:element name="src_rgb">
 
4607
                                                        <xs:complexType>
 
4608
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ONE"/>
 
4609
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4610
                                                        </xs:complexType>
 
4611
                                                </xs:element>
 
4612
                                                <xs:element name="dest_rgb">
 
4613
                                                        <xs:complexType>
 
4614
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ZERO"/>
 
4615
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4616
                                                        </xs:complexType>
 
4617
                                                </xs:element>
 
4618
                                                <xs:element name="src_alpha">
 
4619
                                                        <xs:complexType>
 
4620
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ONE"/>
 
4621
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4622
                                                        </xs:complexType>
 
4623
                                                </xs:element>
 
4624
                                                <xs:element name="dest_alpha">
 
4625
                                                        <xs:complexType>
 
4626
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ZERO"/>
 
4627
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4628
                                                        </xs:complexType>
 
4629
                                                </xs:element>
 
4630
                                        </xs:sequence>
 
4631
                                </xs:complexType>
 
4632
                        </xs:element>
 
4633
                        <xs:element name="blend_equation">
 
4634
                                <xs:complexType>
 
4635
                                        <xs:attribute name="value" type="gl_blend_equation_enum" use="optional" default="FUNC_ADD"/>
 
4636
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4637
                                </xs:complexType>
 
4638
                        </xs:element>
 
4639
                        <xs:element name="blend_equation_separate">
 
4640
                                <xs:complexType>
 
4641
                                        <xs:sequence>
 
4642
                                                <xs:element name="rgb">
 
4643
                                                        <xs:complexType>
 
4644
                                                                <xs:attribute name="value" type="gl_blend_equation_enum" use="optional" default="FUNC_ADD"/>
 
4645
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4646
                                                        </xs:complexType>
 
4647
                                                </xs:element>
 
4648
                                                <xs:element name="alpha">
 
4649
                                                        <xs:complexType>
 
4650
                                                                <xs:attribute name="value" type="gl_blend_equation_enum" use="optional" default="FUNC_ADD"/>
 
4651
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4652
                                                        </xs:complexType>
 
4653
                                                </xs:element>
 
4654
                                        </xs:sequence>
 
4655
                                </xs:complexType>
 
4656
                        </xs:element>
 
4657
                        <xs:element name="color_material">
 
4658
                                <xs:complexType>
 
4659
                                        <xs:sequence>
 
4660
                                                <xs:element name="face">
 
4661
                                                        <xs:complexType>
 
4662
                                                                <xs:attribute name="value" type="gl_face_enum" use="optional" default="FRONT_AND_BACK"/>
 
4663
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4664
                                                        </xs:complexType>
 
4665
                                                </xs:element>
 
4666
                                                <xs:element name="mode">
 
4667
                                                        <xs:complexType>
 
4668
                                                                <xs:attribute name="value" type="gl_material_enum" use="optional" default="AMBIENT_AND_DIFFUSE"/>
 
4669
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4670
                                                        </xs:complexType>
 
4671
                                                </xs:element>
 
4672
                                        </xs:sequence>
 
4673
                                </xs:complexType>
 
4674
                        </xs:element>
 
4675
                        <xs:element name="cull_face">
 
4676
                                <xs:complexType>
 
4677
                                        <xs:attribute name="value" type="gl_face_enum" use="optional" default="BACK"/>
 
4678
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4679
                                </xs:complexType>
 
4680
                        </xs:element>
 
4681
                        <xs:element name="depth_func">
 
4682
                                <xs:complexType>
 
4683
                                        <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
4684
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4685
                                </xs:complexType>
 
4686
                        </xs:element>
 
4687
                        <xs:element name="fog_mode">
 
4688
                                <xs:complexType>
 
4689
                                        <xs:attribute name="value" type="gl_fog_enum" use="optional" default="EXP"/>
 
4690
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4691
                                </xs:complexType>
 
4692
                        </xs:element>
 
4693
                        <xs:element name="fog_coord_src">
 
4694
                                <xs:complexType>
 
4695
                                        <xs:attribute name="value" type="gl_fog_coord_src_enum" use="optional" default="FOG_COORDINATE"/>
 
4696
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4697
                                </xs:complexType>
 
4698
                        </xs:element>
 
4699
                        <xs:element name="front_face">
 
4700
                                <xs:complexType>
 
4701
                                        <xs:attribute name="value" type="gl_front_face_enum" use="optional" default="CCW"/>
 
4702
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4703
                                </xs:complexType>
 
4704
                        </xs:element>
 
4705
                        <xs:element name="light_model_color_control">
 
4706
                                <xs:complexType>
 
4707
                                        <xs:attribute name="value" type="gl_light_model_color_control_enum" use="optional" default="SINGLE_COLOR"/>
 
4708
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4709
                                </xs:complexType>
 
4710
                        </xs:element>
 
4711
                        <xs:element name="logic_op">
 
4712
                                <xs:complexType>
 
4713
                                        <xs:attribute name="value" type="gl_logic_op_enum" use="optional" default="COPY"/>
 
4714
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4715
                                </xs:complexType>
 
4716
                        </xs:element>
 
4717
                        <xs:element name="polygon_mode">
 
4718
                                <xs:complexType>
 
4719
                                        <xs:sequence>
 
4720
                                                <xs:element name="face">
 
4721
                                                        <xs:complexType>
 
4722
                                                                <xs:attribute name="value" type="gl_face_enum" use="optional" default="FRONT_AND_BACK"/>
 
4723
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4724
                                                        </xs:complexType>
 
4725
                                                </xs:element>
 
4726
                                                <xs:element name="mode">
 
4727
                                                        <xs:complexType>
 
4728
                                                                <xs:attribute name="value" type="gl_polygon_mode_enum" use="optional" default="FILL"/>
 
4729
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4730
                                                        </xs:complexType>
 
4731
                                                </xs:element>
 
4732
                                        </xs:sequence>
 
4733
                                </xs:complexType>
 
4734
                        </xs:element>
 
4735
                        <xs:element name="shade_model">
 
4736
                                <xs:complexType>
 
4737
                                        <xs:attribute name="value" type="gl_shade_model_enum" use="optional" default="SMOOTH"/>
 
4738
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4739
                                </xs:complexType>
 
4740
                        </xs:element>
 
4741
                        <xs:element name="stencil_func">
 
4742
                                <xs:complexType>
 
4743
                                        <xs:sequence>
 
4744
                                                <xs:element name="func">
 
4745
                                                        <xs:complexType>
 
4746
                                                                <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
4747
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4748
                                                        </xs:complexType>
 
4749
                                                </xs:element>
 
4750
                                                <xs:element name="ref">
 
4751
                                                        <xs:complexType>
 
4752
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="0"/>
 
4753
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4754
                                                        </xs:complexType>
 
4755
                                                </xs:element>
 
4756
                                                <xs:element name="mask">
 
4757
                                                        <xs:complexType>
 
4758
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="255"/>
 
4759
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4760
                                                        </xs:complexType>
 
4761
                                                </xs:element>
 
4762
                                        </xs:sequence>
 
4763
                                </xs:complexType>
 
4764
                        </xs:element>
 
4765
                        <xs:element name="stencil_op">
 
4766
                                <xs:complexType>
 
4767
                                        <xs:sequence>
 
4768
                                                <xs:element name="fail">
 
4769
                                                        <xs:complexType>
 
4770
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
4771
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4772
                                                        </xs:complexType>
 
4773
                                                </xs:element>
 
4774
                                                <xs:element name="zfail">
 
4775
                                                        <xs:complexType>
 
4776
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
4777
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4778
                                                        </xs:complexType>
 
4779
                                                </xs:element>
 
4780
                                                <xs:element name="zpass">
 
4781
                                                        <xs:complexType>
 
4782
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
4783
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4784
                                                        </xs:complexType>
 
4785
                                                </xs:element>
 
4786
                                        </xs:sequence>
 
4787
                                </xs:complexType>
 
4788
                        </xs:element>
 
4789
                        <xs:element name="stencil_func_separate">
 
4790
                                <xs:complexType>
 
4791
                                        <xs:sequence>
 
4792
                                                <xs:element name="front">
 
4793
                                                        <xs:complexType>
 
4794
                                                                <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
4795
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4796
                                                        </xs:complexType>
 
4797
                                                </xs:element>
 
4798
                                                <xs:element name="back">
 
4799
                                                        <xs:complexType>
 
4800
                                                                <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
4801
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4802
                                                        </xs:complexType>
 
4803
                                                </xs:element>
 
4804
                                                <xs:element name="ref">
 
4805
                                                        <xs:complexType>
 
4806
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="0"/>
 
4807
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4808
                                                        </xs:complexType>
 
4809
                                                </xs:element>
 
4810
                                                <xs:element name="mask">
 
4811
                                                        <xs:complexType>
 
4812
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="255"/>
 
4813
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4814
                                                        </xs:complexType>
 
4815
                                                </xs:element>
 
4816
                                        </xs:sequence>
 
4817
                                </xs:complexType>
 
4818
                        </xs:element>
 
4819
                        <xs:element name="stencil_op_separate">
 
4820
                                <xs:complexType>
 
4821
                                        <xs:sequence>
 
4822
                                                <xs:element name="face">
 
4823
                                                        <xs:complexType>
 
4824
                                                                <xs:attribute name="value" type="gl_face_enum" use="optional" default="FRONT_AND_BACK"/>
 
4825
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4826
                                                        </xs:complexType>
 
4827
                                                </xs:element>
 
4828
                                                <xs:element name="fail">
 
4829
                                                        <xs:complexType>
 
4830
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
4831
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4832
                                                        </xs:complexType>
 
4833
                                                </xs:element>
 
4834
                                                <xs:element name="zfail">
 
4835
                                                        <xs:complexType>
 
4836
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
4837
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4838
                                                        </xs:complexType>
 
4839
                                                </xs:element>
 
4840
                                                <xs:element name="zpass">
 
4841
                                                        <xs:complexType>
 
4842
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
4843
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4844
                                                        </xs:complexType>
 
4845
                                                </xs:element>
 
4846
                                        </xs:sequence>
 
4847
                                </xs:complexType>
 
4848
                        </xs:element>
 
4849
                        <xs:element name="stencil_mask_separate">
 
4850
                                <xs:complexType>
 
4851
                                        <xs:sequence>
 
4852
                                                <xs:element name="face">
 
4853
                                                        <xs:complexType>
 
4854
                                                                <xs:attribute name="value" type="gl_face_enum" use="optional" default="FRONT_AND_BACK"/>
 
4855
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4856
                                                        </xs:complexType>
 
4857
                                                </xs:element>
 
4858
                                                <xs:element name="mask">
 
4859
                                                        <xs:complexType>
 
4860
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="255"/>
 
4861
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4862
                                                        </xs:complexType>
 
4863
                                                </xs:element>
 
4864
                                        </xs:sequence>
 
4865
                                </xs:complexType>
 
4866
                        </xs:element>
 
4867
                        <xs:element name="light_enable">
 
4868
                                <xs:complexType>
 
4869
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
4870
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4871
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4872
                                </xs:complexType>
 
4873
                        </xs:element>
 
4874
                        <xs:element name="light_ambient">
 
4875
                                <xs:complexType>
 
4876
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 1"/>
 
4877
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4878
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4879
                                </xs:complexType>
 
4880
                        </xs:element>
 
4881
                        <xs:element name="light_diffuse">
 
4882
                                <xs:complexType>
 
4883
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 0"/>
 
4884
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4885
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4886
                                </xs:complexType>
 
4887
                        </xs:element>
 
4888
                        <xs:element name="light_specular">
 
4889
                                <xs:complexType>
 
4890
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 0"/>
 
4891
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4892
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4893
                                </xs:complexType>
 
4894
                        </xs:element>
 
4895
                        <xs:element name="light_position">
 
4896
                                <xs:complexType>
 
4897
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 1 0"/>
 
4898
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4899
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4900
                                </xs:complexType>
 
4901
                        </xs:element>
 
4902
                        <xs:element name="light_constant_attenuation">
 
4903
                                <xs:complexType>
 
4904
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
4905
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4906
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4907
                                </xs:complexType>
 
4908
                        </xs:element>
 
4909
                        <xs:element name="light_linear_attenuation">
 
4910
                                <xs:complexType>
 
4911
                                        <xs:attribute name="value" type="float_type" use="optional" default="0"/>
 
4912
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4913
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4914
                                </xs:complexType>
 
4915
                        </xs:element>
 
4916
                        <xs:element name="light_quadratic_attenuation">
 
4917
                                <xs:complexType>
 
4918
                                        <xs:attribute name="value" type="float_type" use="optional" default="0"/>
 
4919
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4920
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4921
                                </xs:complexType>
 
4922
                        </xs:element>
 
4923
                        <xs:element name="light_spot_cutoff">
 
4924
                                <xs:complexType>
 
4925
                                        <xs:attribute name="value" type="float_type" use="optional" default="180"/>
 
4926
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4927
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4928
                                </xs:complexType>
 
4929
                        </xs:element>
 
4930
                        <xs:element name="light_spot_direction">
 
4931
                                <xs:complexType>
 
4932
                                        <xs:attribute name="value" type="float3_type" use="optional" default="0 0 -1"/>
 
4933
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4934
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4935
                                </xs:complexType>
 
4936
                        </xs:element>
 
4937
                        <xs:element name="light_spot_exponent">
 
4938
                                <xs:complexType>
 
4939
                                        <xs:attribute name="value" type="float_type" use="optional" default="0"/>
 
4940
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
4941
                                        <xs:attribute name="index" type="gl_max_lights_index_type" use="required"/>
 
4942
                                </xs:complexType>
 
4943
                        </xs:element>
 
4944
                        <xs:element name="texture1D">
 
4945
                                <xs:complexType>
 
4946
                                        <xs:choice>
 
4947
                                                <xs:element name="value" type="fx_sampler1D_type"/>
 
4948
                                                <xs:element name="param" type="xs:NCName"/>
 
4949
                                        </xs:choice>
 
4950
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type" use="required"/>
 
4951
                                </xs:complexType>
 
4952
                        </xs:element>
 
4953
                        <xs:element name="texture2D">
 
4954
                                <xs:complexType>
 
4955
                                        <xs:choice>
 
4956
                                                <xs:element name="value" type="fx_sampler2D_type"/>
 
4957
                                                <xs:element name="param" type="xs:NCName"/>
 
4958
                                        </xs:choice>
 
4959
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type" use="required"/>
 
4960
                                </xs:complexType>
 
4961
                        </xs:element>
 
4962
                        <xs:element name="texture3D">
 
4963
                                <xs:complexType>
 
4964
                                        <xs:choice>
 
4965
                                                <xs:element name="value" type="fx_sampler3D_type"/>
 
4966
                                                <xs:element name="param" type="xs:NCName"/>
 
4967
                                        </xs:choice>
 
4968
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type" use="required"/>
 
4969
                                </xs:complexType>
 
4970
                        </xs:element>
 
4971
                        <xs:element name="textureCUBE">
 
4972
                                <xs:complexType>
 
4973
                                        <xs:choice>
 
4974
                                                <xs:element name="value" type="fx_samplerCUBE_type"/>
 
4975
                                                <xs:element name="param" type="xs:NCName"/>
 
4976
                                        </xs:choice>
 
4977
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type" use="required"/>
 
4978
                                </xs:complexType>
 
4979
                        </xs:element>
 
4980
                        <xs:element name="textureRECT">
 
4981
                                <xs:complexType>
 
4982
                                        <xs:choice>
 
4983
                                                <xs:element name="value" type="fx_samplerRECT_type"/>
 
4984
                                                <xs:element name="param" type="xs:NCName"/>
 
4985
                                        </xs:choice>
 
4986
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type" use="required"/>
 
4987
                                </xs:complexType>
 
4988
                        </xs:element>
 
4989
                        <xs:element name="textureDEPTH">
 
4990
                                <xs:complexType>
 
4991
                                        <xs:choice>
 
4992
                                                <xs:element name="value" type="fx_samplerDEPTH_type"/>
 
4993
                                                <xs:element name="param" type="xs:NCName"/>
 
4994
                                        </xs:choice>
 
4995
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type" use="required"/>
 
4996
                                </xs:complexType>
 
4997
                        </xs:element>
 
4998
                        <xs:element name="texture1D_enable">
 
4999
                                <xs:complexType>
 
5000
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5001
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5002
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type"/>
 
5003
                                </xs:complexType>
 
5004
                        </xs:element>
 
5005
                        <xs:element name="texture2D_enable">
 
5006
                                <xs:complexType>
 
5007
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5008
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5009
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type"/>
 
5010
                                </xs:complexType>
 
5011
                        </xs:element>
 
5012
                        <xs:element name="texture3D_enable">
 
5013
                                <xs:complexType>
 
5014
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5015
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5016
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type"/>
 
5017
                                </xs:complexType>
 
5018
                        </xs:element>
 
5019
                        <xs:element name="textureCUBE_enable">
 
5020
                                <xs:complexType>
 
5021
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5022
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5023
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type"/>
 
5024
                                </xs:complexType>
 
5025
                        </xs:element>
 
5026
                        <xs:element name="textureRECT_enable">
 
5027
                                <xs:complexType>
 
5028
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5029
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5030
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type"/>
 
5031
                                </xs:complexType>
 
5032
                        </xs:element>
 
5033
                        <xs:element name="textureDEPTH_enable">
 
5034
                                <xs:complexType>
 
5035
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5036
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5037
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type"/>
 
5038
                                </xs:complexType>
 
5039
                        </xs:element>
 
5040
                        <xs:element name="texture_env_color">
 
5041
                                <xs:complexType>
 
5042
                                        <xs:attribute name="value" type="float4_type" use="optional"/>
 
5043
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5044
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type"/>
 
5045
                                </xs:complexType>
 
5046
                        </xs:element>
 
5047
                        <xs:element name="texture_env_mode">
 
5048
                                <xs:complexType>
 
5049
                                        <xs:attribute name="value" type="xs:string" use="optional"/>
 
5050
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5051
                                        <xs:attribute name="index" type="gl_max_texture_image_units_index_type"/>
 
5052
                                </xs:complexType>
 
5053
                        </xs:element>
 
5054
                        <xs:element name="clip_plane">
 
5055
                                <xs:complexType>
 
5056
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 0"/>
 
5057
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5058
                                        <xs:attribute name="index" type="gl_max_clip_planes_index_type"/>
 
5059
                                </xs:complexType>
 
5060
                        </xs:element>
 
5061
                        <xs:element name="clip_plane_enable">
 
5062
                                <xs:complexType>
 
5063
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5064
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5065
                                        <xs:attribute name="index" type="gl_max_clip_planes_index_type"/>
 
5066
                                </xs:complexType>
 
5067
                        </xs:element>
 
5068
                        <xs:element name="blend_color">
 
5069
                                <xs:complexType>
 
5070
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 0"/>
 
5071
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5072
                                </xs:complexType>
 
5073
                        </xs:element>
 
5074
                        <xs:element name="color_mask">
 
5075
                                <xs:complexType>
 
5076
                                        <xs:attribute name="value" type="bool4_type" use="optional" default="true true true true"/>
 
5077
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5078
                                </xs:complexType>
 
5079
                        </xs:element>
 
5080
                        <xs:element name="depth_bounds">
 
5081
                                <xs:complexType>
 
5082
                                        <xs:attribute name="value" type="float2_type" use="optional"/>
 
5083
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5084
                                </xs:complexType>
 
5085
                        </xs:element>
 
5086
                        <xs:element name="depth_mask">
 
5087
                                <xs:complexType>
 
5088
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="true"/>
 
5089
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5090
                                </xs:complexType>
 
5091
                        </xs:element>
 
5092
                        <xs:element name="depth_range">
 
5093
                                <xs:complexType>
 
5094
                                        <xs:attribute name="value" type="float2_type" use="optional" default="0 1"/>
 
5095
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5096
                                </xs:complexType>
 
5097
                        </xs:element>
 
5098
                        <xs:element name="fog_density">
 
5099
                                <xs:complexType>
 
5100
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
5101
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5102
                                </xs:complexType>
 
5103
                        </xs:element>
 
5104
                        <xs:element name="fog_start">
 
5105
                                <xs:complexType>
 
5106
                                        <xs:attribute name="value" type="float_type" use="optional" default="0"/>
 
5107
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5108
                                </xs:complexType>
 
5109
                        </xs:element>
 
5110
                        <xs:element name="fog_end">
 
5111
                                <xs:complexType>
 
5112
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
5113
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5114
                                </xs:complexType>
 
5115
                        </xs:element>
 
5116
                        <xs:element name="fog_color">
 
5117
                                <xs:complexType>
 
5118
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 0"/>
 
5119
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5120
                                </xs:complexType>
 
5121
                        </xs:element>
 
5122
                        <xs:element name="light_model_ambient">
 
5123
                                <xs:complexType>
 
5124
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0.2 0.2 0.2 1.0"/>
 
5125
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5126
                                </xs:complexType>
 
5127
                        </xs:element>
 
5128
                        <xs:element name="lighting_enable">
 
5129
                                <xs:complexType>
 
5130
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5131
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5132
                                </xs:complexType>
 
5133
                        </xs:element>
 
5134
                        <xs:element name="line_stipple">
 
5135
                                <xs:complexType>
 
5136
                                        <xs:attribute name="value" type="int2_type" use="optional" default="1 65536"/>
 
5137
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5138
                                </xs:complexType>
 
5139
                        </xs:element>
 
5140
                        <xs:element name="line_width">
 
5141
                                <xs:complexType>
 
5142
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
5143
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5144
                                </xs:complexType>
 
5145
                        </xs:element>
 
5146
                        <xs:element name="material_ambient">
 
5147
                                <xs:complexType>
 
5148
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0.2 0.2 0.2 1.0"/>
 
5149
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5150
                                </xs:complexType>
 
5151
                        </xs:element>
 
5152
                        <xs:element name="material_diffuse">
 
5153
                                <xs:complexType>
 
5154
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0.8 0.8 0.8 1.0"/>
 
5155
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5156
                                </xs:complexType>
 
5157
                        </xs:element>
 
5158
                        <xs:element name="material_emission">
 
5159
                                <xs:complexType>
 
5160
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 1"/>
 
5161
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5162
                                </xs:complexType>
 
5163
                        </xs:element>
 
5164
                        <xs:element name="material_shininess">
 
5165
                                <xs:complexType>
 
5166
                                        <xs:attribute name="value" type="float_type" use="optional" default="0"/>
 
5167
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5168
                                </xs:complexType>
 
5169
                        </xs:element>
 
5170
                        <xs:element name="material_specular">
 
5171
                                <xs:complexType>
 
5172
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 1"/>
 
5173
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5174
                                </xs:complexType>
 
5175
                        </xs:element>
 
5176
                        <xs:element name="model_view_matrix">
 
5177
                                <xs:complexType>
 
5178
                                        <xs:attribute name="value" type="float4x4_type" use="optional" default="1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1"/>
 
5179
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5180
                                </xs:complexType>
 
5181
                        </xs:element>
 
5182
                        <xs:element name="point_distance_attenuation">
 
5183
                                <xs:complexType>
 
5184
                                        <xs:attribute name="value" type="float3_type" use="optional" default="1 0 0"/>
 
5185
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5186
                                </xs:complexType>
 
5187
                        </xs:element>
 
5188
                        <xs:element name="point_fade_threshold_size">
 
5189
                                <xs:complexType>
 
5190
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
5191
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5192
                                </xs:complexType>
 
5193
                        </xs:element>
 
5194
                        <xs:element name="point_size">
 
5195
                                <xs:complexType>
 
5196
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
5197
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5198
                                </xs:complexType>
 
5199
                        </xs:element>
 
5200
                        <xs:element name="point_size_min">
 
5201
                                <xs:complexType>
 
5202
                                        <xs:attribute name="value" type="float_type" use="optional" default="0"/>
 
5203
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5204
                                </xs:complexType>
 
5205
                        </xs:element>
 
5206
                        <xs:element name="point_size_max">
 
5207
                                <xs:complexType>
 
5208
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
5209
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5210
                                </xs:complexType>
 
5211
                        </xs:element>
 
5212
                        <xs:element name="polygon_offset">
 
5213
                                <xs:complexType>
 
5214
                                        <xs:attribute name="value" type="float2_type" use="optional" default="0 0"/>
 
5215
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5216
                                </xs:complexType>
 
5217
                        </xs:element>
 
5218
                        <xs:element name="projection_matrix">
 
5219
                                <xs:complexType>
 
5220
                                        <xs:attribute name="value" type="float4x4_type" use="optional" default="1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1"/>
 
5221
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5222
                                </xs:complexType>
 
5223
                        </xs:element>
 
5224
                        <xs:element name="scissor">
 
5225
                                <xs:complexType>
 
5226
                                        <xs:attribute name="value" type="int4_type" use="optional"/>
 
5227
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5228
                                </xs:complexType>
 
5229
                        </xs:element>
 
5230
                        <xs:element name="stencil_mask">
 
5231
                                <xs:complexType>
 
5232
                                        <xs:attribute name="value" type="int_type" use="optional" default="4294967295"/>
 
5233
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5234
                                </xs:complexType>
 
5235
                        </xs:element>
 
5236
                        <xs:element name="alpha_test_enable">
 
5237
                                <xs:complexType>
 
5238
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5239
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5240
                                </xs:complexType>
 
5241
                        </xs:element>
 
5242
                        <xs:element name="blend_enable">
 
5243
                                <xs:complexType>
 
5244
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5245
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5246
                                </xs:complexType>
 
5247
                        </xs:element>
 
5248
                        <xs:element name="color_logic_op_enable">
 
5249
                                <xs:complexType>
 
5250
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5251
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5252
                                </xs:complexType>
 
5253
                        </xs:element>
 
5254
                        <xs:element name="color_material_enable">
 
5255
                                <xs:complexType>
 
5256
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="true"/>
 
5257
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5258
                                </xs:complexType>
 
5259
                        </xs:element>
 
5260
                        <xs:element name="cull_face_enable">
 
5261
                                <xs:complexType>
 
5262
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5263
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5264
                                </xs:complexType>
 
5265
                        </xs:element>
 
5266
                        <xs:element name="depth_bounds_enable">
 
5267
                                <xs:complexType>
 
5268
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5269
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5270
                                </xs:complexType>
 
5271
                        </xs:element>
 
5272
                        <xs:element name="depth_clamp_enable">
 
5273
                                <xs:complexType>
 
5274
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5275
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5276
                                </xs:complexType>
 
5277
                        </xs:element>
 
5278
                        <xs:element name="depth_test_enable">
 
5279
                                <xs:complexType>
 
5280
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5281
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5282
                                </xs:complexType>
 
5283
                        </xs:element>
 
5284
                        <xs:element name="dither_enable">
 
5285
                                <xs:complexType>
 
5286
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="true"/>
 
5287
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5288
                                </xs:complexType>
 
5289
                        </xs:element>
 
5290
                        <xs:element name="fog_enable">
 
5291
                                <xs:complexType>
 
5292
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5293
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5294
                                </xs:complexType>
 
5295
                        </xs:element>
 
5296
                        <xs:element name="light_model_local_viewer_enable">
 
5297
                                <xs:complexType>
 
5298
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5299
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5300
                                </xs:complexType>
 
5301
                        </xs:element>
 
5302
                        <xs:element name="light_model_two_side_enable">
 
5303
                                <xs:complexType>
 
5304
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5305
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5306
                                </xs:complexType>
 
5307
                        </xs:element>
 
5308
                        <xs:element name="line_smooth_enable">
 
5309
                                <xs:complexType>
 
5310
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5311
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5312
                                </xs:complexType>
 
5313
                        </xs:element>
 
5314
                        <xs:element name="line_stipple_enable">
 
5315
                                <xs:complexType>
 
5316
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5317
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5318
                                </xs:complexType>
 
5319
                        </xs:element>
 
5320
                        <xs:element name="logic_op_enable">
 
5321
                                <xs:complexType>
 
5322
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5323
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5324
                                </xs:complexType>
 
5325
                        </xs:element>
 
5326
                        <xs:element name="multisample_enable">
 
5327
                                <xs:complexType>
 
5328
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5329
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5330
                                </xs:complexType>
 
5331
                        </xs:element>
 
5332
                        <xs:element name="normalize_enable">
 
5333
                                <xs:complexType>
 
5334
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5335
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5336
                                </xs:complexType>
 
5337
                        </xs:element>
 
5338
                        <xs:element name="point_smooth_enable">
 
5339
                                <xs:complexType>
 
5340
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5341
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5342
                                </xs:complexType>
 
5343
                        </xs:element>
 
5344
                        <xs:element name="polygon_offset_fill_enable">
 
5345
                                <xs:complexType>
 
5346
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5347
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5348
                                </xs:complexType>
 
5349
                        </xs:element>
 
5350
                        <xs:element name="polygon_offset_line_enable">
 
5351
                                <xs:complexType>
 
5352
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5353
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5354
                                </xs:complexType>
 
5355
                        </xs:element>
 
5356
                        <xs:element name="polygon_offset_point_enable">
 
5357
                                <xs:complexType>
 
5358
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5359
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5360
                                </xs:complexType>
 
5361
                        </xs:element>
 
5362
                        <xs:element name="polygon_smooth_enable">
 
5363
                                <xs:complexType>
 
5364
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5365
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5366
                                </xs:complexType>
 
5367
                        </xs:element>
 
5368
                        <xs:element name="polygon_stipple_enable">
 
5369
                                <xs:complexType>
 
5370
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5371
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5372
                                </xs:complexType>
 
5373
                        </xs:element>
 
5374
                        <xs:element name="rescale_normal_enable">
 
5375
                                <xs:complexType>
 
5376
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5377
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5378
                                </xs:complexType>
 
5379
                        </xs:element>
 
5380
                        <xs:element name="sample_alpha_to_coverage_enable">
 
5381
                                <xs:complexType>
 
5382
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5383
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5384
                                </xs:complexType>
 
5385
                        </xs:element>
 
5386
                        <xs:element name="sample_alpha_to_one_enable">
 
5387
                                <xs:complexType>
 
5388
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5389
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5390
                                </xs:complexType>
 
5391
                        </xs:element>
 
5392
                        <xs:element name="sample_coverage_enable">
 
5393
                                <xs:complexType>
 
5394
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5395
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5396
                                </xs:complexType>
 
5397
                        </xs:element>
 
5398
                        <xs:element name="scissor_test_enable">
 
5399
                                <xs:complexType>
 
5400
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5401
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5402
                                </xs:complexType>
 
5403
                        </xs:element>
 
5404
                        <xs:element name="stencil_test_enable">
 
5405
                                <xs:complexType>
 
5406
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5407
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
5408
                                </xs:complexType>
 
5409
                        </xs:element>
 
5410
                </xs:choice>
 
5411
        </xs:group>
 
5412
        <xs:group name="gles2_pipeline_settings_group">
 
5413
                <xs:annotation>
 
5414
                        <xs:documentation>All of the pass state settings for OpenGL ES 2 API</xs:documentation>
 
5415
                </xs:annotation>
 
5416
                <xs:choice>
 
5417
                        <xs:element name="blend_color">
 
5418
                                <xs:complexType>
 
5419
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 0"/>
 
5420
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5421
                                </xs:complexType>
 
5422
                        </xs:element>
 
5423
                        <xs:element name="blend_equation">
 
5424
                                <xs:complexType>
 
5425
                                        <xs:attribute name="value" type="gl_blend_equation_enum" use="optional" default="FUNC_ADD"/>
 
5426
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5427
                                </xs:complexType>
 
5428
                        </xs:element>
 
5429
                        <xs:element name="blend_equation_separate">
 
5430
                                <xs:complexType>
 
5431
                                        <xs:sequence>
 
5432
                                                <xs:element name="rgb">
 
5433
                                                        <xs:complexType>
 
5434
                                                                <xs:attribute name="value" type="gl_blend_equation_enum" use="optional" default="FUNC_ADD"/>
 
5435
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5436
                                                        </xs:complexType>
 
5437
                                                </xs:element>
 
5438
                                                <xs:element name="alpha">
 
5439
                                                        <xs:complexType>
 
5440
                                                                <xs:attribute name="value" type="gl_blend_equation_enum" use="optional" default="FUNC_ADD"/>
 
5441
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5442
                                                        </xs:complexType>
 
5443
                                                </xs:element>
 
5444
                                        </xs:sequence>
 
5445
                                </xs:complexType>
 
5446
                        </xs:element>
 
5447
                        <xs:element name="blend_func">
 
5448
                                <xs:complexType>
 
5449
                                        <xs:sequence>
 
5450
                                                <xs:element name="src">
 
5451
                                                        <xs:complexType>
 
5452
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ONE"/>
 
5453
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5454
                                                        </xs:complexType>
 
5455
                                                </xs:element>
 
5456
                                                <xs:element name="dest">
 
5457
                                                        <xs:complexType>
 
5458
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ZERO"/>
 
5459
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5460
                                                        </xs:complexType>
 
5461
                                                </xs:element>
 
5462
                                        </xs:sequence>
 
5463
                                </xs:complexType>
 
5464
                        </xs:element>
 
5465
                        <xs:element name="blend_func_separate">
 
5466
                                <xs:complexType>
 
5467
                                        <xs:sequence>
 
5468
                                                <xs:element name="src_rgb">
 
5469
                                                        <xs:complexType>
 
5470
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ONE"/>
 
5471
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5472
                                                        </xs:complexType>
 
5473
                                                </xs:element>
 
5474
                                                <xs:element name="dest_rgb">
 
5475
                                                        <xs:complexType>
 
5476
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ZERO"/>
 
5477
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5478
                                                        </xs:complexType>
 
5479
                                                </xs:element>
 
5480
                                                <xs:element name="src_alpha">
 
5481
                                                        <xs:complexType>
 
5482
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ONE"/>
 
5483
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5484
                                                        </xs:complexType>
 
5485
                                                </xs:element>
 
5486
                                                <xs:element name="dest_alpha">
 
5487
                                                        <xs:complexType>
 
5488
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ZERO"/>
 
5489
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5490
                                                        </xs:complexType>
 
5491
                                                </xs:element>
 
5492
                                        </xs:sequence>
 
5493
                                </xs:complexType>
 
5494
                        </xs:element>
 
5495
                        <xs:element name="color_mask">
 
5496
                                <xs:complexType>
 
5497
                                        <xs:attribute name="value" type="bool4_type" use="optional" default="true true true true"/>
 
5498
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5499
                                </xs:complexType>
 
5500
                        </xs:element>
 
5501
                        <xs:element name="cull_face">
 
5502
                                <xs:complexType>
 
5503
                                        <xs:attribute name="value" type="gl_face_enum" use="optional" default="BACK"/>
 
5504
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5505
                                </xs:complexType>
 
5506
                        </xs:element>
 
5507
                        <xs:element name="depth_func">
 
5508
                                <xs:complexType>
 
5509
                                        <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
5510
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5511
                                </xs:complexType>
 
5512
                        </xs:element>
 
5513
                        <xs:element name="depth_mask">
 
5514
                                <xs:complexType>
 
5515
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="true"/>
 
5516
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5517
                                </xs:complexType>
 
5518
                        </xs:element>
 
5519
                        <xs:element name="depth_range">
 
5520
                                <xs:complexType>
 
5521
                                        <xs:attribute name="value" type="float2_type" use="optional" default="0 1"/>
 
5522
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5523
                                </xs:complexType>
 
5524
                        </xs:element>
 
5525
                        <xs:element name="front_face">
 
5526
                                <xs:complexType>
 
5527
                                        <xs:attribute name="value" type="gl_front_face_enum" use="optional" default="CCW"/>
 
5528
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5529
                                </xs:complexType>
 
5530
                        </xs:element>
 
5531
                        <xs:element name="line_width">
 
5532
                                <xs:complexType>
 
5533
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
5534
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5535
                                </xs:complexType>
 
5536
                        </xs:element>
 
5537
                        <xs:element name="polygon_offset">
 
5538
                                <xs:complexType>
 
5539
                                        <xs:attribute name="value" type="float2_type" use="optional" default="0 0"/>
 
5540
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5541
                                </xs:complexType>
 
5542
                        </xs:element>
 
5543
                        <xs:element name="point_size">
 
5544
                                <xs:complexType>
 
5545
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
5546
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5547
                                </xs:complexType>
 
5548
                        </xs:element>
 
5549
                        <xs:element name="sample_coverage">
 
5550
                                <xs:complexType>
 
5551
                                        <xs:sequence>
 
5552
                                                <xs:element name="value">
 
5553
                                                        <xs:complexType>
 
5554
                                                                <xs:attribute name="value" type="xs:float" use="optional"/>
 
5555
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5556
                                                        </xs:complexType>
 
5557
                                                </xs:element>
 
5558
                                                <xs:element name="invert">
 
5559
                                                        <xs:complexType>
 
5560
                                                                <xs:attribute name="value" type="xs:boolean" use="optional"/>
 
5561
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5562
                                                        </xs:complexType>
 
5563
                                                </xs:element>
 
5564
                                        </xs:sequence>
 
5565
                                </xs:complexType>
 
5566
                        </xs:element>
 
5567
                        <xs:element name="scissor">
 
5568
                                <xs:complexType>
 
5569
                                        <xs:attribute name="value" type="int4_type" use="optional"/>
 
5570
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5571
                                </xs:complexType>
 
5572
                        </xs:element>
 
5573
                        <xs:element name="stencil_func">
 
5574
                                <xs:complexType>
 
5575
                                        <xs:sequence>
 
5576
                                                <xs:element name="func">
 
5577
                                                        <xs:complexType>
 
5578
                                                                <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
5579
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5580
                                                        </xs:complexType>
 
5581
                                                </xs:element>
 
5582
                                                <xs:element name="ref">
 
5583
                                                        <xs:complexType>
 
5584
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="0"/>
 
5585
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5586
                                                        </xs:complexType>
 
5587
                                                </xs:element>
 
5588
                                                <xs:element name="mask">
 
5589
                                                        <xs:complexType>
 
5590
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="255"/>
 
5591
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5592
                                                        </xs:complexType>
 
5593
                                                </xs:element>
 
5594
                                        </xs:sequence>
 
5595
                                </xs:complexType>
 
5596
                        </xs:element>
 
5597
                        <xs:element name="stencil_func_separate">
 
5598
                                <xs:complexType>
 
5599
                                        <xs:sequence>
 
5600
                                                <xs:element name="front">
 
5601
                                                        <xs:complexType>
 
5602
                                                                <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
5603
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5604
                                                        </xs:complexType>
 
5605
                                                </xs:element>
 
5606
                                                <xs:element name="back">
 
5607
                                                        <xs:complexType>
 
5608
                                                                <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
5609
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5610
                                                        </xs:complexType>
 
5611
                                                </xs:element>
 
5612
                                                <xs:element name="ref">
 
5613
                                                        <xs:complexType>
 
5614
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="0"/>
 
5615
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5616
                                                        </xs:complexType>
 
5617
                                                </xs:element>
 
5618
                                                <xs:element name="mask">
 
5619
                                                        <xs:complexType>
 
5620
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="255"/>
 
5621
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5622
                                                        </xs:complexType>
 
5623
                                                </xs:element>
 
5624
                                        </xs:sequence>
 
5625
                                </xs:complexType>
 
5626
                        </xs:element>
 
5627
                        <xs:element name="stencil_mask">
 
5628
                                <xs:complexType>
 
5629
                                        <xs:attribute name="value" type="int_type" use="optional" default="4294967295"/>
 
5630
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5631
                                </xs:complexType>
 
5632
                        </xs:element>
 
5633
                        <xs:element name="stencil_mask_separate">
 
5634
                                <xs:complexType>
 
5635
                                        <xs:sequence>
 
5636
                                                <xs:element name="face">
 
5637
                                                        <xs:complexType>
 
5638
                                                                <xs:attribute name="value" type="gl_face_enum" use="optional" default="FRONT_AND_BACK"/>
 
5639
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5640
                                                        </xs:complexType>
 
5641
                                                </xs:element>
 
5642
                                                <xs:element name="mask">
 
5643
                                                        <xs:complexType>
 
5644
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="255"/>
 
5645
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5646
                                                        </xs:complexType>
 
5647
                                                </xs:element>
 
5648
                                        </xs:sequence>
 
5649
                                </xs:complexType>
 
5650
                        </xs:element>
 
5651
                        <xs:element name="stencil_op">
 
5652
                                <xs:complexType>
 
5653
                                        <xs:sequence>
 
5654
                                                <xs:element name="fail">
 
5655
                                                        <xs:complexType>
 
5656
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
5657
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5658
                                                        </xs:complexType>
 
5659
                                                </xs:element>
 
5660
                                                <xs:element name="zfail">
 
5661
                                                        <xs:complexType>
 
5662
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
5663
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5664
                                                        </xs:complexType>
 
5665
                                                </xs:element>
 
5666
                                                <xs:element name="zpass">
 
5667
                                                        <xs:complexType>
 
5668
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
5669
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5670
                                                        </xs:complexType>
 
5671
                                                </xs:element>
 
5672
                                        </xs:sequence>
 
5673
                                </xs:complexType>
 
5674
                        </xs:element>
 
5675
                        <xs:element name="stencil_op_separate">
 
5676
                                <xs:complexType>
 
5677
                                        <xs:sequence>
 
5678
                                                <xs:element name="face">
 
5679
                                                        <xs:complexType>
 
5680
                                                                <xs:attribute name="value" type="gl_face_enum" use="optional" default="FRONT_AND_BACK"/>
 
5681
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5682
                                                        </xs:complexType>
 
5683
                                                </xs:element>
 
5684
                                                <xs:element name="fail">
 
5685
                                                        <xs:complexType>
 
5686
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
5687
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5688
                                                        </xs:complexType>
 
5689
                                                </xs:element>
 
5690
                                                <xs:element name="zfail">
 
5691
                                                        <xs:complexType>
 
5692
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
5693
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5694
                                                        </xs:complexType>
 
5695
                                                </xs:element>
 
5696
                                                <xs:element name="zpass">
 
5697
                                                        <xs:complexType>
 
5698
                                                                <xs:attribute name="value" type="gl_stencil_op_enum" use="optional" default="KEEP"/>
 
5699
                                                                <xs:attribute name="param" type="xs:token" use="optional"/>
 
5700
                                                        </xs:complexType>
 
5701
                                                </xs:element>
 
5702
                                        </xs:sequence>
 
5703
                                </xs:complexType>
 
5704
                        </xs:element>
 
5705
                        <xs:element name="blend_enable">
 
5706
                                <xs:complexType>
 
5707
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5708
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5709
                                </xs:complexType>
 
5710
                        </xs:element>
 
5711
                        <xs:element name="cull_face_enable">
 
5712
                                <xs:complexType>
 
5713
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5714
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5715
                                </xs:complexType>
 
5716
                        </xs:element>
 
5717
                        <xs:element name="depth_test_enable">
 
5718
                                <xs:complexType>
 
5719
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5720
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5721
                                </xs:complexType>
 
5722
                        </xs:element>
 
5723
                        <xs:element name="dither_enable">
 
5724
                                <xs:complexType>
 
5725
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="true"/>
 
5726
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5727
                                </xs:complexType>
 
5728
                        </xs:element>
 
5729
                        <xs:element name="polygon_offset_fill_enable">
 
5730
                                <xs:complexType>
 
5731
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5732
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5733
                                </xs:complexType>
 
5734
                        </xs:element>
 
5735
                        <xs:element name="point_size_enable">
 
5736
                                <xs:complexType>
 
5737
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5738
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5739
                                </xs:complexType>
 
5740
                        </xs:element>
 
5741
                        <xs:element name="sample_alpha_to_coverage_enable">
 
5742
                                <xs:complexType>
 
5743
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5744
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5745
                                </xs:complexType>
 
5746
                        </xs:element>
 
5747
                        <xs:element name="sample_coverage_enable">
 
5748
                                <xs:complexType>
 
5749
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5750
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5751
                                </xs:complexType>
 
5752
                        </xs:element>
 
5753
                        <xs:element name="scissor_test_enable">
 
5754
                                <xs:complexType>
 
5755
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5756
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5757
                                </xs:complexType>
 
5758
                        </xs:element>
 
5759
                        <xs:element name="stencil_test_enable">
 
5760
                                <xs:complexType>
 
5761
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
5762
                                        <xs:attribute name="param" type="xs:token" use="optional"/>
 
5763
                                </xs:complexType>
 
5764
                        </xs:element>
 
5765
                </xs:choice>
 
5766
        </xs:group>
 
5767
        <xs:group name="gles2_value_group">
 
5768
                <xs:annotation>
 
5769
                        <xs:documentation>New parameters may choose to type themselves by value, providing a default.</xs:documentation>
 
5770
                </xs:annotation>
 
5771
                <xs:choice>
 
5772
                        <xs:element name="bool" type="xs:boolean"/>
 
5773
                        <xs:element name="bvec2" type="bool2_type"/>
 
5774
                        <xs:element name="bvec3" type="bool3_type"/>
 
5775
                        <xs:element name="bvec4" type="bool4_type"/>
 
5776
                        <xs:element name="float" type="float_type"/>
 
5777
                        <xs:element name="vec2" type="float2_type"/>
 
5778
                        <xs:element name="vec3" type="float3_type"/>
 
5779
                        <xs:element name="vec4" type="float4_type"/>
 
5780
                        <xs:element name="mat2" type="float2x2_type"/>
 
5781
                        <xs:element name="mat3" type="float3x3_type"/>
 
5782
                        <xs:element name="mat4" type="float4x4_type"/>
 
5783
                        <xs:element name="int" type="int_type"/>
 
5784
                        <xs:element name="ivec2" type="int2_type"/>
 
5785
                        <xs:element name="ivec3" type="int3_type"/>
 
5786
                        <xs:element name="ivec4" type="int4_type"/>
 
5787
                        <xs:element name="enum" type="gl_enumeration_type"/>
 
5788
                        <xs:element name="sampler2D" type="fx_sampler2D_type"/>
 
5789
                        <xs:element name="sampler3D" type="fx_sampler3D_type">
 
5790
                                <xs:annotation>
 
5791
                                        <xs:documentation>not in baseline spec but probably available in extensions</xs:documentation>
 
5792
                                </xs:annotation>
 
5793
                        </xs:element>
 
5794
                        <xs:element name="samplerCUBE" type="fx_samplerCUBE_type"/>
 
5795
                        <xs:element name="samplerDEPTH" type="fx_samplerDEPTH_type">
 
5796
                                <xs:annotation>
 
5797
                                        <xs:documentation>not in baseline spec but probably available in extensions</xs:documentation>
 
5798
                                </xs:annotation>
 
5799
                        </xs:element>
 
5800
                        <xs:element name="usertype">
 
5801
                                <xs:complexType>
 
5802
                                        <xs:sequence>
 
5803
                                                <xs:element name="setparam" minOccurs="0" maxOccurs="unbounded">
 
5804
                                                        <xs:annotation>
 
5805
                                                                <xs:documentation>Use a series of these to set the members by name.  The ref attribute will be relative to the struct you are in right now.</xs:documentation>
 
5806
                                                        </xs:annotation>
 
5807
                                                        <xs:complexType>
 
5808
                                                                <xs:sequence>
 
5809
                                                                        <xs:group ref="gles2_value_group" minOccurs="0" maxOccurs="unbounded"/>
 
5810
                                                                </xs:sequence>
 
5811
                                                                <xs:attribute name="ref" type="xs:token" use="required">
 
5812
                                                                        <xs:annotation>
 
5813
                                                                                <xs:documentation>Symbol name of the member</xs:documentation>
 
5814
                                                                        </xs:annotation>
 
5815
                                                                </xs:attribute>
 
5816
                                                        </xs:complexType>
 
5817
                                                </xs:element>
 
5818
                                        </xs:sequence>
 
5819
                                        <xs:attribute name="typename" type="xs:token" use="required">
 
5820
                                                <xs:annotation>
 
5821
                                                        <xs:documentation>Symbol for type or structure in shader code.   This aids in type-checking, resolution of bindings, and support interfaces</xs:documentation>
 
5822
                                                </xs:annotation>
 
5823
                                        </xs:attribute>
 
5824
                                </xs:complexType>
 
5825
                        </xs:element>
 
5826
                        <xs:element name="array">
 
5827
                                <xs:complexType>
 
5828
                                        <xs:sequence>
 
5829
                                                <xs:group ref="gles2_value_group" maxOccurs="unbounded"/>
 
5830
                                        </xs:sequence>
 
5831
                                        <xs:attribute name="length" type="xs:positiveInteger" use="required">
 
5832
                                                <xs:annotation>
 
5833
                                                        <xs:documentation>Enable applications to validate element count without shader having been compiled</xs:documentation>
 
5834
                                                </xs:annotation>
 
5835
                                        </xs:attribute>
 
5836
                                </xs:complexType>
 
5837
                        </xs:element>
 
5838
                </xs:choice>
 
5839
        </xs:group>
 
5840
        <xs:complexType name="gles2_newparam_type">
 
5841
                <xs:annotation>
 
5842
                        <xs:documentation>Declare a new parameter in the profile to be bound to the pipeline state or shaders</xs:documentation>
 
5843
                </xs:annotation>
 
5844
                <xs:sequence>
 
5845
                        <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded"/>
 
5846
                        <xs:element name="semantic" type="xs:NCName" minOccurs="0">
 
5847
                                <xs:annotation>
 
5848
                                        <xs:documentation>
 
5849
                                        The semantic element allows you to specify a semantic for this new param.
 
5850
                                        </xs:documentation>
 
5851
                                </xs:annotation>
 
5852
                        </xs:element>
 
5853
                        <xs:element name="modifier" type="fx_modifier_enum" minOccurs="0"/>
 
5854
                        <xs:group ref="gles2_value_group"/>
 
5855
                </xs:sequence>
 
5856
                <xs:attribute name="sid" type="sid_type" use="required"/>
 
5857
        </xs:complexType>
 
5858
        <xs:complexType name="gles2_shader_type">
 
5859
                <xs:annotation>
 
5860
                        <xs:documentation>Identify code fragments and bind their parameters to effect parameters to identify how their values will be filled in</xs:documentation>
 
5861
                </xs:annotation>
 
5862
                <xs:sequence>
 
5863
                        <xs:element name="sources">
 
5864
                                <xs:annotation>
 
5865
                                        <xs:documentation>sid of the code or include element which provides the source for this shader.  Code may come from local or library_code.</xs:documentation>
 
5866
                                </xs:annotation>
 
5867
                                <xs:complexType>
 
5868
                                        <xs:complexContent>
 
5869
                                                <xs:extension base="fx_sources_type">
 
5870
                                                        <xs:attribute name="entry" type="xs:token" default="main">
 
5871
                                                                <xs:annotation>
 
5872
                                                                        <xs:documentation>Not used by GLSL.  Some languages require functional entry points.  GLSL always uses "main".  CG requires an entry point</xs:documentation>
 
5873
                                                                </xs:annotation>
 
5874
                                                        </xs:attribute>
 
5875
                                                </xs:extension>
 
5876
                                        </xs:complexContent>
 
5877
                                </xs:complexType>
 
5878
                        </xs:element>
 
5879
                        <xs:element name="compiler" type="fx_target_type" minOccurs="0" maxOccurs="unbounded">
 
5880
                                <xs:annotation>
 
5881
                                        <xs:documentation>Not used by GLSL.  This identifies a very specific binary target format for such things as a specific generation of GPU.  Ex. NV4x</xs:documentation>
 
5882
                                </xs:annotation>
 
5883
                        </xs:element>
 
5884
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
5885
                </xs:sequence>
 
5886
                <xs:attribute name="stage" type="fx_pipeline_stage_enum" use="required">
 
5887
                        <xs:annotation>
 
5888
                                <xs:documentation>GPU Pipeline stage for this programmable shader. Current standards are VERTEX (vertex shader), FRAGMENT (pixel or fragment shader).  These are recognized by both GLSL and CG</xs:documentation>
 
5889
                        </xs:annotation>
 
5890
                </xs:attribute>
 
5891
        </xs:complexType>
 
5892
        <xs:complexType name="gles2_program_type">
 
5893
                <xs:annotation>
 
5894
                        <xs:documentation>a program is one or more shaders linked together</xs:documentation>
 
5895
                </xs:annotation>
 
5896
                <xs:sequence>
 
5897
                        <xs:element name="shader" type="gles2_shader_type" minOccurs="0" maxOccurs="unbounded">
 
5898
                                <xs:annotation>
 
5899
                                        <xs:documentation>compile shader stages</xs:documentation>
 
5900
                                </xs:annotation>
 
5901
                        </xs:element>
 
5902
                        <xs:element name="linker" type="fx_target_type" minOccurs="0" maxOccurs="unbounded">
 
5903
                                <xs:annotation>
 
5904
                                        <xs:documentation>link shaders into program</xs:documentation>
 
5905
                                </xs:annotation>
 
5906
                        </xs:element>
 
5907
                        <xs:element name="bind_attribute" minOccurs="0" maxOccurs="unbounded">
 
5908
                                <xs:annotation>
 
5909
                                        <xs:documentation>Bind attributes.  If not bound then it is assumed to be the same semantic as the variable name.  If the variable name is prefixed with "gl_" or "sv_" then the prefix may be ignored.</xs:documentation>
 
5910
                                </xs:annotation>
 
5911
                                <xs:complexType>
 
5912
                                        <xs:choice>
 
5913
                                                <xs:element name="semantic" type="xs:token">
 
5914
                                                        <xs:annotation>
 
5915
                                                                <xs:documentation>Bind attributes to semantics to enable semantic association to attributes that are not redeclared as parameters.  Without this, the semantic is the same as the attribute's name.</xs:documentation>
 
5916
                                                        </xs:annotation>
 
5917
                                                </xs:element>
 
5918
                                        </xs:choice>
 
5919
                                        <xs:attribute name="symbol" type="xs:token" use="required">
 
5920
                                                <xs:annotation>
 
5921
                                                        <xs:documentation>shader variable name</xs:documentation>
 
5922
                                                </xs:annotation>
 
5923
                                        </xs:attribute>
 
5924
                                </xs:complexType>
 
5925
                        </xs:element>
 
5926
                        <xs:element name="bind_uniform" minOccurs="0" maxOccurs="unbounded">
 
5927
                                <xs:annotation>
 
5928
                                        <xs:documentation>Bind uniforms and samplers</xs:documentation>
 
5929
                                </xs:annotation>
 
5930
                                <xs:complexType>
 
5931
                                        <xs:choice>
 
5932
                                                <xs:element name="param">
 
5933
                                                        <xs:annotation>
 
5934
                                                                <xs:documentation>Bind uniforms to parameters</xs:documentation>
 
5935
                                                        </xs:annotation>
 
5936
                                                        <xs:complexType>
 
5937
                                                                <xs:attribute name="ref" type="xs:NCName" use="required">
 
5938
                                                                        <xs:annotation>
 
5939
                                                                                <xs:documentation>SID of parameter</xs:documentation>
 
5940
                                                                        </xs:annotation>
 
5941
                                                                </xs:attribute>
 
5942
                                                        </xs:complexType>
 
5943
                                                </xs:element>
 
5944
                                                <xs:group ref="gles2_value_group"/>
 
5945
                                        </xs:choice>
 
5946
                                        <xs:attribute name="symbol" type="xs:token" use="required">
 
5947
                                                <xs:annotation>
 
5948
                                                        <xs:documentation>shader variable name</xs:documentation>
 
5949
                                                </xs:annotation>
 
5950
                                        </xs:attribute>
 
5951
                                </xs:complexType>
 
5952
                        </xs:element>
 
5953
                </xs:sequence>
 
5954
        </xs:complexType>
 
5955
        <xs:complexType name="gles2_pass_type">
 
5956
                <xs:annotation>
 
5957
                        <xs:documentation>Set up pipeline state and shaders for rendering</xs:documentation>
 
5958
                </xs:annotation>
 
5959
                <xs:sequence>
 
5960
                        <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded">
 
5961
                                <xs:annotation>
 
5962
                                        <xs:documentation>Add metadata to this pass that may be used by games or tools to make decisions</xs:documentation>
 
5963
                                </xs:annotation>
 
5964
                        </xs:element>
 
5965
                        <xs:element name="states" minOccurs="0">
 
5966
                                <xs:annotation>
 
5967
                                        <xs:documentation>API state</xs:documentation>
 
5968
                                </xs:annotation>
 
5969
                                <xs:complexType>
 
5970
                                        <xs:sequence minOccurs="0" maxOccurs="unbounded">
 
5971
                                                <xs:group ref="gles2_pipeline_settings_group"/>
 
5972
                                        </xs:sequence>
 
5973
                                </xs:complexType>
 
5974
                        </xs:element>
 
5975
                        <xs:element name="program" type="gles2_program_type" minOccurs="0">
 
5976
                                <xs:annotation>
 
5977
                                        <xs:documentation>A vertex_shader and fragment_shader are linked together to produce a OpenGL ES 2 program.</xs:documentation>
 
5978
                                </xs:annotation>
 
5979
                        </xs:element>
 
5980
                        <xs:element name="evaluate" minOccurs="0">
 
5981
                                <xs:annotation>
 
5982
                                        <xs:documentation>runtime execution helpers</xs:documentation>
 
5983
                                </xs:annotation>
 
5984
                                <xs:complexType>
 
5985
                                        <xs:sequence>
 
5986
                                                <xs:element name="color_target" type="fx_colortarget_type" minOccurs="0" maxOccurs="unbounded">
 
5987
                                                        <xs:annotation>
 
5988
                                                                <xs:documentation>Identify that this pass is intended to render it's colors into a surface parameter</xs:documentation>
 
5989
                                                        </xs:annotation>
 
5990
                                                </xs:element>
 
5991
                                                <xs:element name="depth_target" type="fx_depthtarget_type" minOccurs="0" maxOccurs="unbounded">
 
5992
                                                        <xs:annotation>
 
5993
                                                                <xs:documentation>Identify that this pass is intended to render it's depthinto a surface parameter</xs:documentation>
 
5994
                                                        </xs:annotation>
 
5995
                                                </xs:element>
 
5996
                                                <xs:element name="stencil_target" type="fx_stenciltarget_type" minOccurs="0" maxOccurs="unbounded">
 
5997
                                                        <xs:annotation>
 
5998
                                                                <xs:documentation>Identify that this pass is intended to render it's stencil bits into a surface parameter</xs:documentation>
 
5999
                                                        </xs:annotation>
 
6000
                                                </xs:element>
 
6001
                                                <xs:element name="color_clear" type="fx_clearcolor_type" minOccurs="0" maxOccurs="unbounded">
 
6002
                                                        <xs:annotation>
 
6003
                                                                <xs:documentation>The indexed color render target is supposed to be cleared to this color</xs:documentation>
 
6004
                                                        </xs:annotation>
 
6005
                                                </xs:element>
 
6006
                                                <xs:element name="stencil_clear" type="fx_clearstencil_type" minOccurs="0" maxOccurs="unbounded">
 
6007
                                                        <xs:annotation>
 
6008
                                                                <xs:documentation>The indexed stencil bits render target is supposed to be cleared to this color</xs:documentation>
 
6009
                                                        </xs:annotation>
 
6010
                                                </xs:element>
 
6011
                                                <xs:element name="depth_clear" type="fx_cleardepth_type" minOccurs="0" maxOccurs="unbounded">
 
6012
                                                        <xs:annotation>
 
6013
                                                                <xs:documentation>The indexed depth render target is supposed to be cleared to this color</xs:documentation>
 
6014
                                                        </xs:annotation>
 
6015
                                                </xs:element>
 
6016
                                                <xs:element name="draw" type="fx_draw_type" minOccurs="0">
 
6017
                                                        <xs:annotation>
 
6018
                                                                <xs:documentation>Identify what type of goemetry should be drawn durring this pass.  See comments in fx_draw_common for a list of common strings.</xs:documentation>
 
6019
                                                        </xs:annotation>
 
6020
                                                </xs:element>
 
6021
                                        </xs:sequence>
 
6022
                                </xs:complexType>
 
6023
                        </xs:element>
 
6024
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
6025
                </xs:sequence>
 
6026
                <xs:attribute name="sid" type="sid_type" use="optional">
 
6027
                        <xs:annotation>
 
6028
                                <xs:documentation>
 
6029
                                                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
6030
                                                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
6031
                                                                                        </xs:documentation>
 
6032
                        </xs:annotation>
 
6033
                </xs:attribute>
 
6034
        </xs:complexType>
 
6035
        <xs:complexType name="profile_gles2_type">
 
6036
                <xs:annotation>
 
6037
                        <xs:documentation>FX for OpenGL ES 2.0</xs:documentation>
 
6038
                </xs:annotation>
 
6039
                <xs:sequence>
 
6040
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
6041
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
6042
                                <xs:element name="include" type="fx_include_type">
 
6043
                                        <xs:annotation>
 
6044
                                                <xs:documentation>Include shader code from a remote URI.  If binary, assume raw.</xs:documentation>
 
6045
                                        </xs:annotation>
 
6046
                                </xs:element>
 
6047
                                <xs:element name="code" type="fx_code_type">
 
6048
                                        <xs:annotation>
 
6049
                                                <xs:documentation>The fx_code_profile type allows you to specify an inline block of source code.  It is HIGHLY recommended to use a CDATA block inside to avoid issues with</xs:documentation>
 
6050
                                        </xs:annotation>
 
6051
                                </xs:element>
 
6052
                        </xs:choice>
 
6053
                        <xs:element name="newparam" minOccurs="0" maxOccurs="unbounded">
 
6054
                                <xs:complexType>
 
6055
                                        <xs:complexContent>
 
6056
                                                <xs:extension base="gles2_newparam_type"/>
 
6057
                                        </xs:complexContent>
 
6058
                                </xs:complexType>
 
6059
                        </xs:element>
 
6060
                        <xs:element name="technique" maxOccurs="unbounded">
 
6061
                                <xs:annotation>
 
6062
                                        <xs:documentation>
 
6063
                                                Holds a description of the textures, samplers, shaders, parameters, and passes necessary for rendering this effect using one method.
 
6064
                                                </xs:documentation>
 
6065
                                </xs:annotation>
 
6066
                                <xs:complexType>
 
6067
                                        <xs:sequence>
 
6068
                                                <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
6069
                                                <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded">
 
6070
                                                        <xs:annotation>
 
6071
                                                                <xs:documentation>Add metadata to this pass that may be used by games or tools to make decisions</xs:documentation>
 
6072
                                                        </xs:annotation>
 
6073
                                                </xs:element>
 
6074
                                                <xs:element name="pass" type="gles2_pass_type" maxOccurs="unbounded">
 
6075
                                                        <xs:annotation>
 
6076
                                                                <xs:documentation>
 
6077
                                                                        A static declaration of all the render states, shaders, and settings for one rendering pipeline.
 
6078
                                                                        </xs:documentation>
 
6079
                                                        </xs:annotation>
 
6080
                                                </xs:element>
 
6081
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
6082
                                        </xs:sequence>
 
6083
                                        <xs:attribute name="id" type="xs:ID"/>
 
6084
                                        <xs:attribute name="sid" type="sid_type" use="required">
 
6085
                                                <xs:annotation>
 
6086
                                                        <xs:documentation>
 
6087
                                                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
6088
                                                                This value must be unique within the scope of the parent element. Optional attribute.
 
6089
                                                                </xs:documentation>
 
6090
                                                </xs:annotation>
 
6091
                                        </xs:attribute>
 
6092
                                </xs:complexType>
 
6093
                        </xs:element>
 
6094
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
6095
                </xs:sequence>
 
6096
                <xs:attribute name="id" type="xs:ID">
 
6097
                        <xs:annotation>
 
6098
                                <xs:documentation>Unique identifier for referencing</xs:documentation>
 
6099
                        </xs:annotation>
 
6100
                </xs:attribute>
 
6101
                <xs:attribute name="language" type="xs:NCName" use="required">
 
6102
                        <xs:annotation>
 
6103
                                <xs:documentation>Shading language that will be used.  This is not an enum to support future languages.  Current known languages at this time are GLSL-ES, CG</xs:documentation>
 
6104
                        </xs:annotation>
 
6105
                </xs:attribute>
 
6106
                <xs:attribute name="platforms" type="list_of_names_type">
 
6107
                        <xs:annotation>
 
6108
                                <xs:documentation>Support for multiple OpenGL ES 2.0 platforms</xs:documentation>
 
6109
                        </xs:annotation>
 
6110
                </xs:attribute>
 
6111
        </xs:complexType>
 
6112
        <xs:group name="glsl_value_group">
 
6113
                <xs:annotation>
 
6114
                        <xs:documentation>
 
6115
                        A group that specifies the allowable types for GLSL profile parameters.
 
6116
                        </xs:documentation>
 
6117
                </xs:annotation>
 
6118
                <xs:choice>
 
6119
                        <xs:element name="bool" type="xs:boolean"/>
 
6120
                        <xs:element name="bool2" type="bool2_type"/>
 
6121
                        <xs:element name="bool3" type="bool3_type"/>
 
6122
                        <xs:element name="bool4" type="bool4_type"/>
 
6123
                        <xs:element name="float" type="float_type"/>
 
6124
                        <xs:element name="float2" type="float2_type"/>
 
6125
                        <xs:element name="float3" type="float3_type"/>
 
6126
                        <xs:element name="float4" type="float4_type"/>
 
6127
                        <xs:element name="float2x2" type="float2x2_type"/>
 
6128
                        <xs:element name="float3x3" type="float3x3_type"/>
 
6129
                        <xs:element name="float4x4" type="float4x4_type"/>
 
6130
                        <xs:element name="int" type="int_type"/>
 
6131
                        <xs:element name="int2" type="int2_type"/>
 
6132
                        <xs:element name="int3" type="int3_type"/>
 
6133
                        <xs:element name="int4" type="int4_type"/>
 
6134
                        <xs:element name="sampler1D" type="fx_sampler1D_type"/>
 
6135
                        <xs:element name="sampler2D" type="fx_sampler2D_type"/>
 
6136
                        <xs:element name="sampler3D" type="fx_sampler3D_type"/>
 
6137
                        <xs:element name="samplerCUBE" type="fx_samplerCUBE_type"/>
 
6138
                        <xs:element name="samplerRECT" type="fx_samplerRECT_type"/>
 
6139
                        <xs:element name="samplerDEPTH" type="fx_samplerDEPTH_type"/>
 
6140
                        <xs:element name="enum" type="gl_enumeration_type"/>
 
6141
                        <xs:element name="array" type="glsl_array_type"/>
 
6142
                </xs:choice>
 
6143
        </xs:group>
 
6144
        <xs:complexType name="glsl_array_type">
 
6145
                <xs:annotation>
 
6146
                        <xs:documentation>
 
6147
                        The glsl_newarray_type element is used to creates a parameter of a one-dimensional array type.
 
6148
                        </xs:documentation>
 
6149
                </xs:annotation>
 
6150
                <xs:sequence>
 
6151
                        <xs:annotation>
 
6152
                                <xs:documentation>First element types the array.  If more than one then init entire array and must match length attribute.  If only one then repeat based on length attribute.</xs:documentation>
 
6153
                        </xs:annotation>
 
6154
                        <xs:group ref="glsl_value_group" maxOccurs="unbounded"/>
 
6155
                </xs:sequence>
 
6156
                <xs:attribute name="length" type="xs:positiveInteger" use="required">
 
6157
                        <xs:annotation>
 
6158
                                <xs:documentation>
 
6159
                                The length attribute specifies the length of the array.
 
6160
                                </xs:documentation>
 
6161
                        </xs:annotation>
 
6162
                </xs:attribute>
 
6163
        </xs:complexType>
 
6164
        <xs:complexType name="glsl_newparam_type">
 
6165
                <xs:sequence>
 
6166
                        <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded"/>
 
6167
                        <xs:element name="semantic" type="xs:NCName" minOccurs="0"/>
 
6168
                        <xs:element name="modifier" type="fx_modifier_enum" minOccurs="0"/>
 
6169
                        <xs:group ref="glsl_value_group"/>
 
6170
                </xs:sequence>
 
6171
                <xs:attribute name="sid" type="sid_type" use="required"/>
 
6172
        </xs:complexType>
 
6173
        <xs:complexType name="glsl_shader_type">
 
6174
                <xs:annotation>
 
6175
                        <xs:documentation>Identify code fragments and bind their parameters to effect parameters to identify how their values will be filled in</xs:documentation>
 
6176
                </xs:annotation>
 
6177
                <xs:sequence>
 
6178
                        <xs:element name="sources" type="fx_sources_type">
 
6179
                                <xs:annotation>
 
6180
                                        <xs:documentation>sid of the code or include element which provides the source for this shader.  Code may come from local or library_code.</xs:documentation>
 
6181
                                </xs:annotation>
 
6182
                        </xs:element>
 
6183
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
6184
                </xs:sequence>
 
6185
                <xs:attribute name="stage" type="fx_pipeline_stage_enum" use="required">
 
6186
                        <xs:annotation>
 
6187
                                <xs:documentation>GPU Pipeline stage for this programmable shader. Current standards are VERTEX (vertex shader), FRAGMENT (pixel or fragment shader).  These are recognized by both GLSL and CG</xs:documentation>
 
6188
                        </xs:annotation>
 
6189
                </xs:attribute>
 
6190
        </xs:complexType>
 
6191
        <xs:complexType name="glsl_program_type">
 
6192
                <xs:annotation>
 
6193
                        <xs:documentation>a program is one or more shaders linked together</xs:documentation>
 
6194
                </xs:annotation>
 
6195
                <xs:sequence>
 
6196
                        <xs:element name="shader" type="glsl_shader_type" minOccurs="0" maxOccurs="unbounded">
 
6197
                                <xs:annotation>
 
6198
                                        <xs:documentation>compile shader stages</xs:documentation>
 
6199
                                </xs:annotation>
 
6200
                        </xs:element>
 
6201
                        <xs:element name="bind_attribute" minOccurs="0" maxOccurs="unbounded">
 
6202
                                <xs:annotation>
 
6203
                                        <xs:documentation>Bind attributes.  If not bound then it is assumed to be the same semantic as the variable name.  If the variable name is prefixed with "gl_" or "sv_" then the prefix may be ignored.</xs:documentation>
 
6204
                                </xs:annotation>
 
6205
                                <xs:complexType>
 
6206
                                        <xs:choice>
 
6207
                                                <xs:element name="semantic" type="xs:token">
 
6208
                                                        <xs:annotation>
 
6209
                                                                <xs:documentation>Bind attributes to semantics to enable semantic association to attributes that are not redeclared as parameters.  Without this, the semantic is the same as the attribute's name.</xs:documentation>
 
6210
                                                        </xs:annotation>
 
6211
                                                </xs:element>
 
6212
                                        </xs:choice>
 
6213
                                        <xs:attribute name="symbol" type="xs:token" use="required">
 
6214
                                                <xs:annotation>
 
6215
                                                        <xs:documentation>shader variable name</xs:documentation>
 
6216
                                                </xs:annotation>
 
6217
                                        </xs:attribute>
 
6218
                                </xs:complexType>
 
6219
                        </xs:element>
 
6220
                        <xs:element name="bind_uniform" minOccurs="0" maxOccurs="unbounded">
 
6221
                                <xs:annotation>
 
6222
                                        <xs:documentation>Bind uniforms and samplers</xs:documentation>
 
6223
                                </xs:annotation>
 
6224
                                <xs:complexType>
 
6225
                                        <xs:choice>
 
6226
                                                <xs:element name="param">
 
6227
                                                        <xs:annotation>
 
6228
                                                                <xs:documentation>Bind uniforms to parameters</xs:documentation>
 
6229
                                                        </xs:annotation>
 
6230
                                                        <xs:complexType>
 
6231
                                                                <xs:attribute name="ref" type="xs:NCName" use="required">
 
6232
                                                                        <xs:annotation>
 
6233
                                                                                <xs:documentation>SID of parameter</xs:documentation>
 
6234
                                                                        </xs:annotation>
 
6235
                                                                </xs:attribute>
 
6236
                                                        </xs:complexType>
 
6237
                                                </xs:element>
 
6238
                                                <xs:group ref="glsl_value_group"/>
 
6239
                                        </xs:choice>
 
6240
                                        <xs:attribute name="symbol" type="xs:token" use="required">
 
6241
                                                <xs:annotation>
 
6242
                                                        <xs:documentation>shader variable name</xs:documentation>
 
6243
                                                </xs:annotation>
 
6244
                                        </xs:attribute>
 
6245
                                </xs:complexType>
 
6246
                        </xs:element>
 
6247
                </xs:sequence>
 
6248
        </xs:complexType>
 
6249
        <xs:complexType name="profile_glsl_type">
 
6250
                <xs:annotation>
 
6251
                        <xs:documentation>
 
6252
                        Opens a block of GLSL platform-specific data types and technique declarations.
 
6253
                        </xs:documentation>
 
6254
                </xs:annotation>
 
6255
                <xs:sequence>
 
6256
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
6257
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
6258
                                <xs:element name="code" type="fx_code_type"/>
 
6259
                                <xs:element name="include" type="fx_include_type"/>
 
6260
                        </xs:choice>
 
6261
                        <xs:element name="newparam" type="glsl_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
6262
                        <xs:element name="technique" maxOccurs="unbounded">
 
6263
                                <xs:annotation>
 
6264
                                        <xs:documentation>
 
6265
                                                Holds a description of the textures, samplers, shaders, parameters, and passes necessary for rendering this effect using one method.
 
6266
                                                </xs:documentation>
 
6267
                                </xs:annotation>
 
6268
                                <xs:complexType>
 
6269
                                        <xs:sequence>
 
6270
                                                <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
6271
                                                <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded"/>
 
6272
                                                <xs:element name="pass" maxOccurs="unbounded">
 
6273
                                                        <xs:annotation>
 
6274
                                                                <xs:documentation>
 
6275
                                                                        A static declaration of all the render states, shaders, and settings for one rendering pipeline.
 
6276
                                                                        </xs:documentation>
 
6277
                                                        </xs:annotation>
 
6278
                                                        <xs:complexType>
 
6279
                                                                <xs:sequence>
 
6280
                                                                        <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded"/>
 
6281
                                                                        <xs:element name="states" minOccurs="0">
 
6282
                                                                                <xs:complexType>
 
6283
                                                                                        <xs:sequence>
 
6284
                                                                                                <xs:group ref="gl_pipeline_settings_group" minOccurs="0" maxOccurs="unbounded"/>
 
6285
                                                                                        </xs:sequence>
 
6286
                                                                                </xs:complexType>
 
6287
                                                                        </xs:element>
 
6288
                                                                        <xs:element name="program" type="glsl_program_type" minOccurs="0"/>
 
6289
                                                                        <xs:element name="evaluate" minOccurs="0">
 
6290
                                                                                <xs:complexType>
 
6291
                                                                                        <xs:sequence>
 
6292
                                                                                                <xs:element name="color_target" type="fx_colortarget_type" minOccurs="0" maxOccurs="unbounded"/>
 
6293
                                                                                                <xs:element name="depth_target" type="fx_depthtarget_type" minOccurs="0" maxOccurs="unbounded"/>
 
6294
                                                                                                <xs:element name="stencil_target" type="fx_stenciltarget_type" minOccurs="0" maxOccurs="unbounded"/>
 
6295
                                                                                                <xs:element name="color_clear" type="fx_clearcolor_type" minOccurs="0" maxOccurs="unbounded"/>
 
6296
                                                                                                <xs:element name="depth_clear" type="fx_cleardepth_type" minOccurs="0" maxOccurs="unbounded"/>
 
6297
                                                                                                <xs:element name="stencil_clear" type="fx_clearstencil_type" minOccurs="0" maxOccurs="unbounded"/>
 
6298
                                                                                                <xs:element name="draw" type="fx_draw_type" minOccurs="0"/>
 
6299
                                                                                        </xs:sequence>
 
6300
                                                                                </xs:complexType>
 
6301
                                                                        </xs:element>
 
6302
                                                                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
6303
                                                                </xs:sequence>
 
6304
                                                                <xs:attribute name="sid" type="sid_type" use="optional">
 
6305
                                                                        <xs:annotation>
 
6306
                                                                                <xs:documentation>
 
6307
                                                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
6308
                                                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
6309
                                                                                        </xs:documentation>
 
6310
                                                                        </xs:annotation>
 
6311
                                                                </xs:attribute>
 
6312
                                                        </xs:complexType>
 
6313
                                                </xs:element>
 
6314
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
6315
                                        </xs:sequence>
 
6316
                                        <xs:attribute name="id" type="xs:ID">
 
6317
                                                <xs:annotation>
 
6318
                                                        <xs:documentation>
 
6319
                                                                The id attribute is a text string containing the unique identifier of this element. 
 
6320
                                                                This value must be unique within the instance document. Optional attribute.
 
6321
                                                                </xs:documentation>
 
6322
                                                </xs:annotation>
 
6323
                                        </xs:attribute>
 
6324
                                        <xs:attribute name="sid" type="sid_type" use="required">
 
6325
                                                <xs:annotation>
 
6326
                                                        <xs:documentation>
 
6327
                                                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
6328
                                                                This value must be unique within the scope of the parent element. Optional attribute.
 
6329
                                                                </xs:documentation>
 
6330
                                                </xs:annotation>
 
6331
                                        </xs:attribute>
 
6332
                                </xs:complexType>
 
6333
                        </xs:element>
 
6334
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
6335
                </xs:sequence>
 
6336
                <xs:attribute name="id" type="xs:ID" use="optional">
 
6337
                        <xs:annotation>
 
6338
                                <xs:documentation>
 
6339
                                        The id attribute is a text string containing the unique identifier of this element. 
 
6340
                                        This value must be unique within the instance document. Optional attribute.
 
6341
                                        </xs:documentation>
 
6342
                        </xs:annotation>
 
6343
                </xs:attribute>
 
6344
                <xs:attribute name="platform" type="xs:NCName" use="optional" default="PC">
 
6345
                        <xs:annotation>
 
6346
                                <xs:documentation>
 
6347
                                        The type of platform. This is a vendor-defined character string that indicates the platform or capability target for the technique. Optional
 
6348
                                        </xs:documentation>
 
6349
                        </xs:annotation>
 
6350
                </xs:attribute>
 
6351
        </xs:complexType>
 
6352
        <xs:complexType name="cg_array_type">
 
6353
                <xs:annotation>
 
6354
                        <xs:documentation>
 
6355
                        Creates a parameter of a one-dimensional array type.
 
6356
                        </xs:documentation>
 
6357
                </xs:annotation>
 
6358
                <xs:sequence>
 
6359
                        <xs:group ref="cg_param_group" maxOccurs="unbounded">
 
6360
                                <xs:annotation>
 
6361
                                        <xs:documentation>First element types the array.  If more than one then init entire array and must match length attribute.  If only one then repeat based on length attribute.</xs:documentation>
 
6362
                                </xs:annotation>
 
6363
                        </xs:group>
 
6364
                </xs:sequence>
 
6365
                <xs:attribute name="length" type="xs:positiveInteger" use="required">
 
6366
                        <xs:annotation>
 
6367
                                <xs:documentation>
 
6368
                                The length attribute specifies the length of the array.
 
6369
                                </xs:documentation>
 
6370
                        </xs:annotation>
 
6371
                </xs:attribute>
 
6372
                <xs:attribute name="resizable" type="xs:boolean" use="optional" default="false">
 
6373
                        <xs:annotation>
 
6374
                                <xs:documentation>The array may be resized when changed because it is connected to a Cg unsized array.</xs:documentation>
 
6375
                        </xs:annotation>
 
6376
                </xs:attribute>
 
6377
        </xs:complexType>
 
6378
        <xs:complexType name="cg_setparam_type">
 
6379
                <xs:annotation>
 
6380
                        <xs:documentation>
 
6381
                        Assigns a new value to a previously defined parameter.
 
6382
                        </xs:documentation>
 
6383
                </xs:annotation>
 
6384
                <xs:sequence>
 
6385
                        <xs:group ref="cg_param_group"/>
 
6386
                </xs:sequence>
 
6387
                <xs:attribute name="ref" type="xs:token" use="required"/>
 
6388
        </xs:complexType>
 
6389
        <xs:group name="cg_param_group">
 
6390
                <xs:annotation>
 
6391
                        <xs:documentation>
 
6392
                        A group that specifies the allowable types for CG profile parameters.
 
6393
                        </xs:documentation>
 
6394
                </xs:annotation>
 
6395
                <xs:choice>
 
6396
                        <xs:element name="bool" type="xs:boolean"/>
 
6397
                        <xs:element name="bool2" type="bool2_type"/>
 
6398
                        <xs:element name="bool3" type="bool3_type"/>
 
6399
                        <xs:element name="bool4" type="bool4_type"/>
 
6400
                        <xs:element name="bool2x1" type="bool2_type"/>
 
6401
                        <xs:element name="bool2x2" type="bool2x2_type"/>
 
6402
                        <xs:element name="bool2x3" type="bool2x3_type"/>
 
6403
                        <xs:element name="bool2x4" type="bool2x4_type"/>
 
6404
                        <xs:element name="bool3x1" type="bool3_type"/>
 
6405
                        <xs:element name="bool3x2" type="bool3x2_type"/>
 
6406
                        <xs:element name="bool3x3" type="bool3x3_type"/>
 
6407
                        <xs:element name="bool3x4" type="bool3x4_type"/>
 
6408
                        <xs:element name="bool4x1" type="bool4_type"/>
 
6409
                        <xs:element name="bool4x2" type="bool4x2_type"/>
 
6410
                        <xs:element name="bool4x3" type="bool4x3_type"/>
 
6411
                        <xs:element name="bool4x4" type="bool4x4_type"/>
 
6412
                        <xs:element name="float" type="float_type"/>
 
6413
                        <xs:element name="float2" type="float2_type"/>
 
6414
                        <xs:element name="float3" type="float3_type"/>
 
6415
                        <xs:element name="float4" type="float4_type"/>
 
6416
                        <xs:element name="float2x1" type="float2_type"/>
 
6417
                        <xs:element name="float2x2" type="float2x2_type"/>
 
6418
                        <xs:element name="float2x3" type="float2x3_type"/>
 
6419
                        <xs:element name="float2x4" type="float2x4_type"/>
 
6420
                        <xs:element name="float3x1" type="float3_type"/>
 
6421
                        <xs:element name="float3x2" type="float3x2_type"/>
 
6422
                        <xs:element name="float3x3" type="float3x3_type"/>
 
6423
                        <xs:element name="float3x4" type="float3x4_type"/>
 
6424
                        <xs:element name="float4x1" type="float4_type"/>
 
6425
                        <xs:element name="float4x2" type="float4x2_type"/>
 
6426
                        <xs:element name="float4x3" type="float4x3_type"/>
 
6427
                        <xs:element name="float4x4" type="float4x4_type"/>
 
6428
                        <xs:element name="int" type="int_type"/>
 
6429
                        <xs:element name="int2" type="int2_type"/>
 
6430
                        <xs:element name="int3" type="int3_type"/>
 
6431
                        <xs:element name="int4" type="int4_type"/>
 
6432
                        <xs:element name="int2x1" type="int2_type"/>
 
6433
                        <xs:element name="int2x2" type="int2x2_type"/>
 
6434
                        <xs:element name="int2x3" type="int2x3_type"/>
 
6435
                        <xs:element name="int2x4" type="int2x4_type"/>
 
6436
                        <xs:element name="int3x1" type="int3_type"/>
 
6437
                        <xs:element name="int3x2" type="int3x2_type"/>
 
6438
                        <xs:element name="int3x3" type="int3x3_type"/>
 
6439
                        <xs:element name="int3x4" type="int3x4_type"/>
 
6440
                        <xs:element name="int4x1" type="int4_type"/>
 
6441
                        <xs:element name="int4x2" type="int4x2_type"/>
 
6442
                        <xs:element name="int4x3" type="int4x3_type"/>
 
6443
                        <xs:element name="int4x4" type="int4x4_type"/>
 
6444
                        <xs:element name="half" type="float_type"/>
 
6445
                        <xs:element name="half2" type="float2_type"/>
 
6446
                        <xs:element name="half3" type="float3_type"/>
 
6447
                        <xs:element name="half4" type="float4_type"/>
 
6448
                        <xs:element name="half2x1" type="float2_type"/>
 
6449
                        <xs:element name="half2x2" type="float2x2_type"/>
 
6450
                        <xs:element name="half2x3" type="float2x3_type"/>
 
6451
                        <xs:element name="half2x4" type="float2x4_type"/>
 
6452
                        <xs:element name="half3x1" type="float3_type"/>
 
6453
                        <xs:element name="half3x2" type="float3x2_type"/>
 
6454
                        <xs:element name="half3x3" type="float3x3_type"/>
 
6455
                        <xs:element name="half3x4" type="float3x4_type"/>
 
6456
                        <xs:element name="half4x1" type="float4_type"/>
 
6457
                        <xs:element name="half4x2" type="float4x2_type"/>
 
6458
                        <xs:element name="half4x3" type="float4x3_type"/>
 
6459
                        <xs:element name="half4x4" type="float4x4_type"/>
 
6460
                        <xs:element name="fixed" type="float_type"/>
 
6461
                        <xs:element name="fixed2" type="float2_type"/>
 
6462
                        <xs:element name="fixed3" type="float3_type"/>
 
6463
                        <xs:element name="fixed4" type="float4_type"/>
 
6464
                        <xs:element name="fixed2x1" type="float2_type"/>
 
6465
                        <xs:element name="fixed2x2" type="float2x2_type"/>
 
6466
                        <xs:element name="fixed2x3" type="float2x3_type"/>
 
6467
                        <xs:element name="fixed2x4" type="float2x4_type"/>
 
6468
                        <xs:element name="fixed3x1" type="float3_type"/>
 
6469
                        <xs:element name="fixed3x2" type="float3x2_type"/>
 
6470
                        <xs:element name="fixed3x3" type="float3x3_type"/>
 
6471
                        <xs:element name="fixed3x4" type="float3x4_type"/>
 
6472
                        <xs:element name="fixed4x1" type="float4_type"/>
 
6473
                        <xs:element name="fixed4x2" type="float4x2_type"/>
 
6474
                        <xs:element name="fixed4x3" type="float4x3_type"/>
 
6475
                        <xs:element name="fixed4x4" type="float4x4_type"/>
 
6476
                        <xs:element name="sampler1D" type="fx_sampler1D_type"/>
 
6477
                        <xs:element name="sampler2D" type="fx_sampler2D_type"/>
 
6478
                        <xs:element name="sampler3D" type="fx_sampler3D_type"/>
 
6479
                        <xs:element name="samplerRECT" type="fx_samplerRECT_type"/>
 
6480
                        <xs:element name="samplerCUBE" type="fx_samplerCUBE_type"/>
 
6481
                        <xs:element name="samplerDEPTH" type="fx_samplerDEPTH_type"/>
 
6482
                        <xs:element name="string" type="xs:string"/>
 
6483
                        <xs:element name="enum" type="gl_enumeration_type"/>
 
6484
                        <xs:element name="array" type="cg_array_type"/>
 
6485
                        <xs:element name="usertype" type="cg_user_type"/>
 
6486
                </xs:choice>
 
6487
        </xs:group>
 
6488
        <xs:complexType name="cg_user_type">
 
6489
                <xs:annotation>
 
6490
                        <xs:documentation>
 
6491
                        Creates an instance of a structured class.
 
6492
                        </xs:documentation>
 
6493
                </xs:annotation>
 
6494
                <xs:sequence minOccurs="0">
 
6495
                        <xs:annotation>
 
6496
                                <xs:documentation>Some usertypes do not have data.  They may be used only to implement interface functions.</xs:documentation>
 
6497
                        </xs:annotation>
 
6498
                        <xs:element name="setparam" type="cg_setparam_type" minOccurs="0" maxOccurs="unbounded">
 
6499
                                <xs:annotation>
 
6500
                                        <xs:documentation>Use a series of these to set the members by name.  The ref attribute will be relative to the usertype you are in right now.</xs:documentation>
 
6501
                                </xs:annotation>
 
6502
                        </xs:element>
 
6503
                </xs:sequence>
 
6504
                <xs:attribute name="typename" type="xs:token" use="required"/>
 
6505
                <xs:attribute name="source" type="xs:NCName" use="optional">
 
6506
                        <xs:annotation>
 
6507
                                <xs:documentation>Reference a code or include element which defines the usertype
 
6508
                                </xs:documentation>
 
6509
                        </xs:annotation>
 
6510
                </xs:attribute>
 
6511
        </xs:complexType>
 
6512
        <xs:complexType name="cg_newparam_type">
 
6513
                <xs:annotation>
 
6514
                        <xs:documentation>
 
6515
                        Create a new, named param object in the CG Runtime, assign it a type, an initial value, and additional attributes at declaration time.
 
6516
                        </xs:documentation>
 
6517
                </xs:annotation>
 
6518
                <xs:sequence>
 
6519
                        <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded">
 
6520
                                <xs:annotation>
 
6521
                                        <xs:documentation>
 
6522
                                        The annotate element allows you to specify an annotation for this new param.
 
6523
                                        </xs:documentation>
 
6524
                                </xs:annotation>
 
6525
                        </xs:element>
 
6526
                        <xs:element name="semantic" type="xs:NCName" minOccurs="0">
 
6527
                                <xs:annotation>
 
6528
                                        <xs:documentation>
 
6529
                                        The semantic element allows you to specify a semantic for this new param.
 
6530
                                        </xs:documentation>
 
6531
                                </xs:annotation>
 
6532
                        </xs:element>
 
6533
                        <xs:element name="modifier" type="fx_modifier_enum" minOccurs="0">
 
6534
                                <xs:annotation>
 
6535
                                        <xs:documentation>
 
6536
                                        The modifier element allows you to specify a modifier for this new param.
 
6537
                                        </xs:documentation>
 
6538
                                </xs:annotation>
 
6539
                        </xs:element>
 
6540
                        <xs:group ref="cg_param_group"/>
 
6541
                </xs:sequence>
 
6542
                <xs:attribute name="sid" type="sid_type" use="required"/>
 
6543
        </xs:complexType>
 
6544
        <xs:complexType name="cg_pass_type">
 
6545
                <xs:sequence>
 
6546
                        <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded"/>
 
6547
                        <xs:element name="states" minOccurs="0">
 
6548
                                <xs:complexType>
 
6549
                                        <xs:sequence>
 
6550
                                                <xs:group ref="gl_pipeline_settings_group" minOccurs="0" maxOccurs="unbounded"/>
 
6551
                                        </xs:sequence>
 
6552
                                </xs:complexType>
 
6553
                        </xs:element>
 
6554
                        <xs:element name="program" minOccurs="0">
 
6555
                                <xs:complexType>
 
6556
                                        <xs:sequence>
 
6557
                                                <xs:element name="shader" minOccurs="0" maxOccurs="unbounded">
 
6558
                                                        <xs:annotation>
 
6559
                                                                <xs:documentation>
 
6560
                                                                                                        Declare and prepare a shader for execution in the rendering pipeline of a pass.
 
6561
                                                                                                        </xs:documentation>
 
6562
                                                        </xs:annotation>
 
6563
                                                        <xs:complexType>
 
6564
                                                                <xs:sequence>
 
6565
                                                                        <xs:element name="sources">
 
6566
                                                                                <xs:annotation>
 
6567
                                                                                        <xs:documentation>collect the sources together for the shader.  Use concat to make the final string.                                                                                                                            </xs:documentation>
 
6568
                                                                                </xs:annotation>
 
6569
                                                                                <xs:complexType>
 
6570
                                                                                        <xs:complexContent>
 
6571
                                                                                                <xs:extension base="fx_sources_type">
 
6572
                                                                                                        <xs:attribute name="entry" type="xs:token" use="required">
 
6573
                                                                                                                <xs:annotation>
 
6574
                                                                                                                        <xs:documentation>entry function name for this shader</xs:documentation>
 
6575
                                                                                                                </xs:annotation>
 
6576
                                                                                                        </xs:attribute>
 
6577
                                                                                                </xs:extension>
 
6578
                                                                                        </xs:complexContent>
 
6579
                                                                                </xs:complexType>
 
6580
                                                                        </xs:element>
 
6581
                                                                        <xs:element name="compiler" type="fx_target_type" minOccurs="0" maxOccurs="unbounded"/>
 
6582
                                                                        <xs:element name="bind_uniform" minOccurs="0" maxOccurs="unbounded">
 
6583
                                                                                <xs:annotation>
 
6584
                                                                                        <xs:documentation>
 
6585
                                                                                                                                Binds values to uniform inputs of a shader.
 
6586
                                                                                                                                </xs:documentation>
 
6587
                                                                                </xs:annotation>
 
6588
                                                                                <xs:complexType>
 
6589
                                                                                        <xs:choice>
 
6590
                                                                                                <xs:element name="param">
 
6591
                                                                                                        <xs:annotation>
 
6592
                                                                                                                <xs:documentation>
 
6593
                                                                                                                                                        References a predefined parameter in shader binding declarations.
 
6594
                                                                                                                                                        </xs:documentation>
 
6595
                                                                                                        </xs:annotation>
 
6596
                                                                                                        <xs:complexType>
 
6597
                                                                                                                <xs:attribute name="ref" type="xs:NCName" use="required"/>
 
6598
                                                                                                        </xs:complexType>
 
6599
                                                                                                </xs:element>
 
6600
                                                                                                <xs:group ref="cg_param_group"/>
 
6601
                                                                                        </xs:choice>
 
6602
                                                                                        <xs:attribute name="symbol" type="xs:NCName" use="required">
 
6603
                                                                                                <xs:annotation>
 
6604
                                                                                                        <xs:documentation>
 
6605
                                                                                                                                                The identifier for a uniform input parameter to the shader (a formal function parameter or in-scope 
 
6606
                                                                                                                                                global) that will be bound to an external resource.
 
6607
                                                                                                                                                </xs:documentation>
 
6608
                                                                                                </xs:annotation>
 
6609
                                                                                        </xs:attribute>
 
6610
                                                                                </xs:complexType>
 
6611
                                                                        </xs:element>
 
6612
                                                                </xs:sequence>
 
6613
                                                                <xs:attribute name="stage" type="fx_pipeline_stage_enum" use="required">
 
6614
                                                                        <xs:annotation>
 
6615
                                                                                <xs:documentation>
 
6616
                                                                                                                        In which pipeline stage this programmable shader is designed to execute, for example, VERTEX, FRAGMENT, etc.
 
6617
                                                                                                                        </xs:documentation>
 
6618
                                                                        </xs:annotation>
 
6619
                                                                </xs:attribute>
 
6620
                                                        </xs:complexType>
 
6621
                                                </xs:element>
 
6622
                                        </xs:sequence>
 
6623
                                </xs:complexType>
 
6624
                        </xs:element>
 
6625
                        <xs:element name="evaluate" minOccurs="0">
 
6626
                                <xs:complexType>
 
6627
                                        <xs:sequence>
 
6628
                                                <xs:element name="color_target" type="fx_colortarget_type" minOccurs="0" maxOccurs="unbounded"/>
 
6629
                                                <xs:element name="depth_target" type="fx_depthtarget_type" minOccurs="0" maxOccurs="unbounded"/>
 
6630
                                                <xs:element name="stencil_target" type="fx_stenciltarget_type" minOccurs="0" maxOccurs="unbounded"/>
 
6631
                                                <xs:element name="color_clear" type="fx_clearcolor_type" minOccurs="0" maxOccurs="unbounded"/>
 
6632
                                                <xs:element name="depth_clear" type="fx_cleardepth_type" minOccurs="0" maxOccurs="unbounded"/>
 
6633
                                                <xs:element name="stencil_clear" type="fx_clearstencil_type" minOccurs="0" maxOccurs="unbounded"/>
 
6634
                                                <xs:element name="draw" type="fx_draw_type" minOccurs="0"/>
 
6635
                                        </xs:sequence>
 
6636
                                </xs:complexType>
 
6637
                        </xs:element>
 
6638
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
6639
                </xs:sequence>
 
6640
                <xs:attribute name="sid" type="sid_type" use="optional">
 
6641
                        <xs:annotation>
 
6642
                                <xs:documentation>
 
6643
                                                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
6644
                                                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
6645
                                                                                        </xs:documentation>
 
6646
                        </xs:annotation>
 
6647
                </xs:attribute>
 
6648
        </xs:complexType>
 
6649
        <xs:complexType name="profile_cg_type">
 
6650
                <xs:annotation>
 
6651
                        <xs:documentation>
 
6652
                        Opens a block of CG platform-specific data types and technique declarations.
 
6653
                        </xs:documentation>
 
6654
                </xs:annotation>
 
6655
                <xs:sequence>
 
6656
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
6657
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
6658
                                <xs:element name="code" type="fx_code_type"/>
 
6659
                                <xs:element name="include" type="fx_include_type"/>
 
6660
                        </xs:choice>
 
6661
                        <xs:element name="newparam" type="cg_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
6662
                        <xs:element name="technique" maxOccurs="unbounded">
 
6663
                                <xs:annotation>
 
6664
                                        <xs:documentation>
 
6665
                                                Holds a description of the textures, samplers, shaders, parameters, and passes necessary for rendering this effect using one method.
 
6666
                                                </xs:documentation>
 
6667
                                </xs:annotation>
 
6668
                                <xs:complexType>
 
6669
                                        <xs:sequence>
 
6670
                                                <xs:element name="asset" type="asset_type" minOccurs="0">
 
6671
                                                        <xs:annotation>
 
6672
                                                                <xs:documentation>
 
6673
                                                                        The technique element may contain an asset element.
 
6674
                                                                        </xs:documentation>
 
6675
                                                        </xs:annotation>
 
6676
                                                </xs:element>
 
6677
                                                <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded"/>
 
6678
                                                <xs:element name="pass" type="cg_pass_type" maxOccurs="unbounded">
 
6679
                                                        <xs:annotation>
 
6680
                                                                <xs:documentation>
 
6681
                                                                        A static declaration of all the render states, shaders, and settings for one rendering pipeline.
 
6682
                                                                        </xs:documentation>
 
6683
                                                        </xs:annotation>
 
6684
                                                </xs:element>
 
6685
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
6686
                                        </xs:sequence>
 
6687
                                        <xs:attribute name="id" type="xs:ID">
 
6688
                                                <xs:annotation>
 
6689
                                                        <xs:documentation>
 
6690
                                                                The id attribute is a text string containing the unique identifier of this element. 
 
6691
                                                                This value must be unique within the instance document. Optional attribute.
 
6692
                                                                </xs:documentation>
 
6693
                                                </xs:annotation>
 
6694
                                        </xs:attribute>
 
6695
                                        <xs:attribute name="sid" type="sid_type" use="required">
 
6696
                                                <xs:annotation>
 
6697
                                                        <xs:documentation>
 
6698
                                                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
6699
                                                                This value must be unique within the scope of the parent element. Optional attribute.
 
6700
                                                                </xs:documentation>
 
6701
                                                </xs:annotation>
 
6702
                                        </xs:attribute>
 
6703
                                </xs:complexType>
 
6704
                        </xs:element>
 
6705
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
6706
                </xs:sequence>
 
6707
                <xs:attribute name="id" type="xs:ID" use="optional">
 
6708
                        <xs:annotation>
 
6709
                                <xs:documentation>
 
6710
                                        The id attribute is a text string containing the unique identifier of this element. 
 
6711
                                        This value must be unique within the instance document. Optional attribute.
 
6712
                                        </xs:documentation>
 
6713
                        </xs:annotation>
 
6714
                </xs:attribute>
 
6715
                <xs:attribute name="platform" type="xs:NCName" use="optional" default="PC">
 
6716
                        <xs:annotation>
 
6717
                                <xs:documentation>
 
6718
                                        The type of platform. This is a vendor-defined character string that indicates the platform or capability target for the technique. Optional
 
6719
                                        </xs:documentation>
 
6720
                        </xs:annotation>
 
6721
                </xs:attribute>
 
6722
        </xs:complexType>
 
6723
        <xs:simpleType name="gles_max_lights_index_type">
 
6724
                <xs:restriction base="xs:nonNegativeInteger">
 
6725
                        <xs:minInclusive value="0"/>
 
6726
                        <xs:maxExclusive value="7"/>
 
6727
                </xs:restriction>
 
6728
        </xs:simpleType>
 
6729
        <xs:simpleType name="gles_max_clip_planes_index_type">
 
6730
                <xs:restriction base="xs:nonNegativeInteger">
 
6731
                        <xs:minInclusive value="0"/>
 
6732
                        <xs:maxExclusive value="5"/>
 
6733
                </xs:restriction>
 
6734
        </xs:simpleType>
 
6735
        <xs:simpleType name="gles_max_texture_coords_index_type">
 
6736
                <xs:restriction base="xs:nonNegativeInteger">
 
6737
                        <xs:minInclusive value="0"/>
 
6738
                        <xs:maxExclusive value="8"/>
 
6739
                </xs:restriction>
 
6740
        </xs:simpleType>
 
6741
        <xs:simpleType name="gles_max_texture_image_units_index_type">
 
6742
                <xs:restriction base="xs:nonNegativeInteger">
 
6743
                        <xs:minInclusive value="0"/>
 
6744
                        <xs:maxExclusive value="31"/>
 
6745
                </xs:restriction>
 
6746
        </xs:simpleType>
 
6747
        <xs:simpleType name="gles_texenv_mode_enum">
 
6748
                <xs:restriction base="xs:token">
 
6749
                        <xs:enumeration value="REPLACE">
 
6750
                                <xs:annotation>
 
6751
                                        <xs:appinfo>value=0x1E01</xs:appinfo>
 
6752
                                </xs:annotation>
 
6753
                        </xs:enumeration>
 
6754
                        <xs:enumeration value="MODULATE">
 
6755
                                <xs:annotation>
 
6756
                                        <xs:appinfo>value=0x2100</xs:appinfo>
 
6757
                                </xs:annotation>
 
6758
                        </xs:enumeration>
 
6759
                        <xs:enumeration value="DECAL">
 
6760
                                <xs:annotation>
 
6761
                                        <xs:appinfo>value=0x2101</xs:appinfo>
 
6762
                                </xs:annotation>
 
6763
                        </xs:enumeration>
 
6764
                        <xs:enumeration value="BLEND">
 
6765
                                <xs:annotation>
 
6766
                                        <xs:appinfo>value=0x0BE2</xs:appinfo>
 
6767
                                </xs:annotation>
 
6768
                        </xs:enumeration>
 
6769
                        <xs:enumeration value="ADD">
 
6770
                                <xs:annotation>
 
6771
                                        <xs:appinfo>value=0x0104</xs:appinfo>
 
6772
                                </xs:annotation>
 
6773
                        </xs:enumeration>
 
6774
                </xs:restriction>
 
6775
        </xs:simpleType>
 
6776
        <xs:complexType name="gles_texture_constant_type">
 
6777
                <xs:attribute name="value" type="float4_type" use="optional"/>
 
6778
                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
6779
        </xs:complexType>
 
6780
        <xs:complexType name="gles_texenv_command_type">
 
6781
                <xs:sequence>
 
6782
                        <xs:element name="constant" type="gles_texture_constant_type" minOccurs="0"/>
 
6783
                </xs:sequence>
 
6784
                <xs:attribute name="operator" type="gles_texenv_mode_enum"/>
 
6785
                <xs:attribute name="sampler" type="xs:NCName"/>
 
6786
        </xs:complexType>
 
6787
        <xs:simpleType name="gles_texcombiner_operator_rgb_enum">
 
6788
                <xs:restriction base="xs:token">
 
6789
                        <xs:enumeration value="REPLACE">
 
6790
                                <xs:annotation>
 
6791
                                        <xs:appinfo>value=0x1E01</xs:appinfo>
 
6792
                                </xs:annotation>
 
6793
                        </xs:enumeration>
 
6794
                        <xs:enumeration value="MODULATE">
 
6795
                                <xs:annotation>
 
6796
                                        <xs:appinfo>value=0x2100</xs:appinfo>
 
6797
                                </xs:annotation>
 
6798
                        </xs:enumeration>
 
6799
                        <xs:enumeration value="ADD">
 
6800
                                <xs:annotation>
 
6801
                                        <xs:appinfo>value=0x0104</xs:appinfo>
 
6802
                                </xs:annotation>
 
6803
                        </xs:enumeration>
 
6804
                        <xs:enumeration value="ADD_SIGNED">
 
6805
                                <xs:annotation>
 
6806
                                        <xs:appinfo>value=0x8574</xs:appinfo>
 
6807
                                </xs:annotation>
 
6808
                        </xs:enumeration>
 
6809
                        <xs:enumeration value="INTERPOLATE">
 
6810
                                <xs:annotation>
 
6811
                                        <xs:appinfo>value=0x8575</xs:appinfo>
 
6812
                                </xs:annotation>
 
6813
                        </xs:enumeration>
 
6814
                        <xs:enumeration value="SUBTRACT">
 
6815
                                <xs:annotation>
 
6816
                                        <xs:appinfo>value=0x84E7</xs:appinfo>
 
6817
                                </xs:annotation>
 
6818
                        </xs:enumeration>
 
6819
                        <xs:enumeration value="DOT3_RGB">
 
6820
                                <xs:annotation>
 
6821
                                        <xs:appinfo>value=0x86AE</xs:appinfo>
 
6822
                                </xs:annotation>
 
6823
                        </xs:enumeration>
 
6824
                        <xs:enumeration value="DOT3_RGBA">
 
6825
                                <xs:annotation>
 
6826
                                        <xs:appinfo>value=0x86AF</xs:appinfo>
 
6827
                                </xs:annotation>
 
6828
                        </xs:enumeration>
 
6829
                </xs:restriction>
 
6830
        </xs:simpleType>
 
6831
        <xs:simpleType name="gles_texcombiner_operator_alpha_enum">
 
6832
                <xs:restriction base="xs:token">
 
6833
                        <xs:enumeration value="REPLACE">
 
6834
                                <xs:annotation>
 
6835
                                        <xs:appinfo>value=0x1E01</xs:appinfo>
 
6836
                                </xs:annotation>
 
6837
                        </xs:enumeration>
 
6838
                        <xs:enumeration value="MODULATE">
 
6839
                                <xs:annotation>
 
6840
                                        <xs:appinfo>value=0x2100</xs:appinfo>
 
6841
                                </xs:annotation>
 
6842
                        </xs:enumeration>
 
6843
                        <xs:enumeration value="ADD">
 
6844
                                <xs:annotation>
 
6845
                                        <xs:appinfo>value=0x0104</xs:appinfo>
 
6846
                                </xs:annotation>
 
6847
                        </xs:enumeration>
 
6848
                        <xs:enumeration value="ADD_SIGNED">
 
6849
                                <xs:annotation>
 
6850
                                        <xs:appinfo>value=0x8574</xs:appinfo>
 
6851
                                </xs:annotation>
 
6852
                        </xs:enumeration>
 
6853
                        <xs:enumeration value="INTERPOLATE">
 
6854
                                <xs:annotation>
 
6855
                                        <xs:appinfo>value=0x8575</xs:appinfo>
 
6856
                                </xs:annotation>
 
6857
                        </xs:enumeration>
 
6858
                        <xs:enumeration value="SUBTRACT">
 
6859
                                <xs:annotation>
 
6860
                                        <xs:appinfo>value=0x84E7</xs:appinfo>
 
6861
                                </xs:annotation>
 
6862
                        </xs:enumeration>
 
6863
                </xs:restriction>
 
6864
        </xs:simpleType>
 
6865
        <xs:simpleType name="gles_texcombiner_source_enum">
 
6866
                <xs:restriction base="xs:token">
 
6867
                        <xs:enumeration value="TEXTURE">
 
6868
                                <xs:annotation>
 
6869
                                        <xs:appinfo>value=0x1702</xs:appinfo>
 
6870
                                </xs:annotation>
 
6871
                        </xs:enumeration>
 
6872
                        <xs:enumeration value="CONSTANT">
 
6873
                                <xs:annotation>
 
6874
                                        <xs:appinfo>value=0x8576</xs:appinfo>
 
6875
                                </xs:annotation>
 
6876
                        </xs:enumeration>
 
6877
                        <xs:enumeration value="PRIMARY">
 
6878
                                <xs:annotation>
 
6879
                                        <xs:appinfo>value=0x8577</xs:appinfo>
 
6880
                                </xs:annotation>
 
6881
                        </xs:enumeration>
 
6882
                        <xs:enumeration value="PREVIOUS">
 
6883
                                <xs:annotation>
 
6884
                                        <xs:appinfo>value=0x8578</xs:appinfo>
 
6885
                                </xs:annotation>
 
6886
                        </xs:enumeration>
 
6887
                </xs:restriction>
 
6888
        </xs:simpleType>
 
6889
        <xs:simpleType name="gles_texcombiner_operand_rgb_enum">
 
6890
                <xs:restriction base="gl_blend_enum">
 
6891
                        <xs:enumeration value="SRC_COLOR">
 
6892
                                <xs:annotation>
 
6893
                                        <xs:appinfo>value=0x0300</xs:appinfo>
 
6894
                                </xs:annotation>
 
6895
                        </xs:enumeration>
 
6896
                        <xs:enumeration value="ONE_MINUS_SRC_COLOR">
 
6897
                                <xs:annotation>
 
6898
                                        <xs:appinfo>value=0x0301</xs:appinfo>
 
6899
                                </xs:annotation>
 
6900
                        </xs:enumeration>
 
6901
                        <xs:enumeration value="SRC_ALPHA">
 
6902
                                <xs:annotation>
 
6903
                                        <xs:appinfo>value=0x0302</xs:appinfo>
 
6904
                                </xs:annotation>
 
6905
                        </xs:enumeration>
 
6906
                        <xs:enumeration value="ONE_MINUS_SRC_ALPHA">
 
6907
                                <xs:annotation>
 
6908
                                        <xs:appinfo>value=0x0303</xs:appinfo>
 
6909
                                </xs:annotation>
 
6910
                        </xs:enumeration>
 
6911
                </xs:restriction>
 
6912
        </xs:simpleType>
 
6913
        <xs:simpleType name="gles_texcombiner_operand_alpha_enum">
 
6914
                <xs:restriction base="gl_blend_enum">
 
6915
                        <xs:enumeration value="SRC_ALPHA">
 
6916
                                <xs:annotation>
 
6917
                                        <xs:appinfo>value=0x0302</xs:appinfo>
 
6918
                                </xs:annotation>
 
6919
                        </xs:enumeration>
 
6920
                        <xs:enumeration value="ONE_MINUS_SRC_ALPHA">
 
6921
                                <xs:annotation>
 
6922
                                        <xs:appinfo>value=0x0303</xs:appinfo>
 
6923
                                </xs:annotation>
 
6924
                        </xs:enumeration>
 
6925
                </xs:restriction>
 
6926
        </xs:simpleType>
 
6927
        <xs:simpleType name="gles_texcombiner_argument_index_type">
 
6928
                <xs:restriction base="xs:nonNegativeInteger">
 
6929
                        <xs:minInclusive value="0"/>
 
6930
                        <xs:maxInclusive value="2"/>
 
6931
                </xs:restriction>
 
6932
        </xs:simpleType>
 
6933
        <xs:complexType name="gles_texcombiner_argument_rgb_type">
 
6934
                <xs:attribute name="source" type="gles_texcombiner_source_enum"/>
 
6935
                <xs:attribute name="operand" type="gles_texcombiner_operand_rgb_enum" default="SRC_COLOR"/>
 
6936
                <xs:attribute name="sampler" type="xs:NCName" use="optional"/>
 
6937
        </xs:complexType>
 
6938
        <xs:complexType name="gles_texcombiner_argument_alpha_type">
 
6939
                <xs:attribute name="source" type="gles_texcombiner_source_enum"/>
 
6940
                <xs:attribute name="operand" type="gles_texcombiner_operand_alpha_enum" default="SRC_ALPHA"/>
 
6941
                <xs:attribute name="sampler" type="xs:NCName" use="optional"/>
 
6942
        </xs:complexType>
 
6943
        <xs:complexType name="gles_texcombiner_command_rgb_type">
 
6944
                <xs:annotation>
 
6945
                        <xs:documentation>
 
6946
                        Defines the RGB portion of a texture_pipeline command. This is a combiner-mode texturing operation.
 
6947
                        </xs:documentation>
 
6948
                </xs:annotation>
 
6949
                <xs:sequence>
 
6950
                        <xs:element name="argument" type="gles_texcombiner_argument_rgb_type" maxOccurs="3"/>
 
6951
                </xs:sequence>
 
6952
                <xs:attribute name="operator" type="gles_texcombiner_operator_rgb_enum"/>
 
6953
                <xs:attribute name="scale" type="xs:float" use="optional"/>
 
6954
        </xs:complexType>
 
6955
        <xs:complexType name="gles_texcombiner_command_alpha_type">
 
6956
                <xs:sequence>
 
6957
                        <xs:element name="argument" type="gles_texcombiner_argument_alpha_type" maxOccurs="3"/>
 
6958
                </xs:sequence>
 
6959
                <xs:attribute name="operator" type="gles_texcombiner_operator_alpha_enum"/>
 
6960
                <xs:attribute name="scale" type="xs:float" use="optional"/>
 
6961
        </xs:complexType>
 
6962
        <xs:complexType name="gles_texcombiner_command_type">
 
6963
                <xs:sequence>
 
6964
                        <xs:element name="constant" type="gles_texture_constant_type" minOccurs="0"/>
 
6965
                        <xs:element name="RGB" type="gles_texcombiner_command_rgb_type" minOccurs="0"/>
 
6966
                        <xs:element name="alpha" type="gles_texcombiner_command_alpha_type" minOccurs="0"/>
 
6967
                </xs:sequence>
 
6968
        </xs:complexType>
 
6969
        <xs:complexType name="gles_texture_pipeline_type">
 
6970
                <xs:annotation>
 
6971
                        <xs:documentation>
 
6972
                        Defines a set of texturing commands that will be converted into multitexturing operations using glTexEnv in regular and combiner mode.
 
6973
                        </xs:documentation>
 
6974
                </xs:annotation>
 
6975
                <xs:choice maxOccurs="unbounded">
 
6976
                        <xs:element name="texcombiner" type="gles_texcombiner_command_type">
 
6977
                                <xs:annotation>
 
6978
                                        <xs:documentation>
 
6979
                                        Defines a texture_pipeline command. This is a combiner-mode texturing operation.
 
6980
                                        </xs:documentation>
 
6981
                                </xs:annotation>
 
6982
                        </xs:element>
 
6983
                        <xs:element name="texenv" type="gles_texenv_command_type">
 
6984
                                <xs:annotation>
 
6985
                                        <xs:documentation>
 
6986
                                        Defines a texture_pipeline command. It is a simple noncombiner mode of texturing operations.
 
6987
                                        </xs:documentation>
 
6988
                                </xs:annotation>
 
6989
                        </xs:element>
 
6990
                        <xs:element name="extra" type="extra_type">
 
6991
                                <xs:annotation>
 
6992
                                        <xs:documentation>
 
6993
                                        The extra element may appear any number of times.
 
6994
                                        OpenGL ES extensions may be used here.
 
6995
                                        </xs:documentation>
 
6996
                                </xs:annotation>
 
6997
                        </xs:element>
 
6998
                </xs:choice>
 
6999
                <xs:attribute name="sid" type="sid_type">
 
7000
                        <xs:annotation>
 
7001
                                <xs:documentation>
 
7002
                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
7003
                                This value must be unique within the scope of the parent element. Optional attribute.
 
7004
                                </xs:documentation>
 
7005
                        </xs:annotation>
 
7006
                </xs:attribute>
 
7007
        </xs:complexType>
 
7008
        <xs:simpleType name="gles_sampler_wrap_enum">
 
7009
                <xs:restriction base="xs:NMTOKEN">
 
7010
                        <xs:enumeration value="REPEAT"/>
 
7011
                        <xs:enumeration value="CLAMP"/>
 
7012
                        <xs:enumeration value="CLAMP_TO_EDGE"/>
 
7013
                        <xs:enumeration value="MIRRORED_REPEAT">
 
7014
                                <xs:annotation>
 
7015
                                        <xs:documentation>
 
7016
                                        supported by GLES 1.1 only
 
7017
                                        </xs:documentation>
 
7018
                                </xs:annotation>
 
7019
                        </xs:enumeration>
 
7020
                </xs:restriction>
 
7021
        </xs:simpleType>
 
7022
        <xs:group name="gles_sampler_states_group">
 
7023
                <xs:sequence>
 
7024
                        <xs:element name="wrap_s" type="gles_sampler_wrap_enum" default="REPEAT" minOccurs="0"/>
 
7025
                        <xs:element name="wrap_t" type="gles_sampler_wrap_enum" default="REPEAT" minOccurs="0"/>
 
7026
                        <xs:element name="minfilter" type="fx_sampler_min_filter_enum" default="LINEAR" minOccurs="0"/>
 
7027
                        <xs:element name="magfilter" type="fx_sampler_mag_filter_enum" default="LINEAR" minOccurs="0"/>
 
7028
                        <xs:element name="mipfilter" type="fx_sampler_mip_filter_enum" default="NEAREST" minOccurs="0"/>
 
7029
                        <xs:element name="mip_max_level" type="xs:unsignedByte" default="255" minOccurs="0"/>
 
7030
                        <xs:element name="mip_bias" type="xs:float" default="0.0" minOccurs="0"/>
 
7031
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
7032
                                <xs:annotation>
 
7033
                                        <xs:documentation>
 
7034
                                        The extra element may appear any number of times.
 
7035
                                        OpenGL ES extensions may be used here.
 
7036
                                        </xs:documentation>
 
7037
                                </xs:annotation>
 
7038
                        </xs:element>
 
7039
                </xs:sequence>
 
7040
        </xs:group>
 
7041
        <xs:complexType name="gles_sampler_type">
 
7042
                <xs:annotation>
 
7043
                        <xs:documentation>Sampling state that can be sharable between samplers because there is often heavy re-use</xs:documentation>
 
7044
                </xs:annotation>
 
7045
                <xs:sequence>
 
7046
                        <xs:element name="instance_image" type="instance_image_type" minOccurs="0"/>
 
7047
                        <xs:element name="texcoord" minOccurs="0">
 
7048
                                <xs:complexType>
 
7049
                                        <xs:attribute name="semantic" type="xs:NCName"/>
 
7050
                                </xs:complexType>
 
7051
                        </xs:element>
 
7052
                        <xs:group ref="gles_sampler_states_group"/>
 
7053
                </xs:sequence>
 
7054
        </xs:complexType>
 
7055
        <xs:simpleType name="gles_stencil_op_enum">
 
7056
                <xs:restriction base="xs:string">
 
7057
                        <xs:enumeration value="KEEP">
 
7058
                                <xs:annotation>
 
7059
                                        <xs:appinfo>value=0x1E00</xs:appinfo>
 
7060
                                </xs:annotation>
 
7061
                        </xs:enumeration>
 
7062
                        <xs:enumeration value="ZERO">
 
7063
                                <xs:annotation>
 
7064
                                        <xs:appinfo>value=0x0</xs:appinfo>
 
7065
                                </xs:annotation>
 
7066
                        </xs:enumeration>
 
7067
                        <xs:enumeration value="REPLACE">
 
7068
                                <xs:annotation>
 
7069
                                        <xs:appinfo>value=0x1E01</xs:appinfo>
 
7070
                                </xs:annotation>
 
7071
                        </xs:enumeration>
 
7072
                        <xs:enumeration value="INCR">
 
7073
                                <xs:annotation>
 
7074
                                        <xs:appinfo>value=0x1E02</xs:appinfo>
 
7075
                                </xs:annotation>
 
7076
                        </xs:enumeration>
 
7077
                        <xs:enumeration value="DECR">
 
7078
                                <xs:annotation>
 
7079
                                        <xs:appinfo>value=0x1E03</xs:appinfo>
 
7080
                                </xs:annotation>
 
7081
                        </xs:enumeration>
 
7082
                        <xs:enumeration value="INVERT">
 
7083
                                <xs:annotation>
 
7084
                                        <xs:appinfo>value=0x150A</xs:appinfo>
 
7085
                                </xs:annotation>
 
7086
                        </xs:enumeration>
 
7087
                </xs:restriction>
 
7088
        </xs:simpleType>
 
7089
        <xs:simpleType name="gles_enumeration_type">
 
7090
                <xs:union memberTypes="gl_blend_enum gl_face_enum gl_func_enum gl_stencil_op_enum gl_material_enum gl_fog_enum gl_front_face_enum gl_light_model_color_control_enum gl_logic_op_enum gl_polygon_mode_enum gl_shade_model_enum"/>
 
7091
        </xs:simpleType>
 
7092
        <xs:group name="gles_pipeline_settings_group">
 
7093
                <xs:annotation>
 
7094
                        <xs:documentation>
 
7095
                        A group that contains the renderstates available for the GLES profile.
 
7096
                        </xs:documentation>
 
7097
                </xs:annotation>
 
7098
                <xs:choice>
 
7099
                        <xs:element name="alpha_func">
 
7100
                                <xs:complexType>
 
7101
                                        <xs:sequence>
 
7102
                                                <xs:element name="func">
 
7103
                                                        <xs:complexType>
 
7104
                                                                <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
7105
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7106
                                                        </xs:complexType>
 
7107
                                                </xs:element>
 
7108
                                                <xs:element name="value">
 
7109
                                                        <xs:complexType>
 
7110
                                                                <xs:attribute name="value" type="gl_alpha_value_type" use="optional" default="0.0"/>
 
7111
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7112
                                                        </xs:complexType>
 
7113
                                                </xs:element>
 
7114
                                        </xs:sequence>
 
7115
                                </xs:complexType>
 
7116
                        </xs:element>
 
7117
                        <xs:element name="blend_func">
 
7118
                                <xs:complexType>
 
7119
                                        <xs:sequence>
 
7120
                                                <xs:element name="src">
 
7121
                                                        <xs:complexType>
 
7122
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ONE"/>
 
7123
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7124
                                                        </xs:complexType>
 
7125
                                                </xs:element>
 
7126
                                                <xs:element name="dest">
 
7127
                                                        <xs:complexType>
 
7128
                                                                <xs:attribute name="value" type="gl_blend_enum" use="optional" default="ZERO"/>
 
7129
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7130
                                                        </xs:complexType>
 
7131
                                                </xs:element>
 
7132
                                        </xs:sequence>
 
7133
                                </xs:complexType>
 
7134
                        </xs:element>
 
7135
                        <xs:element name="clip_plane">
 
7136
                                <xs:complexType>
 
7137
                                        <xs:attribute name="value" type="bool4_type" use="optional"/>
 
7138
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7139
                                        <xs:attribute name="index" type="gles_max_clip_planes_index_type" use="required"/>
 
7140
                                </xs:complexType>
 
7141
                        </xs:element>
 
7142
                        <xs:element name="color_mask">
 
7143
                                <xs:complexType>
 
7144
                                        <xs:attribute name="value" type="bool4_type" use="optional"/>
 
7145
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7146
                                </xs:complexType>
 
7147
                        </xs:element>
 
7148
                        <xs:element name="cull_face">
 
7149
                                <xs:complexType>
 
7150
                                        <xs:attribute name="value" type="gl_face_enum" use="optional" default="BACK"/>
 
7151
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7152
                                </xs:complexType>
 
7153
                        </xs:element>
 
7154
                        <xs:element name="depth_func">
 
7155
                                <xs:complexType>
 
7156
                                        <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
7157
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7158
                                </xs:complexType>
 
7159
                        </xs:element>
 
7160
                        <xs:element name="depth_mask">
 
7161
                                <xs:complexType>
 
7162
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7163
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7164
                                </xs:complexType>
 
7165
                        </xs:element>
 
7166
                        <xs:element name="depth_range">
 
7167
                                <xs:complexType>
 
7168
                                        <xs:attribute name="value" type="float2_type" use="optional" default="0 1"/>
 
7169
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7170
                                </xs:complexType>
 
7171
                        </xs:element>
 
7172
                        <xs:element name="fog_color">
 
7173
                                <xs:complexType>
 
7174
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 0"/>
 
7175
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7176
                                </xs:complexType>
 
7177
                        </xs:element>
 
7178
                        <xs:element name="fog_density">
 
7179
                                <xs:complexType>
 
7180
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
7181
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7182
                                </xs:complexType>
 
7183
                        </xs:element>
 
7184
                        <xs:element name="fog_mode">
 
7185
                                <xs:complexType>
 
7186
                                        <xs:attribute name="value" type="gl_fog_enum" use="optional" default="EXP"/>
 
7187
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7188
                                </xs:complexType>
 
7189
                        </xs:element>
 
7190
                        <xs:element name="fog_start">
 
7191
                                <xs:complexType>
 
7192
                                        <xs:attribute name="value" type="float_type" use="optional" default="0"/>
 
7193
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7194
                                </xs:complexType>
 
7195
                        </xs:element>
 
7196
                        <xs:element name="fog_end">
 
7197
                                <xs:complexType>
 
7198
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
7199
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7200
                                </xs:complexType>
 
7201
                        </xs:element>
 
7202
                        <xs:element name="front_face">
 
7203
                                <xs:complexType>
 
7204
                                        <xs:attribute name="value" type="gl_front_face_enum" use="optional" default="CCW"/>
 
7205
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7206
                                </xs:complexType>
 
7207
                        </xs:element>
 
7208
                        <xs:element name="logic_op">
 
7209
                                <xs:complexType>
 
7210
                                        <xs:attribute name="value" type="gl_logic_op_enum" use="optional" default="COPY"/>
 
7211
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7212
                                </xs:complexType>
 
7213
                        </xs:element>
 
7214
                        <xs:element name="light_ambient">
 
7215
                                <xs:complexType>
 
7216
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 1"/>
 
7217
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7218
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7219
                                </xs:complexType>
 
7220
                        </xs:element>
 
7221
                        <xs:element name="light_diffuse">
 
7222
                                <xs:complexType>
 
7223
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 0"/>
 
7224
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7225
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7226
                                </xs:complexType>
 
7227
                        </xs:element>
 
7228
                        <xs:element name="light_specular">
 
7229
                                <xs:complexType>
 
7230
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 0"/>
 
7231
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7232
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7233
                                </xs:complexType>
 
7234
                        </xs:element>
 
7235
                        <xs:element name="light_position">
 
7236
                                <xs:complexType>
 
7237
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 1 0"/>
 
7238
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7239
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7240
                                </xs:complexType>
 
7241
                        </xs:element>
 
7242
                        <xs:element name="light_constant_attenuation">
 
7243
                                <xs:complexType>
 
7244
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
7245
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7246
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7247
                                </xs:complexType>
 
7248
                        </xs:element>
 
7249
                        <xs:element name="light_linear_attenuation">
 
7250
                                <xs:complexType>
 
7251
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
7252
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7253
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7254
                                </xs:complexType>
 
7255
                        </xs:element>
 
7256
                        <xs:element name="light_quadratic_attenuation">
 
7257
                                <xs:complexType>
 
7258
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
7259
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7260
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7261
                                </xs:complexType>
 
7262
                        </xs:element>
 
7263
                        <xs:element name="light_spot_cutoff">
 
7264
                                <xs:complexType>
 
7265
                                        <xs:attribute name="value" type="float_type" use="optional" default="180"/>
 
7266
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7267
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7268
                                </xs:complexType>
 
7269
                        </xs:element>
 
7270
                        <xs:element name="light_spot_direction">
 
7271
                                <xs:complexType>
 
7272
                                        <xs:attribute name="value" type="float3_type" use="optional" default="0 0 -1"/>
 
7273
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7274
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7275
                                </xs:complexType>
 
7276
                        </xs:element>
 
7277
                        <xs:element name="light_spot_exponent">
 
7278
                                <xs:complexType>
 
7279
                                        <xs:attribute name="value" type="float_type" use="optional" default="0"/>
 
7280
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7281
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7282
                                </xs:complexType>
 
7283
                        </xs:element>
 
7284
                        <xs:element name="light_model_ambient">
 
7285
                                <xs:complexType>
 
7286
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0.2 0.2 0.2 1.0"/>
 
7287
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7288
                                </xs:complexType>
 
7289
                        </xs:element>
 
7290
                        <xs:element name="line_width">
 
7291
                                <xs:complexType>
 
7292
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
7293
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7294
                                </xs:complexType>
 
7295
                        </xs:element>
 
7296
                        <xs:element name="material_ambient">
 
7297
                                <xs:complexType>
 
7298
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0.2 0.2 0.2 1.0"/>
 
7299
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7300
                                </xs:complexType>
 
7301
                        </xs:element>
 
7302
                        <xs:element name="material_diffuse">
 
7303
                                <xs:complexType>
 
7304
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0.8 0.8 0.8 1.0"/>
 
7305
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7306
                                </xs:complexType>
 
7307
                        </xs:element>
 
7308
                        <xs:element name="material_emission">
 
7309
                                <xs:complexType>
 
7310
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 1"/>
 
7311
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7312
                                </xs:complexType>
 
7313
                        </xs:element>
 
7314
                        <xs:element name="material_shininess">
 
7315
                                <xs:complexType>
 
7316
                                        <xs:attribute name="value" type="float_type" use="optional" default="0"/>
 
7317
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7318
                                </xs:complexType>
 
7319
                        </xs:element>
 
7320
                        <xs:element name="material_specular">
 
7321
                                <xs:complexType>
 
7322
                                        <xs:attribute name="value" type="float4_type" use="optional" default="0 0 0 1"/>
 
7323
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7324
                                </xs:complexType>
 
7325
                        </xs:element>
 
7326
                        <xs:element name="model_view_matrix">
 
7327
                                <xs:complexType>
 
7328
                                        <xs:attribute name="value" type="float4x4_type" use="optional" default="1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1"/>
 
7329
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7330
                                </xs:complexType>
 
7331
                        </xs:element>
 
7332
                        <xs:element name="point_distance_attenuation">
 
7333
                                <xs:complexType>
 
7334
                                        <xs:attribute name="value" type="float3_type" use="optional" default="1 0 0"/>
 
7335
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7336
                                </xs:complexType>
 
7337
                        </xs:element>
 
7338
                        <xs:element name="point_fade_threshold_size">
 
7339
                                <xs:complexType>
 
7340
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
7341
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7342
                                </xs:complexType>
 
7343
                        </xs:element>
 
7344
                        <xs:element name="point_size">
 
7345
                                <xs:complexType>
 
7346
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
7347
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7348
                                </xs:complexType>
 
7349
                        </xs:element>
 
7350
                        <xs:element name="point_size_min">
 
7351
                                <xs:complexType>
 
7352
                                        <xs:attribute name="value" type="float_type" use="optional" default="0"/>
 
7353
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7354
                                </xs:complexType>
 
7355
                        </xs:element>
 
7356
                        <xs:element name="point_size_max">
 
7357
                                <xs:complexType>
 
7358
                                        <xs:attribute name="value" type="float_type" use="optional" default="1"/>
 
7359
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7360
                                </xs:complexType>
 
7361
                        </xs:element>
 
7362
                        <xs:element name="polygon_offset">
 
7363
                                <xs:complexType>
 
7364
                                        <xs:attribute name="value" type="float2_type" use="optional" default="0 0"/>
 
7365
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7366
                                </xs:complexType>
 
7367
                        </xs:element>
 
7368
                        <xs:element name="projection_matrix">
 
7369
                                <xs:complexType>
 
7370
                                        <xs:attribute name="value" type="float4x4_type" use="optional" default="1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1"/>
 
7371
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7372
                                </xs:complexType>
 
7373
                        </xs:element>
 
7374
                        <xs:element name="scissor">
 
7375
                                <xs:complexType>
 
7376
                                        <xs:attribute name="value" type="int4_type" use="optional"/>
 
7377
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7378
                                </xs:complexType>
 
7379
                        </xs:element>
 
7380
                        <xs:element name="shade_model">
 
7381
                                <xs:complexType>
 
7382
                                        <xs:attribute name="value" type="gl_shade_model_enum" use="optional" default="SMOOTH"/>
 
7383
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7384
                                </xs:complexType>
 
7385
                        </xs:element>
 
7386
                        <xs:element name="stencil_func">
 
7387
                                <xs:complexType>
 
7388
                                        <xs:sequence>
 
7389
                                                <xs:element name="func">
 
7390
                                                        <xs:complexType>
 
7391
                                                                <xs:attribute name="value" type="gl_func_enum" use="optional" default="ALWAYS"/>
 
7392
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7393
                                                        </xs:complexType>
 
7394
                                                </xs:element>
 
7395
                                                <xs:element name="ref">
 
7396
                                                        <xs:complexType>
 
7397
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="0"/>
 
7398
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7399
                                                        </xs:complexType>
 
7400
                                                </xs:element>
 
7401
                                                <xs:element name="mask">
 
7402
                                                        <xs:complexType>
 
7403
                                                                <xs:attribute name="value" type="xs:unsignedByte" use="optional" default="255"/>
 
7404
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7405
                                                        </xs:complexType>
 
7406
                                                </xs:element>
 
7407
                                        </xs:sequence>
 
7408
                                </xs:complexType>
 
7409
                        </xs:element>
 
7410
                        <xs:element name="stencil_mask">
 
7411
                                <xs:complexType>
 
7412
                                        <xs:attribute name="value" type="int_type" use="optional" default="4294967295"/>
 
7413
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7414
                                </xs:complexType>
 
7415
                        </xs:element>
 
7416
                        <xs:element name="stencil_op">
 
7417
                                <xs:complexType>
 
7418
                                        <xs:sequence>
 
7419
                                                <xs:element name="fail">
 
7420
                                                        <xs:complexType>
 
7421
                                                                <xs:attribute name="value" type="gles_stencil_op_enum" use="optional" default="KEEP"/>
 
7422
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7423
                                                        </xs:complexType>
 
7424
                                                </xs:element>
 
7425
                                                <xs:element name="zfail">
 
7426
                                                        <xs:complexType>
 
7427
                                                                <xs:attribute name="value" type="gles_stencil_op_enum" use="optional" default="KEEP"/>
 
7428
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7429
                                                        </xs:complexType>
 
7430
                                                </xs:element>
 
7431
                                                <xs:element name="zpass">
 
7432
                                                        <xs:complexType>
 
7433
                                                                <xs:attribute name="value" type="gles_stencil_op_enum" use="optional" default="KEEP"/>
 
7434
                                                                <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7435
                                                        </xs:complexType>
 
7436
                                                </xs:element>
 
7437
                                        </xs:sequence>
 
7438
                                </xs:complexType>
 
7439
                        </xs:element>
 
7440
                        <xs:element name="texture_pipeline">
 
7441
                                <xs:complexType>
 
7442
                                        <xs:sequence>
 
7443
                                                <xs:element name="value" type="gles_texture_pipeline_type" minOccurs="0"/>
 
7444
                                        </xs:sequence>
 
7445
                                </xs:complexType>
 
7446
                        </xs:element>
 
7447
                        <xs:element name="alpha_test_enable">
 
7448
                                <xs:complexType>
 
7449
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7450
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7451
                                </xs:complexType>
 
7452
                        </xs:element>
 
7453
                        <xs:element name="blend_enable">
 
7454
                                <xs:complexType>
 
7455
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7456
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7457
                                </xs:complexType>
 
7458
                        </xs:element>
 
7459
                        <xs:element name="clip_plane_enable">
 
7460
                                <xs:complexType>
 
7461
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7462
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7463
                                        <xs:attribute name="index" type="gles_max_clip_planes_index_type"/>
 
7464
                                </xs:complexType>
 
7465
                        </xs:element>
 
7466
                        <xs:element name="color_logic_op_enable">
 
7467
                                <xs:complexType>
 
7468
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7469
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7470
                                </xs:complexType>
 
7471
                        </xs:element>
 
7472
                        <xs:element name="color_material_enable">
 
7473
                                <xs:complexType>
 
7474
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="true"/>
 
7475
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7476
                                </xs:complexType>
 
7477
                        </xs:element>
 
7478
                        <xs:element name="cull_face_enable">
 
7479
                                <xs:complexType>
 
7480
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7481
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7482
                                </xs:complexType>
 
7483
                        </xs:element>
 
7484
                        <xs:element name="depth_test_enable">
 
7485
                                <xs:complexType>
 
7486
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7487
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7488
                                </xs:complexType>
 
7489
                        </xs:element>
 
7490
                        <xs:element name="dither_enable">
 
7491
                                <xs:complexType>
 
7492
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7493
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7494
                                </xs:complexType>
 
7495
                        </xs:element>
 
7496
                        <xs:element name="fog_enable">
 
7497
                                <xs:complexType>
 
7498
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7499
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7500
                                </xs:complexType>
 
7501
                        </xs:element>
 
7502
                        <xs:element name="light_enable">
 
7503
                                <xs:complexType>
 
7504
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7505
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7506
                                        <xs:attribute name="index" type="gles_max_lights_index_type" use="required"/>
 
7507
                                </xs:complexType>
 
7508
                        </xs:element>
 
7509
                        <xs:element name="lighting_enable">
 
7510
                                <xs:complexType>
 
7511
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7512
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7513
                                </xs:complexType>
 
7514
                        </xs:element>
 
7515
                        <xs:element name="light_model_two_side_enable">
 
7516
                                <xs:complexType>
 
7517
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7518
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7519
                                </xs:complexType>
 
7520
                        </xs:element>
 
7521
                        <xs:element name="line_smooth_enable">
 
7522
                                <xs:complexType>
 
7523
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7524
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7525
                                </xs:complexType>
 
7526
                        </xs:element>
 
7527
                        <xs:element name="multisample_enable">
 
7528
                                <xs:complexType>
 
7529
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7530
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7531
                                </xs:complexType>
 
7532
                        </xs:element>
 
7533
                        <xs:element name="normalize_enable">
 
7534
                                <xs:complexType>
 
7535
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7536
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7537
                                </xs:complexType>
 
7538
                        </xs:element>
 
7539
                        <xs:element name="point_smooth_enable">
 
7540
                                <xs:complexType>
 
7541
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7542
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7543
                                </xs:complexType>
 
7544
                        </xs:element>
 
7545
                        <xs:element name="polygon_offset_fill_enable">
 
7546
                                <xs:complexType>
 
7547
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7548
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7549
                                </xs:complexType>
 
7550
                        </xs:element>
 
7551
                        <xs:element name="rescale_normal_enable">
 
7552
                                <xs:complexType>
 
7553
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7554
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7555
                                </xs:complexType>
 
7556
                        </xs:element>
 
7557
                        <xs:element name="sample_alpha_to_coverage_enable">
 
7558
                                <xs:complexType>
 
7559
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7560
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7561
                                </xs:complexType>
 
7562
                        </xs:element>
 
7563
                        <xs:element name="sample_alpha_to_one_enable">
 
7564
                                <xs:complexType>
 
7565
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7566
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7567
                                </xs:complexType>
 
7568
                        </xs:element>
 
7569
                        <xs:element name="sample_coverage_enable">
 
7570
                                <xs:complexType>
 
7571
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7572
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7573
                                </xs:complexType>
 
7574
                        </xs:element>
 
7575
                        <xs:element name="scissor_test_enable">
 
7576
                                <xs:complexType>
 
7577
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7578
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7579
                                </xs:complexType>
 
7580
                        </xs:element>
 
7581
                        <xs:element name="stencil_test_enable">
 
7582
                                <xs:complexType>
 
7583
                                        <xs:attribute name="value" type="xs:boolean" use="optional" default="false"/>
 
7584
                                        <xs:attribute name="param" type="xs:NCName" use="optional"/>
 
7585
                                </xs:complexType>
 
7586
                        </xs:element>
 
7587
                </xs:choice>
 
7588
        </xs:group>
 
7589
        <xs:group name="gles_param_group">
 
7590
                <xs:annotation>
 
7591
                        <xs:documentation>
 
7592
                        A group that defines the available variable types for GLES parameters.
 
7593
                        </xs:documentation>
 
7594
                </xs:annotation>
 
7595
                <xs:choice>
 
7596
                        <xs:element name="bool" type="xs:boolean"/>
 
7597
                        <xs:element name="bool2" type="bool2_type"/>
 
7598
                        <xs:element name="bool3" type="bool3_type"/>
 
7599
                        <xs:element name="bool4" type="bool4_type"/>
 
7600
                        <xs:element name="int" type="int_type"/>
 
7601
                        <xs:element name="int2" type="int2_type"/>
 
7602
                        <xs:element name="int3" type="int3_type"/>
 
7603
                        <xs:element name="int4" type="int4_type"/>
 
7604
                        <xs:element name="float" type="float_type"/>
 
7605
                        <xs:element name="float2" type="float2_type"/>
 
7606
                        <xs:element name="float3" type="float3_type"/>
 
7607
                        <xs:element name="float4" type="float4_type"/>
 
7608
                        <xs:element name="float1x1" type="float_type"/>
 
7609
                        <xs:element name="float1x2" type="float2_type"/>
 
7610
                        <xs:element name="float1x3" type="float3_type"/>
 
7611
                        <xs:element name="float1x4" type="float4_type"/>
 
7612
                        <xs:element name="float2x1" type="float2_type"/>
 
7613
                        <xs:element name="float2x2" type="float2x2_type"/>
 
7614
                        <xs:element name="float2x3" type="float2x3_type"/>
 
7615
                        <xs:element name="float2x4" type="float2x4_type"/>
 
7616
                        <xs:element name="float3x1" type="float3_type"/>
 
7617
                        <xs:element name="float3x2" type="float3x2_type"/>
 
7618
                        <xs:element name="float3x3" type="float3x3_type"/>
 
7619
                        <xs:element name="float3x4" type="float3x4_type"/>
 
7620
                        <xs:element name="float4x1" type="float4_type"/>
 
7621
                        <xs:element name="float4x2" type="float4x2_type"/>
 
7622
                        <xs:element name="float4x3" type="float4x3_type"/>
 
7623
                        <xs:element name="float4x4" type="float4x4_type"/>
 
7624
                        <xs:element name="sampler2D" type="gles_sampler_type"/>
 
7625
                        <xs:element name="enum" type="gles_enumeration_type"/>
 
7626
                </xs:choice>
 
7627
        </xs:group>
 
7628
        <xs:complexType name="gles_newparam_type">
 
7629
                <xs:annotation>
 
7630
                        <xs:documentation>
 
7631
                        Create a new, named param object in the GLES Runtime, assign it a type, an initial value, and additional attributes at declaration time.
 
7632
                        </xs:documentation>
 
7633
                </xs:annotation>
 
7634
                <xs:sequence>
 
7635
                        <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded">
 
7636
                                <xs:annotation>
 
7637
                                        <xs:documentation>
 
7638
                                        The annotate element allows you to specify an annotation for this new param.
 
7639
                                        </xs:documentation>
 
7640
                                </xs:annotation>
 
7641
                        </xs:element>
 
7642
                        <xs:element name="semantic" type="xs:NCName" minOccurs="0">
 
7643
                                <xs:annotation>
 
7644
                                        <xs:documentation>
 
7645
                                        The semantic element allows you to specify a semantic for this new param.
 
7646
                                        </xs:documentation>
 
7647
                                </xs:annotation>
 
7648
                        </xs:element>
 
7649
                        <xs:element name="modifier" type="fx_modifier_enum" minOccurs="0">
 
7650
                                <xs:annotation>
 
7651
                                        <xs:documentation>
 
7652
                                        The modifier element allows you to specify a modifier for this new param.
 
7653
                                        </xs:documentation>
 
7654
                                </xs:annotation>
 
7655
                        </xs:element>
 
7656
                        <xs:group ref="gles_param_group"/>
 
7657
                </xs:sequence>
 
7658
                <xs:attribute name="sid" type="sid_type" use="required">
 
7659
                        <xs:annotation>
 
7660
                                <xs:documentation>
 
7661
                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
7662
                                This value must be unique within the scope of the parent element.
 
7663
                                </xs:documentation>
 
7664
                        </xs:annotation>
 
7665
                </xs:attribute>
 
7666
        </xs:complexType>
 
7667
        <xs:complexType name="profile_gles_type">
 
7668
                <xs:annotation>
 
7669
                        <xs:documentation>
 
7670
                        Opens a block of GLES platform-specific data types and technique declarations.
 
7671
                        </xs:documentation>
 
7672
                </xs:annotation>
 
7673
                <xs:sequence>
 
7674
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
7675
                        <xs:element name="newparam" type="gles_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
7676
                        <xs:element name="technique" maxOccurs="unbounded">
 
7677
                                <xs:annotation>
 
7678
                                        <xs:documentation>
 
7679
                                                Holds a description of the textures, samplers, shaders, parameters, and passes necessary for rendering this effect using one method.
 
7680
                                                </xs:documentation>
 
7681
                                </xs:annotation>
 
7682
                                <xs:complexType>
 
7683
                                        <xs:sequence>
 
7684
                                                <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
7685
                                                <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded"/>
 
7686
                                                <xs:element name="pass" maxOccurs="unbounded">
 
7687
                                                        <xs:annotation>
 
7688
                                                                <xs:documentation>
 
7689
                                                                        A static declaration of all the render states, shaders, and settings for one rendering pipeline.
 
7690
                                                                        </xs:documentation>
 
7691
                                                        </xs:annotation>
 
7692
                                                        <xs:complexType>
 
7693
                                                                <xs:sequence>
 
7694
                                                                        <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded"/>
 
7695
                                                                        <xs:element name="states" minOccurs="0">
 
7696
                                                                                <xs:complexType>
 
7697
                                                                                        <xs:sequence>
 
7698
                                                                                                <xs:group ref="gles_pipeline_settings_group" minOccurs="0" maxOccurs="unbounded"/>
 
7699
                                                                                        </xs:sequence>
 
7700
                                                                                </xs:complexType>
 
7701
                                                                        </xs:element>
 
7702
                                                                        <xs:element name="evaluate" minOccurs="0">
 
7703
                                                                                <xs:complexType>
 
7704
                                                                                        <xs:sequence>
 
7705
                                                                                                <xs:element name="color_target" type="fx_colortarget_type" minOccurs="0" maxOccurs="unbounded"/>
 
7706
                                                                                                <xs:element name="depth_target" type="fx_depthtarget_type" minOccurs="0" maxOccurs="unbounded"/>
 
7707
                                                                                                <xs:element name="stencil_target" type="fx_stenciltarget_type" minOccurs="0" maxOccurs="unbounded"/>
 
7708
                                                                                                <xs:element name="color_clear" type="fx_clearcolor_type" minOccurs="0" maxOccurs="unbounded"/>
 
7709
                                                                                                <xs:element name="depth_clear" type="fx_cleardepth_type" minOccurs="0" maxOccurs="unbounded"/>
 
7710
                                                                                                <xs:element name="stencil_clear" type="fx_clearstencil_type" minOccurs="0" maxOccurs="unbounded"/>
 
7711
                                                                                                <xs:element name="draw" type="fx_draw_type" minOccurs="0"/>
 
7712
                                                                                        </xs:sequence>
 
7713
                                                                                </xs:complexType>
 
7714
                                                                        </xs:element>
 
7715
                                                                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
7716
                                                                </xs:sequence>
 
7717
                                                                <xs:attribute name="sid" type="sid_type" use="optional">
 
7718
                                                                        <xs:annotation>
 
7719
                                                                                <xs:documentation>
 
7720
                                                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
7721
                                                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
7722
                                                                                        </xs:documentation>
 
7723
                                                                        </xs:annotation>
 
7724
                                                                </xs:attribute>
 
7725
                                                        </xs:complexType>
 
7726
                                                </xs:element>
 
7727
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
7728
                                        </xs:sequence>
 
7729
                                        <xs:attribute name="id" type="xs:ID"/>
 
7730
                                        <xs:attribute name="sid" type="sid_type" use="required">
 
7731
                                                <xs:annotation>
 
7732
                                                        <xs:documentation>
 
7733
                                                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
7734
                                                                This value must be unique within the scope of the parent element.
 
7735
                                                                </xs:documentation>
 
7736
                                                </xs:annotation>
 
7737
                                        </xs:attribute>
 
7738
                                </xs:complexType>
 
7739
                        </xs:element>
 
7740
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
7741
                </xs:sequence>
 
7742
                <xs:attribute name="id" type="xs:ID" use="optional">
 
7743
                        <xs:annotation>
 
7744
                                <xs:documentation>
 
7745
                                        The id attribute is a text string containing the unique identifier of this element. 
 
7746
                                        This value must be unique within the instance document. Optional attribute.
 
7747
                                        </xs:documentation>
 
7748
                        </xs:annotation>
 
7749
                </xs:attribute>
 
7750
                <xs:attribute name="platform" type="xs:NCName" use="optional" default="PC">
 
7751
                        <xs:annotation>
 
7752
                                <xs:documentation>
 
7753
                                        The type of platform. This is a vendor-defined character string that indicates the platform or capability target for the technique. Optional
 
7754
                                        </xs:documentation>
 
7755
                        </xs:annotation>
 
7756
                </xs:attribute>
 
7757
        </xs:complexType>
 
7758
        <xs:group name="fx_profile_group">
 
7759
                <xs:annotation>
 
7760
                        <xs:documentation>
 
7761
                        A group that  specifies the allowable COLLADA FX profiles.
 
7762
                        </xs:documentation>
 
7763
                </xs:annotation>
 
7764
                <xs:choice>
 
7765
                        <xs:element name="profile_COMMON" type="profile_common_type"/>
 
7766
                        <xs:element name="profile_BRIDGE" type="profile_bridge_type"/>
 
7767
                        <xs:element name="profile_GLES2" type="profile_gles2_type"/>
 
7768
                        <xs:element name="profile_GLSL" type="profile_glsl_type"/>
 
7769
                        <xs:element name="profile_CG" type="profile_cg_type"/>
 
7770
                        <xs:element name="profile_GLES" type="profile_gles_type"/>
 
7771
                </xs:choice>
 
7772
        </xs:group>
 
7773
        <xs:complexType name="effect_type">
 
7774
                <xs:annotation>
 
7775
                        <xs:documentation>
 
7776
                        A self contained description of a shader effect.
 
7777
                        </xs:documentation>
 
7778
                </xs:annotation>
 
7779
                <xs:sequence>
 
7780
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
7781
                                <xs:annotation>
 
7782
                                        <xs:documentation>
 
7783
                                                The effect element may contain an asset element.
 
7784
                                                </xs:documentation>
 
7785
                                </xs:annotation>
 
7786
                        </xs:element>
 
7787
                        <xs:element name="annotate" type="fx_annotate_type" minOccurs="0" maxOccurs="unbounded">
 
7788
                                <xs:annotation>
 
7789
                                        <xs:documentation>
 
7790
                                                The annotate element allows you to specify an annotation on this effect.
 
7791
                                                </xs:documentation>
 
7792
                                </xs:annotation>
 
7793
                        </xs:element>
 
7794
                        <xs:element name="newparam" type="fx_newparam_type" minOccurs="0" maxOccurs="unbounded">
 
7795
                                <xs:annotation>
 
7796
                                        <xs:documentation>
 
7797
                                                The newparam element allows you to create new effect parameters which can be shared by multipe profiles.
 
7798
                                                </xs:documentation>
 
7799
                                </xs:annotation>
 
7800
                        </xs:element>
 
7801
                        <xs:group ref="fx_profile_group" maxOccurs="unbounded"/>
 
7802
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
7803
                                <xs:annotation>
 
7804
                                        <xs:documentation>
 
7805
                                                The extra element may appear any number of times.
 
7806
                                                </xs:documentation>
 
7807
                                </xs:annotation>
 
7808
                        </xs:element>
 
7809
                </xs:sequence>
 
7810
                <xs:attribute name="id" type="xs:ID" use="required">
 
7811
                        <xs:annotation>
 
7812
                                <xs:documentation>
 
7813
                                        The id attribute is a text string containing the unique identifier of this element. 
 
7814
                                        This value must be unique within the instance document. Optional attribute.
 
7815
                                        </xs:documentation>
 
7816
                        </xs:annotation>
 
7817
                </xs:attribute>
 
7818
                <xs:attribute name="name" type="xs:token">
 
7819
                        <xs:annotation>
 
7820
                                <xs:documentation>
 
7821
                                        The name attribute is the text string name of this element. Optional attribute.
 
7822
                                        </xs:documentation>
 
7823
                        </xs:annotation>
 
7824
                </xs:attribute>
 
7825
        </xs:complexType>
 
7826
        <xs:complexType name="library_effects_type">
 
7827
                <xs:annotation>
 
7828
                        <xs:documentation>
 
7829
                        The library_effects element declares a module of effect elements.
 
7830
                        </xs:documentation>
 
7831
                </xs:annotation>
 
7832
                <xs:sequence>
 
7833
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
7834
                                <xs:annotation>
 
7835
                                        <xs:documentation>
 
7836
                                                The library_effects element may contain an asset element.
 
7837
                                                </xs:documentation>
 
7838
                                </xs:annotation>
 
7839
                        </xs:element>
 
7840
                        <xs:element name="effect" type="effect_type" maxOccurs="unbounded">
 
7841
                                <xs:annotation>
 
7842
                                        <xs:documentation>
 
7843
                                                There must be at least one effect element.
 
7844
                                                </xs:documentation>
 
7845
                                </xs:annotation>
 
7846
                        </xs:element>
 
7847
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
7848
                                <xs:annotation>
 
7849
                                        <xs:documentation>
 
7850
                                                The extra element may appear any number of times.
 
7851
                                                </xs:documentation>
 
7852
                                </xs:annotation>
 
7853
                        </xs:element>
 
7854
                </xs:sequence>
 
7855
                <xs:attribute name="id" type="xs:ID">
 
7856
                        <xs:annotation>
 
7857
                                <xs:documentation>
 
7858
                                        The id attribute is a text string containing the unique identifier of this element. 
 
7859
                                        This value must be unique within the instance document. Optional attribute.
 
7860
                                        </xs:documentation>
 
7861
                        </xs:annotation>
 
7862
                </xs:attribute>
 
7863
                <xs:attribute name="name" type="xs:token">
 
7864
                        <xs:annotation>
 
7865
                                <xs:documentation>
 
7866
                                        The name attribute is the text string name of this element. Optional attribute.
 
7867
                                        </xs:documentation>
 
7868
                        </xs:annotation>
 
7869
                </xs:attribute>
 
7870
        </xs:complexType>
 
7871
        <xs:complexType name="box_type">
 
7872
                <xs:annotation>
 
7873
                        <xs:documentation>
 
7874
                        An axis-aligned, centered box primitive.
 
7875
                        </xs:documentation>
 
7876
                </xs:annotation>
 
7877
                <xs:sequence>
 
7878
                        <xs:element name="half_extents" type="float3_type">
 
7879
                                <xs:annotation>
 
7880
                                        <xs:documentation>
 
7881
                                                3 float values that represent the extents of the box
 
7882
                                                </xs:documentation>
 
7883
                                </xs:annotation>
 
7884
                        </xs:element>
 
7885
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
7886
                                <xs:annotation>
 
7887
                                        <xs:documentation>
 
7888
                                                The extra element may appear any number of times.
 
7889
                                                </xs:documentation>
 
7890
                                </xs:annotation>
 
7891
                        </xs:element>
 
7892
                </xs:sequence>
 
7893
        </xs:complexType>
 
7894
        <xs:complexType name="plane_type">
 
7895
                <xs:annotation>
 
7896
                        <xs:documentation>
 
7897
                        An infinite plane primitive.
 
7898
                        </xs:documentation>
 
7899
                </xs:annotation>
 
7900
                <xs:sequence>
 
7901
                        <xs:element name="equation" type="float4_type">
 
7902
                                <xs:annotation>
 
7903
                                        <xs:documentation>
 
7904
                                                4 float values that represent the coefficients for the plane's equation:    Ax + By + Cz + D = 0
 
7905
                                                </xs:documentation>
 
7906
                                </xs:annotation>
 
7907
                        </xs:element>
 
7908
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
7909
                                <xs:annotation>
 
7910
                                        <xs:documentation>
 
7911
                                                The extra element may appear any number of times.
 
7912
                                                </xs:documentation>
 
7913
                                </xs:annotation>
 
7914
                        </xs:element>
 
7915
                </xs:sequence>
 
7916
        </xs:complexType>
 
7917
        <xs:complexType name="sphere_type">
 
7918
                <xs:annotation>
 
7919
                        <xs:documentation>
 
7920
                        A centered sphere primitive.
 
7921
                        </xs:documentation>
 
7922
                </xs:annotation>
 
7923
                <xs:sequence>
 
7924
                        <xs:element name="radius" type="float_type">
 
7925
                                <xs:annotation>
 
7926
                                        <xs:documentation>
 
7927
                                                A float value that represents the radius of the sphere
 
7928
                                                </xs:documentation>
 
7929
                                </xs:annotation>
 
7930
                        </xs:element>
 
7931
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
7932
                                <xs:annotation>
 
7933
                                        <xs:documentation>
 
7934
                                                The extra element may appear any number of times.
 
7935
                                                </xs:documentation>
 
7936
                                </xs:annotation>
 
7937
                        </xs:element>
 
7938
                </xs:sequence>
 
7939
        </xs:complexType>
 
7940
        <xs:complexType name="ellipsoid_type">
 
7941
                <xs:sequence>
 
7942
                        <xs:element name="size" type="float3_type"/>
 
7943
                </xs:sequence>
 
7944
        </xs:complexType>
 
7945
        <xs:complexType name="cylinder_type">
 
7946
                <xs:annotation>
 
7947
                        <xs:documentation>
 
7948
                        A cylinder primitive that is centered on, and aligned with. the local Y axis.
 
7949
                        </xs:documentation>
 
7950
                </xs:annotation>
 
7951
                <xs:sequence>
 
7952
                        <xs:element name="height" type="float_type">
 
7953
                                <xs:annotation>
 
7954
                                        <xs:documentation>
 
7955
                                                A float value that represents the length of the cylinder along the Y axis.
 
7956
                                                </xs:documentation>
 
7957
                                </xs:annotation>
 
7958
                        </xs:element>
 
7959
                        <xs:element name="radius" type="float2_type">
 
7960
                                <xs:annotation>
 
7961
                                        <xs:documentation>
 
7962
                                                float2 values that represent the radii of the cylinder.
 
7963
                                                </xs:documentation>
 
7964
                                </xs:annotation>
 
7965
                        </xs:element>
 
7966
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
7967
                                <xs:annotation>
 
7968
                                        <xs:documentation>
 
7969
                                                The extra element may appear any number of times.
 
7970
                                                </xs:documentation>
 
7971
                                </xs:annotation>
 
7972
                        </xs:element>
 
7973
                </xs:sequence>
 
7974
        </xs:complexType>
 
7975
        <xs:complexType name="capsule_type">
 
7976
                <xs:annotation>
 
7977
                        <xs:documentation>
 
7978
                        A capsule primitive that is centered on and aligned with the local Y axis.
 
7979
                        </xs:documentation>
 
7980
                </xs:annotation>
 
7981
                <xs:sequence>
 
7982
                        <xs:element name="height" type="float_type">
 
7983
                                <xs:annotation>
 
7984
                                        <xs:documentation>
 
7985
                                                A float value that represents the length of the line segment connecting the centers 
 
7986
                                                of the capping hemispheres.
 
7987
                                                </xs:documentation>
 
7988
                                </xs:annotation>
 
7989
                        </xs:element>
 
7990
                        <xs:element name="radius" type="float3_type">
 
7991
                                <xs:annotation>
 
7992
                                        <xs:documentation>
 
7993
                                                Three float values that represent the radii of the capsule (it may be elliptical).
 
7994
                                                </xs:documentation>
 
7995
                                </xs:annotation>
 
7996
                        </xs:element>
 
7997
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
7998
                                <xs:annotation>
 
7999
                                        <xs:documentation>
 
8000
                                                The extra element may appear any number of times.
 
8001
                                                </xs:documentation>
 
8002
                                </xs:annotation>
 
8003
                        </xs:element>
 
8004
                </xs:sequence>
 
8005
        </xs:complexType>
 
8006
        <xs:complexType name="force_field_type">
 
8007
                <xs:annotation>
 
8008
                        <xs:documentation>
 
8009
                        A general container for force-fields. At the moment, it only has techniques and extra elements.
 
8010
                        </xs:documentation>
 
8011
                </xs:annotation>
 
8012
                <xs:sequence>
 
8013
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
8014
                                <xs:annotation>
 
8015
                                        <xs:documentation>
 
8016
                                                The force_field element may contain an asset element.
 
8017
                                                </xs:documentation>
 
8018
                                </xs:annotation>
 
8019
                        </xs:element>
 
8020
                        <xs:element name="technique" type="technique_type" maxOccurs="unbounded">
 
8021
                                <xs:annotation>
 
8022
                                        <xs:documentation>
 
8023
                                                This element must contain at least one non-common profile technique.
 
8024
                                                </xs:documentation>
 
8025
                                </xs:annotation>
 
8026
                        </xs:element>
 
8027
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8028
                                <xs:annotation>
 
8029
                                        <xs:documentation>
 
8030
                                                The extra element may appear any number of times.
 
8031
                                                </xs:documentation>
 
8032
                                </xs:annotation>
 
8033
                        </xs:element>
 
8034
                </xs:sequence>
 
8035
                <xs:attribute name="id" type="xs:ID">
 
8036
                        <xs:annotation>
 
8037
                                <xs:documentation>
 
8038
                                        The id attribute is a text string containing the unique identifier of this element. This value 
 
8039
                                        must be unique within the instance document. Optional attribute.
 
8040
                                        </xs:documentation>
 
8041
                        </xs:annotation>
 
8042
                </xs:attribute>
 
8043
                <xs:attribute name="name" type="xs:token">
 
8044
                        <xs:annotation>
 
8045
                                <xs:documentation>
 
8046
                                        The name attribute is the text string name of this element. Optional attribute.
 
8047
                                        </xs:documentation>
 
8048
                        </xs:annotation>
 
8049
                </xs:attribute>
 
8050
        </xs:complexType>
 
8051
        <xs:complexType name="library_force_fields_type">
 
8052
                <xs:annotation>
 
8053
                        <xs:documentation>
 
8054
                        The library_force_fields element declares a module of force_field elements.
 
8055
                        </xs:documentation>
 
8056
                </xs:annotation>
 
8057
                <xs:sequence>
 
8058
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
8059
                                <xs:annotation>
 
8060
                                        <xs:documentation>
 
8061
                                                The library_force_fields element may contain an asset element.
 
8062
                                                </xs:documentation>
 
8063
                                </xs:annotation>
 
8064
                        </xs:element>
 
8065
                        <xs:element name="force_field" type="force_field_type" maxOccurs="unbounded">
 
8066
                                <xs:annotation>
 
8067
                                        <xs:documentation>
 
8068
                                                There must be at least one force_field element.
 
8069
                                                </xs:documentation>
 
8070
                                </xs:annotation>
 
8071
                        </xs:element>
 
8072
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8073
                                <xs:annotation>
 
8074
                                        <xs:documentation>
 
8075
                                                The extra element may appear any number of times.
 
8076
                                                </xs:documentation>
 
8077
                                </xs:annotation>
 
8078
                        </xs:element>
 
8079
                </xs:sequence>
 
8080
                <xs:attribute name="id" type="xs:ID">
 
8081
                        <xs:annotation>
 
8082
                                <xs:documentation>
 
8083
                                        The id attribute is a text string containing the unique identifier of this element. 
 
8084
                                        This value must be unique within the instance document. Optional attribute.
 
8085
                                        </xs:documentation>
 
8086
                        </xs:annotation>
 
8087
                </xs:attribute>
 
8088
                <xs:attribute name="name" type="xs:token">
 
8089
                        <xs:annotation>
 
8090
                                <xs:documentation>
 
8091
                                        The name attribute is the text string name of this element. Optional attribute.
 
8092
                                        </xs:documentation>
 
8093
                        </xs:annotation>
 
8094
                </xs:attribute>
 
8095
        </xs:complexType>
 
8096
        <xs:complexType name="physics_material_type">
 
8097
                <xs:annotation>
 
8098
                        <xs:documentation>
 
8099
                        This element defines the physical properties of an object. It contains a technique/profile with 
 
8100
                        parameters. The COMMON profile defines the built-in names, such as static_friction.
 
8101
                        </xs:documentation>
 
8102
                </xs:annotation>
 
8103
                <xs:sequence>
 
8104
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
8105
                                <xs:annotation>
 
8106
                                        <xs:documentation>
 
8107
                                                The physics_material element may contain an asset element.
 
8108
                                                </xs:documentation>
 
8109
                                </xs:annotation>
 
8110
                        </xs:element>
 
8111
                        <xs:element name="technique_common">
 
8112
                                <xs:annotation>
 
8113
                                        <xs:documentation>
 
8114
                                                The technique_common element specifies the physics_material information for the common profile 
 
8115
                                                which all COLLADA implementations need to support.
 
8116
                                                </xs:documentation>
 
8117
                                </xs:annotation>
 
8118
                                <xs:complexType>
 
8119
                                        <xs:sequence>
 
8120
                                                <xs:element name="dynamic_friction" type="targetable_float_type" minOccurs="0">
 
8121
                                                        <xs:annotation>
 
8122
                                                                <xs:documentation>
 
8123
                                                                        Dynamic friction coefficient
 
8124
                                                                        </xs:documentation>
 
8125
                                                        </xs:annotation>
 
8126
                                                </xs:element>
 
8127
                                                <xs:element name="restitution" type="targetable_float_type" minOccurs="0">
 
8128
                                                        <xs:annotation>
 
8129
                                                                <xs:documentation>
 
8130
                                                                        The proportion of the kinetic energy preserved in the impact (typically ranges from 0.0 to 1.0)
 
8131
                                                                        </xs:documentation>
 
8132
                                                        </xs:annotation>
 
8133
                                                </xs:element>
 
8134
                                                <xs:element name="static_friction" type="targetable_float_type" minOccurs="0">
 
8135
                                                        <xs:annotation>
 
8136
                                                                <xs:documentation>
 
8137
                                                                        Static friction coefficient
 
8138
                                                                        </xs:documentation>
 
8139
                                                        </xs:annotation>
 
8140
                                                </xs:element>
 
8141
                                        </xs:sequence>
 
8142
                                </xs:complexType>
 
8143
                        </xs:element>
 
8144
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded">
 
8145
                                <xs:annotation>
 
8146
                                        <xs:documentation>
 
8147
                                                This element may contain any number of non-common profile techniques.
 
8148
                                                </xs:documentation>
 
8149
                                </xs:annotation>
 
8150
                        </xs:element>
 
8151
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8152
                                <xs:annotation>
 
8153
                                        <xs:documentation>
 
8154
                                                The extra element may appear any number of times.
 
8155
                                                </xs:documentation>
 
8156
                                </xs:annotation>
 
8157
                        </xs:element>
 
8158
                </xs:sequence>
 
8159
                <xs:attribute name="id" type="xs:ID">
 
8160
                        <xs:annotation>
 
8161
                                <xs:documentation>
 
8162
                                        The id attribute is a text string containing the unique identifier of this element. 
 
8163
                                        This value must be unique within the instance document. Optional attribute.
 
8164
                                        </xs:documentation>
 
8165
                        </xs:annotation>
 
8166
                </xs:attribute>
 
8167
                <xs:attribute name="name" type="xs:token">
 
8168
                        <xs:annotation>
 
8169
                                <xs:documentation>
 
8170
                                        The name attribute is the text string name of this element. Optional attribute.
 
8171
                                        </xs:documentation>
 
8172
                        </xs:annotation>
 
8173
                </xs:attribute>
 
8174
        </xs:complexType>
 
8175
        <xs:complexType name="library_physics_materials_type">
 
8176
                <xs:annotation>
 
8177
                        <xs:documentation>
 
8178
                        The library_physics_materials element declares a module of physics_material elements.
 
8179
                        </xs:documentation>
 
8180
                </xs:annotation>
 
8181
                <xs:sequence>
 
8182
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
8183
                                <xs:annotation>
 
8184
                                        <xs:documentation>
 
8185
                                                The library_physics_materials element may contain an asset element.
 
8186
                                                </xs:documentation>
 
8187
                                </xs:annotation>
 
8188
                        </xs:element>
 
8189
                        <xs:element name="physics_material" type="physics_material_type" maxOccurs="unbounded">
 
8190
                                <xs:annotation>
 
8191
                                        <xs:documentation>
 
8192
                                                There must be at least one physics_material element.
 
8193
                                                </xs:documentation>
 
8194
                                </xs:annotation>
 
8195
                        </xs:element>
 
8196
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8197
                                <xs:annotation>
 
8198
                                        <xs:documentation>
 
8199
                                                The extra element may appear any number of times.
 
8200
                                                </xs:documentation>
 
8201
                                </xs:annotation>
 
8202
                        </xs:element>
 
8203
                </xs:sequence>
 
8204
                <xs:attribute name="id" type="xs:ID">
 
8205
                        <xs:annotation>
 
8206
                                <xs:documentation>
 
8207
                                        The id attribute is a text string containing the unique identifier of this element. 
 
8208
                                        This value must be unique within the instance document. Optional attribute.
 
8209
                                        </xs:documentation>
 
8210
                        </xs:annotation>
 
8211
                </xs:attribute>
 
8212
                <xs:attribute name="name" type="xs:token">
 
8213
                        <xs:annotation>
 
8214
                                <xs:documentation>
 
8215
                                        The name attribute is the text string name of this element. Optional attribute.
 
8216
                                        </xs:documentation>
 
8217
                        </xs:annotation>
 
8218
                </xs:attribute>
 
8219
        </xs:complexType>
 
8220
        <xs:simpleType name="spring_enum">
 
8221
                <xs:restriction base="xs:NMTOKEN">
 
8222
                        <xs:enumeration value="LINEAR"/>
 
8223
                        <xs:enumeration value="ANGULAR"/>
 
8224
                </xs:restriction>
 
8225
        </xs:simpleType>
 
8226
        <xs:simpleType name="common_profile_input_enum">
 
8227
                <xs:annotation>
 
8228
                        <xs:appinfo>constant-strings</xs:appinfo>
 
8229
                </xs:annotation>
 
8230
                <xs:restriction base="xs:NMTOKEN">
 
8231
                        <xs:enumeration value="BINORMAL"/>
 
8232
                        <xs:enumeration value="COLOR"/>
 
8233
                        <xs:enumeration value="CONTINUITY"/>
 
8234
                        <xs:enumeration value="IMAGE"/>
 
8235
                        <xs:enumeration value="IN_TANGENT"/>
 
8236
                        <xs:enumeration value="INPUT"/>
 
8237
                        <xs:enumeration value="INTERPOLATION"/>
 
8238
                        <xs:enumeration value="INV_BIND_MATRIX"/>
 
8239
                        <xs:enumeration value="JOINT"/>
 
8240
                        <xs:enumeration value="LINEAR_STEPS"/>
 
8241
                        <xs:enumeration value="MORPH_TARGET"/>
 
8242
                        <xs:enumeration value="MORPH_WEIGHT"/>
 
8243
                        <xs:enumeration value="NORMAL"/>
 
8244
                        <xs:enumeration value="OUTPUT"/>
 
8245
                        <xs:enumeration value="OUT_TANGENT"/>
 
8246
                        <xs:enumeration value="POSITION"/>
 
8247
                        <xs:enumeration value="TANGENT"/>
 
8248
                        <xs:enumeration value="TEXBINORMAL"/>
 
8249
                        <xs:enumeration value="TEXCOORD"/>
 
8250
                        <xs:enumeration value="TEXTANGENT"/>
 
8251
                        <xs:enumeration value="UV"/>
 
8252
                        <xs:enumeration value="VERTEX"/>
 
8253
                        <xs:enumeration value="WEIGHT"/>
 
8254
                </xs:restriction>
 
8255
        </xs:simpleType>
 
8256
        <xs:simpleType name="common_profile_param_enum">
 
8257
                <xs:annotation>
 
8258
                        <xs:appinfo>constant-strings</xs:appinfo>
 
8259
                </xs:annotation>
 
8260
                <xs:restriction base="xs:NMTOKEN">
 
8261
                        <xs:enumeration value="A"/>
 
8262
                        <xs:enumeration value="ANGLE"/>
 
8263
                        <xs:enumeration value="B"/>
 
8264
                        <xs:enumeration value="DOUBLE_SIDED"/>
 
8265
                        <xs:enumeration value="G"/>
 
8266
                        <xs:enumeration value="P"/>
 
8267
                        <xs:enumeration value="Q"/>
 
8268
                        <xs:enumeration value="R"/>
 
8269
                        <xs:enumeration value="S"/>
 
8270
                        <xs:enumeration value="T"/>
 
8271
                        <xs:enumeration value="TIME"/>
 
8272
                        <xs:enumeration value="U"/>
 
8273
                        <xs:enumeration value="V"/>
 
8274
                        <xs:enumeration value="W"/>
 
8275
                        <xs:enumeration value="X"/>
 
8276
                        <xs:enumeration value="Y"/>
 
8277
                        <xs:enumeration value="Z"/>
 
8278
                </xs:restriction>
 
8279
        </xs:simpleType>
 
8280
        <xs:complexType name="edges_type">
 
8281
                <xs:annotation>
 
8282
                        <xs:documentation>     This element defines all the edges used in the brep     structure.    </xs:documentation>
 
8283
                </xs:annotation>
 
8284
                <xs:sequence>
 
8285
                        <xs:element name="input" type="input_local_offset_type" minOccurs="4" maxOccurs="unbounded">
 
8286
                                <xs:annotation>
 
8287
                                        <xs:documentation>
 
8288
                                                        Five input elements are needed to define an
 
8289
                                                        edge, one for referencing the curve, two for
 
8290
                                                        referencing the two vertices, one for the
 
8291
                                                        orientation of the first vertex (the second
 
8292
                                                        is the opposite of the first) and one for
 
8293
                                                        the parametric values of the curve.
 
8294
                                                </xs:documentation>
 
8295
                                </xs:annotation>
 
8296
                        </xs:element>
 
8297
                        <xs:element name="p" type="p_type" minOccurs="0">
 
8298
                                <xs:annotation>
 
8299
                                        <xs:documentation>        The indices for refrencing curves and        vertices.       </xs:documentation>
 
8300
                                </xs:annotation>
 
8301
                        </xs:element>
 
8302
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8303
                </xs:sequence>
 
8304
                <xs:attribute name="id" type="xs:ID" use="required"/>
 
8305
                <xs:attribute name="name" type="xs:token"/>
 
8306
                <xs:attribute name="count" type="xs:int" use="required"/>
 
8307
        </xs:complexType>
 
8308
        <xs:complexType name="wires_type">
 
8309
                <xs:annotation>
 
8310
                        <xs:documentation>     This element defines all the wires used in the brep     structure.    </xs:documentation>
 
8311
                </xs:annotation>
 
8312
                <xs:sequence>
 
8313
                        <xs:element name="input" type="input_local_offset_type" minOccurs="2" maxOccurs="unbounded">
 
8314
                                <xs:annotation>
 
8315
                                        <xs:documentation>
 
8316
                                                        One input elements is needed to define a
 
8317
                                                        wire by its edges. The second is needed for
 
8318
                                                        orientation of the edges
 
8319
                                                </xs:documentation>
 
8320
                                </xs:annotation>
 
8321
                        </xs:element>
 
8322
                        <xs:element name="vcount" type="list_of_uints_type"/>
 
8323
                        <xs:element name="p" type="p_type" minOccurs="0">
 
8324
                                <xs:annotation>
 
8325
                                        <xs:documentation>
 
8326
                                                        The indices of the edges for each wire.
 
8327
                                                </xs:documentation>
 
8328
                                </xs:annotation>
 
8329
                        </xs:element>
 
8330
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8331
                </xs:sequence>
 
8332
                <xs:attribute name="id" type="xs:ID" use="required"/>
 
8333
                <xs:attribute name="name" type="xs:token"/>
 
8334
                <xs:attribute name="count" type="uint_type" use="required"/>
 
8335
        </xs:complexType>
 
8336
        <xs:complexType name="faces_type">
 
8337
                <xs:annotation>
 
8338
                        <xs:documentation>     This element defines all the faces used in the brep     structure.    </xs:documentation>
 
8339
                </xs:annotation>
 
8340
                <xs:sequence>
 
8341
                        <xs:element name="input" type="input_local_offset_type" minOccurs="3" maxOccurs="unbounded">
 
8342
                                <xs:annotation>
 
8343
                                        <xs:documentation>
 
8344
                                                        Two input elements are needed to define a
 
8345
                                                        face, one for referencing the surface and
 
8346
                                                        one for referencing the wires themselfs. The
 
8347
                                                        third is needed for the orientation of each
 
8348
                                                        wires.
 
8349
                                                </xs:documentation>
 
8350
                                </xs:annotation>
 
8351
                        </xs:element>
 
8352
                        <xs:element name="vcount" type="list_of_uints_type"/>
 
8353
                        <xs:element name="p" type="p_type" minOccurs="0">
 
8354
                                <xs:annotation>
 
8355
                                        <xs:documentation>
 
8356
                                                        The indices for referencing the surface and
 
8357
                                                        wires for each face.
 
8358
                                                </xs:documentation>
 
8359
                                </xs:annotation>
 
8360
                        </xs:element>
 
8361
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8362
                </xs:sequence>
 
8363
                <xs:attribute name="id" type="xs:ID" use="required"/>
 
8364
                <xs:attribute name="name" type="xs:token"/>
 
8365
                <xs:attribute name="count" type="uint_type" use="required"/>
 
8366
        </xs:complexType>
 
8367
        <xs:complexType name="shells_type">
 
8368
                <xs:annotation>
 
8369
                        <xs:documentation>     This element defines all the shells used in the brep     structure.    </xs:documentation>
 
8370
                </xs:annotation>
 
8371
                <xs:sequence>
 
8372
                        <xs:element name="input" type="input_local_offset_type" minOccurs="2" maxOccurs="unbounded">
 
8373
                                <xs:annotation>
 
8374
                                        <xs:documentation>
 
8375
                                                        One input elements is needed to define a
 
8376
                                                        shell by its faces. The second is need for
 
8377
                                                        the orientation of the faces
 
8378
                                                </xs:documentation>
 
8379
                                </xs:annotation>
 
8380
                        </xs:element>
 
8381
                        <xs:element name="vcount" type="list_of_uints_type"/>
 
8382
                        <xs:element name="p" type="p_type" minOccurs="0">
 
8383
                                <xs:annotation>
 
8384
                                        <xs:documentation>
 
8385
                                                        The indices of the faces for each shell.
 
8386
                                                </xs:documentation>
 
8387
                                </xs:annotation>
 
8388
                        </xs:element>
 
8389
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8390
                </xs:sequence>
 
8391
                <xs:attribute name="id" type="xs:ID" use="required"/>
 
8392
                <xs:attribute name="name" type="xs:token"/>
 
8393
                <xs:attribute name="count" type="uint_type" use="required"/>
 
8394
        </xs:complexType>
 
8395
        <xs:complexType name="solids_type">
 
8396
                <xs:annotation>
 
8397
                        <xs:documentation>     This element defines all the solids used in the brep     structure.    </xs:documentation>
 
8398
                </xs:annotation>
 
8399
                <xs:sequence>
 
8400
                        <xs:element name="input" type="input_local_offset_type" minOccurs="2" maxOccurs="unbounded">
 
8401
                                <xs:annotation>
 
8402
                                        <xs:documentation>
 
8403
                                                        One input elements is needed to define a
 
8404
                                                        solid by its shells. The second is need fo
 
8405
                                                        the orientation of the shells.
 
8406
                                                </xs:documentation>
 
8407
                                </xs:annotation>
 
8408
                        </xs:element>
 
8409
                        <xs:element name="vcount" type="list_of_uints_type"/>
 
8410
                        <xs:element name="p" type="p_type" minOccurs="0">
 
8411
                                <xs:annotation>
 
8412
                                        <xs:documentation>
 
8413
                                                        The indices of the shells for each solid.
 
8414
                                                </xs:documentation>
 
8415
                                </xs:annotation>
 
8416
                        </xs:element>
 
8417
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8418
                </xs:sequence>
 
8419
                <xs:attribute name="id" type="xs:ID" use="required"/>
 
8420
                <xs:attribute name="name" type="xs:token"/>
 
8421
                <xs:attribute name="count" type="uint_type" use="required"/>
 
8422
        </xs:complexType>
 
8423
        <xs:complexType name="line_type">
 
8424
                <xs:annotation>
 
8425
                        <xs:documentation>     Describes an infinite line. A line is defined and     positioned in space with an axis which gives it an     origin and a unit vector. The Geom_Line line is     parameterized: P (U) = O + U*Dir, where: - P is the     point of parameter U, - O is the origin and Dir the unit     vector of its positioning axis. The parameter range is ]     -infinite, +infinite [. The orientation of the line is     given by the unit vector of its positioning axis.    </xs:documentation>
 
8426
                </xs:annotation>
 
8427
                <xs:sequence>
 
8428
                        <xs:element name="origin" type="float3_type"/>
 
8429
                        <xs:element name="direction" type="float3_type"/>
 
8430
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8431
                </xs:sequence>
 
8432
        </xs:complexType>
 
8433
        <xs:complexType name="circle_type">
 
8434
                <xs:annotation>
 
8435
                        <xs:documentation>     Describes a circle. A circle is defined by its radius     and, as with any conic curve, is positioned in space     with a right-handed coordinate system where: - the     origin is the center of the circle, and - the origin, "X     Direction" and "Y Direction" define the plane of the     circle. This coordinate system is the local coordinate     system of the circle. The "main Direction" of this     coordinate system is the vector normal to the plane of     the circle. The axis, of which the origin and unit     vector are respectively the origin and "main Direction"     of the local coordinate system, is termed the "Axis" or     "main Axis" of the circle. The "main Direction" of the     local coordinate system gives an explicit orientation to     the circle (definition of the trigonometric sense),     determining the direction in which the parameter     increases along the circle. The Geom_Circle circle is     parameterized by an angle: P(U) = O + R*Cos(U)*XDir +     R*Sin(U)*YDir, where: - P is the point of parameter U, -     O, XDir and YDir are respectively the origin, "X     Direction" and "Y Direction" of its local coordinate     system, - R is the radius of the circle. The "X     Axis" of the local coordinate system therefore     defines the origin of the parameter of the circle.     The parameter is the angle with this "X Direction".     A circle is a closed and periodic curve. The period     is 2.*Pi and the parameter range is [ 0, 2.*Pi [.    </xs:documentation>
 
8436
                </xs:annotation>
 
8437
                <xs:sequence>
 
8438
                        <xs:element name="radius" type="float_type"/>
 
8439
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8440
                </xs:sequence>
 
8441
        </xs:complexType>
 
8442
        <xs:complexType name="ellipse_type">
 
8443
                <xs:annotation>
 
8444
                        <xs:documentation>     Describes an ellipse in 3D space. An ellipse is defined     by its major and minor radii and, as with any conic     curve, is positioned in space with a right-handed     coordinate system where: - the origin is the center of     the ellipse, - the "X Direction" defines the     major axis, and - the "Y Direction" defines     the minor axis. The origin, "X Direction" and     "Y Direction" of this coordinate system define     the plane of the ellipse. The coordinate system is the     local coordinate system of the ellipse. The "main     Direction" of this coordinate system is the vector     normal to the plane of the ellipse. The axis, of which     the origin and unit vector are respectively the origin     and "main Direction" of the local coordinate     system, is termed the "Axis" or "main     Axis" of the ellipse. The "main     Direction" of the local coordinate system gives an     explicit orientation to the ellipse (definition of the     trigonometric sense), determining the direction in which     the parameter increases along the ellipse. The     Geom_Ellipse ellipse is parameterized by an angle: P(U)     = O + MajorRad*Cos(U)*XDir + MinorRad*Sin(U)*YDir where:     - P is the point of parameter U, - O, XDir and YDir are     respectively the origin, "X &lt;br&gt;     Direction" and "Y Direction" of its local     coordinate system, - MajorRad and MinorRad are the major     and minor radii of the ellipse. The "X Axis"     of the local coordinate system therefore defines the     origin of the parameter of the ellipse. An ellipse is a     closed and periodic curve. The period is 2.*Pi and the     parameter range is [ 0, 2.*Pi [.    </xs:documentation>
 
8445
                </xs:annotation>
 
8446
                <xs:sequence>
 
8447
                        <xs:element name="radius" type="float2_type"/>
 
8448
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8449
                </xs:sequence>
 
8450
        </xs:complexType>
 
8451
        <xs:complexType name="parabola_type">
 
8452
                <xs:annotation>
 
8453
                        <xs:documentation>     Describes a parabola in 3D space. A parabola is defined     by its focal length (i.e. the distance between its focus     and its apex) and is positioned in space with a     coordinate system where: - the origin is     the apex of the parabola, - the "X Axis"     defines the axis of symmetry; the parabola is on the     positive side of this axis, - the origin, "X     Direction" and "Y Direction" define the     plane of the parabola. This coordinate system is the     local coordinate system of the parabola. The "main     Direction" of this coordinate system is a vector     normal to the plane of the parabola. The axis, of which     the origin and unit vector are respectively the origin     and "main Direction" of the local coordinate     system, is termed the "Axis" or "main     Axis" of the parabola. The "main     Direction" of the local coordinate system gives an     explicit orientation to the parabola, determining the     direction in which the parameter increases along the     parabola. The Geom_Parabola parabola is parameterized as     follows: P(U) = O + U*U/(4.*F)*XDir + U*YDir where: - P     is the point of parameter U, - O, XDir and YDir are     respectively the origin, "X &lt;br&gt;     Direction" and "Y Direction" of its local     coordinate system, - F is the focal length of the     parabola. The parameter of the parabola is therefore its     Y coordinate in the local coordinate system, with the     "X &lt;br&gt; Axis" of the local coordinate     system defining the origin of the parameter. The     parameter range is ] -infinite, +infinite [.    </xs:documentation>
 
8454
                </xs:annotation>
 
8455
                <xs:sequence>
 
8456
                        <xs:element name="focal" type="float_type"/>
 
8457
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8458
                </xs:sequence>
 
8459
        </xs:complexType>
 
8460
        <xs:complexType name="hyperbola_type">
 
8461
                <xs:annotation>
 
8462
                        <xs:documentation>     Describes a branch of a hyperbola in 3D space. A     hyperbola is defined by its major and minor radii and,     as with any conic curve, is positioned in space with a     right-handed coordinate system where: - the origin is     the center of the hyperbola, - the "X Direction" defines     the major axis, and - the "Y Direction" defines the     minor axis. The origin, "X Direction" and "Y Direction"     of this coordinate system define the plane of the     hyperbola. The coordinate system is the local coordinate     system of the hyperbola. The branch of the hyperbola     described is the one located on the positive side of the     major axis. The "main Direction" of the local coordinate     system is a vector normal to the plane of the hyperbola.     The axis, of which the origin and unit vector are     respectively the origin and "main Direction" of the     local coordinate system, is termed the "Axis" or "main     Axis" of the hyperbola. The "main Direction" of the     local coordinate system gives an explicit orientation to     the hyperbola, determining the direction in which the     parameter increases along the hyperbola. The     Geom_Hyperbola hyperbola is parameterized as follows:     P(U) = O + MajRad*Cosh(U)*XDir + MinRad*Sinh(U)*YDir,     where: - P is the point of parameter U, - O, XDir and     YDir are respectively the origin, "X Direction" and "Y     Direction" of its local coordinate system, - MajRad and     MinRad are the major and minor radii of the hyperbola.     The "X Axis" of the local coordinate system therefore     defines the origin of the parameter of the hyperbola.     The parameter range is ] -infinite, +infinite [.    </xs:documentation>
 
8463
                </xs:annotation>
 
8464
                <xs:sequence>
 
8465
                        <xs:element name="radius" type="float2_type"/>
 
8466
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8467
                </xs:sequence>
 
8468
        </xs:complexType>
 
8469
        <xs:complexType name="torus_type">
 
8470
                <xs:sequence>
 
8471
                        <xs:element name="radius" type="float2_type"/>
 
8472
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8473
                </xs:sequence>
 
8474
        </xs:complexType>
 
8475
        <xs:complexType name="pcurves_type">
 
8476
                <xs:sequence>
 
8477
                        <xs:element name="input" type="input_local_offset_type" minOccurs="3" maxOccurs="unbounded">
 
8478
                                <xs:annotation>
 
8479
                                        <xs:documentation>
 
8480
                                                The first two inputs are needed to reference
 
8481
                                                the edge-face-connection. The third input
 
8482
                                                references the pcurve.
 
8483
                                        </xs:documentation>
 
8484
                                </xs:annotation>
 
8485
                        </xs:element>
 
8486
                        <xs:element name="vcount" type="list_of_uints_type"/>
 
8487
                        <xs:element name="p" type="p_type" minOccurs="0"/>
 
8488
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
8489
                </xs:sequence>
 
8490
                <xs:attribute name="id" type="xs:ID" use="required"/>
 
8491
                <xs:attribute name="name" type="xs:token" use="optional"/>
 
8492
                <xs:attribute name="count" type="uint_type" use="required"/>
 
8493
        </xs:complexType>
 
8494
        <xs:complexType name="sidref_array_type">
 
8495
                <xs:annotation>
 
8496
                        <xs:documentation>
 
8497
                        The SIDREF_array element declares the storage for a homogenous array of SID reference values.
 
8498
                        </xs:documentation>
 
8499
                </xs:annotation>
 
8500
                <xs:simpleContent>
 
8501
                        <xs:extension base="list_of_sidrefs_type">
 
8502
                                <xs:attribute name="id" type="xs:ID">
 
8503
                                        <xs:annotation>
 
8504
                                                <xs:documentation>
 
8505
                                                                The id attribute is a text string
 
8506
                                                                containing the unique identifier of this
 
8507
                                                                element. This value must be unique
 
8508
                                                                within the instance document. Optional
 
8509
                                                                attribute.
 
8510
                                                        </xs:documentation>
 
8511
                                        </xs:annotation>
 
8512
                                </xs:attribute>
 
8513
                                <xs:attribute name="name" type="xs:token">
 
8514
                                        <xs:annotation>
 
8515
                                                <xs:documentation>
 
8516
                                                                The name attribute is the text string
 
8517
                                                                name of this element. Optional
 
8518
                                                                attribute.
 
8519
                                                        </xs:documentation>
 
8520
                                        </xs:annotation>
 
8521
                                </xs:attribute>
 
8522
                                <xs:attribute name="count" type="uint_type" use="required">
 
8523
                                        <xs:annotation>
 
8524
                                                <xs:documentation>
 
8525
 
 
8526
                                                                The count attribute indicates the number
 
8527
                                                                of values in the array. Required
 
8528
                                                                attribute.
 
8529
                                                        </xs:documentation>
 
8530
                                        </xs:annotation>
 
8531
                                </xs:attribute>
 
8532
                        </xs:extension>
 
8533
                </xs:simpleContent>
 
8534
        </xs:complexType>
 
8535
        <xs:complexType name="source_type">
 
8536
                <xs:annotation>
 
8537
                        <xs:documentation>
 
8538
                        The source element declares a data repository that provides values according to the semantics of an 
 
8539
                        input element that refers to it.
 
8540
                        </xs:documentation>
 
8541
                </xs:annotation>
 
8542
                <xs:sequence>
 
8543
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
8544
                                <xs:annotation>
 
8545
                                        <xs:documentation>
 
8546
                                                The source element may contain an asset element.
 
8547
                                                </xs:documentation>
 
8548
                                </xs:annotation>
 
8549
                        </xs:element>
 
8550
                        <xs:choice minOccurs="0">
 
8551
                                <xs:element name="token_array" type="token_array_type">
 
8552
                                        <xs:annotation>
 
8553
                                                <xs:documentation>
 
8554
                                                        The source element may contain a token_array.
 
8555
                                                        </xs:documentation>
 
8556
                                        </xs:annotation>
 
8557
                                </xs:element>
 
8558
                                <xs:element name="IDREF_array" type="idref_array_type">
 
8559
                                        <xs:annotation>
 
8560
                                                <xs:documentation>
 
8561
                                                                The source element may contain an
 
8562
                                                                IDREF_array.
 
8563
                                                        </xs:documentation>
 
8564
                                        </xs:annotation>
 
8565
                                </xs:element>
 
8566
                                <xs:element name="Name_array" type="name_array_type">
 
8567
                                        <xs:annotation>
 
8568
                                                <xs:documentation>
 
8569
                                                                The source element may contain a
 
8570
                                                                Name_array.
 
8571
                                                        </xs:documentation>
 
8572
                                        </xs:annotation>
 
8573
                                </xs:element>
 
8574
                                <xs:element name="bool_array" type="bool_array_type">
 
8575
                                        <xs:annotation>
 
8576
                                                <xs:documentation>
 
8577
                                                                The source element may contain a
 
8578
                                                                bool_array.
 
8579
                                                        </xs:documentation>
 
8580
                                        </xs:annotation>
 
8581
                                </xs:element>
 
8582
                                <xs:element name="float_array" type="float_array_type">
 
8583
                                        <xs:annotation>
 
8584
                                                <xs:documentation>
 
8585
                                                                The source element may contain a
 
8586
                                                                float_array.
 
8587
                                                        </xs:documentation>
 
8588
                                        </xs:annotation>
 
8589
                                </xs:element>
 
8590
                                <xs:element name="int_array" type="int_array_type">
 
8591
                                        <xs:annotation>
 
8592
                                                <xs:documentation>
 
8593
                                                                The source element may contain an
 
8594
                                                                int_array.
 
8595
                                                        </xs:documentation>
 
8596
                                        </xs:annotation>
 
8597
                                </xs:element>
 
8598
                                <xs:element name="SIDREF_array" type="sidref_array_type"/>
 
8599
                        </xs:choice>
 
8600
                        <xs:element name="technique_common" minOccurs="0">
 
8601
                                <xs:annotation>
 
8602
                                        <xs:documentation>
 
8603
                                                The technique common specifies the common method for accessing this source element's data.
 
8604
                                                </xs:documentation>
 
8605
                                </xs:annotation>
 
8606
                                <xs:complexType>
 
8607
                                        <xs:sequence>
 
8608
                                                <xs:element name="accessor" type="accessor_type">
 
8609
                                                        <xs:annotation>
 
8610
                                                                <xs:documentation>
 
8611
                                                                        The source's technique_common must have one and only one accessor.
 
8612
                                                                        </xs:documentation>
 
8613
                                                        </xs:annotation>
 
8614
                                                </xs:element>
 
8615
                                        </xs:sequence>
 
8616
                                </xs:complexType>
 
8617
                        </xs:element>
 
8618
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded">
 
8619
                                <xs:annotation>
 
8620
                                        <xs:documentation>
 
8621
                                                This element may contain any number of non-common profile techniques.
 
8622
                                                </xs:documentation>
 
8623
                                </xs:annotation>
 
8624
                        </xs:element>
 
8625
                </xs:sequence>
 
8626
                <xs:attribute name="id" type="xs:ID" use="required">
 
8627
                        <xs:annotation>
 
8628
                                <xs:documentation>
 
8629
                                        The id attribute is a text string containing the unique identifier of this element. 
 
8630
                                        This value must be unique within the instance document. Required attribute.
 
8631
                                        </xs:documentation>
 
8632
                        </xs:annotation>
 
8633
                </xs:attribute>
 
8634
                <xs:attribute name="name" type="xs:token">
 
8635
                        <xs:annotation>
 
8636
                                <xs:documentation>
 
8637
                                        The name attribute is the text string name of this element. Optional attribute.
 
8638
                                        </xs:documentation>
 
8639
                        </xs:annotation>
 
8640
                </xs:attribute>
 
8641
        </xs:complexType>
 
8642
        <xs:complexType name="animation_type">
 
8643
                <xs:annotation>
 
8644
                        <xs:documentation>
 
8645
                        The animation element categorizes the declaration of animation information. The animation 
 
8646
                        hierarchy contains elements that describe the animation's key-frame data and sampler functions, 
 
8647
                        ordered in such a way to group together animations that should be executed together.
 
8648
                        </xs:documentation>
 
8649
                </xs:annotation>
 
8650
                <xs:sequence>
 
8651
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
8652
                                <xs:annotation>
 
8653
                                        <xs:documentation>
 
8654
                                                The animation element may contain an asset element.
 
8655
                                                </xs:documentation>
 
8656
                                </xs:annotation>
 
8657
                        </xs:element>
 
8658
                        <xs:choice>
 
8659
                                <xs:sequence>
 
8660
                                        <xs:element name="source" type="source_type" maxOccurs="unbounded">
 
8661
                                                <xs:annotation>
 
8662
                                                        <xs:documentation>
 
8663
                                                                The animation element may contain any number of source elements.
 
8664
                                                                </xs:documentation>
 
8665
                                                </xs:annotation>
 
8666
                                        </xs:element>
 
8667
                                        <xs:choice>
 
8668
                                                <xs:sequence>
 
8669
                                                        <xs:element name="sampler" type="sampler_type" maxOccurs="unbounded">
 
8670
                                                                <xs:annotation>
 
8671
                                                                        <xs:documentation>
 
8672
                                                                                The animation element may contain any number of sampler elements.
 
8673
                                                                                </xs:documentation>
 
8674
                                                                </xs:annotation>
 
8675
                                                        </xs:element>
 
8676
                                                        <xs:element name="channel" type="channel_type" maxOccurs="unbounded">
 
8677
                                                                <xs:annotation>
 
8678
                                                                        <xs:documentation>
 
8679
                                                                                The animation element may contain any number of channel elements.
 
8680
                                                                                </xs:documentation>
 
8681
                                                                </xs:annotation>
 
8682
                                                        </xs:element>
 
8683
                                                        <xs:element name="animation" type="animation_type" minOccurs="0" maxOccurs="unbounded">
 
8684
                                                                <xs:annotation>
 
8685
                                                                        <xs:documentation>
 
8686
                                                                                The animation may be hierarchical and may contain any number of other animation elements.
 
8687
                                                                                </xs:documentation>
 
8688
                                                                </xs:annotation>
 
8689
                                                        </xs:element>
 
8690
                                                </xs:sequence>
 
8691
                                                <xs:element name="animation" type="animation_type" maxOccurs="unbounded"/>
 
8692
                                        </xs:choice>
 
8693
                                </xs:sequence>
 
8694
                                <xs:sequence>
 
8695
                                        <xs:element name="sampler" type="sampler_type" maxOccurs="unbounded"/>
 
8696
                                        <xs:element name="channel" type="channel_type" maxOccurs="unbounded"/>
 
8697
                                        <xs:element name="animation" type="animation_type" minOccurs="0" maxOccurs="unbounded"/>
 
8698
                                </xs:sequence>
 
8699
                                <xs:element name="animation" type="animation_type" maxOccurs="unbounded"/>
 
8700
                        </xs:choice>
 
8701
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8702
                                <xs:annotation>
 
8703
                                        <xs:documentation>
 
8704
                                                The extra element may appear any number of times.
 
8705
                                                </xs:documentation>
 
8706
                                </xs:annotation>
 
8707
                        </xs:element>
 
8708
                </xs:sequence>
 
8709
                <xs:attribute name="id" type="xs:ID">
 
8710
                        <xs:annotation>
 
8711
                                <xs:documentation>
 
8712
                                        The id attribute is a text string containing the unique identifier of this element. This value 
 
8713
                                        must be unique within the instance document. Optional attribute.
 
8714
                                        </xs:documentation>
 
8715
                        </xs:annotation>
 
8716
                </xs:attribute>
 
8717
                <xs:attribute name="name" type="xs:token">
 
8718
                        <xs:annotation>
 
8719
                                <xs:documentation>
 
8720
                                        The name attribute is the text string name of this element. Optional attribute.
 
8721
                                        </xs:documentation>
 
8722
                        </xs:annotation>
 
8723
                </xs:attribute>
 
8724
        </xs:complexType>
 
8725
        <xs:complexType name="library_animations_type">
 
8726
                <xs:annotation>
 
8727
                        <xs:documentation>
 
8728
                        The library_animations element declares a module of animation elements.
 
8729
                        </xs:documentation>
 
8730
                </xs:annotation>
 
8731
                <xs:sequence>
 
8732
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
8733
                                <xs:annotation>
 
8734
                                        <xs:documentation>
 
8735
                                                The library_animations element may contain an asset element.
 
8736
                                                </xs:documentation>
 
8737
                                </xs:annotation>
 
8738
                        </xs:element>
 
8739
                        <xs:element name="animation" type="animation_type" maxOccurs="unbounded">
 
8740
                                <xs:annotation>
 
8741
                                        <xs:documentation>
 
8742
                                                There must be at least one animation element.
 
8743
                                                </xs:documentation>
 
8744
                                </xs:annotation>
 
8745
                        </xs:element>
 
8746
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8747
                                <xs:annotation>
 
8748
                                        <xs:documentation>
 
8749
                                                The extra element may appear any number of times.
 
8750
                                                </xs:documentation>
 
8751
                                </xs:annotation>
 
8752
                        </xs:element>
 
8753
                </xs:sequence>
 
8754
                <xs:attribute name="id" type="xs:ID">
 
8755
                        <xs:annotation>
 
8756
                                <xs:documentation>
 
8757
                                        The id attribute is a text string containing the unique identifier of this element. 
 
8758
                                        This value must be unique within the instance document. Optional attribute.
 
8759
                                        </xs:documentation>
 
8760
                        </xs:annotation>
 
8761
                </xs:attribute>
 
8762
                <xs:attribute name="name" type="xs:token">
 
8763
                        <xs:annotation>
 
8764
                                <xs:documentation>
 
8765
                                        The name attribute is the text string name of this element. Optional attribute.
 
8766
                                        </xs:documentation>
 
8767
                        </xs:annotation>
 
8768
                </xs:attribute>
 
8769
        </xs:complexType>
 
8770
        <xs:complexType name="skin_type">
 
8771
                <xs:annotation>
 
8772
                        <xs:documentation>
 
8773
                        The skin element contains vertex and primitive information sufficient to describe blend-weight skinning.
 
8774
                        </xs:documentation>
 
8775
                </xs:annotation>
 
8776
                <xs:sequence>
 
8777
                        <xs:element name="bind_shape_matrix" type="float4x4_type" minOccurs="0">
 
8778
                                <xs:annotation>
 
8779
                                        <xs:documentation>
 
8780
                                                This provides extra information about the position and orientation of the base mesh before binding. 
 
8781
                                                If bind_shape_matrix is not specified then an identity matrix may be used as the bind_shape_matrix.
 
8782
                                                The bind_shape_matrix element may occur zero or one times.
 
8783
                                                </xs:documentation>
 
8784
                                </xs:annotation>
 
8785
                        </xs:element>
 
8786
                        <xs:element name="source" type="source_type" minOccurs="3" maxOccurs="unbounded">
 
8787
                                <xs:annotation>
 
8788
                                        <xs:documentation>
 
8789
                                                The skin element must contain at least three source elements.
 
8790
                                                </xs:documentation>
 
8791
                                </xs:annotation>
 
8792
                        </xs:element>
 
8793
                        <xs:element name="joints">
 
8794
                                <xs:annotation>
 
8795
                                        <xs:documentation>
 
8796
                                                The joints element associates joint, or skeleton, nodes with attribute data.  
 
8797
                                                In COLLADA, this is specified by the inverse bind matrix of each joint (influence) in the skeleton.
 
8798
                                                </xs:documentation>
 
8799
                                </xs:annotation>
 
8800
                                <xs:complexType>
 
8801
                                        <xs:sequence>
 
8802
                                                <xs:element name="input" type="input_local_type" minOccurs="2" maxOccurs="unbounded">
 
8803
                                                        <xs:annotation>
 
8804
                                                                <xs:documentation>
 
8805
                                                                        The input element must occur at least twice. These inputs are local inputs.
 
8806
                                                                        </xs:documentation>
 
8807
                                                        </xs:annotation>
 
8808
                                                </xs:element>
 
8809
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8810
                                                        <xs:annotation>
 
8811
                                                                <xs:documentation>
 
8812
                                                                        The extra element may appear any number of times.
 
8813
                                                                        </xs:documentation>
 
8814
                                                        </xs:annotation>
 
8815
                                                </xs:element>
 
8816
                                        </xs:sequence>
 
8817
                                </xs:complexType>
 
8818
                        </xs:element>
 
8819
                        <xs:element name="vertex_weights">
 
8820
                                <xs:annotation>
 
8821
                                        <xs:documentation>
 
8822
                                                The vertex_weights element associates a set of joint-weight pairs with each vertex in the base mesh.
 
8823
                                                </xs:documentation>
 
8824
                                </xs:annotation>
 
8825
                                <xs:complexType>
 
8826
                                        <xs:sequence>
 
8827
                                                <xs:element name="input" type="input_local_offset_type" minOccurs="2" maxOccurs="unbounded">
 
8828
                                                        <xs:annotation>
 
8829
                                                                <xs:documentation>
 
8830
                                                                        The input element must occur at least twice.
 
8831
                                                                        </xs:documentation>
 
8832
                                                        </xs:annotation>
 
8833
                                                </xs:element>
 
8834
                                                <xs:element name="vcount" type="list_of_uints_type" minOccurs="0">
 
8835
                                                        <xs:annotation>
 
8836
                                                                <xs:documentation>
 
8837
                                                                        The vcount element contains a list of integers describing the number of influences for each vertex.
 
8838
                                                                        The vcount element may occur once.
 
8839
                                                                        </xs:documentation>
 
8840
                                                        </xs:annotation>
 
8841
                                                </xs:element>
 
8842
                                                <xs:element name="v" type="list_of_ints_type" minOccurs="0">
 
8843
                                                        <xs:annotation>
 
8844
                                                                <xs:documentation>
 
8845
                                                                        The v element describes which bones and attributes are associated with each vertex.  An index 
 
8846
                                                                        of -1 into the array of joints refers to the bind shape.  Weights should be normalized before use.
 
8847
                                                                        The v element must occur zero or one times.
 
8848
                                                                        </xs:documentation>
 
8849
                                                        </xs:annotation>
 
8850
                                                </xs:element>
 
8851
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8852
                                                        <xs:annotation>
 
8853
                                                                <xs:documentation>
 
8854
                                                                        The extra element may appear any number of times.
 
8855
                                                                        </xs:documentation>
 
8856
                                                        </xs:annotation>
 
8857
                                                </xs:element>
 
8858
                                        </xs:sequence>
 
8859
                                        <xs:attribute name="count" type="uint_type" use="required">
 
8860
                                                <xs:annotation>
 
8861
                                                        <xs:documentation>
 
8862
                                                                The count attribute describes the number of vertices in the base mesh. Required element. 
 
8863
                                                                </xs:documentation>
 
8864
                                                </xs:annotation>
 
8865
                                        </xs:attribute>
 
8866
                                </xs:complexType>
 
8867
                        </xs:element>
 
8868
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8869
                                <xs:annotation>
 
8870
                                        <xs:documentation>
 
8871
                                                The extra element may appear any number of times.
 
8872
                                                </xs:documentation>
 
8873
                                </xs:annotation>
 
8874
                        </xs:element>
 
8875
                </xs:sequence>
 
8876
                <xs:attribute name="source" type="xs:anyURI" use="required">
 
8877
                        <xs:annotation>
 
8878
                                <xs:documentation>
 
8879
                                        The source attribute contains a URI reference to the base mesh, (a static mesh or a morphed mesh).
 
8880
                                        This also provides the bind-shape of the skinned mesh.  Required attribute.
 
8881
                                        </xs:documentation>
 
8882
                        </xs:annotation>
 
8883
                </xs:attribute>
 
8884
        </xs:complexType>
 
8885
        <xs:complexType name="convex_mesh_type">
 
8886
                <xs:annotation>
 
8887
                        <xs:documentation>
 
8888
                        The definition of the convex_mesh element is identical to the mesh element with the exception that 
 
8889
                        instead of a complete description (source, vertices, polygons etc.), it may simply point to another 
 
8890
                        geometry to derive its shape. The latter case means that the convex hull of that geometry should 
 
8891
                        be computed and is indicated by the optional "convex_hull_of" attribute.
 
8892
                        </xs:documentation>
 
8893
                </xs:annotation>
 
8894
                <xs:sequence minOccurs="0">
 
8895
                        <xs:element name="source" type="source_type" maxOccurs="unbounded"/>
 
8896
                        <xs:element name="vertices" type="vertices_type"/>
 
8897
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
8898
                                <xs:element name="lines" type="lines_type"/>
 
8899
                                <xs:element name="linestrips" type="linestrips_type"/>
 
8900
                                <xs:element name="polygons" type="polygons_type"/>
 
8901
                                <xs:element name="polylist" type="polylist_type"/>
 
8902
                                <xs:element name="triangles" type="triangles_type"/>
 
8903
                                <xs:element name="trifans" type="trifans_type"/>
 
8904
                                <xs:element name="tristrips" type="tristrips_type"/>
 
8905
                        </xs:choice>
 
8906
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8907
                                <xs:annotation>
 
8908
                                        <xs:documentation>
 
8909
                                                The extra element may appear any number of times.
 
8910
                                                </xs:documentation>
 
8911
                                </xs:annotation>
 
8912
                        </xs:element>
 
8913
                </xs:sequence>
 
8914
                <xs:attribute name="convex_hull_of" type="xs:anyURI">
 
8915
                        <xs:annotation>
 
8916
                                <xs:documentation>
 
8917
                                        The convex_hull_of attribute is a URI string of geometry to compute the convex hull of. 
 
8918
                                        Optional attribute.
 
8919
                                        </xs:documentation>
 
8920
                        </xs:annotation>
 
8921
                </xs:attribute>
 
8922
        </xs:complexType>
 
8923
        <xs:complexType name="mesh_type">
 
8924
                <xs:annotation>
 
8925
                        <xs:documentation>
 
8926
                        The mesh element contains vertex and primitive information sufficient to describe basic geometric meshes.
 
8927
                        </xs:documentation>
 
8928
                </xs:annotation>
 
8929
                <xs:sequence>
 
8930
                        <xs:element name="source" type="source_type" maxOccurs="unbounded">
 
8931
                                <xs:annotation>
 
8932
                                        <xs:documentation>
 
8933
                                                The mesh element must contain one or more source elements.
 
8934
                                                </xs:documentation>
 
8935
                                </xs:annotation>
 
8936
                        </xs:element>
 
8937
                        <xs:element name="vertices" type="vertices_type">
 
8938
                                <xs:annotation>
 
8939
                                        <xs:documentation>
 
8940
                                                The mesh element must contain one vertices element.
 
8941
                                                </xs:documentation>
 
8942
                                </xs:annotation>
 
8943
                        </xs:element>
 
8944
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
8945
                                <xs:element name="lines" type="lines_type">
 
8946
                                        <xs:annotation>
 
8947
                                                <xs:documentation>
 
8948
                                                        The mesh element may contain any number of lines elements.
 
8949
                                                        </xs:documentation>
 
8950
                                        </xs:annotation>
 
8951
                                </xs:element>
 
8952
                                <xs:element name="linestrips" type="linestrips_type">
 
8953
                                        <xs:annotation>
 
8954
                                                <xs:documentation>
 
8955
                                                        The mesh element may contain any number of linestrips elements.
 
8956
                                                        </xs:documentation>
 
8957
                                        </xs:annotation>
 
8958
                                </xs:element>
 
8959
                                <xs:element name="polygons" type="polygons_type">
 
8960
                                        <xs:annotation>
 
8961
                                                <xs:documentation>
 
8962
                                                        The mesh element may contain any number of polygons elements.
 
8963
                                                        </xs:documentation>
 
8964
                                        </xs:annotation>
 
8965
                                </xs:element>
 
8966
                                <xs:element name="polylist" type="polylist_type">
 
8967
                                        <xs:annotation>
 
8968
                                                <xs:documentation>
 
8969
                                                        The mesh element may contain any number of polylist elements.
 
8970
                                                        </xs:documentation>
 
8971
                                        </xs:annotation>
 
8972
                                </xs:element>
 
8973
                                <xs:element name="triangles" type="triangles_type">
 
8974
                                        <xs:annotation>
 
8975
                                                <xs:documentation>
 
8976
                                                        The mesh element may contain any number of triangles elements.
 
8977
                                                        </xs:documentation>
 
8978
                                        </xs:annotation>
 
8979
                                </xs:element>
 
8980
                                <xs:element name="trifans" type="trifans_type">
 
8981
                                        <xs:annotation>
 
8982
                                                <xs:documentation>
 
8983
                                                        The mesh element may contain any number of trifans elements.
 
8984
                                                        </xs:documentation>
 
8985
                                        </xs:annotation>
 
8986
                                </xs:element>
 
8987
                                <xs:element name="tristrips" type="tristrips_type">
 
8988
                                        <xs:annotation>
 
8989
                                                <xs:documentation>
 
8990
                                                        The mesh element may contain any number of tristrips elements.
 
8991
                                                        </xs:documentation>
 
8992
                                        </xs:annotation>
 
8993
                                </xs:element>
 
8994
                        </xs:choice>
 
8995
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
8996
                                <xs:annotation>
 
8997
                                        <xs:documentation>
 
8998
                                                The extra element may appear any number of times.
 
8999
                                                </xs:documentation>
 
9000
                                </xs:annotation>
 
9001
                        </xs:element>
 
9002
                </xs:sequence>
 
9003
        </xs:complexType>
 
9004
        <xs:complexType name="spline_type">
 
9005
                <xs:annotation>
 
9006
                        <xs:documentation>
 
9007
                        The spline element contains control vertex information sufficient to describe basic splines.
 
9008
                        </xs:documentation>
 
9009
                </xs:annotation>
 
9010
                <xs:sequence>
 
9011
                        <xs:element name="source" type="source_type" maxOccurs="unbounded">
 
9012
                                <xs:annotation>
 
9013
                                        <xs:documentation>
 
9014
                                                The mesh element must contain one or more source elements.
 
9015
                                                </xs:documentation>
 
9016
                                </xs:annotation>
 
9017
                        </xs:element>
 
9018
                        <xs:element name="control_vertices">
 
9019
                                <xs:annotation>
 
9020
                                        <xs:documentation>The control vertices element  must occur  exactly one time. It is used to describe the CVs of the spline.</xs:documentation>
 
9021
                                </xs:annotation>
 
9022
                                <xs:complexType>
 
9023
                                        <xs:sequence>
 
9024
                                                <xs:element name="input" type="input_local_type" maxOccurs="unbounded">
 
9025
                                                        <xs:annotation>
 
9026
                                                                <xs:documentation>
 
9027
                                                The input element must occur at least one time. These inputs are local inputs.
 
9028
                                                </xs:documentation>
 
9029
                                                        </xs:annotation>
 
9030
                                                </xs:element>
 
9031
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9032
                                                        <xs:annotation>
 
9033
                                                                <xs:documentation>
 
9034
                                                The extra element may appear any number of times.
 
9035
                                                </xs:documentation>
 
9036
                                                        </xs:annotation>
 
9037
                                                </xs:element>
 
9038
                                        </xs:sequence>
 
9039
                                </xs:complexType>
 
9040
                        </xs:element>
 
9041
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9042
                                <xs:annotation>
 
9043
                                        <xs:documentation>
 
9044
                                                The extra element may appear any number of times.
 
9045
                                                </xs:documentation>
 
9046
                                </xs:annotation>
 
9047
                        </xs:element>
 
9048
                </xs:sequence>
 
9049
                <xs:attribute name="closed" type="xs:boolean" default="false"/>
 
9050
        </xs:complexType>
 
9051
        <xs:complexType name="nurbs_surface_type">
 
9052
                <xs:sequence>
 
9053
                        <xs:element name="source" type="source_type" maxOccurs="unbounded"/>
 
9054
                        <xs:element name="control_vertices">
 
9055
                                <xs:annotation>
 
9056
                                        <xs:documentation>
 
9057
                                                        The control vertices element must occur
 
9058
                                                        exactly one time. It is used to describe the
 
9059
                                                        CVs of the spline.
 
9060
                                                </xs:documentation>
 
9061
                                </xs:annotation>
 
9062
                                <xs:complexType>
 
9063
                                        <xs:sequence>
 
9064
                                                <xs:element name="input" type="input_local_type" maxOccurs="unbounded">
 
9065
                                                        <xs:annotation>
 
9066
                                                                <xs:documentation>
 
9067
                                                                                The input element must occur at
 
9068
                                                                                least one time. These inputs are
 
9069
                                                                                local inputs.
 
9070
                                                                        </xs:documentation>
 
9071
                                                        </xs:annotation>
 
9072
                                                </xs:element>
 
9073
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9074
                                                        <xs:annotation>
 
9075
                                                                <xs:documentation>
 
9076
                                                                                The extra element may appear any
 
9077
                                                                                number of times.
 
9078
                                                                        </xs:documentation>
 
9079
                                                        </xs:annotation>
 
9080
                                                </xs:element>
 
9081
                                        </xs:sequence>
 
9082
                                </xs:complexType>
 
9083
                        </xs:element>
 
9084
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
9085
                </xs:sequence>
 
9086
                <xs:attribute name="degree_u" type="uint_type" use="required"/>
 
9087
                <xs:attribute name="closed_u" type="xs:boolean" default="false"/>
 
9088
                <xs:attribute name="degree_v" type="uint_type" use="required"/>
 
9089
                <xs:attribute name="closed_v" type="xs:boolean" default="false"/>
 
9090
        </xs:complexType>
 
9091
        <xs:complexType name="nurbs_type">
 
9092
                <xs:sequence>
 
9093
                        <xs:element name="source" type="source_type" maxOccurs="unbounded"/>
 
9094
                        <xs:element name="control_vertices">
 
9095
                                <xs:annotation>
 
9096
                                        <xs:documentation>The control vertices element  must occur  exactly one time. It is used to describe the CVs of the spline.</xs:documentation>
 
9097
                                </xs:annotation>
 
9098
                                <xs:complexType>
 
9099
                                        <xs:sequence>
 
9100
                                                <xs:element name="input" type="input_local_type" maxOccurs="unbounded">
 
9101
                                                        <xs:annotation>
 
9102
                                                                <xs:documentation>
 
9103
                                                The input element must occur at least one time. These inputs are local inputs.
 
9104
                                                                        </xs:documentation>
 
9105
                                                        </xs:annotation>
 
9106
                                                </xs:element>
 
9107
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9108
                                                        <xs:annotation>
 
9109
                                                                <xs:documentation>
 
9110
                                                The extra element may appear any number of times.
 
9111
                                                                        </xs:documentation>
 
9112
                                                        </xs:annotation>
 
9113
                                                </xs:element>
 
9114
                                        </xs:sequence>
 
9115
                                </xs:complexType>
 
9116
                        </xs:element>
 
9117
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
9118
                </xs:sequence>
 
9119
                <xs:attribute name="degree" type="uint_type" use="required"/>
 
9120
                <xs:attribute name="closed" type="xs:boolean" default="false"/>
 
9121
        </xs:complexType>
 
9122
        <xs:complexType name="morph_type">
 
9123
                <xs:annotation>
 
9124
                        <xs:documentation>
 
9125
                        The morph element describes the data required to blend between sets of static meshes. Each 
 
9126
                        possible mesh that can be blended (a morph target) must be specified.
 
9127
                        </xs:documentation>
 
9128
                </xs:annotation>
 
9129
                <xs:sequence>
 
9130
                        <xs:element name="source" type="source_type" minOccurs="2" maxOccurs="unbounded">
 
9131
                                <xs:annotation>
 
9132
                                        <xs:documentation>
 
9133
                                                The morph element must contain at least two source elements.
 
9134
                                                </xs:documentation>
 
9135
                                </xs:annotation>
 
9136
                        </xs:element>
 
9137
                        <xs:element name="targets">
 
9138
                                <xs:annotation>
 
9139
                                        <xs:documentation>
 
9140
                                                The targets element declares the morph targets, their weights and any user defined attributes 
 
9141
                                                associated with them.
 
9142
                                                </xs:documentation>
 
9143
                                </xs:annotation>
 
9144
                                <xs:complexType>
 
9145
                                        <xs:sequence>
 
9146
                                                <xs:element name="input" type="input_local_type" minOccurs="2" maxOccurs="unbounded">
 
9147
                                                        <xs:annotation>
 
9148
                                                                <xs:documentation>
 
9149
                                                                        The input element must occur at least twice. These inputs are local inputs.
 
9150
                                                                        </xs:documentation>
 
9151
                                                        </xs:annotation>
 
9152
                                                </xs:element>
 
9153
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9154
                                                        <xs:annotation>
 
9155
                                                                <xs:documentation>
 
9156
                                                                        The extra element may appear any number of times.
 
9157
                                                                        </xs:documentation>
 
9158
                                                        </xs:annotation>
 
9159
                                                </xs:element>
 
9160
                                        </xs:sequence>
 
9161
                                </xs:complexType>
 
9162
                        </xs:element>
 
9163
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9164
                                <xs:annotation>
 
9165
                                        <xs:documentation>
 
9166
                                                The extra element may appear any number of times.
 
9167
                                                </xs:documentation>
 
9168
                                </xs:annotation>
 
9169
                        </xs:element>
 
9170
                </xs:sequence>
 
9171
                <xs:attribute name="method" type="morph_method_enum" default="NORMALIZED">
 
9172
                        <xs:annotation>
 
9173
                                <xs:documentation>
 
9174
                                        The method attribute specifies the which blending technique to use. The accepted values are 
 
9175
                                        NORMALIZED, and RELATIVE. The default value if not specified is NORMALIZED.  Optional attribute.
 
9176
                                        </xs:documentation>
 
9177
                        </xs:annotation>
 
9178
                </xs:attribute>
 
9179
                <xs:attribute name="source" type="xs:anyURI" use="required">
 
9180
                        <xs:annotation>
 
9181
                                <xs:documentation>
 
9182
                                        The source attribute indicates the base mesh. Required attribute.
 
9183
                                        </xs:documentation>
 
9184
                        </xs:annotation>
 
9185
                </xs:attribute>
 
9186
        </xs:complexType>
 
9187
        <xs:complexType name="controller_type">
 
9188
                <xs:annotation>
 
9189
                        <xs:documentation>
 
9190
                        The controller element categorizes the declaration of generic control information.
 
9191
                        A controller is a device or mechanism that manages and directs the operations of another object.
 
9192
                        </xs:documentation>
 
9193
                </xs:annotation>
 
9194
                <xs:sequence>
 
9195
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
9196
                                <xs:annotation>
 
9197
                                        <xs:documentation>
 
9198
                                                The controller element may contain an asset element.
 
9199
                                                </xs:documentation>
 
9200
                                </xs:annotation>
 
9201
                        </xs:element>
 
9202
                        <xs:choice>
 
9203
                                <xs:element name="skin" type="skin_type">
 
9204
                                        <xs:annotation>
 
9205
                                                <xs:documentation>
 
9206
                                                        The controller element may contain either a skin element or a morph element.
 
9207
                                                        </xs:documentation>
 
9208
                                        </xs:annotation>
 
9209
                                </xs:element>
 
9210
                                <xs:element name="morph" type="morph_type">
 
9211
                                        <xs:annotation>
 
9212
                                                <xs:documentation>
 
9213
                                                        The controller element may contain either a skin element or a morph element.
 
9214
                                                        </xs:documentation>
 
9215
                                        </xs:annotation>
 
9216
                                </xs:element>
 
9217
                        </xs:choice>
 
9218
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9219
                                <xs:annotation>
 
9220
                                        <xs:documentation>
 
9221
                                                The extra element may appear any number of times.
 
9222
                                                </xs:documentation>
 
9223
                                </xs:annotation>
 
9224
                        </xs:element>
 
9225
                </xs:sequence>
 
9226
                <xs:attribute name="id" type="xs:ID">
 
9227
                        <xs:annotation>
 
9228
                                <xs:documentation>
 
9229
                                        The id attribute is a text string containing the unique identifier of this element. This value 
 
9230
                                        must be unique within the instance document. Optional attribute.
 
9231
                                        </xs:documentation>
 
9232
                        </xs:annotation>
 
9233
                </xs:attribute>
 
9234
                <xs:attribute name="name" type="xs:token">
 
9235
                        <xs:annotation>
 
9236
                                <xs:documentation>
 
9237
                                        The name attribute is the text string name of this element. Optional attribute.
 
9238
                                        </xs:documentation>
 
9239
                        </xs:annotation>
 
9240
                </xs:attribute>
 
9241
        </xs:complexType>
 
9242
        <xs:complexType name="library_controllers_type">
 
9243
                <xs:annotation>
 
9244
                        <xs:documentation>
 
9245
                        The library_controllers element declares a module of controller elements.
 
9246
                        </xs:documentation>
 
9247
                </xs:annotation>
 
9248
                <xs:sequence>
 
9249
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
9250
                                <xs:annotation>
 
9251
                                        <xs:documentation>
 
9252
                                                The library_controllers element may contain an asset element.
 
9253
                                                </xs:documentation>
 
9254
                                </xs:annotation>
 
9255
                        </xs:element>
 
9256
                        <xs:element name="controller" type="controller_type" maxOccurs="unbounded">
 
9257
                                <xs:annotation>
 
9258
                                        <xs:documentation>
 
9259
                                                There must be at least one controller element.
 
9260
                                                </xs:documentation>
 
9261
                                </xs:annotation>
 
9262
                        </xs:element>
 
9263
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9264
                                <xs:annotation>
 
9265
                                        <xs:documentation>
 
9266
                                                The extra element may appear any number of times.
 
9267
                                                </xs:documentation>
 
9268
                                </xs:annotation>
 
9269
                        </xs:element>
 
9270
                </xs:sequence>
 
9271
                <xs:attribute name="id" type="xs:ID">
 
9272
                        <xs:annotation>
 
9273
                                <xs:documentation>
 
9274
                                        The id attribute is a text string containing the unique identifier of this element. 
 
9275
                                        This value must be unique within the instance document. Optional attribute.
 
9276
                                        </xs:documentation>
 
9277
                        </xs:annotation>
 
9278
                </xs:attribute>
 
9279
                <xs:attribute name="name" type="xs:token">
 
9280
                        <xs:annotation>
 
9281
                                <xs:documentation>
 
9282
                                        The name attribute is the text string name of this element. Optional attribute.
 
9283
                                        </xs:documentation>
 
9284
                        </xs:annotation>
 
9285
                </xs:attribute>
 
9286
        </xs:complexType>
 
9287
        <xs:complexType name="origin_type">
 
9288
                <xs:simpleContent>
 
9289
                        <xs:extension base="float3_type"/>
 
9290
                </xs:simpleContent>
 
9291
        </xs:complexType>
 
9292
        <xs:complexType name="orient_type">
 
9293
                <xs:simpleContent>
 
9294
                        <xs:extension base="float4_type"/>
 
9295
                </xs:simpleContent>
 
9296
        </xs:complexType>
 
9297
        <xs:complexType name="curve_type">
 
9298
                <xs:annotation>
 
9299
                        <xs:documentation>     A curveType defines the attributes of a curve element.     With rotate and translate the surface can be positioned     to its right location.    </xs:documentation>
 
9300
                </xs:annotation>
 
9301
                <xs:sequence>
 
9302
                        <xs:choice>
 
9303
                                <xs:element name="line" type="line_type"/>
 
9304
                                <xs:element name="circle" type="circle_type"/>
 
9305
                                <xs:element name="ellipse" type="ellipse_type"/>
 
9306
                                <xs:element name="parabola" type="parabola_type"/>
 
9307
                                <xs:element name="hyperbola" type="hyperbola_type"/>
 
9308
                                <xs:element name="nurbs" type="nurbs_type"/>
 
9309
                        </xs:choice>
 
9310
                        <xs:element name="orient" type="orient_type" minOccurs="0" maxOccurs="unbounded"/>
 
9311
                        <xs:element name="origin" type="origin_type" minOccurs="0"/>
 
9312
                </xs:sequence>
 
9313
                <xs:attribute name="sid" type="sid_type" use="optional">
 
9314
                        <xs:annotation>
 
9315
                                <xs:documentation>The id of a curve.</xs:documentation>
 
9316
                        </xs:annotation>
 
9317
                </xs:attribute>
 
9318
                <xs:attribute name="name" type="xs:token" use="optional">
 
9319
                        <xs:annotation>
 
9320
                                <xs:documentation>      The name of a curve.     </xs:documentation>
 
9321
                        </xs:annotation>
 
9322
                </xs:attribute>
 
9323
        </xs:complexType>
 
9324
        <xs:complexType name="surface_curves_type">
 
9325
                <xs:annotation>
 
9326
                        <xs:documentation>
 
9327
                                This element holds all the pcurves that are needed for
 
9328
                                the geometrical description of the topological entities
 
9329
                                edges on the surfaces they lie on.
 
9330
                        </xs:documentation>
 
9331
                </xs:annotation>
 
9332
                <xs:sequence>
 
9333
                        <xs:element name="curve" type="curve_type" maxOccurs="unbounded"/>
 
9334
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
9335
                </xs:sequence>
 
9336
        </xs:complexType>
 
9337
        <xs:complexType name="curves_type">
 
9338
                <xs:annotation>
 
9339
                        <xs:documentation>
 
9340
                                This element holds all the curves that are needed for
 
9341
                                the geometrical description of the topological entities
 
9342
                                edges.
 
9343
                        </xs:documentation>
 
9344
                </xs:annotation>
 
9345
                <xs:sequence>
 
9346
                        <xs:element name="curve" type="curve_type" maxOccurs="unbounded"/>
 
9347
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
9348
                </xs:sequence>
 
9349
        </xs:complexType>
 
9350
        <xs:complexType name="swept_surface_type">
 
9351
                <xs:annotation>
 
9352
                        <xs:documentation>     Describes a surface of linear extrusion ("extruded     surface"), e.g. a generalized cylinder. Such a surface     is obtained by sweeping a curve (called the "extruded     curve" or "basis") in a given direction (referred to as     the "direction of extrusion" and defined by a unit     vector). The u parameter is along the extruded curve.     The v parameter is along the direction of extrusion. The     parameter range for the u parameter is defined by the     reference curve. The parameter range for the v parameter     is ] - infinity, + infinity [. The position of the curve     gives the origin of the v parameter. The form of a     surface of linear extrusion is generally a ruled     surface. It can be: - a cylindrical surface, if the     extruded curve is a circle, or a trimmed circle, with an     axis parallel to the direction of extrusion, or - a     planar surface, if the extruded curve is a line.    </xs:documentation>
 
9353
                </xs:annotation>
 
9354
                <xs:sequence>
 
9355
                        <xs:element name="curve" type="curve_type"/>
 
9356
                        <xs:choice>
 
9357
                                <xs:element name="direction" type="float3_type"/>
 
9358
                                <xs:sequence>
 
9359
                                        <xs:element name="origin" type="float3_type"/>
 
9360
                                        <xs:element name="axis" type="float3_type"/>
 
9361
                                </xs:sequence>
 
9362
                        </xs:choice>
 
9363
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
9364
                </xs:sequence>
 
9365
        </xs:complexType>
 
9366
        <xs:complexType name="cone_type">
 
9367
                <xs:sequence>
 
9368
                        <xs:element name="radius" type="float_type"/>
 
9369
                        <xs:element name="angle" type="xs:float"/>
 
9370
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
9371
                </xs:sequence>
 
9372
        </xs:complexType>
 
9373
        <xs:complexType name="surface_type">
 
9374
                <xs:annotation>
 
9375
                        <xs:documentation>     A surfaceType defines the attributes of a surface     element. With rotate and translate the surface can be     positioned to its right location.    </xs:documentation>
 
9376
                </xs:annotation>
 
9377
                <xs:sequence>
 
9378
                        <xs:choice>
 
9379
                                <xs:element name="plane" type="plane_type"/>
 
9380
                                <xs:element name="sphere" type="sphere_type"/>
 
9381
                                <xs:element name="torus" type="torus_type"/>
 
9382
                                <xs:element name="swept_surface" type="swept_surface_type"/>
 
9383
                                <xs:element name="nurbs_surface" type="nurbs_surface_type"/>
 
9384
                                <xs:element name="cone" type="cone_type"/>
 
9385
                                <xs:element name="cylinder">
 
9386
                                        <xs:complexType>
 
9387
                                                <xs:sequence>
 
9388
                                                        <xs:element name="radius" type="float_type"/>
 
9389
                                                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
9390
                                                </xs:sequence>
 
9391
                                        </xs:complexType>
 
9392
                                </xs:element>
 
9393
                        </xs:choice>
 
9394
                        <xs:element name="orient" type="orient_type" minOccurs="0" maxOccurs="unbounded"/>
 
9395
                        <xs:element name="origin" type="origin_type" minOccurs="0"/>
 
9396
                </xs:sequence>
 
9397
                <xs:attribute name="sid" type="sid_type" use="optional">
 
9398
                        <xs:annotation>
 
9399
                                <xs:documentation>      The id of the surface.     </xs:documentation>
 
9400
                        </xs:annotation>
 
9401
                </xs:attribute>
 
9402
                <xs:attribute name="name" type="xs:token">
 
9403
                        <xs:annotation>
 
9404
                                <xs:documentation>      The name of the surface.     </xs:documentation>
 
9405
                        </xs:annotation>
 
9406
                </xs:attribute>
 
9407
        </xs:complexType>
 
9408
        <xs:complexType name="surfaces_type">
 
9409
                <xs:sequence>
 
9410
                        <xs:element name="surface" type="surface_type" maxOccurs="unbounded"/>
 
9411
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
9412
                </xs:sequence>
 
9413
        </xs:complexType>
 
9414
        <xs:complexType name="brep_type">
 
9415
                <xs:annotation>
 
9416
                        <xs:documentation>     The brep element contains the complete topological     description of a static structure. There are also the     corresponding geometrical descriptions of the vertices,     edges and faces.    </xs:documentation>
 
9417
                </xs:annotation>
 
9418
                <xs:sequence>
 
9419
                        <xs:annotation>
 
9420
                                <xs:documentation/>
 
9421
                        </xs:annotation>
 
9422
                        <xs:element name="curves" type="curves_type" minOccurs="0">
 
9423
                                <xs:annotation>
 
9424
                                        <xs:documentation>
 
9425
                                                        The curves element holds all the curves that
 
9426
                                                        are needed for the brep structure. Here are
 
9427
                                                        the curves that describes the kind of an
 
9428
                                                        edge, but here are also the curves that are
 
9429
                                                        needed to create a extrusion for a surface.
 
9430
                                                        This element is needed, if the edges element
 
9431
                                                        is present.
 
9432
                                                </xs:documentation>
 
9433
                                </xs:annotation>
 
9434
                        </xs:element>
 
9435
                        <xs:element name="surface_curves" type="surface_curves_type" minOccurs="0"/>
 
9436
                        <xs:element name="surfaces" type="surfaces_type" minOccurs="0">
 
9437
                                <xs:annotation>
 
9438
                                        <xs:documentation>
 
9439
                                                        The surfaces element holds all the surfaces
 
9440
                                                        that are needed for the brep structure. Here
 
9441
                                                        are the surfaces that describes the kind of
 
9442
                                                        a face. This element is needed, if the faces
 
9443
                                                        element is present.
 
9444
                                                </xs:documentation>
 
9445
                                </xs:annotation>
 
9446
                        </xs:element>
 
9447
                        <xs:element name="source" type="source_type" maxOccurs="unbounded">
 
9448
                                <xs:annotation>
 
9449
                                        <xs:documentation>
 
9450
                                                        The source elements define the access of the
 
9451
                                                        elements vertices, edges and faces to their
 
9452
                                                        geometric entities. At least one source
 
9453
                                                        element is needed for the vertices. If there
 
9454
                                                        are edges a second source element is needed
 
9455
                                                        for accessing the curves in the curve
 
9456
                                                        element by an IDREF_array. If there are
 
9457
                                                        faces the third source element is needed for
 
9458
                                                        accessing the surfaces in the surface
 
9459
                                                        element by an IDREF_array.
 
9460
                                                </xs:documentation>
 
9461
                                </xs:annotation>
 
9462
                        </xs:element>
 
9463
                        <xs:element name="vertices" type="vertices_type">
 
9464
                                <xs:annotation>
 
9465
                                        <xs:documentation>
 
9466
                                                        This element defines all the vertices of an
 
9467
                                                        brep structure. Vertices are the base
 
9468
                                                        topological entity for all brep structures,
 
9469
                                                        so this element is ever needed.
 
9470
                                                </xs:documentation>
 
9471
                                </xs:annotation>
 
9472
                        </xs:element>
 
9473
                        <xs:element name="edges" type="edges_type" minOccurs="0">
 
9474
                                <xs:annotation>
 
9475
                                        <xs:documentation>
 
9476
                                                        This element defines all the edges of the
 
9477
                                                        brep structure.
 
9478
                                                </xs:documentation>
 
9479
                                </xs:annotation>
 
9480
                        </xs:element>
 
9481
                        <xs:element name="wires" type="wires_type" minOccurs="0">
 
9482
                                <xs:annotation>
 
9483
                                        <xs:documentation>
 
9484
                                                        This element defines all the wires of the
 
9485
                                                        brep structure.
 
9486
                                                </xs:documentation>
 
9487
                                </xs:annotation>
 
9488
                        </xs:element>
 
9489
                        <xs:element name="faces" type="faces_type" minOccurs="0">
 
9490
                                <xs:annotation>
 
9491
                                        <xs:documentation>
 
9492
                                                        This element defines all the faces of the
 
9493
                                                        brep structure.
 
9494
                                                </xs:documentation>
 
9495
                                </xs:annotation>
 
9496
                        </xs:element>
 
9497
                        <xs:element name="pcurves" type="pcurves_type" minOccurs="0"/>
 
9498
                        <xs:element name="shells" type="shells_type" minOccurs="0">
 
9499
                                <xs:annotation>
 
9500
                                        <xs:documentation>
 
9501
                                                        This element defines all the shells of the
 
9502
                                                        brep structure.
 
9503
                                                </xs:documentation>
 
9504
                                </xs:annotation>
 
9505
                        </xs:element>
 
9506
                        <xs:element name="solids" type="solids_type" minOccurs="0">
 
9507
                                <xs:annotation>
 
9508
                                        <xs:documentation>
 
9509
                                                        This element defines all the solids of the
 
9510
                                                        brep structure.
 
9511
                                                </xs:documentation>
 
9512
                                </xs:annotation>
 
9513
                        </xs:element>
 
9514
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
9515
                </xs:sequence>
 
9516
        </xs:complexType>
 
9517
        <xs:complexType name="geometry_type">
 
9518
                <xs:annotation>
 
9519
                        <xs:documentation>
 
9520
                        Geometry describes the visual shape and appearance of an object in the scene.
 
9521
                        The geometry element categorizes the declaration of geometric information. Geometry is a 
 
9522
                        branch of mathematics that deals with the measurement, properties, and relationships of 
 
9523
                        points, lines, angles, surfaces, and solids.
 
9524
                        </xs:documentation>
 
9525
                </xs:annotation>
 
9526
                <xs:sequence>
 
9527
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
9528
                                <xs:annotation>
 
9529
                                        <xs:documentation>
 
9530
                                                The geometry element may contain an asset element.
 
9531
                                                </xs:documentation>
 
9532
                                </xs:annotation>
 
9533
                        </xs:element>
 
9534
                        <xs:choice>
 
9535
                                <xs:element name="convex_mesh" type="convex_mesh_type">
 
9536
                                        <xs:annotation>
 
9537
                                                <xs:documentation>
 
9538
                                                                The geometry element may contain only
 
9539
                                                                one mesh or convex_mesh.
 
9540
                                                        </xs:documentation>
 
9541
                                        </xs:annotation>
 
9542
                                </xs:element>
 
9543
                                <xs:element name="mesh" type="mesh_type">
 
9544
                                        <xs:annotation>
 
9545
                                                <xs:documentation>
 
9546
                                                                The geometry element may contain only
 
9547
                                                                one mesh or convex_mesh.
 
9548
                                                        </xs:documentation>
 
9549
                                        </xs:annotation>
 
9550
                                </xs:element>
 
9551
                                <xs:element name="spline" type="spline_type"/>
 
9552
                                <xs:element name="brep" type="brep_type"/>
 
9553
                        </xs:choice>
 
9554
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9555
                                <xs:annotation>
 
9556
                                        <xs:documentation>
 
9557
                                                The extra element may appear any number of times.
 
9558
                                                </xs:documentation>
 
9559
                                </xs:annotation>
 
9560
                        </xs:element>
 
9561
                </xs:sequence>
 
9562
                <xs:attribute name="id" type="xs:ID">
 
9563
                        <xs:annotation>
 
9564
                                <xs:documentation>
 
9565
                                        The id attribute is a text string containing the unique identifier of this element. 
 
9566
                                        This value must be unique within the instance document. Optional attribute.
 
9567
                                        </xs:documentation>
 
9568
                        </xs:annotation>
 
9569
                </xs:attribute>
 
9570
                <xs:attribute name="name" type="xs:token">
 
9571
                        <xs:annotation>
 
9572
                                <xs:documentation>
 
9573
                                        The name attribute is the text string name of this element. Optional attribute.
 
9574
                                        </xs:documentation>
 
9575
                        </xs:annotation>
 
9576
                </xs:attribute>
 
9577
        </xs:complexType>
 
9578
        <xs:complexType name="library_geometries_type">
 
9579
                <xs:annotation>
 
9580
                        <xs:documentation>
 
9581
                        The library_geometries element declares a module of geometry elements.
 
9582
                        </xs:documentation>
 
9583
                </xs:annotation>
 
9584
                <xs:sequence>
 
9585
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
9586
                                <xs:annotation>
 
9587
                                        <xs:documentation>
 
9588
                                                The library_geometries element may contain an asset element.
 
9589
                                                </xs:documentation>
 
9590
                                </xs:annotation>
 
9591
                        </xs:element>
 
9592
                        <xs:element name="geometry" type="geometry_type" maxOccurs="unbounded">
 
9593
                                <xs:annotation>
 
9594
                                        <xs:documentation>
 
9595
                                                There must be at least one geometry element.
 
9596
                                                </xs:documentation>
 
9597
                                </xs:annotation>
 
9598
                        </xs:element>
 
9599
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9600
                                <xs:annotation>
 
9601
                                        <xs:documentation>
 
9602
                                                The extra element may appear any number of times.
 
9603
                                                </xs:documentation>
 
9604
                                </xs:annotation>
 
9605
                        </xs:element>
 
9606
                </xs:sequence>
 
9607
                <xs:attribute name="id" type="xs:ID">
 
9608
                        <xs:annotation>
 
9609
                                <xs:documentation>
 
9610
                                        The id attribute is a text string containing the unique identifier of this element. 
 
9611
                                        This value must be unique within the instance document. Optional attribute.
 
9612
                                        </xs:documentation>
 
9613
                        </xs:annotation>
 
9614
                </xs:attribute>
 
9615
                <xs:attribute name="name" type="xs:token">
 
9616
                        <xs:annotation>
 
9617
                                <xs:documentation>
 
9618
                                        The name attribute is the text string name of this element. Optional attribute.
 
9619
                                        </xs:documentation>
 
9620
                        </xs:annotation>
 
9621
                </xs:attribute>
 
9622
        </xs:complexType>
 
9623
        <xs:complexType name="limits_sub_type">
 
9624
                <xs:simpleContent>
 
9625
                        <xs:extension base="float_type">
 
9626
                                <xs:attribute name="sid" type="sid_type"/>
 
9627
                        </xs:extension>
 
9628
                </xs:simpleContent>
 
9629
        </xs:complexType>
 
9630
        <xs:complexType name="instance_joint_type">
 
9631
                <xs:complexContent>
 
9632
                        <xs:restriction base="instance_with_extra_type"/>
 
9633
                </xs:complexContent>
 
9634
        </xs:complexType>
 
9635
        <xs:simpleType name="dynamic_limit_type">
 
9636
                <xs:restriction base="float2_type"/>
 
9637
        </xs:simpleType>
 
9638
        <xs:complexType name="targetable_float4_type">
 
9639
                <xs:simpleContent>
 
9640
                        <xs:extension base="float4_type">
 
9641
                                <xs:attribute name="sid" type="sid_type"/>
 
9642
                        </xs:extension>
 
9643
                </xs:simpleContent>
 
9644
        </xs:complexType>
 
9645
        <xs:complexType name="rotate_type">
 
9646
                <xs:annotation>
 
9647
                        <xs:documentation>
 
9648
                        The rotate element contains an angle and a mathematical vector that represents the axis of rotation.
 
9649
                        </xs:documentation>
 
9650
                </xs:annotation>
 
9651
                <xs:simpleContent>
 
9652
                        <xs:restriction base="targetable_float4_type"/>
 
9653
                </xs:simpleContent>
 
9654
        </xs:complexType>
 
9655
        <xs:complexType name="link_type">
 
9656
                <xs:sequence>
 
9657
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
9658
                                <xs:element name="rotate" type="rotate_type"/>
 
9659
                                <xs:element name="translate" type="translate_type"/>
 
9660
                        </xs:choice>
 
9661
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
9662
                                <xs:element name="attachment_full">
 
9663
                                        <xs:complexType>
 
9664
                                                <xs:sequence>
 
9665
                                                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
9666
                                                                <xs:element name="rotate" type="rotate_type"/>
 
9667
                                                                <xs:element name="translate" type="translate_type"/>
 
9668
                                                        </xs:choice>
 
9669
                                                        <xs:element name="link" type="link_type"/>
 
9670
                                                </xs:sequence>
 
9671
                                                <xs:attribute name="joint" type="xs:token" use="required"/>
 
9672
                                        </xs:complexType>
 
9673
                                </xs:element>
 
9674
                                <xs:element name="attachment_start">
 
9675
                                        <xs:complexType>
 
9676
                                                <xs:choice maxOccurs="unbounded">
 
9677
                                                        <xs:element name="rotate" type="rotate_type"/>
 
9678
                                                        <xs:element name="translate" type="translate_type"/>
 
9679
                                                </xs:choice>
 
9680
                                                <xs:attribute name="joint" type="xs:token" use="required"/>
 
9681
                                        </xs:complexType>
 
9682
                                </xs:element>
 
9683
                                <xs:element name="attachment_end">
 
9684
                                        <xs:complexType>
 
9685
                                                <xs:choice minOccurs="0" maxOccurs="unbounded">
 
9686
                                                        <xs:element name="rotate" type="rotate_type"/>
 
9687
                                                        <xs:element name="translate" type="translate_type"/>
 
9688
                                                </xs:choice>
 
9689
                                                <xs:attribute name="joint" type="xs:token" use="required"/>
 
9690
                                        </xs:complexType>
 
9691
                                </xs:element>
 
9692
                        </xs:choice>
 
9693
                </xs:sequence>
 
9694
                <xs:attribute name="sid" type="sid_type"/>
 
9695
                <xs:attribute name="name" type="xs:token"/>
 
9696
        </xs:complexType>
 
9697
        <xs:complexType name="rigid_constraint_type">
 
9698
                <xs:annotation>
 
9699
                        <xs:documentation>
 
9700
                        This element allows for connecting components, such as rigid_body into complex physics models 
 
9701
                        with moveable parts.
 
9702
                        </xs:documentation>
 
9703
                </xs:annotation>
 
9704
                <xs:sequence>
 
9705
                        <xs:element name="ref_attachment">
 
9706
                                <xs:annotation>
 
9707
                                        <xs:documentation>
 
9708
                                                Defines the attachment (to a rigid_body or a node) to be used as the reference-frame.
 
9709
                                                </xs:documentation>
 
9710
                                </xs:annotation>
 
9711
                                <xs:complexType>
 
9712
                                        <xs:sequence>
 
9713
                                                <xs:choice minOccurs="0" maxOccurs="unbounded">
 
9714
                                                        <xs:element name="translate" type="translate_type">
 
9715
                                                                <xs:annotation>
 
9716
                                                                        <xs:documentation>
 
9717
                                                                                Allows you to "position" the attachment point.
 
9718
                                                                                </xs:documentation>
 
9719
                                                                </xs:annotation>
 
9720
                                                        </xs:element>
 
9721
                                                        <xs:element name="rotate" type="rotate_type">
 
9722
                                                                <xs:annotation>
 
9723
                                                                        <xs:documentation>
 
9724
                                                                                Allows you to "position" the attachment point.
 
9725
                                                                                </xs:documentation>
 
9726
                                                                </xs:annotation>
 
9727
                                                        </xs:element>
 
9728
                                                </xs:choice>
 
9729
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9730
                                                        <xs:annotation>
 
9731
                                                                <xs:documentation>
 
9732
                                                                        The extra element may appear any number of times.
 
9733
                                                                        </xs:documentation>
 
9734
                                                        </xs:annotation>
 
9735
                                                </xs:element>
 
9736
                                        </xs:sequence>
 
9737
                                        <xs:attribute name="rigid_body" type="xs:anyURI">
 
9738
                                                <xs:annotation>
 
9739
                                                        <xs:documentation>
 
9740
                                                                The "rigid_body" attribute is a relative reference to a rigid-body within the same 
 
9741
                                                                physics_model.
 
9742
                                                                </xs:documentation>
 
9743
                                                </xs:annotation>
 
9744
                                        </xs:attribute>
 
9745
                                </xs:complexType>
 
9746
                        </xs:element>
 
9747
                        <xs:element name="attachment">
 
9748
                                <xs:annotation>
 
9749
                                        <xs:documentation>
 
9750
                                                Defines an attachment to a rigid-body or a node.
 
9751
                                                </xs:documentation>
 
9752
                                </xs:annotation>
 
9753
                                <xs:complexType>
 
9754
                                        <xs:sequence>
 
9755
                                                <xs:choice minOccurs="0" maxOccurs="unbounded">
 
9756
                                                        <xs:element name="translate" type="translate_type">
 
9757
                                                                <xs:annotation>
 
9758
                                                                        <xs:documentation>
 
9759
                                                                                Allows you to "position" the attachment point.
 
9760
                                                                                </xs:documentation>
 
9761
                                                                </xs:annotation>
 
9762
                                                        </xs:element>
 
9763
                                                        <xs:element name="rotate" type="rotate_type">
 
9764
                                                                <xs:annotation>
 
9765
                                                                        <xs:documentation>
 
9766
                                                                                Allows you to "position" the attachment point.
 
9767
                                                                                </xs:documentation>
 
9768
                                                                </xs:annotation>
 
9769
                                                        </xs:element>
 
9770
                                                </xs:choice>
 
9771
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9772
                                                        <xs:annotation>
 
9773
                                                                <xs:documentation>
 
9774
                                                                        The extra element may appear any number of times.
 
9775
                                                                        </xs:documentation>
 
9776
                                                        </xs:annotation>
 
9777
                                                </xs:element>
 
9778
                                        </xs:sequence>
 
9779
                                        <xs:attribute name="rigid_body" type="xs:anyURI">
 
9780
                                                <xs:annotation>
 
9781
                                                        <xs:documentation>
 
9782
                                                                The "rigid_body" attribute is a relative reference to a rigid-body within the same physics_model.
 
9783
                                                                </xs:documentation>
 
9784
                                                </xs:annotation>
 
9785
                                        </xs:attribute>
 
9786
                                </xs:complexType>
 
9787
                        </xs:element>
 
9788
                        <xs:element name="technique_common">
 
9789
                                <xs:annotation>
 
9790
                                        <xs:documentation>
 
9791
                                                The technique_common element specifies the rigid_constraint information for the common profile 
 
9792
                                                which all COLLADA implementations need to support.
 
9793
                                                </xs:documentation>
 
9794
                                </xs:annotation>
 
9795
                                <xs:complexType>
 
9796
                                        <xs:sequence>
 
9797
                                                <xs:element name="enabled" default="true" minOccurs="0">
 
9798
                                                        <xs:annotation>
 
9799
                                                                <xs:documentation>
 
9800
                                                                        If false, the constraint doesn't exert any force or influence on the rigid bodies.
 
9801
                                                                        </xs:documentation>
 
9802
                                                        </xs:annotation>
 
9803
                                                        <xs:complexType>
 
9804
                                                                <xs:simpleContent>
 
9805
                                                                        <xs:extension base="xs:boolean">
 
9806
                                                                                <xs:attribute name="sid" type="sid_type">
 
9807
                                                                                        <xs:annotation>
 
9808
                                                                                                <xs:documentation>
 
9809
                                                                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
9810
                                                                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
9811
                                                                                                        </xs:documentation>
 
9812
                                                                                        </xs:annotation>
 
9813
                                                                                </xs:attribute>
 
9814
                                                                        </xs:extension>
 
9815
                                                                </xs:simpleContent>
 
9816
                                                        </xs:complexType>
 
9817
                                                </xs:element>
 
9818
                                                <xs:element name="interpenetrate" default="false" minOccurs="0">
 
9819
                                                        <xs:annotation>
 
9820
                                                                <xs:documentation>
 
9821
                                                                        Indicates whether the attached rigid bodies may inter-penetrate.
 
9822
                                                                        </xs:documentation>
 
9823
                                                        </xs:annotation>
 
9824
                                                        <xs:complexType>
 
9825
                                                                <xs:simpleContent>
 
9826
                                                                        <xs:extension base="xs:boolean">
 
9827
                                                                                <xs:attribute name="sid" type="sid_type">
 
9828
                                                                                        <xs:annotation>
 
9829
                                                                                                <xs:documentation>
 
9830
                                                                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
9831
                                                                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
9832
                                                                                                        </xs:documentation>
 
9833
                                                                                        </xs:annotation>
 
9834
                                                                                </xs:attribute>
 
9835
                                                                        </xs:extension>
 
9836
                                                                </xs:simpleContent>
 
9837
                                                        </xs:complexType>
 
9838
                                                </xs:element>
 
9839
                                                <xs:element name="limits" minOccurs="0">
 
9840
                                                        <xs:annotation>
 
9841
                                                                <xs:documentation>
 
9842
                                                                        The limits element provides a flexible way to specify the constraint limits (degrees of freedom 
 
9843
                                                                        and ranges).
 
9844
                                                                        </xs:documentation>
 
9845
                                                        </xs:annotation>
 
9846
                                                        <xs:complexType>
 
9847
                                                                <xs:sequence>
 
9848
                                                                        <xs:element name="swing_cone_and_twist" minOccurs="0">
 
9849
                                                                                <xs:annotation>
 
9850
                                                                                        <xs:documentation>
 
9851
                                                                                                The swing_cone_and_twist element describes the angular limits along each rotation axis in degrees.
 
9852
                                                                                                The the X and Y limits describe a "swing cone" and the Z limits describe the "twist angle" range 
 
9853
                                                                                                </xs:documentation>
 
9854
                                                                                </xs:annotation>
 
9855
                                                                                <xs:complexType>
 
9856
                                                                                        <xs:sequence>
 
9857
                                                                                                <xs:element name="min" type="targetable_float3_type" default="0.0 0.0 0.0" minOccurs="0">
 
9858
                                                                                                        <xs:annotation>
 
9859
                                                                                                                <xs:documentation>
 
9860
                                                                                                                        The minimum values for the limit.
 
9861
                                                                                                                        </xs:documentation>
 
9862
                                                                                                        </xs:annotation>
 
9863
                                                                                                </xs:element>
 
9864
                                                                                                <xs:element name="max" type="targetable_float3_type" default="0.0 0.0 0.0" minOccurs="0">
 
9865
                                                                                                        <xs:annotation>
 
9866
                                                                                                                <xs:documentation>
 
9867
                                                                                                                        The maximum values for the limit.
 
9868
                                                                                                                        </xs:documentation>
 
9869
                                                                                                        </xs:annotation>
 
9870
                                                                                                </xs:element>
 
9871
                                                                                        </xs:sequence>
 
9872
                                                                                </xs:complexType>
 
9873
                                                                        </xs:element>
 
9874
                                                                        <xs:element name="linear" minOccurs="0">
 
9875
                                                                                <xs:annotation>
 
9876
                                                                                        <xs:documentation>
 
9877
                                                                                                The linear element describes linear (translational) limits along each axis.
 
9878
                                                                                                </xs:documentation>
 
9879
                                                                                </xs:annotation>
 
9880
                                                                                <xs:complexType>
 
9881
                                                                                        <xs:sequence>
 
9882
                                                                                                <xs:element name="min" type="targetable_float3_type" default="0.0 0.0 0.0" minOccurs="0">
 
9883
                                                                                                        <xs:annotation>
 
9884
                                                                                                                <xs:documentation>
 
9885
                                                                                                                        The minimum values for the limit.
 
9886
                                                                                                                        </xs:documentation>
 
9887
                                                                                                        </xs:annotation>
 
9888
                                                                                                </xs:element>
 
9889
                                                                                                <xs:element name="max" type="targetable_float3_type" default="0.0 0.0 0.0" minOccurs="0">
 
9890
                                                                                                        <xs:annotation>
 
9891
                                                                                                                <xs:documentation>
 
9892
                                                                                                                        The maximum values for the limit.
 
9893
                                                                                                                        </xs:documentation>
 
9894
                                                                                                        </xs:annotation>
 
9895
                                                                                                </xs:element>
 
9896
                                                                                        </xs:sequence>
 
9897
                                                                                </xs:complexType>
 
9898
                                                                        </xs:element>
 
9899
                                                                </xs:sequence>
 
9900
                                                        </xs:complexType>
 
9901
                                                </xs:element>
 
9902
                                                <xs:element name="spring" minOccurs="0">
 
9903
                                                        <xs:annotation>
 
9904
                                                                <xs:documentation>
 
9905
                                                                        Spring, based on distance ("LINEAR") or angle ("ANGULAR"). 
 
9906
                                                                        </xs:documentation>
 
9907
                                                        </xs:annotation>
 
9908
                                                        <xs:complexType>
 
9909
                                                                <xs:sequence>
 
9910
                                                                        <xs:element name="angular" minOccurs="0">
 
9911
                                                                                <xs:annotation>
 
9912
                                                                                        <xs:documentation>
 
9913
                                                                                                The angular spring properties.
 
9914
                                                                                                </xs:documentation>
 
9915
                                                                                </xs:annotation>
 
9916
                                                                                <xs:complexType>
 
9917
                                                                                        <xs:sequence>
 
9918
                                                                                                <xs:element name="stiffness" type="targetable_float_type" default="1.0" minOccurs="0">
 
9919
                                                                                                        <xs:annotation>
 
9920
                                                                                                                <xs:documentation>
 
9921
                                                                                                                        The stiffness (also called spring coefficient) has units of force/angle in degrees. 
 
9922
                                                                                                                        </xs:documentation>
 
9923
                                                                                                        </xs:annotation>
 
9924
                                                                                                </xs:element>
 
9925
                                                                                                <xs:element name="damping" type="targetable_float_type" default="0.0" minOccurs="0">
 
9926
                                                                                                        <xs:annotation>
 
9927
                                                                                                                <xs:documentation>
 
9928
                                                                                                                        The spring damping coefficient.
 
9929
                                                                                                                        </xs:documentation>
 
9930
                                                                                                        </xs:annotation>
 
9931
                                                                                                </xs:element>
 
9932
                                                                                                <xs:element name="target_value" type="targetable_float_type" default="0.0" minOccurs="0">
 
9933
                                                                                                        <xs:annotation>
 
9934
                                                                                                                <xs:documentation>
 
9935
                                                                                                                        The spring's target or resting distance.
 
9936
                                                                                                                        </xs:documentation>
 
9937
                                                                                                        </xs:annotation>
 
9938
                                                                                                </xs:element>
 
9939
                                                                                        </xs:sequence>
 
9940
                                                                                </xs:complexType>
 
9941
                                                                        </xs:element>
 
9942
                                                                        <xs:element name="linear" minOccurs="0">
 
9943
                                                                                <xs:annotation>
 
9944
                                                                                        <xs:documentation>
 
9945
                                                                                                The linear spring properties.
 
9946
                                                                                                </xs:documentation>
 
9947
                                                                                </xs:annotation>
 
9948
                                                                                <xs:complexType>
 
9949
                                                                                        <xs:sequence>
 
9950
                                                                                                <xs:element name="stiffness" type="targetable_float_type" default="1.0" minOccurs="0">
 
9951
                                                                                                        <xs:annotation>
 
9952
                                                                                                                <xs:documentation>
 
9953
                                                                                                                        The stiffness (also called spring coefficient) has units of force/distance. 
 
9954
                                                                                                                        </xs:documentation>
 
9955
                                                                                                        </xs:annotation>
 
9956
                                                                                                </xs:element>
 
9957
                                                                                                <xs:element name="damping" type="targetable_float_type" default="0.0" minOccurs="0">
 
9958
                                                                                                        <xs:annotation>
 
9959
                                                                                                                <xs:documentation>
 
9960
                                                                                                                        The spring damping coefficient.
 
9961
                                                                                                                        </xs:documentation>
 
9962
                                                                                                        </xs:annotation>
 
9963
                                                                                                </xs:element>
 
9964
                                                                                                <xs:element name="target_value" type="targetable_float_type" default="0.0" minOccurs="0">
 
9965
                                                                                                        <xs:annotation>
 
9966
                                                                                                                <xs:documentation>
 
9967
                                                                                                                        The spring's target or resting distance.
 
9968
                                                                                                                        </xs:documentation>
 
9969
                                                                                                        </xs:annotation>
 
9970
                                                                                                </xs:element>
 
9971
                                                                                        </xs:sequence>
 
9972
                                                                                </xs:complexType>
 
9973
                                                                        </xs:element>
 
9974
                                                                </xs:sequence>
 
9975
                                                        </xs:complexType>
 
9976
                                                </xs:element>
 
9977
                                        </xs:sequence>
 
9978
                                </xs:complexType>
 
9979
                        </xs:element>
 
9980
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded">
 
9981
                                <xs:annotation>
 
9982
                                        <xs:documentation>
 
9983
                                                This element may contain any number of non-common profile techniques.
 
9984
                                                </xs:documentation>
 
9985
                                </xs:annotation>
 
9986
                        </xs:element>
 
9987
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
9988
                                <xs:annotation>
 
9989
                                        <xs:documentation>
 
9990
                                                The extra element may appear any number of times.
 
9991
                                                </xs:documentation>
 
9992
                                </xs:annotation>
 
9993
                        </xs:element>
 
9994
                </xs:sequence>
 
9995
                <xs:attribute name="sid" type="sid_type" use="required">
 
9996
                        <xs:annotation>
 
9997
                                <xs:documentation>
 
9998
                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
9999
                                        This value must be unique within the scope of the parent element. Optional attribute.
 
10000
                                        </xs:documentation>
 
10001
                        </xs:annotation>
 
10002
                </xs:attribute>
 
10003
                <xs:attribute name="name" type="xs:token">
 
10004
                        <xs:annotation>
 
10005
                                <xs:documentation>
 
10006
                                        The name attribute is the text string name of this element. Optional attribute.
 
10007
                                        </xs:documentation>
 
10008
                        </xs:annotation>
 
10009
                </xs:attribute>
 
10010
        </xs:complexType>
 
10011
        <xs:complexType name="node_type">
 
10012
                <xs:annotation>
 
10013
                        <xs:documentation>
 
10014
                        Nodes embody the hierarchical relationship of elements in the scene.
 
10015
                        </xs:documentation>
 
10016
                </xs:annotation>
 
10017
                <xs:sequence>
 
10018
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
10019
                                <xs:annotation>
 
10020
                                        <xs:documentation>
 
10021
                                                The node element may contain an asset element.
 
10022
                                                </xs:documentation>
 
10023
                                </xs:annotation>
 
10024
                        </xs:element>
 
10025
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
10026
                                <xs:element name="lookat" type="lookat_type">
 
10027
                                        <xs:annotation>
 
10028
                                                <xs:documentation>
 
10029
                                                        The node element may contain any number of lookat elements.
 
10030
                                                        </xs:documentation>
 
10031
                                        </xs:annotation>
 
10032
                                </xs:element>
 
10033
                                <xs:element name="matrix" type="matrix_type">
 
10034
                                        <xs:annotation>
 
10035
                                                <xs:documentation>
 
10036
                                                        The node element may contain any number of matrix elements.
 
10037
                                                        </xs:documentation>
 
10038
                                        </xs:annotation>
 
10039
                                </xs:element>
 
10040
                                <xs:element name="rotate" type="rotate_type">
 
10041
                                        <xs:annotation>
 
10042
                                                <xs:documentation>
 
10043
                                                        The node element may contain any number of rotate elements.
 
10044
                                                        </xs:documentation>
 
10045
                                        </xs:annotation>
 
10046
                                </xs:element>
 
10047
                                <xs:element name="scale" type="scale_type">
 
10048
                                        <xs:annotation>
 
10049
                                                <xs:documentation>
 
10050
                                                        The node element may contain any number of scale elements.
 
10051
                                                        </xs:documentation>
 
10052
                                        </xs:annotation>
 
10053
                                </xs:element>
 
10054
                                <xs:element name="skew" type="skew_type">
 
10055
                                        <xs:annotation>
 
10056
                                                <xs:documentation>
 
10057
                                                        The node element may contain any number of skew elements.
 
10058
                                                        </xs:documentation>
 
10059
                                        </xs:annotation>
 
10060
                                </xs:element>
 
10061
                                <xs:element name="translate" type="translate_type">
 
10062
                                        <xs:annotation>
 
10063
                                                <xs:documentation>
 
10064
                                                        The node element may contain any number of translate elements.
 
10065
                                                        </xs:documentation>
 
10066
                                        </xs:annotation>
 
10067
                                </xs:element>
 
10068
                        </xs:choice>
 
10069
                        <xs:element name="instance_camera" type="instance_camera_type" minOccurs="0" maxOccurs="unbounded">
 
10070
                                <xs:annotation>
 
10071
                                        <xs:documentation>
 
10072
                                                The node element may instance any number of camera objects.
 
10073
                                                </xs:documentation>
 
10074
                                </xs:annotation>
 
10075
                        </xs:element>
 
10076
                        <xs:element name="instance_controller" type="instance_controller_type" minOccurs="0" maxOccurs="unbounded">
 
10077
                                <xs:annotation>
 
10078
                                        <xs:documentation>
 
10079
                                                The node element may instance any number of controller objects.
 
10080
                                                </xs:documentation>
 
10081
                                </xs:annotation>
 
10082
                        </xs:element>
 
10083
                        <xs:element name="instance_geometry" type="instance_geometry_type" minOccurs="0" maxOccurs="unbounded">
 
10084
                                <xs:annotation>
 
10085
                                        <xs:documentation>
 
10086
                                                The node element may instance any number of geometry objects.
 
10087
                                                </xs:documentation>
 
10088
                                </xs:annotation>
 
10089
                        </xs:element>
 
10090
                        <xs:element name="instance_light" type="instance_light_type" minOccurs="0" maxOccurs="unbounded">
 
10091
                                <xs:annotation>
 
10092
                                        <xs:documentation>
 
10093
                                                The node element may instance any number of light objects.
 
10094
                                                </xs:documentation>
 
10095
                                </xs:annotation>
 
10096
                        </xs:element>
 
10097
                        <xs:element name="instance_node" type="instance_node_type" minOccurs="0" maxOccurs="unbounded">
 
10098
                                <xs:annotation>
 
10099
                                        <xs:documentation>
 
10100
                                                The node element may instance any number of node elements or hierarchies objects.
 
10101
                                                </xs:documentation>
 
10102
                                </xs:annotation>
 
10103
                        </xs:element>
 
10104
                        <xs:element name="node" type="node_type" minOccurs="0" maxOccurs="unbounded">
 
10105
                                <xs:annotation>
 
10106
                                        <xs:documentation>
 
10107
                                                The node element may be hierarchical and be the parent of any number of other node elements.
 
10108
                                                </xs:documentation>
 
10109
                                </xs:annotation>
 
10110
                        </xs:element>
 
10111
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10112
                                <xs:annotation>
 
10113
                                        <xs:documentation>
 
10114
                                                The extra element may appear any number of times.
 
10115
                                                </xs:documentation>
 
10116
                                </xs:annotation>
 
10117
                        </xs:element>
 
10118
                </xs:sequence>
 
10119
                <xs:attribute name="id" type="xs:ID">
 
10120
                        <xs:annotation>
 
10121
                                <xs:documentation>
 
10122
                                        The id attribute is a text string containing the unique identifier of this element. 
 
10123
                                        This value must be unique within the instance document. Optional attribute.
 
10124
                                        </xs:documentation>
 
10125
                        </xs:annotation>
 
10126
                </xs:attribute>
 
10127
                <xs:attribute name="name" type="xs:token">
 
10128
                        <xs:annotation>
 
10129
                                <xs:documentation>
 
10130
                                        The name attribute is the text string name of this element. Optional attribute.
 
10131
                                        </xs:documentation>
 
10132
                        </xs:annotation>
 
10133
                </xs:attribute>
 
10134
                <xs:attribute name="sid" type="sid_type">
 
10135
                        <xs:annotation>
 
10136
                                <xs:documentation>
 
10137
                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
10138
                                        This value must be unique within the scope of the parent element. Optional attribute.
 
10139
                                        </xs:documentation>
 
10140
                        </xs:annotation>
 
10141
                </xs:attribute>
 
10142
                <xs:attribute name="type" type="node_enum" default="NODE">
 
10143
                        <xs:annotation>
 
10144
                                <xs:documentation>
 
10145
                                        The type attribute indicates the type of the node element. The default value is "NODE". 
 
10146
                                        Optional attribute.
 
10147
                                        </xs:documentation>
 
10148
                        </xs:annotation>
 
10149
                </xs:attribute>
 
10150
                <xs:attribute name="layer" type="list_of_names_type">
 
10151
                        <xs:annotation>
 
10152
                                <xs:documentation>
 
10153
                                        The layer attribute indicates the names of the layers to which this node belongs.  For example, 
 
10154
                                        a value of "foreground glowing" indicates that this node belongs to both the 'foreground' layer 
 
10155
                                        and the 'glowing' layer.  The default value is empty, indicating that the node doesn't belong to 
 
10156
                                        any layer.  Optional attribute.
 
10157
                                        </xs:documentation>
 
10158
                        </xs:annotation>
 
10159
                </xs:attribute>
 
10160
        </xs:complexType>
 
10161
        <xs:complexType name="library_nodes_type">
 
10162
                <xs:annotation>
 
10163
                        <xs:documentation>
 
10164
                        The library_nodes element declares a module of node elements.
 
10165
                        </xs:documentation>
 
10166
                </xs:annotation>
 
10167
                <xs:sequence>
 
10168
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
10169
                                <xs:annotation>
 
10170
                                        <xs:documentation>
 
10171
                                                The library_nodes element may contain an asset element.
 
10172
                                                </xs:documentation>
 
10173
                                </xs:annotation>
 
10174
                        </xs:element>
 
10175
                        <xs:element name="node" type="node_type" maxOccurs="unbounded">
 
10176
                                <xs:annotation>
 
10177
                                        <xs:documentation>
 
10178
                                                There must be at least one node element.
 
10179
                                                </xs:documentation>
 
10180
                                </xs:annotation>
 
10181
                        </xs:element>
 
10182
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10183
                                <xs:annotation>
 
10184
                                        <xs:documentation>
 
10185
                                                The extra element may appear any number of times.
 
10186
                                                </xs:documentation>
 
10187
                                </xs:annotation>
 
10188
                        </xs:element>
 
10189
                </xs:sequence>
 
10190
                <xs:attribute name="id" type="xs:ID">
 
10191
                        <xs:annotation>
 
10192
                                <xs:documentation>
 
10193
                                        The id attribute is a text string containing the unique identifier of this element. 
 
10194
                                        This value must be unique within the instance document. Optional attribute.
 
10195
                                        </xs:documentation>
 
10196
                        </xs:annotation>
 
10197
                </xs:attribute>
 
10198
                <xs:attribute name="name" type="xs:token">
 
10199
                        <xs:annotation>
 
10200
                                <xs:documentation>
 
10201
                                        The name attribute is the text string name of this element. Optional attribute.
 
10202
                                        </xs:documentation>
 
10203
                        </xs:annotation>
 
10204
                </xs:attribute>
 
10205
        </xs:complexType>
 
10206
        <xs:complexType name="visual_scene_type">
 
10207
                <xs:annotation>
 
10208
                        <xs:documentation>
 
10209
                        The visual_scene element declares the base of the visual_scene hierarchy or scene graph. The 
 
10210
                        scene contains elements that comprise much of the visual and transformational information 
 
10211
                        content as created by the authoring tools.
 
10212
                        </xs:documentation>
 
10213
                </xs:annotation>
 
10214
                <xs:sequence>
 
10215
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
10216
                                <xs:annotation>
 
10217
                                        <xs:documentation>
 
10218
                                                The visual_scene element may contain an asset element.
 
10219
                                                </xs:documentation>
 
10220
                                </xs:annotation>
 
10221
                        </xs:element>
 
10222
                        <xs:element name="node" type="node_type" maxOccurs="unbounded">
 
10223
                                <xs:annotation>
 
10224
                                        <xs:documentation>
 
10225
                                                The visual_scene element must have at least one node element.
 
10226
                                                </xs:documentation>
 
10227
                                </xs:annotation>
 
10228
                        </xs:element>
 
10229
                        <xs:element name="evaluate_scene" minOccurs="0" maxOccurs="unbounded">
 
10230
                                <xs:annotation>
 
10231
                                        <xs:documentation>The evaluate_scene element declares information specifying how to evaluate this visual_scene. There may be any number of evaluate_scene elements.  They are evaluated in order and particular one may be disabled via setting enabled=false.
 
10232
                                                </xs:documentation>
 
10233
                                </xs:annotation>
 
10234
                                <xs:complexType>
 
10235
                                        <xs:sequence>
 
10236
                                                <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
10237
                                                <xs:element name="render" minOccurs="0" maxOccurs="unbounded">
 
10238
                                                        <xs:annotation>
 
10239
                                                                <xs:documentation>
 
10240
                                                                        The render element describes one effect pass to evaluate the scene.
 
10241
                                                                        There must be at least one render element.
 
10242
                                                                        </xs:documentation>
 
10243
                                                        </xs:annotation>
 
10244
                                                        <xs:complexType>
 
10245
                                                                <xs:sequence>
 
10246
                                                                        <xs:element name="layer" type="xs:NCName" minOccurs="0" maxOccurs="unbounded">
 
10247
                                                                                <xs:annotation>
 
10248
                                                                                        <xs:documentation>The layer element specifies which layer to render in this compositing step while evaluating the scene. You may specify any number of layers.  No layers mans that the entire scene will be used.              </xs:documentation>
 
10249
                                                                                </xs:annotation>
 
10250
                                                                        </xs:element>
 
10251
                                                                        <xs:element name="instance_material" minOccurs="0">
 
10252
                                                                                <xs:annotation>
 
10253
                                                                                        <xs:documentation>The instance_material element specifies which effect to render in this compositing step 
 
10254
                                                                                                while evaluating the scene.
 
10255
                                                                                                </xs:documentation>
 
10256
                                                                                </xs:annotation>
 
10257
                                                                                <xs:complexType>
 
10258
                                                                                        <xs:sequence>
 
10259
                                                                                                <xs:element name="technique_override" minOccurs="0">
 
10260
                                                                                                        <xs:complexType>
 
10261
                                                                                                                <xs:attribute name="ref" type="xs:NCName" use="required">
 
10262
                                                                                                                        <xs:annotation>
 
10263
                                                                                                                                <xs:documentation>technique</xs:documentation>
 
10264
                                                                                                                        </xs:annotation>
 
10265
                                                                                                                </xs:attribute>
 
10266
                                                                                                                <xs:attribute name="pass" type="xs:NCName">
 
10267
                                                                                                                        <xs:annotation>
 
10268
                                                                                                                                <xs:documentation>Explicitly select one pass.  If empty then use all passes of the technique.</xs:documentation>
 
10269
                                                                                                                        </xs:annotation>
 
10270
                                                                                                                </xs:attribute>
 
10271
                                                                                                        </xs:complexType>
 
10272
                                                                                                </xs:element>
 
10273
                                                                                                <xs:element name="bind" minOccurs="0" maxOccurs="unbounded">
 
10274
                                                                                                        <xs:annotation>
 
10275
                                                                                                                <xs:documentation>
 
10276
                                                The bind element binds values to effect parameters upon instantiation.
 
10277
                                                </xs:documentation>
 
10278
                                                                                                        </xs:annotation>
 
10279
                                                                                                        <xs:complexType>
 
10280
                                                                                                                <xs:attribute name="semantic" type="xs:NCName" use="required">
 
10281
                                                                                                                        <xs:annotation>
 
10282
                                                                                                                                <xs:documentation>
 
10283
                                                                The semantic attribute specifies which effect parameter to bind.
 
10284
                                                                </xs:documentation>
 
10285
                                                                                                                        </xs:annotation>
 
10286
                                                                                                                </xs:attribute>
 
10287
                                                                                                                <xs:attribute name="target" type="xs:token" use="required">
 
10288
                                                                                                                        <xs:annotation>
 
10289
                                                                                                                                <xs:documentation>
 
10290
                                                                The target attribute specifies the location of the value to bind to the specified semantic. 
 
10291
                                                                This text string is a path-name following a simple syntax described in the ?Addressing Syntax? 
 
10292
                                                                section.
 
10293
                                                                </xs:documentation>
 
10294
                                                                                                                        </xs:annotation>
 
10295
                                                                                                                </xs:attribute>
 
10296
                                                                                                        </xs:complexType>
 
10297
                                                                                                </xs:element>
 
10298
                                                                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10299
                                                                                                        <xs:annotation>
 
10300
                                                                                                                <xs:documentation>
 
10301
                                                The extra element may appear any number of times.
 
10302
                                                </xs:documentation>
 
10303
                                                                                                        </xs:annotation>
 
10304
                                                                                                </xs:element>
 
10305
                                                                                        </xs:sequence>
 
10306
                                                                                        <xs:attribute name="url" type="xs:anyURI" use="required">
 
10307
                                                                                                <xs:annotation>
 
10308
                                                                                                        <xs:documentation>URL to a material             </xs:documentation>
 
10309
                                                                                                </xs:annotation>
 
10310
                                                                                        </xs:attribute>
 
10311
                                                                                </xs:complexType>
 
10312
                                                                        </xs:element>
 
10313
                                                                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10314
                                                                                <xs:annotation>
 
10315
                                                                                        <xs:documentation>
 
10316
                                                The extra element may appear any number of times.
 
10317
                                                </xs:documentation>
 
10318
                                                                                </xs:annotation>
 
10319
                                                                        </xs:element>
 
10320
                                                                </xs:sequence>
 
10321
                                                                <xs:attribute name="sid" type="sid_type"/>
 
10322
                                                                <xs:attribute name="name" type="xs:token">
 
10323
                                                                        <xs:annotation>
 
10324
                                                                                <xs:documentation>
 
10325
                                                                The name attribute is the text string name of this element. Optional attribute.
 
10326
                                                                </xs:documentation>
 
10327
                                                                        </xs:annotation>
 
10328
                                                                </xs:attribute>
 
10329
                                                                <xs:attribute name="camera_node" type="xs:anyURI" use="optional">
 
10330
                                                                        <xs:annotation>
 
10331
                                                                                <xs:documentation>The camera_node attribute refers to a node that contains a camera describing the viewpoint to render this compositing step from.                                              </xs:documentation>
 
10332
                                                                        </xs:annotation>
 
10333
                                                                </xs:attribute>
 
10334
                                                        </xs:complexType>
 
10335
                                                </xs:element>
 
10336
                                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10337
                                                        <xs:annotation>
 
10338
                                                                <xs:documentation>
 
10339
                                                The extra element may appear any number of times.
 
10340
                                                </xs:documentation>
 
10341
                                                        </xs:annotation>
 
10342
                                                </xs:element>
 
10343
                                        </xs:sequence>
 
10344
                                        <xs:attribute name="id" type="xs:ID"/>
 
10345
                                        <xs:attribute name="sid" type="sid_type"/>
 
10346
                                        <xs:attribute name="name" type="xs:token"/>
 
10347
                                        <xs:attribute name="enable" type="xs:boolean" default="true">
 
10348
                                                <xs:annotation>
 
10349
                                                        <xs:documentation>allow this to be disabled and hense skipped durring evaluation.  This is useful for debug.</xs:documentation>
 
10350
                                                </xs:annotation>
 
10351
                                        </xs:attribute>
 
10352
                                </xs:complexType>
 
10353
                        </xs:element>
 
10354
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10355
                                <xs:annotation>
 
10356
                                        <xs:documentation>
 
10357
                                                The extra element may appear any number of times.
 
10358
                                                </xs:documentation>
 
10359
                                </xs:annotation>
 
10360
                        </xs:element>
 
10361
                </xs:sequence>
 
10362
                <xs:attribute name="id" type="xs:ID" use="optional">
 
10363
                        <xs:annotation>
 
10364
                                <xs:documentation>
 
10365
                                        The id attribute is a text string containing the unique identifier of this element. This 
 
10366
                                        value must be unique within the instance document. Optional attribute.
 
10367
                                        </xs:documentation>
 
10368
                        </xs:annotation>
 
10369
                </xs:attribute>
 
10370
                <xs:attribute name="name" type="xs:token">
 
10371
                        <xs:annotation>
 
10372
                                <xs:documentation>
 
10373
                                        The name attribute is the text string name of this element. Optional attribute.
 
10374
                                        </xs:documentation>
 
10375
                        </xs:annotation>
 
10376
                </xs:attribute>
 
10377
        </xs:complexType>
 
10378
        <xs:complexType name="library_visual_scenes_type">
 
10379
                <xs:annotation>
 
10380
                        <xs:documentation>
 
10381
                        The library_visual_scenes element declares a module of visual_scene elements.
 
10382
                        </xs:documentation>
 
10383
                </xs:annotation>
 
10384
                <xs:sequence>
 
10385
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
10386
                                <xs:annotation>
 
10387
                                        <xs:documentation>
 
10388
                                                The library_visual_scenes element may contain an asset element.
 
10389
                                                </xs:documentation>
 
10390
                                </xs:annotation>
 
10391
                        </xs:element>
 
10392
                        <xs:element name="visual_scene" type="visual_scene_type" maxOccurs="unbounded">
 
10393
                                <xs:annotation>
 
10394
                                        <xs:documentation>
 
10395
                                                There must be at least one visual_scene element.
 
10396
                                                </xs:documentation>
 
10397
                                </xs:annotation>
 
10398
                        </xs:element>
 
10399
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10400
                                <xs:annotation>
 
10401
                                        <xs:documentation>
 
10402
                                                The extra element may appear any number of times.
 
10403
                                                </xs:documentation>
 
10404
                                </xs:annotation>
 
10405
                        </xs:element>
 
10406
                </xs:sequence>
 
10407
                <xs:attribute name="id" type="xs:ID">
 
10408
                        <xs:annotation>
 
10409
                                <xs:documentation>
 
10410
                                        The id attribute is a text string containing the unique identifier of this element. 
 
10411
                                        This value must be unique within the instance document. Optional attribute.
 
10412
                                        </xs:documentation>
 
10413
                        </xs:annotation>
 
10414
                </xs:attribute>
 
10415
                <xs:attribute name="name" type="xs:token">
 
10416
                        <xs:annotation>
 
10417
                                <xs:documentation>
 
10418
                                        The name attribute is the text string name of this element. Optional attribute.
 
10419
                                        </xs:documentation>
 
10420
                        </xs:annotation>
 
10421
                </xs:attribute>
 
10422
        </xs:complexType>
 
10423
        <xs:complexType name="rigid_body_type">
 
10424
                <xs:annotation>
 
10425
                        <xs:documentation>
 
10426
                        This element allows for describing simulated bodies that do not deform. These bodies may or may 
 
10427
                        not be connected by constraints (hinge, ball-joint etc.).  Rigid-bodies, constraints etc. are 
 
10428
                        encapsulated in physics_model elements to allow for instantiating complex models.
 
10429
                        </xs:documentation>
 
10430
                </xs:annotation>
 
10431
                <xs:sequence>
 
10432
                        <xs:element name="technique_common">
 
10433
                                <xs:annotation>
 
10434
                                        <xs:documentation>
 
10435
                                                The technique_common element specifies the rigid_body information for the common profile which all 
 
10436
                                                COLLADA implementations need to support.
 
10437
                                                </xs:documentation>
 
10438
                                </xs:annotation>
 
10439
                                <xs:complexType>
 
10440
                                        <xs:sequence>
 
10441
                                                <xs:element name="dynamic" minOccurs="0">
 
10442
                                                        <xs:annotation>
 
10443
                                                                <xs:documentation>
 
10444
                                                                        If false, the rigid_body is not moveable
 
10445
                                                                        </xs:documentation>
 
10446
                                                        </xs:annotation>
 
10447
                                                        <xs:complexType>
 
10448
                                                                <xs:simpleContent>
 
10449
                                                                        <xs:extension base="xs:boolean">
 
10450
                                                                                <xs:attribute name="sid" type="sid_type">
 
10451
                                                                                        <xs:annotation>
 
10452
                                                                                                <xs:documentation>
 
10453
                                                                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
10454
                                                                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
10455
                                                                                                        </xs:documentation>
 
10456
                                                                                        </xs:annotation>
 
10457
                                                                                </xs:attribute>
 
10458
                                                                        </xs:extension>
 
10459
                                                                </xs:simpleContent>
 
10460
                                                        </xs:complexType>
 
10461
                                                </xs:element>
 
10462
                                                <xs:element name="mass" type="targetable_float_type" minOccurs="0">
 
10463
                                                        <xs:annotation>
 
10464
                                                                <xs:documentation>
 
10465
                                                                        The total mass of the rigid-body
 
10466
                                                                        </xs:documentation>
 
10467
                                                        </xs:annotation>
 
10468
                                                </xs:element>
 
10469
                                                <xs:element name="mass_frame" minOccurs="0">
 
10470
                                                        <xs:annotation>
 
10471
                                                                <xs:documentation>
 
10472
                                                                        Defines the center and orientation of mass of the rigid-body relative to the local origin of the 
 
10473
                                                                        "root" shape.This makes the off-diagonal elements of the inertia tensor (products of inertia) all 
 
10474
                                                                        0 and allows us to just store the diagonal elements (moments of inertia).
 
10475
                                                                        </xs:documentation>
 
10476
                                                        </xs:annotation>
 
10477
                                                        <xs:complexType>
 
10478
                                                                <xs:choice maxOccurs="unbounded">
 
10479
                                                                        <xs:element name="translate" type="translate_type"/>
 
10480
                                                                        <xs:element name="rotate" type="rotate_type"/>
 
10481
                                                                </xs:choice>
 
10482
                                                        </xs:complexType>
 
10483
                                                </xs:element>
 
10484
                                                <xs:element name="inertia" type="targetable_float3_type" minOccurs="0">
 
10485
                                                        <xs:annotation>
 
10486
                                                                <xs:documentation>
 
10487
                                                                        float3 - The diagonal elements of the inertia tensor (moments of inertia), which is represented 
 
10488
                                                                        in the local frame of the center of mass. See above.
 
10489
                                                                        </xs:documentation>
 
10490
                                                        </xs:annotation>
 
10491
                                                </xs:element>
 
10492
                                                <xs:choice minOccurs="0">
 
10493
                                                        <xs:element name="instance_physics_material" type="instance_physics_material_type">
 
10494
                                                                <xs:annotation>
 
10495
                                                                        <xs:documentation>
 
10496
                                                                                References a physics_material for the rigid_body.
 
10497
                                                                                </xs:documentation>
 
10498
                                                                </xs:annotation>
 
10499
                                                        </xs:element>
 
10500
                                                        <xs:element name="physics_material" type="physics_material_type">
 
10501
                                                                <xs:annotation>
 
10502
                                                                        <xs:documentation>
 
10503
                                                                                Defines a physics_material for the rigid_body.
 
10504
                                                                                </xs:documentation>
 
10505
                                                                </xs:annotation>
 
10506
                                                        </xs:element>
 
10507
                                                </xs:choice>
 
10508
                                                <xs:element name="shape" maxOccurs="unbounded">
 
10509
                                                        <xs:annotation>
 
10510
                                                                <xs:documentation>
 
10511
                                                                        This element allows for describing components of a rigid_body.
 
10512
                                                                        </xs:documentation>
 
10513
                                                        </xs:annotation>
 
10514
                                                        <xs:complexType>
 
10515
                                                                <xs:sequence>
 
10516
                                                                        <xs:element name="hollow" minOccurs="0">
 
10517
                                                                                <xs:annotation>
 
10518
                                                                                        <xs:documentation>
 
10519
                                                                                                If true, the mass is distributed along the surface of the shape
 
10520
                                                                                                </xs:documentation>
 
10521
                                                                                </xs:annotation>
 
10522
                                                                                <xs:complexType>
 
10523
                                                                                        <xs:simpleContent>
 
10524
                                                                                                <xs:extension base="xs:boolean">
 
10525
                                                                                                        <xs:attribute name="sid" type="sid_type">
 
10526
                                                                                                                <xs:annotation>
 
10527
                                                                                                                        <xs:documentation>
 
10528
                                                                                                                                The sid attribute is a text string value containing the sub-identifier of this element. 
 
10529
                                                                                                                                This value must be unique within the scope of the parent element. Optional attribute.
 
10530
                                                                                                                                </xs:documentation>
 
10531
                                                                                                                </xs:annotation>
 
10532
                                                                                                        </xs:attribute>
 
10533
                                                                                                </xs:extension>
 
10534
                                                                                        </xs:simpleContent>
 
10535
                                                                                </xs:complexType>
 
10536
                                                                        </xs:element>
 
10537
                                                                        <xs:element name="mass" type="targetable_float_type" minOccurs="0">
 
10538
                                                                                <xs:annotation>
 
10539
                                                                                        <xs:documentation>
 
10540
                                                                                                The mass of the shape.
 
10541
                                                                                                </xs:documentation>
 
10542
                                                                                </xs:annotation>
 
10543
                                                                        </xs:element>
 
10544
                                                                        <xs:element name="density" type="targetable_float_type" minOccurs="0">
 
10545
                                                                                <xs:annotation>
 
10546
                                                                                        <xs:documentation>
 
10547
                                                                                                The density of the shape.
 
10548
                                                                                                </xs:documentation>
 
10549
                                                                                </xs:annotation>
 
10550
                                                                        </xs:element>
 
10551
                                                                        <xs:choice minOccurs="0">
 
10552
                                                                                <xs:element name="instance_physics_material" type="instance_physics_material_type">
 
10553
                                                                                        <xs:annotation>
 
10554
                                                                                                <xs:documentation>
 
10555
                                                                                                        References a physics_material for the shape.
 
10556
                                                                                                        </xs:documentation>
 
10557
                                                                                        </xs:annotation>
 
10558
                                                                                </xs:element>
 
10559
                                                                                <xs:element name="physics_material" type="physics_material_type">
 
10560
                                                                                        <xs:annotation>
 
10561
                                                                                                <xs:documentation>
 
10562
                                                                                                        Defines a physics_material for the shape.
 
10563
                                                                                                        </xs:documentation>
 
10564
                                                                                        </xs:annotation>
 
10565
                                                                                </xs:element>
 
10566
                                                                        </xs:choice>
 
10567
                                                                        <xs:choice>
 
10568
                                                                                <xs:element name="instance_geometry" type="instance_geometry_type">
 
10569
                                                                                        <xs:annotation>
 
10570
                                                                                                <xs:documentation>
 
10571
                                                                                                        Instances a geometry to use to define this shape.
 
10572
                                                                                                        </xs:documentation>
 
10573
                                                                                        </xs:annotation>
 
10574
                                                                                </xs:element>
 
10575
                                                                                <xs:element name="plane" type="plane_type">
 
10576
                                                                                        <xs:annotation>
 
10577
                                                                                                <xs:documentation>
 
10578
                                                                                                        Defines a plane to use for this shape.
 
10579
                                                                                                        </xs:documentation>
 
10580
                                                                                        </xs:annotation>
 
10581
                                                                                </xs:element>
 
10582
                                                                                <xs:element name="box" type="box_type">
 
10583
                                                                                        <xs:annotation>
 
10584
                                                                                                <xs:documentation>
 
10585
                                                                                                        Defines a box to use for this shape.
 
10586
                                                                                                        </xs:documentation>
 
10587
                                                                                        </xs:annotation>
 
10588
                                                                                </xs:element>
 
10589
                                                                                <xs:element name="sphere" type="sphere_type">
 
10590
                                                                                        <xs:annotation>
 
10591
                                                                                                <xs:documentation>
 
10592
                                                                                                        Defines a sphere to use for this shape.
 
10593
                                                                                                        </xs:documentation>
 
10594
                                                                                        </xs:annotation>
 
10595
                                                                                </xs:element>
 
10596
                                                                                <xs:element name="cylinder" type="cylinder_type">
 
10597
                                                                                        <xs:annotation>
 
10598
                                                                                                <xs:documentation>
 
10599
                                                                                                        Defines a cyliner to use for this shape.
 
10600
                                                                                                        </xs:documentation>
 
10601
                                                                                        </xs:annotation>
 
10602
                                                                                </xs:element>
 
10603
                                                                                <xs:element name="capsule" type="capsule_type">
 
10604
                                                                                        <xs:annotation>
 
10605
                                                                                                <xs:documentation>
 
10606
                                                                                                        Defines a capsule to use for this shape.
 
10607
                                                                                                        </xs:documentation>
 
10608
                                                                                        </xs:annotation>
 
10609
                                                                                </xs:element>
 
10610
                                                                        </xs:choice>
 
10611
                                                                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
10612
                                                                                <xs:element name="translate" type="translate_type">
 
10613
                                                                                        <xs:annotation>
 
10614
                                                                                                <xs:documentation>
 
10615
                                                                                                        Allows a tranformation for the shape.
 
10616
                                                                                                        </xs:documentation>
 
10617
                                                                                        </xs:annotation>
 
10618
                                                                                </xs:element>
 
10619
                                                                                <xs:element name="rotate" type="rotate_type">
 
10620
                                                                                        <xs:annotation>
 
10621
                                                                                                <xs:documentation>
 
10622
                                                                                                        Allows a tranformation for the shape.
 
10623
                                                                                                        </xs:documentation>
 
10624
                                                                                        </xs:annotation>
 
10625
                                                                                </xs:element>
 
10626
                                                                        </xs:choice>
 
10627
                                                                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10628
                                                                                <xs:annotation>
 
10629
                                                                                        <xs:documentation>
 
10630
                                                                                                The extra element may appear any number of times.
 
10631
                                                                                                </xs:documentation>
 
10632
                                                                                </xs:annotation>
 
10633
                                                                        </xs:element>
 
10634
                                                                </xs:sequence>
 
10635
                                                        </xs:complexType>
 
10636
                                                </xs:element>
 
10637
                                        </xs:sequence>
 
10638
                                </xs:complexType>
 
10639
                        </xs:element>
 
10640
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded">
 
10641
                                <xs:annotation>
 
10642
                                        <xs:documentation>
 
10643
                                                This element may contain any number of non-common profile techniques.
 
10644
                                                </xs:documentation>
 
10645
                                </xs:annotation>
 
10646
                        </xs:element>
 
10647
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10648
                                <xs:annotation>
 
10649
                                        <xs:documentation>
 
10650
                                                The extra element may appear any number of times.
 
10651
                                                </xs:documentation>
 
10652
                                </xs:annotation>
 
10653
                        </xs:element>
 
10654
                </xs:sequence>
 
10655
                <xs:attribute name="id" type="xs:ID"/>
 
10656
                <xs:attribute name="sid" type="sid_type" use="required">
 
10657
                        <xs:annotation>
 
10658
                                <xs:documentation>
 
10659
                                        The sid attribute is a text string value containing the sub-identifier of this element. This 
 
10660
                                        value must be unique within the scope of the parent element. Optional attribute.
 
10661
                                        </xs:documentation>
 
10662
                        </xs:annotation>
 
10663
                </xs:attribute>
 
10664
                <xs:attribute name="name" type="xs:token">
 
10665
                        <xs:annotation>
 
10666
                                <xs:documentation>
 
10667
                                        The name attribute is the text string name of this element. Optional attribute.
 
10668
                                        </xs:documentation>
 
10669
                        </xs:annotation>
 
10670
                </xs:attribute>
 
10671
        </xs:complexType>
 
10672
        <xs:complexType name="instance_rigid_body_type">
 
10673
                <xs:annotation>
 
10674
                        <xs:documentation>
 
10675
                        This element allows instancing a rigid_body within an instance_physics_model. 
 
10676
                        </xs:documentation>
 
10677
                </xs:annotation>
 
10678
                <xs:sequence>
 
10679
                        <xs:element name="technique_common">
 
10680
                                <xs:annotation>
 
10681
                                        <xs:documentation>
 
10682
                                                The technique_common element specifies the instance_rigid_body information for the common 
 
10683
                                                profile which all COLLADA implementations need to support.
 
10684
                                                </xs:documentation>
 
10685
                                </xs:annotation>
 
10686
                                <xs:complexType>
 
10687
                                        <xs:sequence>
 
10688
                                                <xs:element name="angular_velocity" type="float3_type" default="0.0 0.0 0.0" minOccurs="0">
 
10689
                                                        <xs:annotation>
 
10690
                                                                <xs:documentation>
 
10691
                                                                        Specifies the initial angular velocity of the rigid_body instance in degrees per second 
 
10692
                                                                        around each axis, in the form of an X-Y-Z Euler rotation.
 
10693
                                                                        </xs:documentation>
 
10694
                                                        </xs:annotation>
 
10695
                                                </xs:element>
 
10696
                                                <xs:element name="velocity" type="float3_type" default="0.0 0.0 0.0" minOccurs="0">
 
10697
                                                        <xs:annotation>
 
10698
                                                                <xs:documentation>
 
10699
                                                                        Specifies the initial linear velocity of the rigid_body instance.
 
10700
                                                                        </xs:documentation>
 
10701
                                                        </xs:annotation>
 
10702
                                                </xs:element>
 
10703
                                                <xs:element name="dynamic" default="true" minOccurs="0">
 
10704
                                                        <xs:complexType>
 
10705
                                                                <xs:simpleContent>
 
10706
                                                                        <xs:extension base="xs:boolean">
 
10707
                                                                                <xs:attribute name="sid" type="sid_type">
 
10708
                                                                                        <xs:annotation>
 
10709
                                                                                                <xs:documentation>
 
10710
                                                                                                        The sid attribute is a text string value containing the sub-identifier of this element. 
 
10711
                                                                                                        This value must be unique within the scope of the parent element. Optional attribute.
 
10712
                                                                                                        </xs:documentation>
 
10713
                                                                                        </xs:annotation>
 
10714
                                                                                </xs:attribute>
 
10715
                                                                        </xs:extension>
 
10716
                                                                </xs:simpleContent>
 
10717
                                                        </xs:complexType>
 
10718
                                                </xs:element>
 
10719
                                                <xs:element name="mass" type="targetable_float_type" minOccurs="0"/>
 
10720
                                                <xs:element name="mass_frame" minOccurs="0">
 
10721
                                                        <xs:complexType>
 
10722
                                                                <xs:choice maxOccurs="unbounded">
 
10723
                                                                        <xs:element name="translate" type="translate_type"/>
 
10724
                                                                        <xs:element name="rotate" type="rotate_type"/>
 
10725
                                                                </xs:choice>
 
10726
                                                        </xs:complexType>
 
10727
                                                </xs:element>
 
10728
                                                <xs:element name="inertia" type="targetable_float3_type" minOccurs="0"/>
 
10729
                                                <xs:choice minOccurs="0">
 
10730
                                                        <xs:element name="instance_physics_material" type="instance_physics_material_type"/>
 
10731
                                                        <xs:element name="physics_material" type="physics_material_type"/>
 
10732
                                                </xs:choice>
 
10733
                                                <xs:element name="shape" minOccurs="0" maxOccurs="unbounded">
 
10734
                                                        <xs:complexType>
 
10735
                                                                <xs:sequence>
 
10736
                                                                        <xs:element name="hollow" minOccurs="0">
 
10737
                                                                                <xs:complexType>
 
10738
                                                                                        <xs:simpleContent>
 
10739
                                                                                                <xs:extension base="xs:boolean">
 
10740
                                                                                                        <xs:attribute name="sid" type="sid_type">
 
10741
                                                                                                                <xs:annotation>
 
10742
                                                                                                                        <xs:documentation>
 
10743
                                                                                                                                The sid attribute is a text string value containing the sub-identifier of this element. This value must be unique within the scope of the parent element. Optional attribute.
 
10744
                                                                                                                                </xs:documentation>
 
10745
                                                                                                                </xs:annotation>
 
10746
                                                                                                        </xs:attribute>
 
10747
                                                                                                </xs:extension>
 
10748
                                                                                        </xs:simpleContent>
 
10749
                                                                                </xs:complexType>
 
10750
                                                                        </xs:element>
 
10751
                                                                        <xs:element name="mass" type="targetable_float_type" minOccurs="0"/>
 
10752
                                                                        <xs:element name="density" type="targetable_float_type" minOccurs="0"/>
 
10753
                                                                        <xs:choice minOccurs="0">
 
10754
                                                                                <xs:element name="instance_physics_material" type="instance_physics_material_type"/>
 
10755
                                                                                <xs:element name="physics_material" type="physics_material_type"/>
 
10756
                                                                        </xs:choice>
 
10757
                                                                        <xs:choice>
 
10758
                                                                                <xs:element name="instance_geometry" type="instance_geometry_type"/>
 
10759
                                                                                <xs:element name="plane" type="plane_type"/>
 
10760
                                                                                <xs:element name="box" type="box_type"/>
 
10761
                                                                                <xs:element name="sphere" type="sphere_type"/>
 
10762
                                                                                <xs:element name="cylinder" type="cylinder_type"/>
 
10763
                                                                                <xs:element name="capsule" type="capsule_type"/>
 
10764
                                                                        </xs:choice>
 
10765
                                                                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
10766
                                                                                <xs:element name="translate" type="translate_type"/>
 
10767
                                                                                <xs:element name="rotate" type="rotate_type"/>
 
10768
                                                                        </xs:choice>
 
10769
                                                                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10770
                                                                                <xs:annotation>
 
10771
                                                                                        <xs:documentation>
 
10772
                                                                                                The extra element may appear any number of times.
 
10773
                                                                                                </xs:documentation>
 
10774
                                                                                </xs:annotation>
 
10775
                                                                        </xs:element>
 
10776
                                                                </xs:sequence>
 
10777
                                                        </xs:complexType>
 
10778
                                                </xs:element>
 
10779
                                        </xs:sequence>
 
10780
                                </xs:complexType>
 
10781
                        </xs:element>
 
10782
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded">
 
10783
                                <xs:annotation>
 
10784
                                        <xs:documentation>
 
10785
                                                This element may contain any number of non-common profile techniques.
 
10786
                                                </xs:documentation>
 
10787
                                </xs:annotation>
 
10788
                        </xs:element>
 
10789
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10790
                                <xs:annotation>
 
10791
                                        <xs:documentation>
 
10792
                                                The extra element may appear any number of times.
 
10793
                                                </xs:documentation>
 
10794
                                </xs:annotation>
 
10795
                        </xs:element>
 
10796
                </xs:sequence>
 
10797
                <xs:attribute name="body" type="xs:NCName" use="required">
 
10798
                        <xs:annotation>
 
10799
                                <xs:documentation>
 
10800
                                        The body attribute indicates which rigid_body to instantiate. Required attribute.
 
10801
                                        </xs:documentation>
 
10802
                        </xs:annotation>
 
10803
                </xs:attribute>
 
10804
                <xs:attribute name="sid" type="sid_type">
 
10805
                        <xs:annotation>
 
10806
                                <xs:documentation>
 
10807
                                        The sid attribute is a text string value containing the sub-identifier of this element. This 
 
10808
                                        value must be unique within the scope of the parent element. Optional attribute.
 
10809
                                        </xs:documentation>
 
10810
                        </xs:annotation>
 
10811
                </xs:attribute>
 
10812
                <xs:attribute name="name" type="xs:token">
 
10813
                        <xs:annotation>
 
10814
                                <xs:documentation>
 
10815
                                        The name attribute is the text string name of this element. Optional attribute.
 
10816
                                        </xs:documentation>
 
10817
                        </xs:annotation>
 
10818
                </xs:attribute>
 
10819
                <xs:attribute name="target" type="xs:anyURI" use="required">
 
10820
                        <xs:annotation>
 
10821
                                <xs:documentation>
 
10822
                                        The target attribute indicates which node is influenced by this rigid_body instance. 
 
10823
                                        Required attribute
 
10824
                                        </xs:documentation>
 
10825
                        </xs:annotation>
 
10826
                </xs:attribute>
 
10827
        </xs:complexType>
 
10828
        <xs:complexType name="instance_physics_model_type">
 
10829
                <xs:annotation>
 
10830
                        <xs:documentation>
 
10831
                        This element allows instancing physics model within another physics model, or in a physics scene.
 
10832
                        </xs:documentation>
 
10833
                </xs:annotation>
 
10834
                <xs:sequence>
 
10835
                        <xs:element name="instance_force_field" type="instance_force_field_type" minOccurs="0" maxOccurs="unbounded">
 
10836
                                <xs:annotation>
 
10837
                                        <xs:documentation>
 
10838
                                                The instance_physics_model element may instance any number of force_field elements.
 
10839
                                                </xs:documentation>
 
10840
                                </xs:annotation>
 
10841
                        </xs:element>
 
10842
                        <xs:element name="instance_rigid_body" type="instance_rigid_body_type" minOccurs="0" maxOccurs="unbounded">
 
10843
                                <xs:annotation>
 
10844
                                        <xs:documentation>
 
10845
                                                The instance_physics_model element may instance any number of rigid_body elements.
 
10846
                                                </xs:documentation>
 
10847
                                </xs:annotation>
 
10848
                        </xs:element>
 
10849
                        <xs:element name="instance_rigid_constraint" type="instance_rigid_constraint_type" minOccurs="0" maxOccurs="unbounded">
 
10850
                                <xs:annotation>
 
10851
                                        <xs:documentation>
 
10852
                                                The instance_physics_model element may instance any number of rigid_constraint elements.
 
10853
                                                </xs:documentation>
 
10854
                                </xs:annotation>
 
10855
                        </xs:element>
 
10856
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10857
                                <xs:annotation>
 
10858
                                        <xs:documentation>
 
10859
                                                The extra element may appear any number of times.
 
10860
                                                </xs:documentation>
 
10861
                                </xs:annotation>
 
10862
                        </xs:element>
 
10863
                </xs:sequence>
 
10864
                <xs:attribute name="url" type="xs:anyURI" use="required">
 
10865
                        <xs:annotation>
 
10866
                                <xs:documentation>
 
10867
                                        The url attribute refers to resource.  This may refer to a local resource using a relative URL 
 
10868
                                        fragment identifier that begins with the "#" character. The url attribute may refer to an external 
 
10869
                                        resource using an absolute or relative URL.
 
10870
                                        </xs:documentation>
 
10871
                        </xs:annotation>
 
10872
                </xs:attribute>
 
10873
                <xs:attribute name="sid" type="sid_type">
 
10874
                        <xs:annotation>
 
10875
                                <xs:documentation>
 
10876
                                        The sid attribute is a text string value containing the sub-identifier of this element. This 
 
10877
                                        value must be unique within the scope of the parent element. Optional attribute.
 
10878
                                        </xs:documentation>
 
10879
                        </xs:annotation>
 
10880
                </xs:attribute>
 
10881
                <xs:attribute name="name" type="xs:token">
 
10882
                        <xs:annotation>
 
10883
                                <xs:documentation>
 
10884
                                        The name attribute is the text string name of this element. Optional attribute.
 
10885
                                        </xs:documentation>
 
10886
                        </xs:annotation>
 
10887
                </xs:attribute>
 
10888
                <xs:attribute name="parent" type="xs:anyURI">
 
10889
                        <xs:annotation>
 
10890
                                <xs:documentation>
 
10891
                                        The parent attribute points to the id of a node in the visual scene. This allows a physics model 
 
10892
                                        to be instantiated under a specific transform node, which will dictate the initial position and 
 
10893
                                        orientation, and could be animated to influence kinematic rigid bodies.
 
10894
                                        </xs:documentation>
 
10895
                        </xs:annotation>
 
10896
                </xs:attribute>
 
10897
        </xs:complexType>
 
10898
        <xs:complexType name="physics_model_type">
 
10899
                <xs:annotation>
 
10900
                        <xs:documentation>
 
10901
                        This element allows for building complex combinations of rigid-bodies and constraints that 
 
10902
                        may be instantiated multiple times.
 
10903
                        </xs:documentation>
 
10904
                </xs:annotation>
 
10905
                <xs:sequence>
 
10906
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
10907
                                <xs:annotation>
 
10908
                                        <xs:documentation>
 
10909
                                                The physics_model element may contain an asset element.
 
10910
                                                </xs:documentation>
 
10911
                                </xs:annotation>
 
10912
                        </xs:element>
 
10913
                        <xs:element name="rigid_body" type="rigid_body_type" minOccurs="0" maxOccurs="unbounded">
 
10914
                                <xs:annotation>
 
10915
                                        <xs:documentation>
 
10916
                                                The physics_model may define any number of rigid_body elements.
 
10917
                                                </xs:documentation>
 
10918
                                </xs:annotation>
 
10919
                        </xs:element>
 
10920
                        <xs:element name="rigid_constraint" type="rigid_constraint_type" minOccurs="0" maxOccurs="unbounded">
 
10921
                                <xs:annotation>
 
10922
                                        <xs:documentation>
 
10923
                                                The physics_model may define any number of rigid_constraint elements.
 
10924
                                                </xs:documentation>
 
10925
                                </xs:annotation>
 
10926
                        </xs:element>
 
10927
                        <xs:element name="instance_physics_model" type="instance_physics_model_type" minOccurs="0" maxOccurs="unbounded">
 
10928
                                <xs:annotation>
 
10929
                                        <xs:documentation>
 
10930
                                                The physics_model may instance any number of other physics_model elements.
 
10931
                                                </xs:documentation>
 
10932
                                </xs:annotation>
 
10933
                        </xs:element>
 
10934
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10935
                                <xs:annotation>
 
10936
                                        <xs:documentation>
 
10937
                                                The extra element may appear any number of times.
 
10938
                                                </xs:documentation>
 
10939
                                </xs:annotation>
 
10940
                        </xs:element>
 
10941
                </xs:sequence>
 
10942
                <xs:attribute name="id" type="xs:ID">
 
10943
                        <xs:annotation>
 
10944
                                <xs:documentation>
 
10945
                                        The id attribute is a text string containing the unique identifier of this element. 
 
10946
                                        This value must be unique within the instance document. Optional attribute.
 
10947
                                        </xs:documentation>
 
10948
                        </xs:annotation>
 
10949
                </xs:attribute>
 
10950
                <xs:attribute name="name" type="xs:token">
 
10951
                        <xs:annotation>
 
10952
                                <xs:documentation>
 
10953
                                        The name attribute is the text string name of this element. Optional attribute.
 
10954
                                        </xs:documentation>
 
10955
                        </xs:annotation>
 
10956
                </xs:attribute>
 
10957
        </xs:complexType>
 
10958
        <xs:complexType name="library_physics_models_type">
 
10959
                <xs:annotation>
 
10960
                        <xs:documentation>
 
10961
                        The library_physics_models element declares a module of physics_model elements.
 
10962
                        </xs:documentation>
 
10963
                </xs:annotation>
 
10964
                <xs:sequence>
 
10965
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
10966
                                <xs:annotation>
 
10967
                                        <xs:documentation>
 
10968
                                                The library_physics_models element may contain an asset element.
 
10969
                                                </xs:documentation>
 
10970
                                </xs:annotation>
 
10971
                        </xs:element>
 
10972
                        <xs:element name="physics_model" type="physics_model_type" maxOccurs="unbounded">
 
10973
                                <xs:annotation>
 
10974
                                        <xs:documentation>
 
10975
                                                There must be at least one physics_model element.
 
10976
                                                </xs:documentation>
 
10977
                                </xs:annotation>
 
10978
                        </xs:element>
 
10979
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
10980
                                <xs:annotation>
 
10981
                                        <xs:documentation>
 
10982
                                                The extra element may appear any number of times.
 
10983
                                                </xs:documentation>
 
10984
                                </xs:annotation>
 
10985
                        </xs:element>
 
10986
                </xs:sequence>
 
10987
                <xs:attribute name="id" type="xs:ID">
 
10988
                        <xs:annotation>
 
10989
                                <xs:documentation>
 
10990
                                        The id attribute is a text string containing the unique identifier of this element. 
 
10991
                                        This value must be unique within the instance document. Optional attribute.
 
10992
                                        </xs:documentation>
 
10993
                        </xs:annotation>
 
10994
                </xs:attribute>
 
10995
                <xs:attribute name="name" type="xs:token">
 
10996
                        <xs:annotation>
 
10997
                                <xs:documentation>
 
10998
                                        The name attribute is the text string name of this element. Optional attribute.
 
10999
                                        </xs:documentation>
 
11000
                        </xs:annotation>
 
11001
                </xs:attribute>
 
11002
        </xs:complexType>
 
11003
        <xs:complexType name="physics_scene_type">
 
11004
                <xs:sequence>
 
11005
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
11006
                                <xs:annotation>
 
11007
                                        <xs:documentation>
 
11008
                                                The physics_scene element may contain an asset element.
 
11009
                                                </xs:documentation>
 
11010
                                </xs:annotation>
 
11011
                        </xs:element>
 
11012
                        <xs:element name="instance_force_field" type="instance_force_field_type" minOccurs="0" maxOccurs="unbounded">
 
11013
                                <xs:annotation>
 
11014
                                        <xs:documentation>
 
11015
                                                There may be any number of instance_force_field elements.
 
11016
                                                </xs:documentation>
 
11017
                                </xs:annotation>
 
11018
                        </xs:element>
 
11019
                        <xs:element name="instance_physics_model" type="instance_physics_model_type" minOccurs="0" maxOccurs="unbounded">
 
11020
                                <xs:annotation>
 
11021
                                        <xs:documentation>
 
11022
                                                There may be any number of instance_physics_model elements.
 
11023
                                                </xs:documentation>
 
11024
                                </xs:annotation>
 
11025
                        </xs:element>
 
11026
                        <xs:element name="technique_common">
 
11027
                                <xs:annotation>
 
11028
                                        <xs:documentation>
 
11029
                                                The technique_common element specifies the physics_scene information for the common profile 
 
11030
                                                which all COLLADA implementations need to support.
 
11031
                                                </xs:documentation>
 
11032
                                </xs:annotation>
 
11033
                                <xs:complexType>
 
11034
                                        <xs:sequence>
 
11035
                                                <xs:element name="gravity" type="targetable_float3_type" minOccurs="0">
 
11036
                                                        <xs:annotation>
 
11037
                                                                <xs:documentation>
 
11038
                                                                        The gravity vector to use for the physics_scene.
 
11039
                                                                        </xs:documentation>
 
11040
                                                        </xs:annotation>
 
11041
                                                </xs:element>
 
11042
                                                <xs:element name="time_step" type="targetable_float_type" minOccurs="0">
 
11043
                                                        <xs:annotation>
 
11044
                                                                <xs:documentation>
 
11045
                                                                        The time_step for the physics_scene.
 
11046
                                                                        </xs:documentation>
 
11047
                                                        </xs:annotation>
 
11048
                                                </xs:element>
 
11049
                                        </xs:sequence>
 
11050
                                </xs:complexType>
 
11051
                        </xs:element>
 
11052
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded">
 
11053
                                <xs:annotation>
 
11054
                                        <xs:documentation>
 
11055
                                                This element may contain any number of non-common profile techniques.
 
11056
                                                </xs:documentation>
 
11057
                                </xs:annotation>
 
11058
                        </xs:element>
 
11059
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
11060
                                <xs:annotation>
 
11061
                                        <xs:documentation>
 
11062
                                                The extra element may appear any number of times.
 
11063
                                                </xs:documentation>
 
11064
                                </xs:annotation>
 
11065
                        </xs:element>
 
11066
                </xs:sequence>
 
11067
                <xs:attribute name="id" type="xs:ID">
 
11068
                        <xs:annotation>
 
11069
                                <xs:documentation>
 
11070
                                        The id attribute is a text string containing the unique identifier of this element. 
 
11071
                                        This value must be unique within the instance document. Optional attribute.
 
11072
                                        </xs:documentation>
 
11073
                        </xs:annotation>
 
11074
                </xs:attribute>
 
11075
                <xs:attribute name="name" type="xs:token">
 
11076
                        <xs:annotation>
 
11077
                                <xs:documentation>
 
11078
                                        The name attribute is the text string name of this element. Optional attribute.
 
11079
                                        </xs:documentation>
 
11080
                        </xs:annotation>
 
11081
                </xs:attribute>
 
11082
        </xs:complexType>
 
11083
        <xs:complexType name="library_physics_scenes_type">
 
11084
                <xs:annotation>
 
11085
                        <xs:documentation>
 
11086
                        The library_physics_scenes element declares a module of physics_scene elements.
 
11087
                        </xs:documentation>
 
11088
                </xs:annotation>
 
11089
                <xs:sequence>
 
11090
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
11091
                                <xs:annotation>
 
11092
                                        <xs:documentation>
 
11093
                                                The library_physics_scenes element may contain an asset element.
 
11094
                                                </xs:documentation>
 
11095
                                </xs:annotation>
 
11096
                        </xs:element>
 
11097
                        <xs:element name="physics_scene" type="physics_scene_type" maxOccurs="unbounded">
 
11098
                                <xs:annotation>
 
11099
                                        <xs:documentation>
 
11100
                                                There must be at least one physics_scene element.
 
11101
                                                </xs:documentation>
 
11102
                                </xs:annotation>
 
11103
                        </xs:element>
 
11104
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
11105
                                <xs:annotation>
 
11106
                                        <xs:documentation>
 
11107
                                                The extra element may appear any number of times.
 
11108
                                                </xs:documentation>
 
11109
                                </xs:annotation>
 
11110
                        </xs:element>
 
11111
                </xs:sequence>
 
11112
                <xs:attribute name="id" type="xs:ID">
 
11113
                        <xs:annotation>
 
11114
                                <xs:documentation>
 
11115
                                        The id attribute is a text string containing the unique identifier of this element. 
 
11116
                                        This value must be unique within the instance document. Optional attribute.
 
11117
                                        </xs:documentation>
 
11118
                        </xs:annotation>
 
11119
                </xs:attribute>
 
11120
                <xs:attribute name="name" type="xs:token">
 
11121
                        <xs:annotation>
 
11122
                                <xs:documentation>
 
11123
                                        The name attribute is the text string name of this element. Optional attribute.
 
11124
                                        </xs:documentation>
 
11125
                        </xs:annotation>
 
11126
                </xs:attribute>
 
11127
        </xs:complexType>
 
11128
        <xs:complexType name="kinematics_newparam_type">
 
11129
                <xs:choice>
 
11130
                        <xs:element name="float" type="float_type"/>
 
11131
                        <xs:element name="int" type="int_type"/>
 
11132
                        <xs:element name="SIDREF" type="sidref_type"/>
 
11133
                        <xs:element name="bool" type="xs:boolean"/>
 
11134
                </xs:choice>
 
11135
                <xs:attribute name="sid" type="sid_type"/>
 
11136
        </xs:complexType>
 
11137
        <xs:complexType name="kinematics_frame_type">
 
11138
                <xs:choice minOccurs="0" maxOccurs="unbounded">
 
11139
                        <xs:element name="translate" type="translate_type"/>
 
11140
                        <xs:element name="rotate" type="rotate_type"/>
 
11141
                </xs:choice>
 
11142
                <xs:attribute name="link" type="xs:token"/>
 
11143
        </xs:complexType>
 
11144
        <xs:complexType name="common_param_type">
 
11145
                <xs:simpleContent>
 
11146
                        <xs:extension base="xs:token"/>
 
11147
                </xs:simpleContent>
 
11148
        </xs:complexType>
 
11149
        <xs:complexType name="common_int_or_param_type">
 
11150
                <xs:choice>
 
11151
                        <xs:element name="int" type="int_type"/>
 
11152
                        <xs:element name="param" type="common_param_type"/>
 
11153
                </xs:choice>
 
11154
        </xs:complexType>
 
11155
        <xs:complexType name="common_bool_or_param_type">
 
11156
                <xs:choice>
 
11157
                        <xs:element name="bool" type="xs:boolean"/>
 
11158
                        <xs:element name="param" type="common_param_type"/>
 
11159
                </xs:choice>
 
11160
        </xs:complexType>
 
11161
        <xs:complexType name="common_float_or_param_type">
 
11162
                <xs:choice>
 
11163
                        <xs:element name="float" type="float_type"/>
 
11164
                        <xs:element name="param" type="common_param_type"/>
 
11165
                </xs:choice>
 
11166
        </xs:complexType>
 
11167
        <xs:complexType name="kinematics_limits_type">
 
11168
                <xs:sequence>
 
11169
                        <xs:element name="min" type="common_float_or_param_type"/>
 
11170
                        <xs:element name="max" type="common_float_or_param_type"/>
 
11171
                </xs:sequence>
 
11172
        </xs:complexType>
 
11173
        <xs:complexType name="common_sidref_or_param_type">
 
11174
                <xs:choice>
 
11175
                        <xs:element name="SIDREF" type="sidref_type"/>
 
11176
                        <xs:element name="param" type="common_param_type"/>
 
11177
                </xs:choice>
 
11178
        </xs:complexType>
 
11179
        <xs:complexType name="bind_joint_axis_type">
 
11180
                <xs:sequence>
 
11181
                        <xs:element name="axis" type="common_sidref_or_param_type"/>
 
11182
                        <xs:element name="value" type="common_float_or_param_type"/>
 
11183
                </xs:sequence>
 
11184
                <xs:attribute name="target" type="xs:token"/>
 
11185
        </xs:complexType>
 
11186
        <xs:complexType name="bind_kinematics_model_type">
 
11187
                <xs:complexContent>
 
11188
                        <xs:extension base="common_sidref_or_param_type">
 
11189
                                <xs:attribute name="node" type="xs:token"/>
 
11190
                        </xs:extension>
 
11191
                </xs:complexContent>
 
11192
        </xs:complexType>
 
11193
        <xs:complexType name="kinematics_connect_param_type">
 
11194
                <xs:attribute name="ref" type="xs:token" use="required"/>
 
11195
        </xs:complexType>
 
11196
        <xs:complexType name="kinematics_setparam_type">
 
11197
                <xs:choice>
 
11198
                        <xs:element name="float" type="float_type"/>
 
11199
                        <xs:element name="int" type="int_type"/>
 
11200
                        <xs:element name="SIDREF" type="sidref_type"/>
 
11201
                        <xs:element name="bool" type="xs:boolean"/>
 
11202
                        <xs:element name="connect_param" type="kinematics_connect_param_type"/>
 
11203
                </xs:choice>
 
11204
                <xs:attribute name="ref" type="xs:token" use="required"/>
 
11205
        </xs:complexType>
 
11206
        <xs:complexType name="instance_kinematics_scene_type">
 
11207
                <xs:sequence>
 
11208
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
11209
                        <xs:element name="newparam" type="kinematics_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11210
                        <xs:element name="setparam" type="kinematics_setparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11211
                        <xs:element name="bind_kinematics_model" type="bind_kinematics_model_type" minOccurs="0" maxOccurs="unbounded"/>
 
11212
                        <xs:element name="bind_joint_axis" type="bind_joint_axis_type" minOccurs="0" maxOccurs="unbounded"/>
 
11213
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11214
                </xs:sequence>
 
11215
                <xs:attribute name="url" type="xs:anyURI" use="required"/>
 
11216
                <xs:attribute name="sid" type="sid_type"/>
 
11217
                <xs:attribute name="name" type="xs:token"/>
 
11218
        </xs:complexType>
 
11219
        <xs:complexType name="kinematics_index_type">
 
11220
                <xs:complexContent>
 
11221
                        <xs:extension base="common_int_or_param_type">
 
11222
                                <xs:attribute name="semantic" type="xs:NMTOKEN"/>
 
11223
                        </xs:extension>
 
11224
                </xs:complexContent>
 
11225
        </xs:complexType>
 
11226
        <xs:complexType name="kinematics_param_type">
 
11227
                <xs:attribute name="ref" type="xs:token" use="required"/>
 
11228
        </xs:complexType>
 
11229
        <xs:complexType name="kinematics_bind_type">
 
11230
                <xs:choice>
 
11231
                        <xs:element name="param" type="kinematics_param_type"/>
 
11232
                        <xs:element name="bool" type="xs:boolean"/>
 
11233
                        <xs:element name="float" type="float_type"/>
 
11234
                        <xs:element name="int" type="int_type"/>
 
11235
                        <xs:element name="SIDREF" type="sidref_type"/>
 
11236
                </xs:choice>
 
11237
                <xs:attribute name="symbol" type="xs:NCName" use="required"/>
 
11238
        </xs:complexType>
 
11239
        <xs:complexType name="motion_axis_info_type">
 
11240
                <xs:sequence>
 
11241
                        <xs:element name="bind" type="kinematics_bind_type" minOccurs="0" maxOccurs="unbounded"/>
 
11242
                        <xs:element name="newparam" type="kinematics_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11243
                        <xs:element name="setparam" type="kinematics_setparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11244
                        <xs:element name="speed" type="common_float_or_param_type" minOccurs="0"/>
 
11245
                        <xs:element name="acceleration" type="common_float_or_param_type" minOccurs="0"/>
 
11246
                        <xs:element name="deceleration" type="common_float_or_param_type" minOccurs="0"/>
 
11247
                        <xs:element name="jerk" type="common_float_or_param_type" minOccurs="0"/>
 
11248
                </xs:sequence>
 
11249
                <xs:attribute name="sid" type="sid_type"/>
 
11250
                <xs:attribute name="axis" type="xs:token" use="required"/>
 
11251
                <xs:attribute name="name" type="xs:token"/>
 
11252
        </xs:complexType>
 
11253
        <xs:complexType name="instance_kinematics_model_type">
 
11254
                <xs:sequence>
 
11255
                        <xs:element name="bind" type="kinematics_bind_type" minOccurs="0" maxOccurs="unbounded"/>
 
11256
                        <xs:element name="newparam" type="kinematics_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11257
                        <xs:element name="setparam" type="kinematics_setparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11258
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11259
                </xs:sequence>
 
11260
                <xs:attribute name="url" type="xs:anyURI" use="required"/>
 
11261
                <xs:attribute name="sid" type="sid_type"/>
 
11262
                <xs:attribute name="name" type="xs:token"/>
 
11263
        </xs:complexType>
 
11264
        <xs:complexType name="instance_articulated_system_type">
 
11265
                <xs:sequence>
 
11266
                        <xs:element name="bind" type="kinematics_bind_type" minOccurs="0" maxOccurs="unbounded"/>
 
11267
                        <xs:element name="setparam" type="kinematics_setparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11268
                        <xs:element name="newparam" type="kinematics_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11269
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11270
                </xs:sequence>
 
11271
                <xs:attribute name="sid" type="sid_type"/>
 
11272
                <xs:attribute name="url" type="xs:anyURI" use="required"/>
 
11273
                <xs:attribute name="name" type="xs:token"/>
 
11274
        </xs:complexType>
 
11275
        <xs:complexType name="kinematics_scene_type">
 
11276
                <xs:sequence>
 
11277
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
11278
                        <xs:element name="instance_kinematics_model" type="instance_kinematics_model_type" minOccurs="0" maxOccurs="unbounded"/>
 
11279
                        <xs:element name="instance_articulated_system" type="instance_articulated_system_type" minOccurs="0" maxOccurs="unbounded"/>
 
11280
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11281
                </xs:sequence>
 
11282
                <xs:attribute name="id" type="xs:ID"/>
 
11283
                <xs:attribute name="name" type="xs:token"/>
 
11284
        </xs:complexType>
 
11285
        <xs:complexType name="library_kinematics_scenes_type">
 
11286
                <xs:sequence>
 
11287
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
11288
                        <xs:element name="kinematics_scene" type="kinematics_scene_type" maxOccurs="unbounded"/>
 
11289
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11290
                </xs:sequence>
 
11291
                <xs:attribute name="id" type="xs:ID"/>
 
11292
                <xs:attribute name="name" type="xs:token"/>
 
11293
        </xs:complexType>
 
11294
        <xs:complexType name="common_float2_or_param_type">
 
11295
                <xs:choice>
 
11296
                        <xs:element name="float2" type="float2_type"/>
 
11297
                        <xs:element name="param" type="common_param_type"/>
 
11298
                </xs:choice>
 
11299
        </xs:complexType>
 
11300
        <xs:complexType name="motion_effector_info_type">
 
11301
                <xs:sequence>
 
11302
                        <xs:element name="bind" type="kinematics_bind_type" minOccurs="0" maxOccurs="unbounded"/>
 
11303
                        <xs:element name="newparam" type="kinematics_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11304
                        <xs:element name="setparam" type="kinematics_setparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11305
                        <xs:element name="speed" type="common_float2_or_param_type" minOccurs="0"/>
 
11306
                        <xs:element name="acceleration" type="common_float2_or_param_type" minOccurs="0"/>
 
11307
                        <xs:element name="deceleration" type="common_float2_or_param_type" minOccurs="0"/>
 
11308
                        <xs:element name="jerk" type="common_float2_or_param_type" minOccurs="0"/>
 
11309
                </xs:sequence>
 
11310
                <xs:attribute name="sid" type="sid_type"/>
 
11311
                <xs:attribute name="name" type="xs:token"/>
 
11312
        </xs:complexType>
 
11313
        <xs:complexType name="motion_technique_type">
 
11314
                <xs:sequence>
 
11315
                        <xs:element name="axis_info" type="motion_axis_info_type" minOccurs="0" maxOccurs="unbounded"/>
 
11316
                        <xs:element name="effector_info" type="motion_effector_info_type" minOccurs="0"/>
 
11317
                </xs:sequence>
 
11318
        </xs:complexType>
 
11319
        <xs:complexType name="motion_type">
 
11320
                <xs:sequence>
 
11321
                        <xs:element name="instance_articulated_system" type="instance_articulated_system_type"/>
 
11322
                        <xs:element name="technique_common" type="motion_technique_type"/>
 
11323
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded"/>
 
11324
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11325
                </xs:sequence>
 
11326
        </xs:complexType>
 
11327
        <xs:complexType name="minmax_type">
 
11328
                <xs:simpleContent>
 
11329
                        <xs:extension base="float_type">
 
11330
                                <xs:attribute name="name" type="xs:token"/>
 
11331
                                <xs:attribute name="sid" type="sid_type"/>
 
11332
                        </xs:extension>
 
11333
                </xs:simpleContent>
 
11334
        </xs:complexType>
 
11335
        <xs:complexType name="joint_limits_type">
 
11336
                <xs:sequence>
 
11337
                        <xs:element name="min" type="minmax_type" minOccurs="0"/>
 
11338
                        <xs:element name="max" type="minmax_type" minOccurs="0"/>
 
11339
                </xs:sequence>
 
11340
        </xs:complexType>
 
11341
        <xs:complexType name="axis_type">
 
11342
                <xs:simpleContent>
 
11343
                        <xs:extension base="float3_type">
 
11344
                                <xs:attribute name="sid" type="sid_type"/>
 
11345
                                <xs:attribute name="name" type="xs:token"/>
 
11346
                        </xs:extension>
 
11347
                </xs:simpleContent>
 
11348
        </xs:complexType>
 
11349
        <xs:complexType name="axis_constraint_type">
 
11350
                <xs:sequence>
 
11351
                        <xs:element name="axis" type="axis_type"/>
 
11352
                        <xs:element name="limits" type="joint_limits_type" minOccurs="0"/>
 
11353
                </xs:sequence>
 
11354
                <xs:attribute name="sid" type="sid_type"/>
 
11355
        </xs:complexType>
 
11356
        <xs:complexType name="joint_type">
 
11357
                <xs:sequence>
 
11358
                        <xs:choice maxOccurs="unbounded">
 
11359
                                <xs:element name="prismatic" type="axis_constraint_type"/>
 
11360
                                <xs:element name="revolute" type="axis_constraint_type"/>
 
11361
                        </xs:choice>
 
11362
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11363
                </xs:sequence>
 
11364
                <xs:attribute name="id" type="xs:ID"/>
 
11365
                <xs:attribute name="name" type="xs:token"/>
 
11366
                <xs:attribute name="sid" type="sid_type"/>
 
11367
        </xs:complexType>
 
11368
        <xs:complexType name="library_joints_type">
 
11369
                <xs:sequence>
 
11370
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
11371
                        <xs:element name="joint" type="joint_type" maxOccurs="unbounded"/>
 
11372
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11373
                </xs:sequence>
 
11374
                <xs:attribute name="id" type="xs:ID" use="optional"/>
 
11375
                <xs:attribute name="name" type="xs:token" use="optional"/>
 
11376
        </xs:complexType>
 
11377
        <xs:complexType name="formula_technique_type">
 
11378
                <xs:sequence>
 
11379
                        <xs:element ref="math:math"/>
 
11380
                </xs:sequence>
 
11381
        </xs:complexType>
 
11382
        <xs:complexType name="formula_newparam_type">
 
11383
                <xs:choice>
 
11384
                        <xs:element name="float" type="float_type"/>
 
11385
                        <xs:element name="int" type="int_type"/>
 
11386
                        <xs:element name="SIDREF" type="sidref_type"/>
 
11387
                        <xs:element name="bool" type="xs:boolean"/>
 
11388
                </xs:choice>
 
11389
                <xs:attribute name="sid" type="sid_type"/>
 
11390
        </xs:complexType>
 
11391
        <xs:complexType name="formula_setparam_type">
 
11392
                <xs:choice>
 
11393
                        <xs:element name="float" type="float_type"/>
 
11394
                        <xs:element name="int" type="int_type"/>
 
11395
                        <xs:element name="SIDREF" type="sidref_type"/>
 
11396
                        <xs:element name="bool" type="xs:boolean"/>
 
11397
                        <xs:element name="connect_param" type="kinematics_connect_param_type"/>
 
11398
                </xs:choice>
 
11399
                <xs:attribute name="ref" type="xs:token" use="required"/>
 
11400
        </xs:complexType>
 
11401
        <xs:complexType name="instance_formula_type">
 
11402
                <xs:sequence>
 
11403
                        <xs:element name="setparam" type="formula_setparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11404
                </xs:sequence>
 
11405
                <xs:attribute name="sid" type="sid_type"/>
 
11406
                <xs:attribute name="name" type="xs:token"/>
 
11407
                <xs:attribute name="url" type="xs:anyURI"/>
 
11408
        </xs:complexType>
 
11409
        <xs:complexType name="animation_clip_type">
 
11410
                <xs:annotation>
 
11411
                        <xs:documentation>
 
11412
                        The animation_clip element defines a section of the animation curves to be used together as 
 
11413
                        an animation clip.
 
11414
                        </xs:documentation>
 
11415
                </xs:annotation>
 
11416
                <xs:sequence>
 
11417
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
11418
                                <xs:annotation>
 
11419
                                        <xs:documentation>
 
11420
                                                The animation_clip element may contain an asset element.
 
11421
                                                </xs:documentation>
 
11422
                                </xs:annotation>
 
11423
                        </xs:element>
 
11424
                        <xs:element name="instance_animation" type="instance_with_extra_type" maxOccurs="unbounded">
 
11425
                                <xs:annotation>
 
11426
                                        <xs:documentation>
 
11427
                                                The animation_clip must instance at least one animation element.
 
11428
                                                </xs:documentation>
 
11429
                                </xs:annotation>
 
11430
                        </xs:element>
 
11431
                        <xs:element name="instance_formula" type="instance_formula_type" minOccurs="0" maxOccurs="unbounded"/>
 
11432
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
11433
                                <xs:annotation>
 
11434
                                        <xs:documentation>
 
11435
                                                The extra element may appear any number of times.
 
11436
                                                </xs:documentation>
 
11437
                                </xs:annotation>
 
11438
                        </xs:element>
 
11439
                </xs:sequence>
 
11440
                <xs:attribute name="id" type="xs:ID">
 
11441
                        <xs:annotation>
 
11442
                                <xs:documentation>
 
11443
                                        The id attribute is a text string containing the unique identifier of this element. 
 
11444
                                        This value must be unique within the instance document. Optional attribute.
 
11445
                                        </xs:documentation>
 
11446
                        </xs:annotation>
 
11447
                </xs:attribute>
 
11448
                <xs:attribute name="name" type="xs:token">
 
11449
                        <xs:annotation>
 
11450
                                <xs:documentation>
 
11451
                                        The name attribute is the text string name of this element. Optional attribute.
 
11452
                                        </xs:documentation>
 
11453
                        </xs:annotation>
 
11454
                </xs:attribute>
 
11455
                <xs:attribute name="start" type="float_type" default="0.0">
 
11456
                        <xs:annotation>
 
11457
                                <xs:documentation>
 
11458
                                        The start attribute is the time in seconds of the beginning of the clip.  This time is 
 
11459
                                        the same as that used in the key-frame data and is used to determine which set of 
 
11460
                                        key-frames will be included in the clip.  The start time does not specify when the clip 
 
11461
                                        will be played.  If the time falls between two keyframes of a referenced animation, an 
 
11462
                                        interpolated value should be used.  The default value is 0.0.  Optional attribute.
 
11463
                                        </xs:documentation>
 
11464
                        </xs:annotation>
 
11465
                </xs:attribute>
 
11466
                <xs:attribute name="end" type="float_type">
 
11467
                        <xs:annotation>
 
11468
                                <xs:documentation>
 
11469
                                        The end attribute is the time in seconds of the end of the clip.  This is used in the 
 
11470
                                        same way as the start time.  If end is not specified, the value is taken to be the end 
 
11471
                                        time of the longest animation.  Optional attribute.
 
11472
                                        </xs:documentation>
 
11473
                        </xs:annotation>
 
11474
                </xs:attribute>
 
11475
        </xs:complexType>
 
11476
        <xs:complexType name="library_animation_clips_type">
 
11477
                <xs:annotation>
 
11478
                        <xs:documentation>
 
11479
                        The library_animation_clips element declares a module of animation_clip elements.
 
11480
                        </xs:documentation>
 
11481
                </xs:annotation>
 
11482
                <xs:sequence>
 
11483
                        <xs:element name="asset" type="asset_type" minOccurs="0">
 
11484
                                <xs:annotation>
 
11485
                                        <xs:documentation>
 
11486
                                                The library_animation_clips element may contain an asset element.
 
11487
                                                </xs:documentation>
 
11488
                                </xs:annotation>
 
11489
                        </xs:element>
 
11490
                        <xs:element name="animation_clip" type="animation_clip_type" maxOccurs="unbounded">
 
11491
                                <xs:annotation>
 
11492
                                        <xs:documentation>
 
11493
                                                There must be at least one animation_clip element.
 
11494
                                                </xs:documentation>
 
11495
                                </xs:annotation>
 
11496
                        </xs:element>
 
11497
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
11498
                                <xs:annotation>
 
11499
                                        <xs:documentation>
 
11500
                                                The extra element may appear any number of times.
 
11501
                                                </xs:documentation>
 
11502
                                </xs:annotation>
 
11503
                        </xs:element>
 
11504
                </xs:sequence>
 
11505
                <xs:attribute name="id" type="xs:ID">
 
11506
                        <xs:annotation>
 
11507
                                <xs:documentation>
 
11508
                                        The id attribute is a text string containing the unique identifier of this element. 
 
11509
                                        This value must be unique within the instance document. Optional attribute.
 
11510
                                        </xs:documentation>
 
11511
                        </xs:annotation>
 
11512
                </xs:attribute>
 
11513
                <xs:attribute name="name" type="xs:token">
 
11514
                        <xs:annotation>
 
11515
                                <xs:documentation>
 
11516
                                        The name attribute is the text string name of this element. Optional attribute.
 
11517
                                        </xs:documentation>
 
11518
                        </xs:annotation>
 
11519
                </xs:attribute>
 
11520
        </xs:complexType>
 
11521
        <xs:complexType name="formula_type">
 
11522
                <xs:sequence>
 
11523
                        <xs:element name="newparam" type="formula_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11524
                        <xs:element name="target" type="common_float_or_param_type"/>
 
11525
                        <xs:element name="technique_common" type="formula_technique_type"/>
 
11526
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded"/>
 
11527
                </xs:sequence>
 
11528
                <xs:attribute name="id" type="xs:ID"/>
 
11529
                <xs:attribute name="name" type="xs:token"/>
 
11530
                <xs:attribute name="sid" type="sid_type"/>
 
11531
        </xs:complexType>
 
11532
        <xs:complexType name="kinematics_model_technique_type">
 
11533
                <xs:sequence>
 
11534
                        <xs:element name="newparam" type="kinematics_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11535
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
11536
                                <xs:element name="instance_joint" type="instance_joint_type"/>
 
11537
                                <xs:element name="joint" type="joint_type"/>
 
11538
                        </xs:choice>
 
11539
                        <xs:element name="link" type="link_type" maxOccurs="unbounded"/>
 
11540
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
11541
                                <xs:element name="formula" type="formula_type"/>
 
11542
                                <xs:element name="instance_formula" type="instance_formula_type"/>
 
11543
                        </xs:choice>
 
11544
                </xs:sequence>
 
11545
        </xs:complexType>
 
11546
        <xs:complexType name="kinematics_model_type">
 
11547
                <xs:sequence>
 
11548
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
11549
                        <xs:element name="technique_common" type="kinematics_model_technique_type"/>
 
11550
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded"/>
 
11551
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11552
                </xs:sequence>
 
11553
                <xs:attribute name="id" type="xs:ID"/>
 
11554
                <xs:attribute name="name" type="xs:token"/>
 
11555
        </xs:complexType>
 
11556
        <xs:complexType name="library_kinematics_models_type">
 
11557
                <xs:sequence>
 
11558
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
11559
                        <xs:element name="kinematics_model" type="kinematics_model_type" maxOccurs="unbounded"/>
 
11560
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11561
                </xs:sequence>
 
11562
                <xs:attribute name="id" type="xs:ID"/>
 
11563
                <xs:attribute name="name" type="xs:token"/>
 
11564
        </xs:complexType>
 
11565
        <xs:complexType name="kinematics_axis_info_type">
 
11566
                <xs:sequence>
 
11567
                        <xs:element name="newparam" type="kinematics_newparam_type" minOccurs="0" maxOccurs="unbounded"/>
 
11568
                        <xs:element name="active" type="common_bool_or_param_type" minOccurs="0"/>
 
11569
                        <xs:element name="locked" type="common_bool_or_param_type" minOccurs="0"/>
 
11570
                        <xs:element name="index" type="kinematics_index_type" minOccurs="0" maxOccurs="unbounded"/>
 
11571
                        <xs:element name="limits" type="kinematics_limits_type" minOccurs="0"/>
 
11572
                        <xs:choice minOccurs="0" maxOccurs="unbounded">
 
11573
                                <xs:element name="formula" type="formula_type"/>
 
11574
                                <xs:element name="instance_formula" type="instance_formula_type"/>
 
11575
                        </xs:choice>
 
11576
                </xs:sequence>
 
11577
                <xs:attribute name="sid" type="sid_type"/>
 
11578
                <xs:attribute name="name" type="xs:token"/>
 
11579
                <xs:attribute name="axis" type="xs:token" use="required"/>
 
11580
        </xs:complexType>
 
11581
        <xs:complexType name="kinematics_technique_type">
 
11582
                <xs:sequence>
 
11583
                        <xs:element name="axis_info" type="kinematics_axis_info_type" minOccurs="0" maxOccurs="unbounded"/>
 
11584
                        <xs:element name="frame_origin" type="kinematics_frame_type"/>
 
11585
                        <xs:element name="frame_tip" type="kinematics_frame_type"/>
 
11586
                        <xs:element name="frame_tcp" type="kinematics_frame_type" minOccurs="0"/>
 
11587
                        <xs:element name="frame_object" type="kinematics_frame_type" minOccurs="0"/>
 
11588
                </xs:sequence>
 
11589
        </xs:complexType>
 
11590
        <xs:complexType name="kinematics_type">
 
11591
                <xs:sequence>
 
11592
                        <xs:element name="instance_kinematics_model" type="instance_kinematics_model_type" maxOccurs="unbounded"/>
 
11593
                        <xs:element name="technique_common" type="kinematics_technique_type"/>
 
11594
                        <xs:element name="technique" type="technique_type" minOccurs="0" maxOccurs="unbounded"/>
 
11595
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11596
                </xs:sequence>
 
11597
        </xs:complexType>
 
11598
        <xs:complexType name="articulated_system_type">
 
11599
                <xs:sequence>
 
11600
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
11601
                        <xs:choice>
 
11602
                                <xs:element name="kinematics" type="kinematics_type"/>
 
11603
                                <xs:element name="motion" type="motion_type"/>
 
11604
                        </xs:choice>
 
11605
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11606
                </xs:sequence>
 
11607
                <xs:attribute name="id" type="xs:ID"/>
 
11608
                <xs:attribute name="name" type="xs:token"/>
 
11609
        </xs:complexType>
 
11610
        <xs:complexType name="library_articulated_systems_type">
 
11611
                <xs:sequence>
 
11612
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
11613
                        <xs:element name="articulated_system" type="articulated_system_type" maxOccurs="unbounded"/>
 
11614
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11615
                </xs:sequence>
 
11616
                <xs:attribute name="id" type="xs:ID"/>
 
11617
                <xs:attribute name="name" type="xs:token"/>
 
11618
        </xs:complexType>
 
11619
        <xs:complexType name="library_formulas_type">
 
11620
                <xs:sequence>
 
11621
                        <xs:element name="asset" type="asset_type" minOccurs="0"/>
 
11622
                        <xs:element name="formula" type="formula_type" maxOccurs="unbounded"/>
 
11623
                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded"/>
 
11624
                </xs:sequence>
 
11625
                <xs:attribute name="id" type="xs:ID"/>
 
11626
                <xs:attribute name="name" type="xs:token"/>
 
11627
        </xs:complexType>
 
11628
        <xs:element name="COLLADA">
 
11629
                <xs:annotation>
 
11630
                        <xs:appinfo>enable-xmlns</xs:appinfo>
 
11631
                        <xs:documentation>
 
11632
                        The COLLADA element declares the root of the document that comprises some of the content 
 
11633
                        in the COLLADA schema.
 
11634
                        </xs:documentation>
 
11635
                </xs:annotation>
 
11636
                <xs:complexType>
 
11637
                        <xs:sequence>
 
11638
                                <xs:element name="asset" type="asset_type">
 
11639
                                        <xs:annotation>
 
11640
                                                <xs:documentation>
 
11641
                                                The COLLADA element must contain an asset element.
 
11642
                                                </xs:documentation>
 
11643
                                        </xs:annotation>
 
11644
                                </xs:element>
 
11645
                                <xs:choice minOccurs="0" maxOccurs="unbounded">
 
11646
                                        <xs:element name="library_animations" type="library_animations_type">
 
11647
                                                <xs:annotation>
 
11648
                                                        <xs:documentation>
 
11649
                                                                The COLLADA element may contain any
 
11650
                                                                number of library_animations elements.
 
11651
                                                        </xs:documentation>
 
11652
                                                </xs:annotation>
 
11653
                                        </xs:element>
 
11654
                                        <xs:element name="library_animation_clips" type="library_animation_clips_type">
 
11655
                                                <xs:annotation>
 
11656
                                                        <xs:documentation>
 
11657
                                                                The COLLADA element may contain any
 
11658
                                                                number of library_animation_clips
 
11659
                                                                elements.
 
11660
                                                        </xs:documentation>
 
11661
                                                </xs:annotation>
 
11662
                                        </xs:element>
 
11663
                                        <xs:element name="library_cameras" type="library_cameras_type">
 
11664
                                                <xs:annotation>
 
11665
                                                        <xs:documentation>
 
11666
                                                                The COLLADA element may contain any
 
11667
                                                                number of library_cameras elements.
 
11668
                                                        </xs:documentation>
 
11669
                                                </xs:annotation>
 
11670
                                        </xs:element>
 
11671
                                        <xs:element name="library_controllers" type="library_controllers_type">
 
11672
                                                <xs:annotation>
 
11673
                                                        <xs:documentation>
 
11674
                                                                The COLLADA element may contain any
 
11675
                                                                number of library_controllerss elements.
 
11676
                                                        </xs:documentation>
 
11677
                                                </xs:annotation>
 
11678
                                        </xs:element>
 
11679
                                        <xs:element name="library_geometries" type="library_geometries_type">
 
11680
                                                <xs:annotation>
 
11681
                                                        <xs:documentation>
 
11682
                                                                The COLLADA element may contain any
 
11683
                                                                number of library_geometriess elements.
 
11684
                                                        </xs:documentation>
 
11685
                                                </xs:annotation>
 
11686
                                        </xs:element>
 
11687
                                        <xs:element name="library_effects" type="library_effects_type">
 
11688
                                                <xs:annotation>
 
11689
                                                        <xs:documentation>
 
11690
                                                                The COLLADA element may contain any
 
11691
                                                                number of library_effects elements.
 
11692
                                                        </xs:documentation>
 
11693
                                                </xs:annotation>
 
11694
                                        </xs:element>
 
11695
                                        <xs:element name="library_force_fields" type="library_force_fields_type">
 
11696
                                                <xs:annotation>
 
11697
                                                        <xs:documentation>
 
11698
                                                                The COLLADA element may contain any
 
11699
                                                                number of library_force_fields elements.
 
11700
                                                        </xs:documentation>
 
11701
                                                </xs:annotation>
 
11702
                                        </xs:element>
 
11703
                                        <xs:element name="library_images" type="library_images_type">
 
11704
                                                <xs:annotation>
 
11705
                                                        <xs:documentation>
 
11706
                                                                The COLLADA element may contain any
 
11707
                                                                number of library_images elements.
 
11708
                                                        </xs:documentation>
 
11709
                                                </xs:annotation>
 
11710
                                        </xs:element>
 
11711
                                        <xs:element name="library_lights" type="library_lights_type">
 
11712
                                                <xs:annotation>
 
11713
                                                        <xs:documentation>
 
11714
                                                                The COLLADA element may contain any
 
11715
                                                                number of library_lights elements.
 
11716
                                                        </xs:documentation>
 
11717
                                                </xs:annotation>
 
11718
                                        </xs:element>
 
11719
                                        <xs:element name="library_materials" type="library_materials_type">
 
11720
                                                <xs:annotation>
 
11721
                                                        <xs:documentation>
 
11722
                                                                The COLLADA element may contain any
 
11723
                                                                number of library_materials elements.
 
11724
                                                        </xs:documentation>
 
11725
                                                </xs:annotation>
 
11726
                                        </xs:element>
 
11727
                                        <xs:element name="library_nodes" type="library_nodes_type">
 
11728
                                                <xs:annotation>
 
11729
                                                        <xs:documentation>
 
11730
                                                                The COLLADA element may contain any
 
11731
                                                                number of library_nodes elements.
 
11732
                                                        </xs:documentation>
 
11733
                                                </xs:annotation>
 
11734
                                        </xs:element>
 
11735
                                        <xs:element name="library_physics_materials" type="library_physics_materials_type">
 
11736
                                                <xs:annotation>
 
11737
                                                        <xs:documentation>
 
11738
                                                                The COLLADA element may contain any
 
11739
                                                                number of library_materials elements.
 
11740
                                                        </xs:documentation>
 
11741
                                                </xs:annotation>
 
11742
                                        </xs:element>
 
11743
                                        <xs:element name="library_physics_models" type="library_physics_models_type">
 
11744
                                                <xs:annotation>
 
11745
                                                        <xs:documentation>
 
11746
                                                                The COLLADA element may contain any
 
11747
                                                                number of library_physics_models
 
11748
                                                                elements.
 
11749
                                                        </xs:documentation>
 
11750
                                                </xs:annotation>
 
11751
                                        </xs:element>
 
11752
                                        <xs:element name="library_physics_scenes" type="library_physics_scenes_type">
 
11753
                                                <xs:annotation>
 
11754
                                                        <xs:documentation>
 
11755
                                                                The COLLADA element may contain any
 
11756
                                                                number of library_physics_scenes
 
11757
                                                                elements.
 
11758
                                                        </xs:documentation>
 
11759
                                                </xs:annotation>
 
11760
                                        </xs:element>
 
11761
                                        <xs:element name="library_visual_scenes" type="library_visual_scenes_type">
 
11762
                                                <xs:annotation>
 
11763
                                                        <xs:documentation>
 
11764
                                                                The COLLADA element may contain any
 
11765
                                                                number of library_visual_scenes
 
11766
                                                                elements.
 
11767
                                                        </xs:documentation>
 
11768
                                                </xs:annotation>
 
11769
                                        </xs:element>
 
11770
                                        <xs:element name="library_joints" type="library_joints_type"/>
 
11771
                                        <xs:element name="library_kinematics_models" type="library_kinematics_models_type"/>
 
11772
                                        <xs:element name="library_articulated_systems" type="library_articulated_systems_type"/>
 
11773
                                        <xs:element name="library_kinematics_scenes" type="library_kinematics_scenes_type"/>
 
11774
                                        <xs:element name="library_formulas" type="library_formulas_type"/>
 
11775
                                </xs:choice>
 
11776
                                <xs:element name="scene" minOccurs="0">
 
11777
                                        <xs:annotation>
 
11778
                                                <xs:documentation>
 
11779
                                                The scene embodies the entire set of information that can be visualized from the 
 
11780
                                                contents of a COLLADA resource. The scene element declares the base of the scene 
 
11781
                                                hierarchy or scene graph. The scene contains elements that comprise much of the 
 
11782
                                                visual and transformational information content as created by the authoring tools.
 
11783
                                                </xs:documentation>
 
11784
                                        </xs:annotation>
 
11785
                                        <xs:complexType>
 
11786
                                                <xs:sequence>
 
11787
                                                        <xs:element name="instance_physics_scene" type="instance_with_extra_type" minOccurs="0" maxOccurs="unbounded">
 
11788
                                                                <xs:annotation>
 
11789
                                                                        <xs:documentation>
 
11790
                                                                                The instance_physics_scene
 
11791
                                                                                element declares the
 
11792
                                                                                instantiation of a COLLADA
 
11793
                                                                                physics_scene resource. The
 
11794
                                                                                instance_physics_scene element
 
11795
                                                                                may appear any number of times.
 
11796
                                                                        </xs:documentation>
 
11797
                                                                </xs:annotation>
 
11798
                                                        </xs:element>
 
11799
                                                        <xs:element name="instance_visual_scene" type="instance_with_extra_type" minOccurs="0">
 
11800
                                                                <xs:annotation>
 
11801
                                                                        <xs:documentation>
 
11802
                                                                                The instance_visual_scene
 
11803
                                                                                element declares the
 
11804
                                                                                instantiation of a COLLADA
 
11805
                                                                                visual_scene resource. The
 
11806
                                                                                instance_visual_scene element
 
11807
                                                                                may only appear once.
 
11808
                                                                        </xs:documentation>
 
11809
                                                                </xs:annotation>
 
11810
                                                        </xs:element>
 
11811
                                                        <xs:element name="instance_kinematics_scene" type="instance_kinematics_scene_type" minOccurs="0" maxOccurs="unbounded"/>
 
11812
                                                        <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
11813
                                                                <xs:annotation>
 
11814
                                                                        <xs:documentation>
 
11815
                                                                                The extra element may appear any
 
11816
                                                                                number of times.
 
11817
                                                                        </xs:documentation>
 
11818
                                                                </xs:annotation>
 
11819
                                                        </xs:element>
 
11820
                                                </xs:sequence>
 
11821
                                        </xs:complexType>
 
11822
                                </xs:element>
 
11823
                                <xs:element name="extra" type="extra_type" minOccurs="0" maxOccurs="unbounded">
 
11824
                                        <xs:annotation>
 
11825
                                                <xs:documentation>
 
11826
                                                The extra element may appear any number of times.
 
11827
                                                </xs:documentation>
 
11828
                                        </xs:annotation>
 
11829
                                </xs:element>
 
11830
                        </xs:sequence>
 
11831
                        <xs:attribute name="version" type="version_enum" use="required">
 
11832
                                <xs:annotation>
 
11833
                                        <xs:documentation>
 
11834
                                                The version attribute is the COLLADA schema revision with which the instance document 
 
11835
                                                conforms. Required Attribute.
 
11836
                                        </xs:documentation>
 
11837
                                </xs:annotation>
 
11838
                        </xs:attribute>
 
11839
                        <xs:attribute ref="xml:base">
 
11840
                                <xs:annotation>
 
11841
                                        <xs:documentation>
 
11842
                                        The xml:base attribute allows you to define the base URI for this COLLADA document. See
 
11843
                                        http://www.w3.org/TR/xmlbase/ for more information.
 
11844
                                        </xs:documentation>
 
11845
                                </xs:annotation>
 
11846
                        </xs:attribute>
 
11847
                </xs:complexType>
 
11848
        </xs:element>
 
11849
</xs:schema>