Proper XSD files for armor, skills and weapon XML files.

This commit is contained in:
MobiusDev
2017-07-20 17:58:07 +00:00
parent c5bcc81e10
commit 4821621847
3 changed files with 752 additions and 0 deletions

View File

@@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xs:element name="list">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="item"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<xs:element ref="for"/>
</xs:sequence>
<xs:attribute name="id" use="required" type="xs:integer"/>
<xs:attribute name="name" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="for">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="sub"/>
<xs:choice maxOccurs="unbounded">
<xs:element ref="add"/>
<xs:element ref="enchant"/>
<xs:element ref="mul"/>
<xs:element ref="set"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="sub">
<xs:complexType>
<xs:attribute name="order" use="required" type="xs:NMTOKEN"/>
<xs:attribute name="stat" use="required" type="xs:NCName"/>
<xs:attribute name="val" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="add">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="and"/>
</xs:sequence>
<xs:attribute name="order" use="required" type="xs:NMTOKEN"/>
<xs:attribute name="stat" use="required" type="xs:NCName"/>
<xs:attribute name="val" use="required" type="xs:decimal"/>
</xs:complexType>
</xs:element>
<xs:element name="enchant">
<xs:complexType>
<xs:attribute name="order" use="required" type="xs:NMTOKEN"/>
<xs:attribute name="stat" use="required" type="xs:NCName"/>
<xs:attribute name="val" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="mul">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="and"/>
</xs:sequence>
<xs:attribute name="order" use="required" type="xs:NMTOKEN"/>
<xs:attribute name="stat" use="required" type="xs:NCName"/>
<xs:attribute name="val" use="required" type="xs:decimal"/>
</xs:complexType>
</xs:element>
<xs:element name="set">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="and"/>
</xs:sequence>
<xs:attribute name="order" use="required" type="xs:NMTOKEN"/>
<xs:attribute name="stat" use="required" type="xs:NCName"/>
<xs:attribute name="val" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="and">
<xs:complexType>
<xs:choice>
<xs:element ref="game"/>
<xs:element ref="player"/>
<xs:element ref="using"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="game">
<xs:complexType>
<xs:attribute name="chance" use="required" type="xs:integer"/>
<xs:attribute name="skill" type="xs:boolean"/>
</xs:complexType>
</xs:element>
<xs:element name="player">
<xs:complexType>
<xs:attribute name="hp" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="using">
<xs:complexType>
<xs:attribute name="slotitem" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>