1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
5 <!-- déclaration des groupes d'attributs -->
7 <xs:attributeGroup name="group_itemAttrGroup">
8 <xs:attribute ref="id"/>
9 <xs:attribute ref="name"/>
10 <xs:attribute ref="upper_group"/>
11 <xs:attribute ref="upper_item"/>
12 <xs:attribute ref="position"/>
13 <xs:attribute ref="dimension"/>
16 <xs:attributeGroup name="group_ifaceAttrGroup">
17 <xs:attribute ref="id"/>
18 <xs:attribute ref="name"/>
19 <xs:attribute ref="level"/>
20 <xs:attribute ref="direction"/>
21 <xs:attribute ref="orientation"/>
22 <xs:attribute ref="position"/>
25 <xs:attributeGroup name="block_itemsAttrGroup">
26 <xs:attribute ref="functional_count" />
27 <xs:attribute ref="group_count" />
30 <xs:attributeGroup name="bi_functionalAttrGroup">
31 <xs:attribute ref="id" />
32 <xs:attribute ref="ref_xml" />
33 <xs:attribute ref="ref_md5" />
34 <xs:attribute ref="name" />
35 <xs:attribute ref="position" />
36 <xs:attribute ref="dimension" />
39 <xs:attributeGroup name="bif_parameterAttrGroup">
40 <xs:attribute ref="name" />
41 <xs:attribute ref="value" />
42 <xs:attribute ref="context" />
43 <xs:attribute ref="type" />
47 <xs:attributeGroup name="bif_ifaceAttrGroup">
48 <xs:attribute ref="id" />
49 <xs:attribute ref="name" />
50 <xs:attribute ref="ref_name" />
51 <xs:attribute ref="orientation" />
52 <xs:attribute ref="position" />
55 <xs:attributeGroup name="bi_groupAttrGroup">
56 <xs:attribute ref="id" />
57 <xs:attribute ref="inside_group" />
58 <xs:attribute ref="position" />
59 <xs:attribute ref="dimension" />
62 <xs:attributeGroup name="big_ifaceAttrGroup">
63 <xs:attribute ref="id" />
64 <xs:attribute ref="ref_name" />
65 <xs:attribute ref="orientation" />
66 <xs:attribute ref="position" />
69 <xs:attributeGroup name="connectionAttrGroup">
70 <xs:attribute ref="from" />
71 <xs:attribute ref="to" />
75 <!-- déclaration des attributs -->
77 <xs:attribute name="count">
79 <xs:restriction base="xs:nonNegativeInteger">
80 <xs:minInclusive value="0"/>
85 <xs:attribute name="id">
87 <xs:restriction base="xs:nonNegativeInteger">
88 <xs:minInclusive value="0"/>
93 <xs:attribute name="upper_scene">
95 <xs:restriction base="xs:integer">
96 <xs:minInclusive value="-1"/>
101 <xs:attribute name="upper_group">
103 <xs:restriction base="xs:integer">
104 <xs:minInclusive value="-1"/>
109 <xs:attribute name="upper_item">
111 <xs:restriction base="xs:integer">
112 <xs:minInclusive value="-1"/>
117 <xs:attribute name="inside_group">
119 <xs:restriction base="xs:nonNegativeInteger">
120 <xs:minInclusive value="0"/>
125 <xs:attribute name="functional_count">
127 <xs:restriction base="xs:nonNegativeInteger">
128 <xs:minInclusive value="0"/>
133 <xs:attribute name="group_count">
135 <xs:restriction base="xs:nonNegativeInteger">
136 <xs:minInclusive value="0"/>
141 <xs:attribute name="value">
143 <xs:restriction base="xs:nonNegativeInteger">
144 <xs:minInclusive value="0"/>
149 <xs:attribute name="from">
151 <xs:restriction base="xs:nonNegativeInteger">
152 <xs:minInclusive value="0"/>
157 <xs:attribute name="to">
159 <xs:restriction base="xs:nonNegativeInteger">
160 <xs:minInclusive value="0"/>
165 <xs:attribute name="position" type="xs:string"/>
166 <xs:attribute name="dimension" type="xs:string"/>
167 <xs:attribute name="level" type="xs:string"/>
168 <xs:attribute name="direction" type="xs:string"/>
169 <xs:attribute name="orientation" type="xs:string"/>
170 <xs:attribute name="name" type="xs:string"/>
171 <xs:attribute name="ref_name" type="xs:string"/>
172 <xs:attribute name="ref_xml" type="xs:string"/>
173 <xs:attribute name="ref_md5" type="xs:string"/>
174 <xs:attribute name="context" type="xs:string"/>
175 <xs:attribute name="type" type="xs:string"/>
178 <!-- déclaration des groupes d'éléments -->
180 <xs:group name="rootElmtGroup">
182 <xs:element ref="scenes"/>
183 <xs:element ref="connections"/>
187 <xs:group name="sceneElmtGroup">
189 <xs:element ref="group_item"/>
190 <xs:element ref="block_items"/>
194 <xs:group name="block_itemsElmtGroup">
196 <xs:element ref="bi_group" minOccurs="0" maxOccurs="unbounded"/>
197 <xs:element ref="bi_functional" minOccurs="0" maxOccurs="unbounded"/>
201 <xs:group name="bi_functionalElmtGroup">
203 <xs:element ref="bif_parameters"/>
204 <xs:element ref="bif_ifaces"/>
209 <!-- déclaration des éléments -->
211 <xs:element name="scenes">
214 <xs:element ref="scene" maxOccurs="unbounded" />
216 <xs:attribute ref="count"/>
220 <xs:element name="scene">
222 <xs:group ref="sceneElmtGroup"/>
223 <xs:attribute ref="id"/>
224 <xs:attribute ref="upper_scene"/>
228 <xs:element name="group_item">
231 <xs:element ref="group_ifaces" maxOccurs="unbounded" />
233 <xs:attributeGroup ref="group_itemAttrGroup"/>
237 <xs:element name="group_ifaces">
240 <xs:element ref="group_iface" minOccurs="0" maxOccurs="unbounded"/>
242 <xs:attribute ref="count"/>
246 <xs:element name="group_iface">
248 <xs:attributeGroup ref="group_ifaceAttrGroup"/>
252 <xs:element name="block_items">
254 <xs:group ref="block_itemsElmtGroup"/>
255 <xs:attributeGroup ref="block_itemsAttrGroup"/>
259 <xs:element name="bi_functional">
261 <xs:group ref="bi_functionalElmtGroup"/>
262 <xs:attributeGroup ref="bi_functionalAttrGroup"/>
266 <xs:element name="bif_parameters">
269 <xs:element ref="bif_parameter" minOccurs="0" maxOccurs="unbounded" />
274 <xs:element name="bif_parameter">
276 <xs:attributeGroup ref="bif_parameterAttrGroup"/>
280 <xs:element name="bif_ifaces">
283 <xs:element ref="bif_iface" minOccurs="0" maxOccurs="unbounded" />
285 <xs:attribute ref="count"/>
289 <xs:element name="bif_iface">
291 <xs:attributeGroup ref="bif_ifaceAttrGroup"/>
295 <xs:element name="bi_group">
298 <xs:element ref="big_ifaces"/>
300 <xs:attributeGroup ref="bi_groupAttrGroup"/>
304 <xs:element name="big_ifaces">
307 <xs:element ref="big_iface" minOccurs="0" maxOccurs="unbounded" />
309 <xs:attribute ref="count" />
313 <xs:element name="big_iface">
315 <xs:attributeGroup ref="big_ifaceAttrGroup" />
319 <xs:element name="connections">
322 <xs:element ref="connection" minOccurs="0" maxOccurs="unbounded"/>
324 <xs:attribute ref="count" />
328 <xs:element name="connection">
330 <xs:attributeGroup ref="connectionAttrGroup"/>
334 <!-- racine du document -->
336 <xs:element name="blast_project">
338 <xs:group ref="rootElmtGroup"/>