Implement writing outdoor sector to XML

This commit is contained in:
2015-01-22 15:44:25 -05:00
parent 952d81ae5a
commit aa705fac13
4 changed files with 134 additions and 25 deletions

View File

@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<sector boes="1.0">
<name>Outdoor Section</name>
<!-- Outdoor ambient sound -->
<sound>birds</sound>
<!-- Wandering encounter info -->
<wandering>
@@ -8,8 +10,14 @@
<monster friendly="true">27</monster>
</wandering>
<sign id="0">This is a sample sign!</sign>
<signs>
<string id="0">This is a sample sign!</string>
</signs>
<!-- outdoor description rects -->
<description top="32" left="32" bottom="36" right="36">This is an area description!</description>
<descriptions>
<area top="32" left="32" bottom="36" right="36">This is an area description!</area>
</descriptions>
<strings/>
</sector>

View File

@@ -42,28 +42,66 @@
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="comment" type="xs:string" minOccurs="0"/>
<xs:element name="sound" minOccurs="0">
<xs:simpleType>
<xs:union memberTypes="xs:integer">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="birds"/>
<xs:enumeration value="drip"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element name="encounter" type="encounter" minOccurs="0" maxOccurs="4"/>
<xs:element name="wandering" type="encounter" minOccurs="0" maxOccurs="4"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="sign">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:integer"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="description">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attributeGroup ref="rect"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element name="signs">
<xs:complexType>
<xs:sequence>
<xs:element name="string" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:integer"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="descriptions">
<xs:complexType>
<xs:sequence>
<xs:element name="area" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attributeGroup ref="rect"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="strings">
<xs:complexType>
<xs:sequence>
<xs:element name="string" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="id" type="xs:integer"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="boes" type="xs:string"/>
</xs:complexType>