OSDN Git Service

MMD Ver7.40 対応 新スキーマ開発開始
[mikutoga/Vmd2XML.git] / src / main / resources / jp / sfjp / mikutoga / vmd / model / xml / resources / vmdxml-130609A.xsd
1 <?xml version="1.0" encoding="UTF-8" ?>
2
3 <!--
4   MikuMikuDance
5     motion-data(*.vmd) on XML
6     schema definition
7
8   License : The MIT License
9   Copyright(c) 2013 MikuToga Partners
10 -->
11
12
13 <!DOCTYPE xsd:schema [
14     <!ENTITY schemaVer "130609A" >
15     <!ENTITY schemaNS "http://mikutoga.sourceforge.jp/xml/ns/vmdxml/130609A" >
16 ]>
17
18
19 <xsd:schema
20     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
21
22     targetNamespace="&schemaNS;"
23     xmlns:tns      ="&schemaNS;"
24
25     elementFormDefault="qualified"
26     version="&schemaVer;"
27 >
28
29     <xsd:annotation>
30         <xsd:documentation>
31             MikuMikuDance motion-data(*.vmd) on XML.
32             License : The MIT License
33             Copyright(c) 2013 MikuToga Partners
34         </xsd:documentation>
35     </xsd:annotation>
36
37
38     <!-- ROOT element for motion -->
39     <xsd:element name="vmdMotion" >
40         <xsd:annotation>
41             <xsd:documentation>
42                 Root element.
43             </xsd:documentation>
44         </xsd:annotation>
45
46         <xsd:complexType>
47             <xsd:sequence>
48                 <xsd:element
49                     ref="tns:meta"
50                     minOccurs="0" maxOccurs="unbounded" />
51                 <xsd:choice>
52                     <xsd:sequence>  <!-- model motion -->
53                         <xsd:element ref="tns:modelName" />
54                         <xsd:element ref="tns:boneMotionSequence" />
55                         <xsd:element ref="tns:morphSequence" />
56                         <xsd:element ref="tns:flagSequence" />
57                     </xsd:sequence>
58                     <xsd:sequence>  <!-- stage act -->
59                         <xsd:element ref="tns:cameraSequence" />
60                         <xsd:element ref="tns:luminousSequence" />
61                         <xsd:element ref="tns:shadowSequence" />
62                     </xsd:sequence>
63                 </xsd:choice>
64             </xsd:sequence>
65             <xsd:attribute
66                 name="version"
67                 type="xsd:token"
68                 use="required"
69                 fixed="&schemaVer;" />
70         </xsd:complexType>
71
72     </xsd:element>
73
74
75     <xsd:simpleType name="FrameNo" >
76         <xsd:annotation>
77             <xsd:documentation>
78                 frame No.
79             </xsd:documentation>
80         </xsd:annotation>
81
82         <xsd:restriction base="xsd:int" >
83 <!--
84             <xsd:minInclusive value="0" />
85 -->
86         </xsd:restriction>
87
88     </xsd:simpleType>
89
90
91     <xsd:simpleType name="MorphFlex" >
92         <xsd:annotation>
93             <xsd:documentation>
94                 morph flexible value. [0.0-1.0]
95             </xsd:documentation>
96         </xsd:annotation>
97
98         <xsd:restriction base="xsd:float" >
99             <xsd:minInclusive value="-0.0" />
100 <!--
101             <xsd:maxInclusive value="1.0" />
102 -->
103         </xsd:restriction>
104
105     </xsd:simpleType>
106
107
108     <xsd:simpleType name="ProjectionAngle" >
109         <xsd:annotation>
110             <xsd:documentation>
111                 screen-projection angle(degree).
112             </xsd:documentation>
113         </xsd:annotation>
114
115         <xsd:restriction base="xsd:int" >
116 <!--
117             <xsd:minInclusive value="-0" />
118             <xsd:maxInclusive value="+180" />
119 -->
120         </xsd:restriction>
121
122     </xsd:simpleType>
123
124
125     <xsd:simpleType name="ColorComponent" >
126         <xsd:annotation>
127             <xsd:documentation>
128                 color component value.
129             </xsd:documentation>
130         </xsd:annotation>
131
132         <xsd:restriction base="xsd:float" >
133 <!--
134             <xsd:minInclusive value="-0.0" />
135             <xsd:maxInclusive value="1.0" />
136 -->
137         </xsd:restriction>
138
139     </xsd:simpleType>
140
141
142     <xsd:simpleType name="DirVecComponent" >
143         <xsd:annotation>
144             <xsd:documentation>
145                 direction vector component value.
146             </xsd:documentation>
147         </xsd:annotation>
148
149         <xsd:restriction base="xsd:float" >
150 <!--
151             <xsd:minInclusive value="-1.0" />
152             <xsd:maxInclusive value="+1.0" />
153 -->
154         </xsd:restriction>
155
156     </xsd:simpleType>
157
158
159     <xsd:simpleType name="ShadowType" >
160         <xsd:annotation>
161             <xsd:documentation>
162                 type of shadow
163                 + NONE   : no self-shadow
164                 + MODE_1 : reduce shadow-quality suddenly at range
165                 + MODE_2 : reduce shadow-quality gradually with range
166             </xsd:documentation>
167         </xsd:annotation>
168
169         <xsd:restriction base="xsd:string" >
170             <xsd:enumeration value="NONE"   />
171             <xsd:enumeration value="MODE_1" />
172             <xsd:enumeration value="MODE_2" />
173         </xsd:restriction>
174
175     </xsd:simpleType>
176
177
178     <xsd:simpleType name="ShadowRawParam" >
179         <xsd:annotation>
180             <xsd:documentation>
181                 shadow range raw value.
182
183                 UI_VALUE = EFFECTIVE_RANGE * 100 ???
184                 rawParam = 0.1 - (UI_VALUE / 1.0E+5)
185
186                 UI_VALUE:0    => rawParam:0.1
187                 UI_VALUE:8875 => rawParam:0.01125
188                 UI_VALUE:9999 => rawParam:1.0E-5
189             </xsd:documentation>
190         </xsd:annotation>
191
192         <xsd:restriction base="xsd:float" >
193 <!--
194             <xsd:minInclusive value="-0.0" />
195             <xsd:maxInclusive value="0.1" />
196 -->
197         </xsd:restriction>
198
199     </xsd:simpleType>
200
201
202     <xsd:simpleType name="BezPt" >
203         <xsd:annotation>
204             <xsd:documentation>
205                 Bezier points coordinates value. [XY:0-127]
206             </xsd:documentation>
207         </xsd:annotation>
208
209         <xsd:restriction base="xsd:byte" >
210             <xsd:minInclusive value=  "0" />
211             <xsd:maxInclusive value="127" />
212         </xsd:restriction>
213
214     </xsd:simpleType>
215
216
217     <xsd:complexType name="FrameNumbered" >
218         <xsd:annotation>
219             <xsd:documentation>
220                 frame numbered type.
221             </xsd:documentation>
222         </xsd:annotation>
223
224         <xsd:attribute name="frame" type="tns:FrameNo" use="required" />
225
226     </xsd:complexType>
227
228
229     <xsd:complexType name="BezParam" >
230         <xsd:annotation>
231             <xsd:documentation>
232                 bezier cubic curve parameters.
233                 p0=(0, 0) p3=(127, 127) [implicit points]
234             </xsd:documentation>
235         </xsd:annotation>
236
237         <xsd:attribute name="p1x" type="tns:BezPt" use="optional" />
238         <xsd:attribute name="p1y" type="tns:BezPt" use="optional" />
239         <xsd:attribute name="p2x" type="tns:BezPt" use="optional" />
240         <xsd:attribute name="p2y" type="tns:BezPt" use="optional" />
241
242     </xsd:complexType>
243
244
245     <xsd:element name="bezier" >
246         <xsd:annotation>
247             <xsd:documentation>
248                 bezier cubic curve parameters.
249                 p0=(0, 0) p3=(127, 127) [implicit points]
250                 P1 and P2 points are required.
251             </xsd:documentation>
252         </xsd:annotation>
253
254         <xsd:complexType>
255             <xsd:complexContent>
256                 <xsd:restriction base="tns:BezParam" >
257                     <xsd:attribute name="p1x" type="tns:BezPt" use="required" />
258                     <xsd:attribute name="p1y" type="tns:BezPt" use="required" />
259                     <xsd:attribute name="p2x" type="tns:BezPt" use="required" />
260                     <xsd:attribute name="p2y" type="tns:BezPt" use="required" />
261                 </xsd:restriction>
262             </xsd:complexContent>
263         </xsd:complexType>
264
265     </xsd:element>
266
267
268     <xsd:element name="defLinear" >
269         <xsd:annotation>
270             <xsd:documentation>
271                 default linear bezier curve.
272                 p0=(0, 0) p1=(20, 20) p2=(107, 107) p3=(127, 127)
273             </xsd:documentation>
274         </xsd:annotation>
275
276         <xsd:complexType>
277             <xsd:complexContent>
278                 <xsd:restriction base="tns:BezParam" >
279                     <xsd:attribute name="p1x" use="prohibited" fixed= "20" />
280                     <xsd:attribute name="p1y" use="prohibited" fixed= "20" />
281                     <xsd:attribute name="p2x" use="prohibited" fixed="107" />
282                     <xsd:attribute name="p2y" use="prohibited" fixed="107" />
283                 </xsd:restriction>
284             </xsd:complexContent>
285         </xsd:complexType>
286
287     </xsd:element>
288
289
290     <xsd:element name="defEaseInOut" >
291         <xsd:annotation>
292             <xsd:documentation>
293                 default ease-in-out bezier curve.
294                 p0=(0, 0) p1=(64, 0) p2=(64, 127) p3=(127, 127)
295             </xsd:documentation>
296         </xsd:annotation>
297
298         <xsd:complexType>
299             <xsd:complexContent>
300                 <xsd:restriction base="tns:BezParam" >
301                     <xsd:attribute name="p1x" use="prohibited" fixed= "64" />
302                     <xsd:attribute name="p1y" use="prohibited" fixed=  "0" />
303                     <xsd:attribute name="p2x" use="prohibited" fixed= "64" />
304                     <xsd:attribute name="p2y" use="prohibited" fixed="127" />
305                 </xsd:restriction>
306             </xsd:complexContent>
307         </xsd:complexType>
308
309     </xsd:element>
310
311
312     <xsd:complexType name="InterpolationSingle" >
313         <xsd:annotation>
314             <xsd:documentation>
315                 has single interpolation curve.
316                 If omitted, it means default linear curve.
317             </xsd:documentation>
318         </xsd:annotation>
319
320         <xsd:choice minOccurs="0" >
321             <xsd:element ref="tns:bezier" />
322             <xsd:element ref="tns:defLinear" />
323             <xsd:element ref="tns:defEaseInOut" />
324         </xsd:choice>
325
326     </xsd:complexType>
327
328
329     <xsd:complexType name="PosWithInterpolation" >
330         <xsd:annotation>
331             <xsd:documentation>
332                 3D-position with XYZ-interpolation curve.
333                 If omitted, it means default linear curve *3 [XYZ].
334             </xsd:documentation>
335         </xsd:annotation>
336
337         <xsd:sequence minOccurs="0" maxOccurs="1" >
338             <xsd:choice minOccurs="3" maxOccurs="3" >
339                 <xsd:element ref="tns:bezier" />
340                 <xsd:element ref="tns:defLinear" />
341                 <xsd:element ref="tns:defEaseInOut" />
342             </xsd:choice>
343         </xsd:sequence>
344
345         <xsd:attribute name="xPos" type="xsd:float" use="required" />
346         <xsd:attribute name="yPos" type="xsd:float" use="required" />
347         <xsd:attribute name="zPos" type="xsd:float" use="required" />
348
349     </xsd:complexType>
350
351
352     <xsd:element name="meta" >
353         <xsd:annotation>
354             <xsd:documentation>
355                 Meta-information of motion.
356                 Use free.
357                 but, some meta-name has recommended usage.
358                 + "generator" (Generator application name)
359                 + "siteURL" (about motion creator)
360             </xsd:documentation>
361         </xsd:annotation>
362
363         <xsd:complexType>
364             <xsd:attribute
365                 name="name"
366                 type="xsd:NCName"
367                 use="required" />
368             <xsd:attribute
369                 name="content"
370                 type="xsd:string"
371                 use="required" />
372         </xsd:complexType>
373
374     </xsd:element>
375
376
377     <xsd:element name="modelName" >
378         <xsd:annotation>
379             <xsd:documentation>
380                 name of motion-model.
381             </xsd:documentation>
382         </xsd:annotation>
383
384         <xsd:complexType>
385             <xsd:attribute
386                 name="name"
387                 type="xsd:string"
388                 use="required" />
389         </xsd:complexType>
390
391     </xsd:element>
392
393
394     <xsd:element name="boneMotionSequence" >
395         <xsd:annotation>
396             <xsd:documentation>
397                 bone motion data sequence.
398             </xsd:documentation>
399         </xsd:annotation>
400
401         <xsd:complexType>
402             <xsd:sequence>
403                 <xsd:element
404                     ref="tns:bonePart"
405                     minOccurs="0" maxOccurs="unbounded" />
406             </xsd:sequence>
407         </xsd:complexType>
408
409         <xsd:unique name="BoneName" >
410             <xsd:selector xpath="./tns:bonePart" />
411             <xsd:field xpath="@name" />
412         </xsd:unique>
413
414     </xsd:element>
415
416
417     <xsd:element name="bonePart" >
418         <xsd:annotation>
419             <xsd:documentation>
420                 bone motion data group by bone-name.
421             </xsd:documentation>
422         </xsd:annotation>
423
424         <xsd:complexType>
425             <xsd:sequence>
426                 <xsd:element
427                     ref="tns:boneMotion"
428                     minOccurs="0" maxOccurs="unbounded" />
429             </xsd:sequence>
430
431             <xsd:attribute
432                 name="name"
433                 type="xsd:string"
434                 use="required" />
435         </xsd:complexType>
436
437         <xsd:unique name="BoneFrameNo" >
438             <xsd:selector xpath="./tns:boneMotion" />
439             <xsd:field xpath="@frame" />
440         </xsd:unique>
441
442     </xsd:element>
443
444
445     <xsd:element name="boneMotion" >
446         <xsd:annotation>
447             <xsd:documentation>
448                 bone motion data.
449             </xsd:documentation>
450         </xsd:annotation>
451
452         <xsd:complexType>
453             <xsd:complexContent>
454                 <xsd:extension base="tns:FrameNumbered" >
455                     <xsd:sequence>
456                         <xsd:element
457                             ref="tns:bonePosition"
458                             minOccurs="0" maxOccurs="1" />
459                         <xsd:choice>
460                             <xsd:element ref="tns:boneRotQuat" />
461                             <xsd:element ref="tns:boneRotEyxz" />
462                         </xsd:choice>
463                     </xsd:sequence>
464                 </xsd:extension>
465             </xsd:complexContent>
466         </xsd:complexType>
467
468     </xsd:element>
469
470
471     <xsd:element name="bonePosition" type="tns:PosWithInterpolation" >
472         <xsd:annotation>
473             <xsd:documentation>
474                 bone position.
475             </xsd:documentation>
476         </xsd:annotation>
477
478     </xsd:element>
479
480
481     <xsd:element name="boneRotQuat" >
482         <xsd:annotation>
483             <xsd:documentation>
484                 bone rotation. (Quaternion parameters)
485             </xsd:documentation>
486         </xsd:annotation>
487
488         <xsd:complexType>
489             <xsd:complexContent>
490                 <xsd:extension base="tns:InterpolationSingle" >
491                     <xsd:attribute name="qx" type="xsd:float" use="required" />
492                     <xsd:attribute name="qy" type="xsd:float" use="required" />
493                     <xsd:attribute name="qz" type="xsd:float" use="required" />
494                     <xsd:attribute name="qw" type="xsd:float" use="required" />
495                 </xsd:extension>
496             </xsd:complexContent>
497         </xsd:complexType>
498
499     </xsd:element>
500
501
502     <xsd:element name="boneRotEyxz" >
503         <xsd:annotation>
504             <xsd:documentation>
505                 bone rotation. (YXZ-Euler rotation parameters)
506             </xsd:documentation>
507         </xsd:annotation>
508
509         <xsd:complexType>
510             <xsd:complexContent>
511                 <xsd:extension base="tns:InterpolationSingle" >
512                     <xsd:attribute name="xDeg" type="xsd:float" use="required" />
513                     <xsd:attribute name="yDeg" type="xsd:float" use="required" />
514                     <xsd:attribute name="zDeg" type="xsd:float" use="required" />
515                 </xsd:extension>
516             </xsd:complexContent>
517         </xsd:complexType>
518
519     </xsd:element>
520
521
522     <xsd:element name="morphSequence" >
523         <xsd:annotation>
524             <xsd:documentation>
525                 morphing data sequence.
526             </xsd:documentation>
527         </xsd:annotation>
528
529         <xsd:complexType>
530             <xsd:sequence>
531                 <xsd:element
532                     ref="tns:morphPart"
533                     minOccurs="0" maxOccurs="unbounded" />
534             </xsd:sequence>
535         </xsd:complexType>
536
537         <xsd:unique name="MorphName" >
538             <xsd:selector xpath="./tns:morphPart" />
539             <xsd:field xpath="@name" />
540         </xsd:unique>
541
542     </xsd:element>
543
544
545     <xsd:element name="morphPart" >
546         <xsd:annotation>
547             <xsd:documentation>
548                 morphing data group by morph-name.
549             </xsd:documentation>
550         </xsd:annotation>
551
552         <xsd:complexType>
553             <xsd:sequence>
554                 <xsd:element
555                     ref="tns:morphMotion"
556                     minOccurs="0" maxOccurs="unbounded" />
557             </xsd:sequence>
558
559             <xsd:attribute
560                 name="name"
561                 type="xsd:string"
562                 use="required" />
563         </xsd:complexType>
564
565         <xsd:unique name="MorphFrameNo" >
566             <xsd:selector xpath="./tns:morphMotion" />
567             <xsd:field xpath="@frame" />
568         </xsd:unique>
569
570     </xsd:element>
571
572
573     <xsd:element name="morphMotion" >
574         <xsd:annotation>
575             <xsd:documentation>
576                 morphing data.
577             </xsd:documentation>
578         </xsd:annotation>
579
580         <xsd:complexType>
581             <xsd:complexContent>
582                 <xsd:extension base="tns:FrameNumbered" >
583                     <xsd:attribute
584                         name="flex"
585                         type="tns:MorphFlex"
586                         use="required" />
587                 </xsd:extension>
588             </xsd:complexContent>
589         </xsd:complexType>
590
591     </xsd:element>
592
593
594     <xsd:element name="cameraSequence" >
595         <xsd:annotation>
596             <xsd:documentation>
597                 camera sequence.
598             </xsd:documentation>
599         </xsd:annotation>
600
601         <xsd:complexType>
602             <xsd:sequence>
603                 <xsd:element
604                     ref="tns:cameraMotion"
605                     minOccurs="0" maxOccurs="unbounded" />
606             </xsd:sequence>
607         </xsd:complexType>
608
609         <xsd:unique name="CameraFrameNo" >
610             <xsd:selector xpath="./tns:cameraMotion" />
611             <xsd:field xpath="@frame" />
612         </xsd:unique>
613
614     </xsd:element>
615
616
617     <xsd:element name="cameraMotion" >
618         <xsd:annotation>
619             <xsd:documentation>
620                 camera data.
621             </xsd:documentation>
622         </xsd:annotation>
623
624         <xsd:complexType>
625             <xsd:complexContent>
626                 <xsd:extension base="tns:FrameNumbered" >
627                     <xsd:sequence>
628                         <xsd:element ref="tns:cameraTarget" />
629                         <xsd:element ref="tns:cameraRotation" />
630                         <xsd:element ref="tns:cameraRange" />
631                         <xsd:element ref="tns:projection" />
632                     </xsd:sequence>
633                     <xsd:attribute
634                         name="hasPerspective"
635                         type="xsd:boolean"
636                         use="optional"
637                         default="true" />
638                 </xsd:extension>
639             </xsd:complexContent>
640         </xsd:complexType>
641
642     </xsd:element>
643
644
645     <xsd:element name="cameraTarget" type="tns:PosWithInterpolation" >
646         <xsd:annotation>
647             <xsd:documentation>
648                 camera target.
649             </xsd:documentation>
650         </xsd:annotation>
651
652     </xsd:element>
653
654
655     <xsd:element name="cameraRotation" >
656         <xsd:annotation>
657             <xsd:documentation>
658                 camera-rotation around camera-target
659                   with polar-coordinates parameters.
660
661                 xRad = -radian(UI_X) [latitude]
662                 yRad =  radian(UI_Y) [longitude]
663                 zRad =  radian(UI_Z) [roll]
664             </xsd:documentation>
665         </xsd:annotation>
666
667         <xsd:complexType>
668             <xsd:complexContent>
669                 <xsd:extension base="tns:InterpolationSingle" >
670                     <xsd:attribute name="xRad" type="xsd:float" use="required" />
671                     <xsd:attribute name="yRad" type="xsd:float" use="required" />
672                     <xsd:attribute name="zRad" type="xsd:float" use="required" />
673                 </xsd:extension>
674             </xsd:complexContent>
675         </xsd:complexType>
676
677     </xsd:element>
678
679
680     <xsd:element name="cameraRange" >
681         <xsd:annotation>
682             <xsd:documentation>
683                 camera range.
684                 sign was negated from UI_RANGE.
685             </xsd:documentation>
686         </xsd:annotation>
687
688         <xsd:complexType>
689             <xsd:complexContent>
690                 <xsd:extension base="tns:InterpolationSingle" >
691                     <xsd:attribute
692                         name="range"
693                         type="xsd:float"
694                         use="required" />
695                 </xsd:extension>
696             </xsd:complexContent>
697         </xsd:complexType>
698
699     </xsd:element>
700
701
702     <xsd:element name="projection" >
703         <xsd:annotation>
704             <xsd:documentation>
705                 projection data.
706                 vertDeg : vertical screen-projection angle by degree.
707             </xsd:documentation>
708         </xsd:annotation>
709
710         <xsd:complexType>
711             <xsd:complexContent>
712                 <xsd:extension base="tns:InterpolationSingle" >
713                     <xsd:attribute
714                         name="vertDeg"
715                         type="tns:ProjectionAngle"
716                         use="required" />
717                 </xsd:extension>
718             </xsd:complexContent>
719         </xsd:complexType>
720
721     </xsd:element>
722
723
724     <xsd:element name="luminousSequence" >
725         <xsd:annotation>
726             <xsd:documentation>
727                 luminous sequence.
728             </xsd:documentation>
729         </xsd:annotation>
730
731         <xsd:complexType>
732             <xsd:sequence>
733                 <xsd:element
734                     ref="tns:luminousAct"
735                     minOccurs="0" maxOccurs="unbounded" />
736             </xsd:sequence>
737         </xsd:complexType>
738
739         <xsd:unique name="LuminousFrameNo" >
740             <xsd:selector xpath="./tns:luminousAct" />
741             <xsd:field xpath="@frame" />
742         </xsd:unique>
743
744     </xsd:element>
745
746
747     <xsd:element name="luminousAct" >
748         <xsd:annotation>
749             <xsd:documentation>
750                 luminous data.
751             </xsd:documentation>
752         </xsd:annotation>
753
754         <xsd:complexType>
755             <xsd:complexContent>
756                 <xsd:extension base="tns:FrameNumbered" >
757                     <xsd:sequence>
758                         <xsd:element ref="tns:lumiColor" />
759                         <xsd:element ref="tns:lumiDirection" />
760                     </xsd:sequence>
761                 </xsd:extension>
762             </xsd:complexContent>
763         </xsd:complexType>
764
765     </xsd:element>
766
767
768     <xsd:element name="lumiColor" >
769         <xsd:annotation>
770             <xsd:documentation>
771                 luminous color by RGB color space.
772             </xsd:documentation>
773         </xsd:annotation>
774
775         <xsd:complexType>
776             <xsd:attribute
777                 name="rCol"
778                 type="tns:ColorComponent"
779                 use="required" />
780             <xsd:attribute
781                 name="gCol"
782                 type="tns:ColorComponent"
783                 use="required" />
784             <xsd:attribute
785                 name="bCol"
786                 type="tns:ColorComponent"
787                 use="required" />
788         </xsd:complexType>
789
790     </xsd:element>
791
792
793     <xsd:element name="lumiDirection" >
794         <xsd:annotation>
795             <xsd:documentation>
796                 luminous direction by vector.
797             </xsd:documentation>
798         </xsd:annotation>
799
800         <xsd:complexType>
801             <xsd:attribute
802                 name="xVec"
803                 type="tns:DirVecComponent"
804                 use="required" />
805             <xsd:attribute
806                 name="yVec"
807                 type="tns:DirVecComponent"
808                 use="required" />
809             <xsd:attribute
810                 name="zVec"
811                 type="tns:DirVecComponent"
812                 use="required" />
813         </xsd:complexType>
814
815     </xsd:element>
816
817
818     <xsd:element name="shadowSequence" >
819         <xsd:annotation>
820             <xsd:documentation>
821                 shadow sequence.
822             </xsd:documentation>
823         </xsd:annotation>
824
825         <xsd:complexType>
826             <xsd:sequence>
827                 <xsd:element
828                     ref="tns:shadowAct"
829                     minOccurs="0" maxOccurs="unbounded" />
830             </xsd:sequence>
831         </xsd:complexType>
832
833         <xsd:unique name="ShadowFrameNo" >
834             <xsd:selector xpath="./tns:shadowAct" />
835             <xsd:field xpath="@frame" />
836         </xsd:unique>
837
838     </xsd:element>
839
840
841     <xsd:element name="shadowAct" >
842         <xsd:annotation>
843             <xsd:documentation>
844                 shadow data.
845             </xsd:documentation>
846         </xsd:annotation>
847
848         <xsd:complexType>
849             <xsd:complexContent>
850                 <xsd:extension base="tns:FrameNumbered" >
851                     <xsd:attribute
852                         name="mode"
853                         type="tns:ShadowType"
854                         use="required" />
855                     <xsd:attribute
856                         name="rawParam"
857                         type="tns:ShadowRawParam"
858                         use="required" />
859                 </xsd:extension>
860             </xsd:complexContent>
861         </xsd:complexType>
862
863     </xsd:element>
864
865
866     <xsd:element name="flagSequence" >
867         <xsd:annotation>
868             <xsd:documentation>
869                 numbered flag sequence.
870             </xsd:documentation>
871         </xsd:annotation>
872
873         <xsd:complexType>
874             <xsd:sequence>
875                 <xsd:element
876                     ref="tns:flagMotion"
877                     minOccurs="0" maxOccurs="unbounded" />
878             </xsd:sequence>
879         </xsd:complexType>
880
881         <xsd:unique name="FlagFrameNo" >
882             <xsd:selector xpath="./tns:flagMotion" />
883             <xsd:field xpath="@frame" />
884         </xsd:unique>
885
886     </xsd:element>
887
888
889     <xsd:element name="flagMotion" >
890         <xsd:annotation>
891             <xsd:documentation>
892                 numbered motion flags.
893             </xsd:documentation>
894         </xsd:annotation>
895
896         <xsd:complexType>
897             <xsd:complexContent>
898                 <xsd:extension base="tns:FrameNumbered" >
899                     <xsd:sequence>
900                         <xsd:element
901                             ref="tns:ikSwitch"
902                             minOccurs="0" maxOccurs="unbounded" />
903                     </xsd:sequence>
904                     <xsd:attribute
905                         name="showModel"
906                         type="xsd:boolean"
907                         use="required" />
908                 </xsd:extension>
909             </xsd:complexContent>
910         </xsd:complexType>
911
912         <xsd:unique name="IkBoneName" >
913             <xsd:selector xpath="./tns:ikSwitch" />
914             <xsd:field xpath="@name" />
915         </xsd:unique>
916
917     </xsd:element>
918
919
920     <xsd:element name="ikSwitch" >
921         <xsd:annotation>
922             <xsd:documentation>
923                 IK ON/OFF switch for each IK-Bone.
924             </xsd:documentation>
925         </xsd:annotation>
926
927         <xsd:complexType>
928             <xsd:attribute
929                 name="name"
930                 type="xsd:string"
931                 use="required" />
932             <xsd:attribute
933                 name="valid"
934                 type="xsd:boolean"
935                 use="required" />
936         </xsd:complexType>
937
938     </xsd:element>
939
940
941 </xsd:schema>
942
943
944 <!-- EOF -->