view dtds/warfoundry-core.xsd @ 219:f609bcf7035b

Fixes #222: decimal comma/point not handled correctly (again?) in costMultiplier * Replace two "type.Parse" calls with XmlTools calls All decimals in WarFoundry should use the decimal point (or "period" to Americans) rather than the decimal comma because that's what XML uses in its default type definitions
author IBBoard <dev@ibboard.co.uk>
date Sat, 28 Nov 2009 16:40:27 +0000
parents d63bef60bb51
children
line wrap: on
line source

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ibboard.co.uk/warfoundry/core"
xmlns="http://ibboard.co.uk/warfoundry/core" elementFormDefault="qualified">
<xs:element name="extension">
	<xs:complexType>
		<xs:sequence>
			<xs:any minOccurs="0" maxOccurs="unbounded" />
		</xs:sequence>
	</xs:complexType>
</xs:element>
<xs:complexType name="limit">
	<xs:choice>
		<xs:element name="percentageLimit">
			<xs:complexType>
				<xs:attribute name="limit" type="percentage" use="required"/>
				<xs:attribute name="round" type="updowntype" default="up" />
				<xs:anyAttribute/>
			</xs:complexType>
		</xs:element>
		<xs:element name="sizeConstrainedLimit">
			<xs:complexType>
				<xs:attribute name="limit" type="xs:nonNegativeInteger" use="required"/>
				<xs:anyAttribute/>
			</xs:complexType>
		</xs:element>
		<xs:element name="absoluteLimit">
			<xs:complexType>
				<xs:attribute name="limit" type="xs:nonNegativeInteger" use="required"/>
				<xs:anyAttribute/>
			</xs:complexType>
		</xs:element>
		<xs:element name="unitSizeLimit">
			<xs:complexType>
				<xs:anyAttribute/>
			</xs:complexType>
		</xs:element>
	</xs:choice>
</xs:complexType>
<xs:simpleType name="positiveOrInfiniteInteger">
	<xs:union memberTypes="xs:positiveInteger infinity"/>
</xs:simpleType>
<xs:simpleType name="nonNegativeOrInfiniteInteger">
	<xs:union memberTypes="xs:nonNegativeInteger infinity"/>
</xs:simpleType>
<xs:simpleType name="infinity">
	<xs:restriction base="xs:integer">
		<xs:minInclusive value="-1"/>
		<xs:maxInclusive value="-1"/>
	</xs:restriction>
</xs:simpleType>
<xs:simpleType name="nonNegativeDouble">
	<xs:restriction base="xs:double">
		<xs:minInclusive value="0"/>
	</xs:restriction>
</xs:simpleType>
<xs:simpleType name="nonNegativeNonInfiniteDouble">
	<xs:restriction base="xs:double">
		<xs:minInclusive value="0"/>
		<xs:maxExclusive value="INF"/>
	</xs:restriction>
</xs:simpleType>
<xs:simpleType name="percentage">
	<xs:restriction base="xs:double">
		<xs:minInclusive value="0"/>
		<xs:maxInclusive value="100"/>
	</xs:restriction>
</xs:simpleType>
<xs:simpleType name="nonNegativeOrInfiniteIntegerOrPercentage">
	<xs:union memberTypes="xs:nonNegativeInteger infinity percentage"/>
</xs:simpleType>
<xs:simpleType name="updowntype">
	<xs:restriction base="xs:string">
		<xs:enumeration value="up"/>
		<xs:enumeration value="down"/>
	</xs:restriction>
</xs:simpleType>
</xs:schema>