Mercurial > repos > IBDev-IBBoard.WarFoundry.API
annotate schemas/army.xsd @ 244:9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
* Make xs:anyAttribute and xs:any do lax parsing so that we don't get schema errors
* Move Army schema away from core:extension to straight xs:any
Needs more testing
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 28 Feb 2010 21:09:45 +0000 |
parents | b8883707c489 |
children | 2f8fd45d55e2 |
rev | line source |
---|---|
224
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 <?xml version="1.0"?> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ibboard.co.uk/warfoundry/army" xmlns="http://ibboard.co.uk/warfoundry/army" xmlns:core="http://ibboard.co.uk/warfoundry/core" elementFormDefault="qualified"> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 <xs:element name="army"> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
4 <xs:complexType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 <xs:all> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 <xs:element name="units"> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 <xs:complexType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 <xs:sequence> |
240
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
9 <xs:element name="unit" minOccurs="0" maxOccurs="unbounded" type="unit"/> |
224
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 </xs:sequence> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 </xs:complexType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 </xs:element> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 <xs:element name="customEquipment" minOccurs="0"> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 <xs:complexType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 <xs:sequence> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 <xs:element name="customEquip" minOccurs="0" maxOccurs="unbounded"> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
17 <xs:complexType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
18 <xs:sequence> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
19 <xs:element name="customEquipPart" maxOccurs="unbounded"> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
20 <xs:complexType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
21 <xs:sequence> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
22 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> |
224
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
23 </xs:sequence> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
24 <xs:attribute name="partIDRef" type="xs:string" /> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
25 <xs:anyAttribute processContents="lax"/> |
224
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
26 </xs:complexType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
27 </xs:element> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
28 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> |
224
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
29 </xs:sequence> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
30 <xs:attribute name="id" type="xs:ID" /> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
31 <xs:anyAttribute processContents="lax"/> |
224
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
32 </xs:complexType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
33 </xs:element> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
34 </xs:sequence> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
35 </xs:complexType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
36 </xs:element> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
37 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> |
224
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
38 </xs:all> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
39 <xs:attribute name="id" type="xs:ID" /> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
40 <xs:attribute name="name" type="xs:string" use="required"/> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
41 <xs:attribute name="system" type="xs:string" use="required"/> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
42 <xs:attribute name="race" type="xs:string" use="required"/> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
43 <xs:attribute name="maxPoints" type="xs:positiveInteger" use="required"/> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
44 <xs:anyAttribute processContents="lax"/> |
224
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
45 </xs:complexType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
46 </xs:element> |
240
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
47 |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
48 <!-- Re-usable complex types --> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
49 |
243
b8883707c489
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
241
diff
changeset
|
50 <xs:complexType name="unit"> |
240
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
51 <xs:all> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
52 <xs:element name="equipment" minOccurs="0"> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
53 <xs:complexType> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
54 <xs:sequence> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
55 <xs:element name="equipItem" maxOccurs="unbounded"> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
56 <xs:complexType> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
57 <xs:sequence> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
58 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> |
240
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
59 </xs:sequence> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
60 <xs:attribute name="id" type="xs:string" /> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
61 <xs:attribute name="amount" type="core:nonNegativeOrInfiniteIntegerOrPercentage" use="required"/> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
62 <xs:attribute name="amountType" type="equipmentAmountType" default="ratio"/> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
63 <xs:attribute name="isCustomEquipment" type="xs:boolean" default="false"/> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
64 <xs:anyAttribute processContents="lax"/> |
240
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
65 </xs:complexType> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
66 </xs:element> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
67 </xs:sequence> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
68 </xs:complexType> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
69 </xs:element> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
70 <xs:element name="contains" minOccurs="0"> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
71 <xs:complexType> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
72 <xs:sequence> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
73 <xs:element name="containedUnit"> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
74 <xs:complexType> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
75 <xs:sequence> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
76 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> |
240
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
77 </xs:sequence> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
78 <xs:attribute name="containedID" type="xs:IDREF" use="required"/> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
79 <xs:anyAttribute processContents="lax"/> |
240
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
80 </xs:complexType> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
81 </xs:element> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
82 </xs:sequence> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
83 </xs:complexType> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
84 </xs:element> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
85 <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> |
240
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
86 </xs:all> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
87 <xs:attribute name="id" type="xs:ID" /> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
88 <xs:attribute name="unitType" type="xs:string" use="required"/> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
89 <xs:attribute name="unitName" type="xs:string" use="required"/> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
90 <xs:attribute name="size" type="xs:positiveInteger" use="required"/> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
91 <xs:attribute name="race" type="xs:string" default=""/> |
244
9e4a78464b1a
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
243
diff
changeset
|
92 <xs:anyAttribute processContents="lax"/> |
240
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
93 </xs:complexType> |
38a4154c4537
Re #152: Test and fix extensibility of current schemas
IBBoard <dev@ibboard.co.uk>
parents:
224
diff
changeset
|
94 |
224
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
95 <xs:simpleType name="equipmentAmountType"> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
96 <xs:restriction base="xs:string"> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
97 <xs:enumeration value="ratio"/> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
98 <xs:enumeration value="fixed"/> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
99 </xs:restriction> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
100 </xs:simpleType> |
f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
101 </xs:schema> |