<?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="tech" 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:complexType name="tech">
		<xs:attribute name="name" use="required" type="xs:string" />
		<xs:attribute name="level" use="required" type="xs:positiveInteger" />
	</xs:complexType>

</xs:schema>