+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+ MikuMikuDance
+ motion-data(*.vmd) on XML
+ schema definition
+
+ License : The MIT License
+ Copyright(c) 2011 MikuToga Partners
+-->
+
+
+<!DOCTYPE xsd:schema [
+ <!ENTITY schemaVer "110820" >
+ <!ENTITY schemaNS "http://mikutoga.sourceforge.jp/xml/ns/vmdxml/110820" >
+]>
+
+
+<xsd:schema
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+
+ targetNamespace="&schemaNS;"
+ xmlns:tns ="&schemaNS;"
+
+ elementFormDefault="qualified"
+ version="&schemaVer;"
+>
+
+ <xsd:annotation>
+ <xsd:documentation>
+ MikuMikuDance motion-data(*.vmd) on XML.
+ License : The MIT License
+ Copyright(c) 2011 MikuToga Partners
+ </xsd:documentation>
+ </xsd:annotation>
+
+
+ <!-- ROOT element for motion -->
+ <xsd:element name="vmdMotion" >
+ <xsd:annotation>
+ <xsd:documentation>
+ Root element.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element
+ ref="tns:meta"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xsd:choice>
+ <xsd:sequence> <!-- model motion -->
+ <xsd:element ref="tns:modelName" />
+ <xsd:element ref="tns:boneMotionSequence" />
+ <xsd:element ref="tns:morphSequence" />
+ </xsd:sequence>
+ <xsd:sequence> <!-- stage act -->
+ <xsd:element ref="tns:cameraSequence" />
+ <xsd:element ref="tns:luminousSequence" />
+ <xsd:element ref="tns:shadowSequence" />
+ </xsd:sequence>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute
+ name="version"
+ type="xsd:token"
+ use="required"
+ fixed="&schemaVer;" />
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:simpleType name="FrameNo" >
+ <xsd:annotation>
+ <xsd:documentation>
+ frame No.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:int" >
+<!--
+ <xsd:minInclusive value="0" />
+-->
+ </xsd:restriction>
+
+ </xsd:simpleType>
+
+
+ <xsd:simpleType name="MorphFlex" >
+ <xsd:annotation>
+ <xsd:documentation>
+ morph flexible value. [0.0-1.0]
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:float" >
+ <xsd:minInclusive value="-0.0" />
+<!--
+ <xsd:maxInclusive value="1.0" />
+-->
+ </xsd:restriction>
+
+ </xsd:simpleType>
+
+
+ <xsd:simpleType name="ProjectionAngle" >
+ <xsd:annotation>
+ <xsd:documentation>
+ screen-projection angle(degree).
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:int" >
+<!--
+ <xsd:minInclusive value="-0" />
+ <xsd:maxInclusive value="+180" />
+-->
+ </xsd:restriction>
+
+ </xsd:simpleType>
+
+
+ <xsd:simpleType name="ColorComponent" >
+ <xsd:annotation>
+ <xsd:documentation>
+ color component value.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:float" >
+<!--
+ <xsd:minInclusive value="-0.0" />
+ <xsd:maxInclusive value="1.0" />
+-->
+ </xsd:restriction>
+
+ </xsd:simpleType>
+
+
+ <xsd:simpleType name="DirVecComponent" >
+ <xsd:annotation>
+ <xsd:documentation>
+ direction vector component value.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:float" >
+<!--
+ <xsd:minInclusive value="-1.0" />
+ <xsd:maxInclusive value="+1.0" />
+-->
+ </xsd:restriction>
+
+ </xsd:simpleType>
+
+
+ <xsd:simpleType name="ShadowType" >
+ <xsd:annotation>
+ <xsd:documentation>
+ type of shadow
+ + NONE : no self-shadow
+ + MODE_1 : reduce shadow-quality suddenly at range
+ + MODE_2 : reduce shadow-quality gradually with range
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:string" >
+ <xsd:enumeration value="NONE" />
+ <xsd:enumeration value="MODE_1" />
+ <xsd:enumeration value="MODE_2" />
+ </xsd:restriction>
+
+ </xsd:simpleType>
+
+
+ <xsd:simpleType name="ShadowRawParam" >
+ <xsd:annotation>
+ <xsd:documentation>
+ shadow range raw value.
+
+ UI_VALUE = EFFECTIVE_RANGE * 100 ???
+ rawParam = 0.1 - (UI_VALUE / 1.0E+5)
+
+ UI_VALUE:0 => rawParam:0.1
+ UI_VALUE:8875 => rawParam:0.01125
+ UI_VALUE:9999 => rawParam:1.0E-5
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:float" >
+<!--
+ <xsd:minInclusive value="-0.0" />
+ <xsd:maxInclusive value="0.1" />
+-->
+ </xsd:restriction>
+
+ </xsd:simpleType>
+
+
+ <xsd:simpleType name="BezPt" >
+ <xsd:annotation>
+ <xsd:documentation>
+ Bezier points coordinates value. [XY:0-127]
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:restriction base="xsd:byte" >
+ <xsd:minInclusive value= "0" />
+ <xsd:maxInclusive value="127" />
+ </xsd:restriction>
+
+ </xsd:simpleType>
+
+
+ <xsd:complexType name="FrameNumbered" >
+ <xsd:annotation>
+ <xsd:documentation>
+ frame numbered type.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:attribute name="frame" type="tns:FrameNo" use="required" />
+
+ </xsd:complexType>
+
+
+ <xsd:complexType name="BezParam" >
+ <xsd:annotation>
+ <xsd:documentation>
+ bezier cubic curve parameters.
+ p0=(0, 0) p3=(127, 127) [implicit points]
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:attribute name="p1x" type="tns:BezPt" use="optional" />
+ <xsd:attribute name="p1y" type="tns:BezPt" use="optional" />
+ <xsd:attribute name="p2x" type="tns:BezPt" use="optional" />
+ <xsd:attribute name="p2y" type="tns:BezPt" use="optional" />
+
+ </xsd:complexType>
+
+
+ <xsd:element name="bezier" >
+ <xsd:annotation>
+ <xsd:documentation>
+ bezier cubic curve parameters.
+ p0=(0, 0) p3=(127, 127) [implicit points]
+ P1 and P2 points are required.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="tns:BezParam" >
+ <xsd:attribute name="p1x" type="tns:BezPt" use="required" />
+ <xsd:attribute name="p1y" type="tns:BezPt" use="required" />
+ <xsd:attribute name="p2x" type="tns:BezPt" use="required" />
+ <xsd:attribute name="p2y" type="tns:BezPt" use="required" />
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="defLinear" >
+ <xsd:annotation>
+ <xsd:documentation>
+ default linear bezier curve.
+ p0=(0, 0) p1=(20, 20) p2=(107, 107) p3=(127, 127)
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="tns:BezParam" >
+ <xsd:attribute name="p1x" use="prohibited" fixed= "20" />
+ <xsd:attribute name="p1y" use="prohibited" fixed= "20" />
+ <xsd:attribute name="p2x" use="prohibited" fixed="107" />
+ <xsd:attribute name="p2y" use="prohibited" fixed="107" />
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="defEaseInOut" >
+ <xsd:annotation>
+ <xsd:documentation>
+ default ease-in-out bezier curve.
+ p0=(0, 0) p1=(64, 0) p2=(64, 127) p3=(127, 127)
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:restriction base="tns:BezParam" >
+ <xsd:attribute name="p1x" use="prohibited" fixed= "64" />
+ <xsd:attribute name="p1y" use="prohibited" fixed= "0" />
+ <xsd:attribute name="p2x" use="prohibited" fixed= "64" />
+ <xsd:attribute name="p2y" use="prohibited" fixed="127" />
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:complexType name="InterpolationSingle" >
+ <xsd:annotation>
+ <xsd:documentation>
+ has single interpolation curve.
+ If omitted, it means default linear curve.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:choice minOccurs="0" >
+ <xsd:element ref="tns:bezier" />
+ <xsd:element ref="tns:defLinear" />
+ <xsd:element ref="tns:defEaseInOut" />
+ </xsd:choice>
+
+ </xsd:complexType>
+
+
+ <xsd:complexType name="PosWithInterpolation" >
+ <xsd:annotation>
+ <xsd:documentation>
+ 3D-position with XYZ-interpolation curve.
+ If omitted, it means default linear curve *3 [XYZ].
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:sequence minOccurs="0" maxOccurs="1" >
+ <xsd:choice minOccurs="3" maxOccurs="3" >
+ <xsd:element ref="tns:bezier" />
+ <xsd:element ref="tns:defLinear" />
+ <xsd:element ref="tns:defEaseInOut" />
+ </xsd:choice>
+ </xsd:sequence>
+
+ <xsd:attribute name="xPos" type="xsd:float" use="required" />
+ <xsd:attribute name="yPos" type="xsd:float" use="required" />
+ <xsd:attribute name="zPos" type="xsd:float" use="required" />
+
+ </xsd:complexType>
+
+
+ <xsd:element name="meta" >
+ <xsd:annotation>
+ <xsd:documentation>
+ Meta-information of motion.
+ Use free.
+ but, some meta-name has recommended usage.
+ + "generator" (Generator application name)
+ + "siteURL" (about motion creator)
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:attribute
+ name="name"
+ type="xsd:NCName"
+ use="required" />
+ <xsd:attribute
+ name="content"
+ type="xsd:string"
+ use="required" />
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="modelName" >
+ <xsd:annotation>
+ <xsd:documentation>
+ name of motion-model.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:attribute
+ name="name"
+ type="xsd:string"
+ use="required" />
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="boneMotionSequence" >
+ <xsd:annotation>
+ <xsd:documentation>
+ bone motion data sequence.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element
+ ref="tns:bonePart"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:unique name="BoneName" >
+ <xsd:selector xpath="./tns:bonePart" />
+ <xsd:field xpath="@name" />
+ </xsd:unique>
+
+ </xsd:element>
+
+
+ <xsd:element name="bonePart" >
+ <xsd:annotation>
+ <xsd:documentation>
+ bone motion data group by bone-name.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element
+ ref="tns:boneMotion"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+
+ <xsd:attribute
+ name="name"
+ type="xsd:string"
+ use="required" />
+ </xsd:complexType>
+
+ <xsd:unique name="BoneFrameNo" >
+ <xsd:selector xpath="./tns:boneMotion" />
+ <xsd:field xpath="@frame" />
+ </xsd:unique>
+
+ </xsd:element>
+
+
+ <xsd:element name="boneMotion" >
+ <xsd:annotation>
+ <xsd:documentation>
+ bone motion data.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="tns:FrameNumbered" >
+ <xsd:sequence>
+ <xsd:element
+ ref="tns:bonePosition"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:choice>
+ <xsd:element ref="tns:boneRotQuat" />
+ <xsd:element ref="tns:boneRotEyxz" />
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="bonePosition" type="tns:PosWithInterpolation" >
+ <xsd:annotation>
+ <xsd:documentation>
+ bone position.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ </xsd:element>
+
+
+ <xsd:element name="boneRotQuat" >
+ <xsd:annotation>
+ <xsd:documentation>
+ bone rotation. (Quaternion parameters)
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="tns:InterpolationSingle" >
+ <xsd:attribute name="qx" type="xsd:float" use="required" />
+ <xsd:attribute name="qy" type="xsd:float" use="required" />
+ <xsd:attribute name="qz" type="xsd:float" use="required" />
+ <xsd:attribute name="qw" type="xsd:float" use="required" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="boneRotEyxz" >
+ <xsd:annotation>
+ <xsd:documentation>
+ bone rotation. (YXZ-Euler rotation parameters)
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="tns:InterpolationSingle" >
+ <xsd:attribute name="xDeg" type="xsd:float" use="required" />
+ <xsd:attribute name="yDeg" type="xsd:float" use="required" />
+ <xsd:attribute name="zDeg" type="xsd:float" use="required" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="morphSequence" >
+ <xsd:annotation>
+ <xsd:documentation>
+ morphing data sequence.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element
+ ref="tns:morphPart"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:unique name="MorphName" >
+ <xsd:selector xpath="./tns:morphPart" />
+ <xsd:field xpath="@name" />
+ </xsd:unique>
+
+ </xsd:element>
+
+
+ <xsd:element name="morphPart" >
+ <xsd:annotation>
+ <xsd:documentation>
+ morphing data group by morph-name.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element
+ ref="tns:morphMotion"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+
+ <xsd:attribute
+ name="name"
+ type="xsd:string"
+ use="required" />
+ </xsd:complexType>
+
+ <xsd:unique name="MorphFrameNo" >
+ <xsd:selector xpath="./tns:morphMotion" />
+ <xsd:field xpath="@frame" />
+ </xsd:unique>
+
+ </xsd:element>
+
+
+ <xsd:element name="morphMotion" >
+ <xsd:annotation>
+ <xsd:documentation>
+ morphing data.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="tns:FrameNumbered" >
+ <xsd:attribute
+ name="flex"
+ type="tns:MorphFlex"
+ use="required" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="cameraSequence" >
+ <xsd:annotation>
+ <xsd:documentation>
+ camera sequence.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element
+ ref="tns:cameraMotion"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:unique name="CameraFrameNo" >
+ <xsd:selector xpath="./tns:cameraMotion" />
+ <xsd:field xpath="@frame" />
+ </xsd:unique>
+
+ </xsd:element>
+
+
+ <xsd:element name="cameraMotion" >
+ <xsd:annotation>
+ <xsd:documentation>
+ camera data.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="tns:FrameNumbered" >
+ <xsd:sequence>
+ <xsd:element ref="tns:cameraTarget" />
+ <xsd:element ref="tns:cameraRotation" />
+ <xsd:element ref="tns:cameraRange" />
+ <xsd:element ref="tns:projection" />
+ </xsd:sequence>
+ <xsd:attribute
+ name="hasPerspective"
+ type="xsd:boolean"
+ use="optional"
+ default="true" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="cameraTarget" type="tns:PosWithInterpolation" >
+ <xsd:annotation>
+ <xsd:documentation>
+ camera target.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ </xsd:element>
+
+
+ <xsd:element name="cameraRotation" >
+ <xsd:annotation>
+ <xsd:documentation>
+ camera-rotation around camera-target
+ with polar-coordinates parameters.
+
+ xRad = -radian(UI_X) [latitude]
+ yRad = radian(UI_Y) [longitude]
+ zRad = radian(UI_Z) [roll]
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="tns:InterpolationSingle" >
+ <xsd:attribute name="xRad" type="xsd:float" use="required" />
+ <xsd:attribute name="yRad" type="xsd:float" use="required" />
+ <xsd:attribute name="zRad" type="xsd:float" use="required" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="cameraRange" >
+ <xsd:annotation>
+ <xsd:documentation>
+ camera range.
+ sign was negated from UI_RANGE.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="tns:InterpolationSingle" >
+ <xsd:attribute
+ name="range"
+ type="xsd:float"
+ use="required" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="projection" >
+ <xsd:annotation>
+ <xsd:documentation>
+ projection data.
+ vertDeg : vertical screen-projection angle by degree.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="tns:InterpolationSingle" >
+ <xsd:attribute
+ name="vertDeg"
+ type="tns:ProjectionAngle"
+ use="required" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="luminousSequence" >
+ <xsd:annotation>
+ <xsd:documentation>
+ luminous sequence.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element
+ ref="tns:luminousAct"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:unique name="LuminousFrameNo" >
+ <xsd:selector xpath="./tns:luminousAct" />
+ <xsd:field xpath="@frame" />
+ </xsd:unique>
+
+ </xsd:element>
+
+
+ <xsd:element name="luminousAct" >
+ <xsd:annotation>
+ <xsd:documentation>
+ luminous data.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="tns:FrameNumbered" >
+ <xsd:sequence>
+ <xsd:element ref="tns:lumiColor" />
+ <xsd:element ref="tns:lumiDirection" />
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="lumiColor" >
+ <xsd:annotation>
+ <xsd:documentation>
+ luminous color by RGB color space.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:attribute
+ name="rCol"
+ type="tns:ColorComponent"
+ use="required" />
+ <xsd:attribute
+ name="gCol"
+ type="tns:ColorComponent"
+ use="required" />
+ <xsd:attribute
+ name="bCol"
+ type="tns:ColorComponent"
+ use="required" />
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="lumiDirection" >
+ <xsd:annotation>
+ <xsd:documentation>
+ luminous direction by vector.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:attribute
+ name="xVec"
+ type="tns:DirVecComponent"
+ use="required" />
+ <xsd:attribute
+ name="yVec"
+ type="tns:DirVecComponent"
+ use="required" />
+ <xsd:attribute
+ name="zVec"
+ type="tns:DirVecComponent"
+ use="required" />
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+ <xsd:element name="shadowSequence" >
+ <xsd:annotation>
+ <xsd:documentation>
+ shadow sequence.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element
+ ref="tns:shadowAct"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:unique name="ShadowFrameNo" >
+ <xsd:selector xpath="./tns:shadowAct" />
+ <xsd:field xpath="@frame" />
+ </xsd:unique>
+
+ </xsd:element>
+
+
+ <xsd:element name="shadowAct" >
+ <xsd:annotation>
+ <xsd:documentation>
+ shadow data.
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="tns:FrameNumbered" >
+ <xsd:attribute
+ name="mode"
+ type="tns:ShadowType"
+ use="required" />
+ <xsd:attribute
+ name="rawParam"
+ type="tns:ShadowRawParam"
+ use="required" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ </xsd:element>
+
+
+</xsd:schema>
+
+
+<!-- EOF -->