353 lines
12 KiB
XML
353 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
<xs:include schemaLocation="common.xsd"/>
|
|
<xs:simpleType name="picttype">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="blank"/>
|
|
<xs:enumeration value="ter"/>
|
|
<xs:enumeration value="teranim"/>
|
|
<xs:enumeration value="monst"/>
|
|
<xs:enumeration value="dlog"/>
|
|
<xs:enumeration value="talk"/>
|
|
<xs:enumeration value="scen"/>
|
|
<xs:enumeration value="item"/>
|
|
<xs:enumeration value="pc"/>
|
|
<xs:enumeration value="field"/>
|
|
<xs:enumeration value="boom"/>
|
|
<xs:enumeration value="missile"/>
|
|
<xs:enumeration value="full"/>
|
|
<xs:enumeration value="map"/>
|
|
<xs:enumeration value="status"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="btntype">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="small"/>
|
|
<xs:enumeration value="regular"/>
|
|
<xs:enumeration value="large"/>
|
|
<xs:enumeration value="help"/>
|
|
<xs:enumeration value="left"/>
|
|
<xs:enumeration value="right"/>
|
|
<xs:enumeration value="up"/>
|
|
<xs:enumeration value="down"/>
|
|
<xs:enumeration value="tiny"/>
|
|
<xs:enumeration value="done"/>
|
|
<xs:enumeration value="tall"/>
|
|
<xs:enumeration value="trait"/>
|
|
<xs:enumeration value="push"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="key">
|
|
<xs:union>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="(ctrl +|alt +|shift +)*(\d|[a-z`=;',./-]|\[|\]|\\|left|right|up|down|esc|enter|return|tab|help|space)|none"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:union>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="mod">
|
|
<xs:list>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="ctrl"/>
|
|
<xs:enumeration value="shift"/>
|
|
<xs:enumeration value="alt"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:list>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="scrollStyle">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="white"/>
|
|
<xs:enumeration value="led"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="frameStyle">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="solid"/>
|
|
<xs:enumeration value="inset"/>
|
|
<xs:enumeration value="outset"/>
|
|
<xs:enumeration value="double"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="relAnchor">
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="next"/>
|
|
<xs:enumeration value="prev"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
<xs:simpleType name="relPosition">
|
|
<xs:list>
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="abs"/>
|
|
<xs:enumeration value="pos"/>
|
|
<xs:enumeration value="neg"/>
|
|
<xs:enumeration value="pos-in"/>
|
|
<xs:enumeration value="neg-in"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:list>
|
|
</xs:simpleType>
|
|
<xs:attributeGroup name="rect-size">
|
|
<xs:attribute name="top" use="required" type="xs:integer"/>
|
|
<xs:attribute name="left" use="required" type="xs:integer"/>
|
|
<xs:attribute name="width" type="xs:integer"/>
|
|
<xs:attribute name="height" type="xs:integer"/>
|
|
</xs:attributeGroup>
|
|
<xs:attributeGroup name="frame">
|
|
<xs:attribute name="framed" default="false" type="bool"/>
|
|
<xs:attribute name="outline" default="inset" type="frameStyle"/>
|
|
</xs:attributeGroup>
|
|
<xs:attributeGroup name="position">
|
|
<xs:attribute name="anchor" type="xs:token"/>
|
|
<xs:attribute name="rel-anchor" type="relAnchor"/>
|
|
<xs:attribute name="relative" default="abs" type="relPosition"/>
|
|
</xs:attributeGroup>
|
|
<xs:attribute name="def-key" type="key"/>
|
|
<xs:attributeGroup name="font">
|
|
<xs:attribute name="font" default="bold">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="dungeon"/>
|
|
<xs:enumeration value="plain"/>
|
|
<xs:enumeration value="bold"/>
|
|
<xs:enumeration value="maidenword"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="size" default="small">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="small"/>
|
|
<xs:enumeration value="large"/>
|
|
<xs:enumeration value="title"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="color"/>
|
|
<xs:attribute name="colour"/>
|
|
</xs:attributeGroup>
|
|
<xs:complexType name="field">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attribute name="type" default="text">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="int"/>
|
|
<xs:enumeration value="uint"/>
|
|
<xs:enumeration value="real"/>
|
|
<xs:enumeration value="text"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="tab-order" type="xs:integer"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType mixed="true" name="message">
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="br">
|
|
<xs:complexType/>
|
|
</xs:element>
|
|
<xs:element name="key">
|
|
<xs:complexType>
|
|
<xs:attribute name='ref' type='xs:token'/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attributeGroup ref="frame"/>
|
|
<xs:attributeGroup ref="font"/>
|
|
<xs:attribute name="underline" type="bool"/>
|
|
<xs:attribute ref="def-key"/>
|
|
<xs:attribute name="fromlist" default="none" type="xs:string"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="pict">
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attribute name="type" use="required" type="picttype"/>
|
|
<xs:attribute name="custom" default="false" type="bool"/>
|
|
<xs:attribute name="scaled" default="false" type="bool"/>
|
|
<xs:attribute name="framed" default="true" type="bool"/>
|
|
<xs:attribute name="outline" default="inset" type="frameStyle"/>
|
|
<xs:attribute name="size">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="small"/>
|
|
<xs:enumeration value="wide"/>
|
|
<xs:enumeration value="tall"/>
|
|
<xs:enumeration value="large"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute ref="def-key"/>
|
|
<xs:attribute name="num" use="required" type="xs:integer"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:complexType mixed="true" name="button">
|
|
<xs:sequence>
|
|
<xs:element name="key" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType/>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="name" use="required" type="xs:token"/>
|
|
<xs:attribute name="type" use="required" type="btntype"/>
|
|
<xs:attribute name="wrap" default="false" type="bool"/>
|
|
<xs:attribute ref="def-key"/>
|
|
<xs:attribute name="fromlist" default="none" type="xs:string"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="led">
|
|
<xs:simpleContent>
|
|
<xs:extension base="xs:string">
|
|
<xs:attribute name="name" use="required" type="xs:token"/>
|
|
<xs:attribute name="state" default="off">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="red"/>
|
|
<xs:enumeration value="green"/>
|
|
<xs:enumeration value="off"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
<xs:attributeGroup ref="font"/>
|
|
<xs:attribute name="wrap" default="false" type="bool"/>
|
|
</xs:extension>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
<xs:complexType name="slider">
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attribute name="max" type="xs:integer" use="required"/>
|
|
<xs:attribute name="initial" type="xs:integer" default="0"/>
|
|
<xs:attribute name="page-size" type="xs:integer" default="10"/>
|
|
<xs:attribute name="vertical" type="bool" default="true"/>
|
|
<xs:attribute name="link" type="xs:token"/>
|
|
<xs:attribute name="style" type="scrollStyle" default="led"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="ledGroup">
|
|
<xs:sequence>
|
|
<xs:element maxOccurs="unbounded" name="led" type="led"/>
|
|
</xs:sequence>
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attributeGroup ref="frame"/>
|
|
<xs:attribute name="fromlist" default="none" type="xs:string"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="stack">
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="field" type="field"/>
|
|
<xs:element name="text" type="message"/>
|
|
<xs:element name="pict" type="pict"/>
|
|
<xs:element name="button" type="button"/>
|
|
<xs:element name="led" type="led"/>
|
|
<xs:element name="group" type="ledGroup"/>
|
|
<xs:element name="slider" type="slider"/>
|
|
<xs:element name="page">
|
|
<xs:complexType>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="field" type="field"/>
|
|
<xs:element name="text" type="message"/>
|
|
<xs:element name="pict" type="pict"/>
|
|
<xs:element name="button" type="button"/>
|
|
<xs:element name="led" type="led"/>
|
|
<xs:element name="group" type="ledGroup"/>
|
|
<xs:element name="slider" type="slider"/>
|
|
</xs:choice>
|
|
<xs:attribute name="span" type="xs:integer"/>
|
|
<xs:attribute name="default" type="bool"/>
|
|
<xs:attribute name="template" type="xs:token"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attributeGroup ref="frame"/>
|
|
<xs:attribute name="pages" type="xs:integer"/>
|
|
</xs:complexType>
|
|
<xs:complexType name="scrollPane">
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="field" type="field"/>
|
|
<xs:element name="text" type="message"/>
|
|
<xs:element name="pict" type="pict"/>
|
|
<xs:element name="button" type="button"/>
|
|
<xs:element name="led" type="led"/>
|
|
<xs:element name="group" type="ledGroup"/>
|
|
<xs:element name="slider" type="slider"/>
|
|
</xs:choice>
|
|
<xs:attribute name="name" type="xs:token"/>
|
|
<xs:attributeGroup ref="frame"/>
|
|
<xs:attribute name="style" type="scrollStyle" default="led"/>
|
|
<xs:attributeGroup ref="rect-size"/>
|
|
<xs:attributeGroup ref="position"/>
|
|
</xs:complexType>
|
|
<xs:element name="dialog">
|
|
<xs:complexType>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element name="field" type="field"/>
|
|
<xs:element name="text" type="message"/>
|
|
<xs:element name="pict" type="pict"/>
|
|
<xs:element name="button" type="button"/>
|
|
<xs:element name="led" type="led"/>
|
|
<xs:element name="group" type="ledGroup"/>
|
|
<xs:element name="slider" type="slider"/>
|
|
<xs:element name="stack" type="stack">
|
|
<xs:unique name="pageName">
|
|
<xs:selector xpath="page"/>
|
|
<xs:field xpath="@template"/>
|
|
</xs:unique>
|
|
<xs:unique name="onlyOneDefault">
|
|
<xs:selector xpath="page"/>
|
|
<xs:field xpath="@default"/>
|
|
</xs:unique>
|
|
</xs:element>
|
|
<xs:element name="pane" type="scrollPane"/>
|
|
</xs:choice>
|
|
<xs:attribute name="skin" default="dark">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:token">
|
|
<xs:enumeration value="light"/>
|
|
<xs:enumeration value="dark"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
<xs:attribute name="debug" default="false" type="bool"/>
|
|
<xs:attribute name="fore" default="black"/>
|
|
<xs:attribute name="defbtn" type="xs:token"/>
|
|
</xs:complexType>
|
|
<xs:unique name="FieldTabOrder">
|
|
<xs:selector xpath="*" />
|
|
<xs:field xpath="@tab-order" />
|
|
</xs:unique>
|
|
<xs:unique name='uniqueID'>
|
|
<xs:selector xpath='*'/>
|
|
<xs:field xpath='@name'/>
|
|
</xs:unique>
|
|
<xs:keyref name="defaultButton" refer="uniqueID">
|
|
<xs:selector xpath="."/>
|
|
<xs:field xpath="@defbtn"/>
|
|
</xs:keyref>
|
|
<xs:keyref name="sliderLink" refer="uniqueID">
|
|
<xs:selector xpath="slider"/>
|
|
<xs:field xpath="@link"/>
|
|
</xs:keyref>
|
|
<xs:keyref name="anchorLink" refer="uniqueID">
|
|
<xs:selector xpath="*"/>
|
|
<xs:field xpath="@anchor"/>
|
|
</xs:keyref>
|
|
<xs:keyref name="keyRef" refer="uniqueID">
|
|
<xs:selector xpath="key"/>
|
|
<xs:field xpath="@ref"/>
|
|
</xs:keyref>
|
|
</xs:element>
|
|
</xs:schema>
|