shimeji-collection/conf/Mascot.xsd

199 lines
6.9 KiB
XML
Raw Normal View History

2021-12-28 00:17:04 +01:00
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.group-finity.com/Mascot" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.group-finity.com/Mascot">
<element name="Mascot" type="tns:Mascot" />
<complexType name="Mascot">
<sequence>
<element name="ActionList" type="tns:ActionList" maxOccurs="unbounded" minOccurs="0" />
<element name="BehaviorList" type="tns:BehaviorList" maxOccurs="unbounded" minOccurs="0" />
</sequence>
</complexType>
<complexType name="ActionList">
<choice maxOccurs="unbounded" minOccurs="0" >
<element name="Action" type="tns:TopAction" />
</choice>
</complexType>
<complexType name="ActionArguments" abstract="true">
<attribute name="Condition" type="tns:Parameter" />
<attribute name="Duration" type="tns:Parameter" />
<attribute name="TargetX" type="tns:Parameter" />
<attribute name="TargetY" type="tns:Parameter" />
<attribute name="InitialVX" type="tns:Parameter" />
<attribute name="InitialVY" type="tns:Parameter" />
<attribute name="X" type="tns:Parameter" />
<attribute name="Y" type="tns:Parameter" />
<attribute name="LookRight" type="tns:Parameter" />
<attribute name="IeOffsetX" type="tns:Parameter" />
<attribute name="IeOffsetY" type="tns:Parameter" />
<attribute name="Gap" type="tns:Parameter" />
<attribute name="BornX" type="tns:Parameter" />
<attribute name="BornY" type="tns:Parameter" />
<attribute name="BornBehavior" type="tns:Parameter" />
<attribute name="VelocityParam" type="tns:Parameter" />
<attribute name="RegistanceX" type="tns:Parameter" />
<attribute name="RegistanceY" type="tns:Parameter" />
<attribute name="Gravity" type="tns:Parameter" />
</complexType>
<complexType name="Action">
<complexContent>
<extension base="tns:ActionArguments">
<choice>
<element name="Animation" type="tns:Animation" maxOccurs="unbounded" minOccurs="0" />
<sequence>
<choice maxOccurs="unbounded" minOccurs="0" >
<element name="ActionReference" type="tns:ActionReference"/>
<element name="Action" type="tns:LowerAction" />
</choice>
</sequence>
</choice>
<attribute name="Type" use="required">
<simpleType>
<restriction base="string">
<enumeration value="Embedded"></enumeration>
<enumeration value="Move"></enumeration>
<enumeration value="Pause"></enumeration>
<enumeration value="Fixed"></enumeration>
<enumeration value="Composite"></enumeration>
<enumeration value="Select"></enumeration>
</restriction>
</simpleType>
</attribute>
<attribute name="Class">
<simpleType>
<restriction base="string">
<pattern value="com\.group_finity\.mascot\.action\.[a-zA-Z][a-zA-Z0-9]+" />
</restriction>
</simpleType>
</attribute>
<attribute name="BorderType">
<simpleType>
<restriction base="string">
<enumeration value="Floor"></enumeration>
<enumeration value="Wall"></enumeration>
<enumeration value="Ceiling"></enumeration>
</restriction>
</simpleType>
</attribute>
<attribute name="Loop" type="tns:Parameter" />
</extension>
</complexContent>
</complexType>
<complexType name="TopAction">
<complexContent>
<extension base="tns:Action">
<attribute name="Name" type="string" use="required" />
</extension>
</complexContent>
</complexType>
<complexType name="LowerAction">
<complexContent>
<extension base="tns:Action" />
</complexContent>
</complexType>
<complexType name="Animation">
<sequence>
<element name="Pose" type="tns:Pose" maxOccurs="unbounded" minOccurs="1" />
</sequence>
<attribute name="Condition" type="string" />
</complexType>
<complexType name="Pose">
<attribute name="Image" use="required">
<simpleType>
<restriction base="string">
<pattern value=".+\.(png|gif|jpeg|jpg|bmp|PNG|GIF|JPEG|JPG|BMP)" />
</restriction>
</simpleType>
</attribute>
<attribute name="ImageAnchor" use="required">
<simpleType>
<restriction base="string">
<pattern value="-?\d+,-?\d+" />
</restriction>
</simpleType>
</attribute>
<attribute name="Velocity" use="required">
<simpleType>
<restriction base="string">
<pattern value="-?\d+,-?\d+" />
</restriction>
</simpleType>
</attribute>
<attribute name="Duration" type="int" use="required" />
</complexType>
<complexType name="ActionReference">
<complexContent>
<extension base="tns:ActionArguments">
<attribute name="Name" type="string" use="required" />
</extension>
</complexContent>
</complexType>
<complexType name="BehaviorList">
<sequence>
<choice maxOccurs="unbounded" minOccurs="1" >
<element name="Behavior" type="tns:Behavior" />
<element name="Condition" type="tns:BehaviorCondition" />
</choice>
</sequence>
</complexType>
<complexType name="Behavior">
<sequence>
<choice maxOccurs="1" minOccurs="0" >
<element name="NextBehaviorList" type="tns:NextBehaviorList" />
</choice>
</sequence>
<attribute name="Name" type="string" use="required" />
<attribute name="Frequency" type="int" use="required" />
<attribute name="Condition" type="tns:Parameter" />
<attribute name="Hidden" type="boolean" />
</complexType>
<complexType name="NextBehaviorList">
<sequence>
<choice maxOccurs="unbounded" minOccurs="1" >
<element name="BehaviorReference" type="tns:BehaviorReference" />
<element name="Condition" type="tns:BehaviorReferenceCondition" />
</choice>
</sequence>
<attribute name="Add" type="boolean" use="required" />
</complexType>
<complexType name="BehaviorReferenceCondition">
<complexContent>
<extension base="tns:NextBehaviorList">
<attribute name="Condition" type="string" />
</extension>
</complexContent>
</complexType>
<complexType name="BehaviorReference">
<attribute name="Name" type="string" use="required" />
<attribute name="Frequency" type="int" use="required" />
<attribute name="Condition" type="tns:Parameter" />
</complexType>
<complexType name="BehaviorCondition">
<complexContent>
<extension base="tns:BehaviorList">
<attribute name="Condition" type="tns:Parameter" />
</extension>
</complexContent>
</complexType>
<simpleType name="Parameter">
<restriction base="string">
<pattern value="([$#]\{.+\})|(\-?[0-9]+(\.[0-9]+)?)|true|false" />
</restriction>
</simpleType>
</schema>