Mercurial > repos > snowblizz-super-API-ideas
view dtds/army.xsd @ 60:0c3500fca49d
Re #61 - Complete structure of WarFoundry API objects
* Add containership in Army schema so that it can be stored and retrieved
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Thu, 09 Apr 2009 13:58:23 +0000 |
parents | e53ed2d613a1 |
children | e7a6f460be57 |
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/army" xmlns="http://ibboard.co.uk/warfoundry/army" elementFormDefault="qualified"> <xs:element name="army"> <xs:complexType> <xs:all> <xs:element name="units" type="unitstype" minOccurs="1"/> <xs:element name="customEquipment" type="customequipmenttype" minOccurs="1" /> </xs:all> <xs:attribute name="id" type="xs:ID" /> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="system" type="xs:string" use="required"/> <xs:attribute name="race" type="xs:string" use="required"/> <xs:attribute name="maxPoints" type="xs:positiveInteger" use="required"/> </xs:complexType> </xs:element> <xs:complexType name="unitstype"> <xs:sequence> <xs:element name="unit" type="unittype" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="unittype"> <xs:all> <xs:element name="equipment" type="equipmenttype" minOccurs="0" maxOccurs="1" /> <xs:element name="contains" type="containstype" minOccurs="0" /> </xs:all> <xs:attribute name="id" type="xs:ID" /> <xs:attribute name="unitType" type="xs:string" use="required"/> <xs:attribute name="unitName" type="xs:string" use="required"/> <xs:attribute name="size" type="xs:positiveInteger" use="required"/> <xs:attribute name="race" type="xs:string" default=""/> </xs:complexType> <xs:complexType name="equipmenttype"> <xs:sequence> <xs:element name="equipItem" type="equipitemtype" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="equipitemtype"> <xs:attribute name="id" type="xs:string" /> <!-- ID reference to either a custom equipment item or a Race equipment item --> <xs:attribute name="amount" type="core:nonNegativeDouble" use="required"/><!-- Double used to allow for percentages to be stored --> <xs:attribute name="isCustomEquipment" type="xs:boolean" default="false"/> </xs:complexType> <xs:complexType name="containstype"> <xs:sequence> <xs:element name="containedUnit" type="containedunittype"/> </xs:sequence> </xs:complexType> <xs:complexType name="containedunittype"> <xs:attribute name="containedID" type="xs:IDREF" use="required"/> </xs:complexType> <xs:complexType name="customequipmenttype"> <xs:sequence> <xs:element name="customEquip" type="customequiptype" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="customequiptype"> <xs:sequence> <xs:element name="customEquipPart" type="customequipparttype" minOccurs="1" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="id" type="xs:ID" /> </xs:complexType> <xs:complexType name="customequipparttype"> <xs:attribute name="partIDRef" type="xs:string" /> </xs:complexType> </xs:schema>