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

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