Files
oboe/rsrc/schemas/dialogue.xsd
Celtic Minstrel 7b76d37237 Store talk node type in scenario file as enumerator instead of numer
- Also, don't write empty CDATA sections when dialogue name/look/job sections are completely empty.
2015-07-05 23:30:43 -04:00

66 lines
2.3 KiB
XML

<?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:simpleType name="costAdjust">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="6"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="text" type="xs:string"/>
<xs:element name="personality">
<xs:complexType>
<xs:sequence>
<xs:element name='title' type='xs:string'/>
<xs:element name="look" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="job" type="xs:string"/>
<xs:element name="unknown" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="node">
<xs:complexType>
<xs:sequence>
<xs:element name="keyword" minOccurs="1" maxOccurs="2" type="xs:string"/>
<xs:element name="type" type="xs:token"/>
<xs:element name="param" minOccurs="0" maxOccurs="4" type="xs:integer"/>
<xs:element name="text" minOccurs="1" maxOccurs="2" type="xs:string"/>
</xs:sequence>
<xs:attribute name="for" type="xs:integer" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="dialogue">
<xs:complexType>
<xs:sequence>
<xs:element ref="personality" maxOccurs="10"/>
<xs:element ref="node" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="boes" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>