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

Private GIT Repository
finished compat. computation
[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="purpose"/>
20     <xs:attribute ref="direction"/>
21     <xs:attribute ref="orientation"/>
22     <xs:attribute ref="position"/>
23   </xs:attributeGroup>
24
25   <xs:attributeGroup name="source_itemsAttrGroup">
26     <xs:attribute ref="count" />
27   </xs:attributeGroup>
28
29   <xs:attributeGroup name="block_itemsAttrGroup">
30     <xs:attribute ref="functional_count" />
31     <xs:attribute ref="group_count" />
32   </xs:attributeGroup>
33
34   <xs:attributeGroup name="source_itemAttrGroup">
35     <xs:attribute ref="id" />
36     <xs:attribute ref="ref_xml" />
37     <xs:attribute ref="ref_md5" />
38     <xs:attribute ref="name" />
39     <xs:attribute ref="position" />
40     <xs:attribute ref="dimension" />
41   </xs:attributeGroup>
42   
43   <xs:attributeGroup name="bi_functionalAttrGroup">
44     <xs:attribute ref="id" />
45     <xs:attribute ref="ref_xml" />
46     <xs:attribute ref="ref_md5" />
47     <xs:attribute ref="name" />
48     <xs:attribute ref="position" />
49     <xs:attribute ref="dimension" />
50   </xs:attributeGroup>
51
52   <xs:attributeGroup name="source_parameterAttrGroup">
53     <xs:attribute ref="name" />
54     <xs:attribute ref="value" />
55     <xs:attribute ref="context" />
56     <xs:attribute ref="type" />
57   </xs:attributeGroup>
58   
59   <xs:attributeGroup name="bif_parameterAttrGroup">
60     <xs:attribute ref="name" />
61     <xs:attribute ref="value" />
62     <xs:attribute ref="context" />
63     <xs:attribute ref="type" />
64   </xs:attributeGroup>
65
66   <xs:attributeGroup name="source_ifaceAttrGroup">
67     <xs:attribute ref="id" />
68     <xs:attribute ref="name" />
69     <xs:attribute ref="ref_name" />
70     <xs:attribute ref="orientation" />
71     <xs:attribute ref="position" />
72   </xs:attributeGroup>
73   
74   <xs:attributeGroup name="bif_ifaceAttrGroup">
75     <xs:attribute ref="id" />
76     <xs:attribute ref="name" />
77     <xs:attribute ref="ref_name" />
78     <xs:attribute ref="orientation" />
79     <xs:attribute ref="position" />
80   </xs:attributeGroup>
81
82   <xs:attributeGroup name="bi_groupAttrGroup">
83     <xs:attribute ref="id" />
84     <xs:attribute ref="inside_group" />
85     <xs:attribute ref="position" />
86     <xs:attribute ref="dimension" />
87   </xs:attributeGroup>
88
89   <xs:attributeGroup name="big_ifaceAttrGroup">
90     <xs:attribute ref="id" />
91     <xs:attribute ref="ref_name" />
92     <xs:attribute ref="orientation" />
93     <xs:attribute ref="position" />
94   </xs:attributeGroup>
95
96   <xs:attributeGroup name="connectionAttrGroup">
97     <xs:attribute ref="from" />
98     <xs:attribute ref="to" />
99   </xs:attributeGroup>
100
101
102   <!-- déclaration des attributs -->
103
104   <xs:attribute name="count">
105     <xs:simpleType>
106       <xs:restriction base="xs:nonNegativeInteger">
107         <xs:minInclusive value="0"/>
108       </xs:restriction>
109     </xs:simpleType>
110   </xs:attribute>
111
112   <xs:attribute name="id">
113     <xs:simpleType>
114       <xs:restriction base="xs:nonNegativeInteger">
115         <xs:minInclusive value="0"/>
116       </xs:restriction>
117     </xs:simpleType>
118   </xs:attribute>
119
120   <xs:attribute name="upper_scene">
121     <xs:simpleType>
122       <xs:restriction base="xs:integer">
123         <xs:minInclusive value="-1"/>
124       </xs:restriction>
125     </xs:simpleType>
126   </xs:attribute>
127
128   <xs:attribute name="upper_group">
129     <xs:simpleType>
130       <xs:restriction base="xs:integer">
131         <xs:minInclusive value="-1"/>
132       </xs:restriction>
133     </xs:simpleType>
134   </xs:attribute>
135
136   <xs:attribute name="upper_item">
137     <xs:simpleType>
138       <xs:restriction base="xs:integer">
139         <xs:minInclusive value="-1"/>
140       </xs:restriction>
141     </xs:simpleType>
142   </xs:attribute>
143
144   <xs:attribute name="inside_group">
145     <xs:simpleType>
146       <xs:restriction base="xs:nonNegativeInteger">
147         <xs:minInclusive value="0"/>
148       </xs:restriction>
149     </xs:simpleType>
150   </xs:attribute>
151
152   <xs:attribute name="functional_count">
153     <xs:simpleType>
154       <xs:restriction base="xs:nonNegativeInteger">
155         <xs:minInclusive value="0"/>
156       </xs:restriction>
157     </xs:simpleType>
158   </xs:attribute>
159
160   <xs:attribute name="group_count">
161     <xs:simpleType>
162       <xs:restriction base="xs:nonNegativeInteger">
163         <xs:minInclusive value="0"/>
164       </xs:restriction>
165     </xs:simpleType>
166   </xs:attribute>
167
168   <xs:attribute name="value" type="xs:string"/>
169
170   <xs:attribute name="from">
171     <xs:simpleType>
172       <xs:restriction base="xs:nonNegativeInteger">
173         <xs:minInclusive value="0"/>
174       </xs:restriction>
175     </xs:simpleType>
176   </xs:attribute>
177
178   <xs:attribute name="to">
179     <xs:simpleType>
180       <xs:restriction base="xs:nonNegativeInteger">
181         <xs:minInclusive value="0"/>
182       </xs:restriction>
183     </xs:simpleType>
184   </xs:attribute>
185
186   <xs:attribute name="purpose">
187     <xs:simpleType>
188       <xs:restriction base="xs:string">
189         <xs:enumeration value="data"/>
190         <xs:enumeration value="clock"/>
191         <xs:enumeration value="reset"/>
192         <xs:enumeration value="wishbone"/>
193       </xs:restriction>
194     </xs:simpleType>
195   </xs:attribute>
196   
197   <xs:attribute name="direction">
198     <xs:simpleType>
199       <xs:restriction base="xs:string">
200         <xs:enumeration value="input"/>
201         <xs:enumeration value="output"/>
202         <xs:enumeration value="inout"/>
203       </xs:restriction>
204     </xs:simpleType>
205   </xs:attribute>
206
207   <xs:attribute name="orientation">
208     <xs:simpleType>
209       <xs:restriction base="xs:string">
210       <xs:enumeration value="west"/>
211       <xs:enumeration value="east"/>
212       <xs:enumeration value="north"/>
213       <xs:enumeration value="south"/>
214       </xs:restriction>
215     </xs:simpleType>
216   </xs:attribute>
217   
218   <xs:attribute name="position" type="xs:string"/>
219   <xs:attribute name="dimension" type="xs:string"/>
220   <xs:attribute name="name" type="xs:string"/>
221   <xs:attribute name="ref_name" type="xs:string"/>
222   <xs:attribute name="ref_xml" type="xs:string"/>
223   <xs:attribute name="ref_md5" type="xs:string"/>
224   <xs:attribute name="context" type="xs:string"/>
225   <xs:attribute name="type" type="xs:string"/>
226
227
228   <!-- déclaration des groupes d'éléments -->
229
230   <xs:group name="rootElmtGroup">
231     <xs:sequence>
232       <xs:element ref="scenes"/>
233       <xs:element ref="connections"/>   
234     </xs:sequence>
235   </xs:group>
236
237   <xs:group name="sceneElmtGroup">
238     <xs:sequence>
239       <xs:element ref="group_item"/>
240       <xs:element ref="source_items" minOccurs="0" maxOccurs="unbounded"/>        
241       <xs:element ref="block_items"/>
242     </xs:sequence>
243   </xs:group>
244
245   <xs:group name="source_itemsElmtGroup">
246     <xs:sequence>
247       <xs:element ref="source_item" minOccurs="0" maxOccurs="unbounded"/>
248     </xs:sequence>
249   </xs:group>
250   
251   <xs:group name="block_itemsElmtGroup">
252     <xs:sequence>
253       <xs:element ref="bi_functional" minOccurs="0" maxOccurs="unbounded"/>
254       <xs:element ref="bi_group" minOccurs="0" maxOccurs="unbounded"/>      
255     </xs:sequence>
256   </xs:group>
257
258   <xs:group name="source_itemElmtGroup">
259     <xs:sequence>
260       <xs:element ref="source_parameters"/>
261       <xs:element ref="source_ifaces"/>
262     </xs:sequence>
263   </xs:group>
264   
265   <xs:group name="bi_functionalElmtGroup">
266     <xs:sequence>
267       <xs:element ref="bif_parameters"/>
268       <xs:element ref="bif_ifaces"/>
269     </xs:sequence>
270   </xs:group>
271
272
273   <!-- déclaration des éléments -->
274
275   <xs:element name="scenes">
276     <xs:complexType>
277       <xs:sequence>
278         <xs:element ref="scene" maxOccurs="unbounded" />
279       </xs:sequence>
280       <xs:attribute ref="count"/>
281     </xs:complexType>
282   </xs:element>
283
284   <xs:element name="scene">
285     <xs:complexType>
286       <xs:group ref="sceneElmtGroup"/>
287       <xs:attribute ref="id"/>
288       <xs:attribute ref="upper_scene"/>
289     </xs:complexType>
290   </xs:element>
291
292   <xs:element name="group_item">
293     <xs:complexType>
294       <xs:sequence>
295         <xs:element ref="group_ifaces" maxOccurs="unbounded" />
296       </xs:sequence>    
297       <xs:attributeGroup ref="group_itemAttrGroup"/>
298     </xs:complexType>
299   </xs:element>
300
301   <xs:element name="group_ifaces">
302     <xs:complexType>
303       <xs:sequence>
304         <xs:element ref="group_iface" minOccurs="0" maxOccurs="unbounded"/>
305       </xs:sequence>
306       <xs:attribute ref="count"/>
307     </xs:complexType>
308   </xs:element>
309
310   <xs:element name="group_iface">
311     <xs:complexType>
312       <xs:attributeGroup ref="group_ifaceAttrGroup"/>
313     </xs:complexType>
314   </xs:element>
315
316   <xs:element name="source_items">
317     <xs:complexType>
318       <xs:group ref="source_itemsElmtGroup"/>
319       <xs:attributeGroup ref="source_itemsAttrGroup"/>
320     </xs:complexType>
321   </xs:element>
322   
323   <xs:element name="block_items">
324     <xs:complexType>
325       <xs:group ref="block_itemsElmtGroup"/>
326       <xs:attributeGroup ref="block_itemsAttrGroup"/>
327     </xs:complexType>
328   </xs:element>
329
330   <xs:element name="source_item">
331     <xs:complexType>
332       <xs:group ref="source_itemElmtGroup"/>
333       <xs:attributeGroup ref="source_itemAttrGroup"/>
334     </xs:complexType>
335   </xs:element>
336   
337   <xs:element name="bi_functional">
338     <xs:complexType>
339       <xs:group ref="bi_functionalElmtGroup"/>
340       <xs:attributeGroup ref="bi_functionalAttrGroup"/>
341     </xs:complexType>
342   </xs:element>
343
344   <xs:element name="source_parameters">
345     <xs:complexType>
346       <xs:sequence>
347         <xs:element ref="source_parameter" minOccurs="0" maxOccurs="unbounded" />
348       </xs:sequence>
349     </xs:complexType>
350   </xs:element>
351   
352   <xs:element name="source_parameter">
353     <xs:complexType>
354       <xs:attributeGroup ref="source_parameterAttrGroup"/>
355     </xs:complexType>
356   </xs:element>
357   
358   <xs:element name="bif_parameters">
359     <xs:complexType>
360       <xs:sequence>
361         <xs:element ref="bif_parameter" minOccurs="0" maxOccurs="unbounded" />
362       </xs:sequence>
363     </xs:complexType>
364   </xs:element>
365   
366   <xs:element name="bif_parameter">
367     <xs:complexType>
368       <xs:attributeGroup ref="bif_parameterAttrGroup"/>
369     </xs:complexType>
370   </xs:element>
371
372   <xs:element name="source_ifaces">
373     <xs:complexType>
374       <xs:sequence>
375         <xs:element ref="source_iface" minOccurs="0" maxOccurs="unbounded" />
376       </xs:sequence>
377       <xs:attribute ref="count"/>
378     </xs:complexType>
379   </xs:element>
380   
381   <xs:element name="source_iface">
382     <xs:complexType>
383       <xs:attributeGroup ref="source_ifaceAttrGroup"/>
384     </xs:complexType>
385   </xs:element>
386
387   <xs:element name="bif_ifaces">
388     <xs:complexType>
389       <xs:sequence>
390         <xs:element ref="bif_iface" minOccurs="0" maxOccurs="unbounded" />
391       </xs:sequence>
392       <xs:attribute ref="count"/>
393     </xs:complexType>
394   </xs:element>
395
396   <xs:element name="bif_iface">
397     <xs:complexType>
398       <xs:attributeGroup ref="bif_ifaceAttrGroup"/>
399     </xs:complexType>
400   </xs:element>
401
402   <xs:element name="bi_group">
403     <xs:complexType>
404       <xs:sequence>
405         <xs:element ref="big_ifaces"/>
406       </xs:sequence>
407       <xs:attributeGroup ref="bi_groupAttrGroup"/>
408     </xs:complexType>
409   </xs:element>
410
411   <xs:element name="big_ifaces">
412     <xs:complexType>
413       <xs:sequence>
414         <xs:element ref="big_iface" minOccurs="0" maxOccurs="unbounded" />
415       </xs:sequence>
416       <xs:attribute ref="count" />
417     </xs:complexType>
418   </xs:element>
419
420   <xs:element name="big_iface">
421     <xs:complexType>
422       <xs:attributeGroup ref="big_ifaceAttrGroup" />
423     </xs:complexType>
424   </xs:element>
425
426   <xs:element name="connections">
427     <xs:complexType>
428       <xs:sequence>
429         <xs:element ref="connection" minOccurs="0" maxOccurs="unbounded"/>
430       </xs:sequence>
431       <xs:attribute ref="count" />
432     </xs:complexType>
433   </xs:element>
434
435   <xs:element name="connection">
436     <xs:complexType>
437       <xs:attributeGroup ref="connectionAttrGroup"/>
438     </xs:complexType>
439   </xs:element>
440
441   <!-- racine du document -->
442
443   <xs:element name="blast_project">
444     <xs:complexType>
445       <xs:group ref="rootElmtGroup"/>
446     </xs:complexType>
447   </xs:element>
448
449 </xs:schema>