59 lines
2.1 KiB
XML
59 lines
2.1 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema targetNamespace="http://www.deepclone.com/lw/b6/m1/buildables" xmlns="http://www.deepclone.com/lw/b6/m1/buildables"
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
|
|
|
<xs:element name="buildables">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:choice maxOccurs="unbounded" minOccurs="0">
|
|
<xs:element name="building" type="building" />
|
|
<xs:element name="ship" type="ship" />
|
|
</xs:choice>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:simpleType name="building-production">
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="CASH" />
|
|
<xs:enumeration value="DEF" />
|
|
<xs:enumeration value="POP" />
|
|
<xs:enumeration value="WORK" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:complexType name="buildable" abstract="true">
|
|
<xs:sequence>
|
|
<xs:element name="cost" type="cost" />
|
|
<xs:element name="tech" type="xs:token" minOccurs="0" />
|
|
</xs:sequence>
|
|
<xs:attribute name="name" use="required" type="xs:string" />
|
|
<xs:attribute name="description" use="required" type="xs:string" />
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="building">
|
|
<xs:complexContent>
|
|
<xs:extension base="buildable">
|
|
<xs:attribute name="type" use="required" type="building-production" />
|
|
<xs:attribute name="output" use="required" type="xs:positiveInteger" />
|
|
<xs:attribute name="workers" use="required" type="xs:nonNegativeInteger" />
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="ship">
|
|
<xs:complexContent>
|
|
<xs:extension base="buildable">
|
|
<xs:attribute name="time" use="required" type="xs:positiveInteger" />
|
|
<xs:attribute name="power" use="required" type="xs:positiveInteger" />
|
|
</xs:extension>
|
|
</xs:complexContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="cost">
|
|
<xs:attribute name="build" use="required" type="xs:positiveInteger" />
|
|
<xs:attribute name="work" use="required" type="xs:positiveInteger" />
|
|
<xs:attribute name="upkeep" use="required" type="xs:nonNegativeInteger" />
|
|
</xs:complexType>
|
|
|
|
</xs:schema>
|