OSDN Git Service

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