comparison schemas/race.xsd @ 270:b1c4241b8a2e

Re #290: Migrate to using key/keyref definitions instead of ID/IDREF type * Migrate unit equipment item references to key/keyref
author IBBoard <dev@ibboard.co.uk>
date Mon, 14 Jun 2010 19:42:53 +0000
parents 51d7b2b26882
children da286069b9c6
comparison
equal deleted inserted replaced
269:51d7b2b26882 270:b1c4241b8a2e
79 </xs:keyref> 79 </xs:keyref>
80 <xs:key name="abilityKey"> 80 <xs:key name="abilityKey">
81 <xs:selector xpath="race:abilities/race:ability"/> 81 <xs:selector xpath="race:abilities/race:ability"/>
82 <xs:field xpath="@id"/> 82 <xs:field xpath="@id"/>
83 </xs:key> 83 </xs:key>
84 <xs:keyref name="equipmentItemRef" refer="equipmentItemKey">
85 <xs:selector xpath="race:units/race:unit/race:unitEquipment/race:unitEquipmentItem"/>
86 <xs:field xpath="@id"/>
87 </xs:keyref>
88 <xs:key name="equipmentItemKey">
89 <xs:selector xpath="race:equipment/race:equipmentItem"/>
90 <xs:field xpath="@id"/>
91 </xs:key>
84 </xs:element> 92 </xs:element>
85 93
86 <!--Reusable complex types --> 94 <!--Reusable complex types -->
87 <xs:complexType name="unit"> 95 <xs:complexType name="unit">
88 <xs:sequence> 96 <xs:sequence>
111 <xs:sequence> 119 <xs:sequence>
112 <xs:element name="minLimit" minOccurs="0" type="core:limit" /> 120 <xs:element name="minLimit" minOccurs="0" type="core:limit" />
113 <xs:element name="maxLimit" minOccurs="0" type="core:limit" /> 121 <xs:element name="maxLimit" minOccurs="0" type="core:limit" />
114 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> 122 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
115 </xs:sequence> 123 </xs:sequence>
116 <xs:attribute name="id" type="xs:IDREF" /> 124 <xs:attribute name="id" type="xs:string" use="required" />
117 <xs:attribute name="required" type="xs:boolean" default="false"/> 125 <xs:attribute name="required" type="xs:boolean" default="false"/>
118 <!-- exclusivityGroup is deprecated in favour of the comma-separated exclusivityGroups --> 126 <!-- exclusivityGroup is deprecated in favour of the comma-separated exclusivityGroups -->
119 <xs:attribute name="exclusivityGroup" type="xs:string" default=""/> 127 <xs:attribute name="exclusivityGroup" type="xs:string" default=""/>
120 <xs:attribute name="exclusivityGroups" type="xs:string" default=""/> 128 <xs:attribute name="exclusivityGroups" type="xs:string" default=""/>
121 <xs:attribute name="equipmentSlot" type="xs:string"/> 129 <xs:attribute name="equipmentSlot" type="xs:string"/>
265 <xs:complexType> 273 <xs:complexType>
266 <xs:sequence> 274 <xs:sequence>
267 <xs:element name="description" type="xs:string" minOccurs="0" /> 275 <xs:element name="description" type="xs:string" minOccurs="0" />
268 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> 276 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
269 </xs:sequence> 277 </xs:sequence>
270 <xs:attribute name="id" type="xs:ID" use="required"/> 278 <xs:attribute name="id" type="xs:string" use="required"/>
271 <xs:attribute name="name" type="xs:string" use="required"/> 279 <xs:attribute name="name" type="xs:string" use="required"/>
272 <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/> 280 <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/>
273 <xs:anyAttribute processContents="lax"/> 281 <xs:anyAttribute processContents="lax"/>
274 </xs:complexType> 282 </xs:complexType>
275 </xs:element> 283 </xs:element>