]> AND Private Git Repository - blast.git/blob - projectfile.xsd
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
e5693dc66ebb444a2016c2981b3ea54a09ee1cac
[blast.git] / projectfile.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
4
5     <!-- déclaration des groupes d'attributs -->
6
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"/>
14     </xs:attributeGroup>
15
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"/>
23     </xs:attributeGroup>
24
25     <xs:attributeGroup name="block_itemsAttrGroup">
26         <xs:attribute ref="functional_count" />
27         <xs:attribute ref="group_count" />
28     </xs:attributeGroup>
29
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" />
37     </xs:attributeGroup>
38
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" />
44
45     </xs:attributeGroup>
46
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" />
53     </xs:attributeGroup>
54
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" />
60     </xs:attributeGroup>
61
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" />
67     </xs:attributeGroup>
68
69     <xs:attributeGroup name="connectionAttrGroup">
70         <xs:attribute ref="from" />
71         <xs:attribute ref="to" />
72     </xs:attributeGroup>
73
74
75     <!-- déclaration des attributs -->
76
77     <xs:attribute name="count">
78         <xs:simpleType>
79             <xs:restriction base="xs:nonNegativeInteger">
80                 <xs:minInclusive value="0"/>
81             </xs:restriction>
82         </xs:simpleType>
83     </xs:attribute>
84
85     <xs:attribute name="id">
86         <xs:simpleType>
87             <xs:restriction base="xs:nonNegativeInteger">
88                 <xs:minInclusive value="0"/>
89             </xs:restriction>
90         </xs:simpleType>
91     </xs:attribute>
92
93     <xs:attribute name="upper_scene">
94         <xs:simpleType>
95             <xs:restriction base="xs:integer">
96                 <xs:minInclusive value="-1"/>
97             </xs:restriction>
98         </xs:simpleType>
99     </xs:attribute>
100
101     <xs:attribute name="upper_group">
102         <xs:simpleType>
103             <xs:restriction base="xs:integer">
104                 <xs:minInclusive value="-1"/>
105             </xs:restriction>
106         </xs:simpleType>
107     </xs:attribute>
108
109     <xs:attribute name="upper_item">
110         <xs:simpleType>
111             <xs:restriction base="xs:integer">
112                 <xs:minInclusive value="-1"/>
113             </xs:restriction>
114         </xs:simpleType>
115     </xs:attribute>
116
117     <xs:attribute name="inside_group">
118         <xs:simpleType>
119             <xs:restriction base="xs:nonNegativeInteger">
120                 <xs:minInclusive value="0"/>
121             </xs:restriction>
122         </xs:simpleType>
123     </xs:attribute>
124
125     <xs:attribute name="functional_count">
126         <xs:simpleType>
127             <xs:restriction base="xs:nonNegativeInteger">
128                 <xs:minInclusive value="0"/>
129             </xs:restriction>
130         </xs:simpleType>
131     </xs:attribute>
132
133     <xs:attribute name="group_count">
134         <xs:simpleType>
135             <xs:restriction base="xs:nonNegativeInteger">
136                 <xs:minInclusive value="0"/>
137             </xs:restriction>
138         </xs:simpleType>
139     </xs:attribute>
140
141     <xs:attribute name="value">
142         <xs:simpleType>
143             <xs:restriction base="xs:nonNegativeInteger">
144                 <xs:minInclusive value="0"/>
145             </xs:restriction>
146         </xs:simpleType>
147     </xs:attribute>
148
149     <xs:attribute name="from">
150         <xs:simpleType>
151             <xs:restriction base="xs:nonNegativeInteger">
152                 <xs:minInclusive value="0"/>
153             </xs:restriction>
154         </xs:simpleType>
155     </xs:attribute>
156
157     <xs:attribute name="to">
158         <xs:simpleType>
159             <xs:restriction base="xs:nonNegativeInteger">
160                 <xs:minInclusive value="0"/>
161             </xs:restriction>
162         </xs:simpleType>
163     </xs:attribute>
164
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"/>
176
177
178     <!-- déclaration des groupes d'éléments -->
179
180     <xs:group name="rootElmtGroup">
181         <xs:sequence>
182             <xs:element ref="scenes"/>
183             <xs:element ref="connections"/>     
184         </xs:sequence>
185     </xs:group>
186
187     <xs:group name="sceneElmtGroup">
188         <xs:sequence>
189             <xs:element ref="group_item"/>
190             <xs:element ref="block_items"/>
191         </xs:sequence>
192     </xs:group>
193
194     <xs:group name="block_itemsElmtGroup">
195       <xs:sequence>
196         <xs:element ref="bi_group" minOccurs="0" maxOccurs="unbounded"/>
197         <xs:element ref="bi_functional" minOccurs="0" maxOccurs="unbounded"/>
198         </xs:sequence>
199     </xs:group>
200
201     <xs:group name="bi_functionalElmtGroup">
202         <xs:sequence>
203             <xs:element ref="bif_parameters"/>
204             <xs:element ref="bif_ifaces"/>
205         </xs:sequence>
206     </xs:group>
207
208
209     <!-- déclaration des éléments -->
210
211     <xs:element name="scenes">
212         <xs:complexType>
213             <xs:sequence>
214                 <xs:element ref="scene" maxOccurs="unbounded" />
215             </xs:sequence>
216             <xs:attribute ref="count"/>
217         </xs:complexType>
218     </xs:element>
219
220     <xs:element name="scene">
221         <xs:complexType>
222             <xs:group ref="sceneElmtGroup"/>
223             <xs:attribute ref="id"/>
224             <xs:attribute ref="upper_scene"/>
225         </xs:complexType>
226     </xs:element>
227
228     <xs:element name="group_item">
229         <xs:complexType>
230             <xs:sequence>
231                 <xs:element ref="group_ifaces" maxOccurs="unbounded" />
232             </xs:sequence>      
233             <xs:attributeGroup ref="group_itemAttrGroup"/>
234         </xs:complexType>
235     </xs:element>
236
237     <xs:element name="group_ifaces">
238         <xs:complexType>
239             <xs:sequence>
240                 <xs:element ref="group_iface" minOccurs="0" maxOccurs="unbounded"/>
241             </xs:sequence>
242             <xs:attribute ref="count"/>
243         </xs:complexType>
244     </xs:element>
245
246     <xs:element name="group_iface">
247         <xs:complexType>
248             <xs:attributeGroup ref="group_ifaceAttrGroup"/>
249         </xs:complexType>
250     </xs:element>
251
252     <xs:element name="block_items">
253         <xs:complexType>
254             <xs:group ref="block_itemsElmtGroup"/>
255             <xs:attributeGroup ref="block_itemsAttrGroup"/>
256         </xs:complexType>
257     </xs:element>
258
259     <xs:element name="bi_functional">
260         <xs:complexType>
261             <xs:group ref="bi_functionalElmtGroup"/>
262             <xs:attributeGroup ref="bi_functionalAttrGroup"/>
263         </xs:complexType>
264     </xs:element>
265
266     <xs:element name="bif_parameters">
267         <xs:complexType>
268             <xs:sequence>
269                 <xs:element ref="bif_parameter" minOccurs="0" maxOccurs="unbounded" />
270             </xs:sequence>
271         </xs:complexType>
272     </xs:element>
273         
274     <xs:element name="bif_parameter">
275         <xs:complexType>
276             <xs:attributeGroup ref="bif_parameterAttrGroup"/>
277         </xs:complexType>
278     </xs:element>
279
280     <xs:element name="bif_ifaces">
281         <xs:complexType>
282             <xs:sequence>
283                 <xs:element ref="bif_iface" minOccurs="0" maxOccurs="unbounded" />
284             </xs:sequence>
285             <xs:attribute ref="count"/>
286         </xs:complexType>
287     </xs:element>
288
289     <xs:element name="bif_iface">
290         <xs:complexType>
291             <xs:attributeGroup ref="bif_ifaceAttrGroup"/>
292         </xs:complexType>
293     </xs:element>
294
295     <xs:element name="bi_group">
296         <xs:complexType>
297             <xs:sequence>
298                 <xs:element ref="big_ifaces"/>
299             </xs:sequence>
300             <xs:attributeGroup ref="bi_groupAttrGroup"/>
301         </xs:complexType>
302     </xs:element>
303
304     <xs:element name="big_ifaces">
305         <xs:complexType>
306             <xs:sequence>
307                 <xs:element ref="big_iface" minOccurs="0" maxOccurs="unbounded" />
308             </xs:sequence>
309             <xs:attribute ref="count" />
310         </xs:complexType>
311     </xs:element>
312
313     <xs:element name="big_iface">
314         <xs:complexType>
315             <xs:attributeGroup ref="big_ifaceAttrGroup" />
316         </xs:complexType>
317     </xs:element>
318
319     <xs:element name="connections">
320         <xs:complexType>
321             <xs:sequence>
322                 <xs:element ref="connection" minOccurs="0" maxOccurs="unbounded"/>
323             </xs:sequence>
324             <xs:attribute ref="count" />
325         </xs:complexType>
326     </xs:element>
327
328     <xs:element name="connection">
329         <xs:complexType>
330             <xs:attributeGroup ref="connectionAttrGroup"/>
331         </xs:complexType>
332     </xs:element>
333
334     <!-- racine du document -->
335
336     <xs:element name="blast_project">
337         <xs:complexType>
338             <xs:group ref="rootElmtGroup"/>
339         </xs:complexType>
340     </xs:element>
341
342 </xs:schema>