Factor out some common definitions from the XML schemas

This commit is contained in:
2015-07-10 15:02:50 -04:00
parent 353ed28795
commit 4104e08481
9 changed files with 45 additions and 154 deletions

28
rsrc/schemas/common.xsd Normal file
View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="bool">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:attributeGroup name="rect">
<xs:attribute name="top" use="required" type="xs:integer"/>
<xs:attribute name="left" use="required" type="xs:integer"/>
<xs:attribute name="bottom" use="required" type="xs:integer"/>
<xs:attribute name="right" use="required" type="xs:integer"/>
</xs:attributeGroup>
<xs:attributeGroup name="point">
<xs:attribute name="x" use="required" type="xs:integer"/>
<xs:attribute name="y" use="required" type="xs:integer"/>
</xs:attributeGroup>
<xs:element name="timer">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="freq" type="xs:integer" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="bool">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:include schemaLocation="common.xsd"/>
<xs:simpleType name="picttype">
<xs:restriction base="xs:token">
<xs:enumeration value="blank"/>
@@ -119,7 +114,7 @@
</xs:simpleType>
</xs:list>
</xs:simpleType>
<xs:attributeGroup name="rect">
<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"/>
@@ -168,7 +163,7 @@
</xs:simpleType>
</xs:attribute>
<xs:attribute name="tab-order" type="xs:integer"/>
<xs:attributeGroup ref="rect"/>
<xs:attributeGroup ref="rect-size"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
@@ -186,7 +181,7 @@
<xs:attributeGroup ref="keys"/>
<xs:attribute name="clickable" default="false" type="bool"/>
<xs:attribute name="fromlist" default="none" type="xs:string"/>
<xs:attributeGroup ref="rect"/>
<xs:attributeGroup ref="rect-size"/>
</xs:complexType>
</xs:element>
<xs:element name="pict">
@@ -209,7 +204,7 @@
<xs:attributeGroup ref="keys"/>
<xs:attribute name="clickable" default="false" type="bool"/>
<xs:attribute name="num" use="required" type="xs:integer"/>
<xs:attributeGroup ref="rect"/>
<xs:attributeGroup ref="rect-size"/>
</xs:complexType>
</xs:element>
<xs:element name="button">
@@ -224,7 +219,7 @@
<xs:attribute name="wrap" default="false" type="bool"/>
<xs:attributeGroup ref="keys"/>
<xs:attribute name="fromlist" default="none" type="xs:string"/>
<xs:attributeGroup ref="rect"/>
<xs:attributeGroup ref="rect-size"/>
</xs:complexType>
</xs:element>
<xs:element name="led">
@@ -241,7 +236,7 @@
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attributeGroup ref="rect"/>
<xs:attributeGroup ref="rect-size"/>
<xs:attributeGroup ref="font"/>
<xs:attribute name="wrap" default="false" type="bool"/>
</xs:extension>

View File

@@ -1,29 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="bool">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dir">
<xs:restriction base="xs:token">
<xs:enumeration value="n"/>
<xs:enumeration value="s"/>
<xs:enumeration value="e"/>
<xs:enumeration value="w"/>
</xs:restriction>
</xs:simpleType>
<xs:attributeGroup name="rect">
<xs:attribute name="top" use="required" type="xs:integer"/>
<xs:attribute name="left" use="required" type="xs:integer"/>
<xs:attribute name="bottom" use="required" type="xs:integer"/>
<xs:attribute name="right" use="required" type="xs:integer"/>
</xs:attributeGroup>
<xs:complexType name="sdf">
<xs:attribute name="x" use="required" type="xs:integer"/>
<xs:attribute name="y" use="required" type="xs:integer"/>
</xs:complexType>
<xs:include schemaLocation="common.xsd"/>
<xs:simpleType name="costAdjust">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>

View File

@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="bool">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:include schemaLocation="common.xsd"/>
<xs:simpleType name="itemVariety">
<xs:restriction base="xs:token">
<xs:enumeration value="none"/>

View File

@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="bool">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:include schemaLocation="common.xsd"/>
<xs:simpleType name='dice'>
<xs:restriction base="xs:string">
<xs:pattern value="\d*d\d+"/>

View File

@@ -1,21 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="bool">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:attributeGroup name="rect">
<xs:attribute name="top" use="required" type="xs:integer"/>
<xs:attribute name="left" use="required" type="xs:integer"/>
<xs:attribute name="bottom" use="required" type="xs:integer"/>
<xs:attribute name="right" use="required" type="xs:integer"/>
</xs:attributeGroup>
<xs:attributeGroup name="point">
<xs:attribute name="x" use="required" type="xs:integer"/>
<xs:attribute name="y" use="required" type="xs:integer"/>
</xs:attributeGroup>
<xs:include schemaLocation="common.xsd"/>
<xs:complexType name="encounter">
<xs:sequence>
<xs:element name="monster" minOccurs="1" maxOccurs="10">

View File

@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="bool">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:include schemaLocation="common.xsd"/>
<xs:simpleType name='shop-amount'>
<xs:union memberTypes='xs:integer'>
<xs:simpleType>
@@ -15,16 +10,6 @@
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:attributeGroup name="rect">
<xs:attribute name="top" use="required" type="xs:integer"/>
<xs:attribute name="left" use="required" type="xs:integer"/>
<xs:attribute name="bottom" use="required" type="xs:integer"/>
<xs:attribute name="right" use="required" type="xs:integer"/>
</xs:attributeGroup>
<xs:attributeGroup name="point">
<xs:attribute name="x" use="required" type="xs:integer"/>
<xs:attribute name="y" use="required" type="xs:integer"/>
</xs:attributeGroup>
<xs:element name="icon">
<xs:complexType mixed="true">
<xs:attribute name="custom" type="bool" default="false"/>
@@ -279,15 +264,7 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="timer" minOccurs="0" maxOccurs="20">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="freq" type="xs:integer" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element ref="timer" minOccurs="0" maxOccurs="20"/>
<xs:element name="string" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>

View File

@@ -1,29 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="bool">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:include schemaLocation="common.xsd"/>
<xs:complexType name="point">
<xs:attribute name="x" use="required" type="xs:integer"/>
<xs:attribute name="y" use="required" type="xs:integer"/>
<xs:attributeGroup ref="point"/>
</xs:complexType>
<xs:simpleType name="key">
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="0"/>
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
<xs:enumeration value="3"/>
<xs:enumeration value="4"/>
<xs:enumeration value="5"/>
<xs:enumeration value="6"/>
<xs:enumeration value="7"/>
<xs:enumeration value="8"/>
<xs:enumeration value="9"/>
<xs:enumeration value="a"/>
<xs:enumeration value="b"/>
<xs:enumeration value="c"/>
@@ -50,28 +34,6 @@
<xs:enumeration value="x"/>
<xs:enumeration value="y"/>
<xs:enumeration value="z"/>
<xs:enumeration value="`"/>
<xs:enumeration value="-"/>
<xs:enumeration value="="/>
<xs:enumeration value="["/>
<xs:enumeration value="]"/>
<xs:enumeration value="\"/>
<xs:enumeration value=";"/>
<xs:enumeration value="'"/>
<xs:enumeration value=","/>
<xs:enumeration value="."/>
<xs:enumeration value="/"/>
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
<xs:enumeration value="up"/>
<xs:enumeration value="down"/>
<xs:enumeration value="esc"/>
<xs:enumeration value="enter"/>
<xs:enumeration value="return"/>
<xs:enumeration value="tab"/>
<xs:enumeration value="help"/>
<xs:enumeration value="space"/>
<xs:enumeration value="none"/>
</xs:restriction>
</xs:simpleType>
</xs:union>

View File

@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:simpleType name="bool">
<xs:restriction base="xs:token">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:include schemaLocation="common.xsd"/>
<xs:simpleType name="dir">
<xs:restriction base="xs:token">
<xs:enumeration value="n"/>
@@ -22,16 +17,6 @@
<xs:enumeration value="hostile-b"/>
</xs:restriction>
</xs:simpleType>
<xs:attributeGroup name="rect">
<xs:attribute name="top" use="required" type="xs:integer"/>
<xs:attribute name="left" use="required" type="xs:integer"/>
<xs:attribute name="bottom" use="required" type="xs:integer"/>
<xs:attribute name="right" use="required" type="xs:integer"/>
</xs:attributeGroup>
<xs:attributeGroup name="point">
<xs:attribute name="x" use="required" type="xs:integer"/>
<xs:attribute name="y" use="required" type="xs:integer"/>
</xs:attributeGroup>
<xs:element name="town">
<xs:complexType>
@@ -95,15 +80,7 @@
</xs:complexType>
</xs:element>
<xs:element name="onoffend" minOccurs="0" type="xs:integer"/>
<xs:element name="timer" minOccurs="0" maxOccurs="8">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="freq" type="xs:integer" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element ref="timer" minOccurs="0" maxOccurs="8"/>
<xs:element name="flags">
<xs:complexType>
<xs:all>