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

Private GIT Repository
36fe54e1123fe87c427072817fb40f8debdc1b4e
[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_group">
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_item">
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="inside_group">
110         <xs:simpleType>
111             <xs:restriction base="xs:nonNegativeInteger">
112                 <xs:minInclusive value="0"/>
113             </xs:restriction>
114         </xs:simpleType>
115     </xs:attribute>
116
117     <xs:attribute name="functional_count">
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="group_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="value">
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="from">
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="to">
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="position" type="xs:string"/>
158     <xs:attribute name="dimension" type="xs:string"/>
159     <xs:attribute name="level" type="xs:string"/>
160     <xs:attribute name="direction" type="xs:string"/>
161     <xs:attribute name="orientation" type="xs:string"/>
162     <xs:attribute name="name" type="xs:string"/>
163     <xs:attribute name="ref_name" type="xs:string"/>
164     <xs:attribute name="ref_xml" type="xs:string"/>
165     <xs:attribute name="ref_md5" type="xs:string"/>
166     <xs:attribute name="context" type="xs:string"/>
167     <xs:attribute name="type" type="xs:string"/>
168
169
170     <!-- déclaration des groupes d'éléments -->
171
172     <xs:group name="rootElmtGroup">
173         <xs:sequence>
174             <xs:element ref="scenes"/>
175             <xs:element ref="connections"/>     
176         </xs:sequence>
177     </xs:group>
178
179     <xs:group name="sceneElmtGroup">
180         <xs:sequence>
181             <xs:element ref="group_item"/>
182             <xs:element ref="block_items"/>
183         </xs:sequence>
184     </xs:group>
185
186     <xs:group name="block_itemsElmtGroup">
187         <xs:sequence>
188             <xs:element ref="bi_functional" minOccurs="0" maxOccurs="unbounded"/>
189             <xs:element ref="bi_group" minOccurs="0"/>
190         </xs:sequence>
191     </xs:group>
192
193     <xs:group name="bi_functionalElmtGroup">
194         <xs:sequence>
195             <xs:element ref="bif_parameters"/>
196             <xs:element ref="bif_ifaces"/>
197         </xs:sequence>
198     </xs:group>
199
200
201     <!-- déclaration des éléments -->
202
203     <xs:element name="scenes">
204         <xs:complexType>
205             <xs:sequence>
206                 <xs:element ref="scene" maxOccurs="unbounded" />
207             </xs:sequence>
208             <xs:attribute ref="count"/>
209         </xs:complexType>
210     </xs:element>
211
212     <xs:element name="scene">
213         <xs:complexType>
214             <xs:group ref="sceneElmtGroup"/>
215             <xs:attribute ref="id"/>
216         </xs:complexType>
217     </xs:element>
218
219     <xs:element name="group_item">
220         <xs:complexType>
221             <xs:sequence>
222                 <xs:element ref="group_ifaces" maxOccurs="unbounded" />
223             </xs:sequence>      
224             <xs:attributeGroup ref="group_itemAttrGroup"/>
225         </xs:complexType>
226     </xs:element>
227
228     <xs:element name="group_ifaces">
229         <xs:complexType>
230             <xs:sequence>
231                 <xs:element ref="group_iface" minOccurs="0" maxOccurs="unbounded"/>
232             </xs:sequence>
233             <xs:attribute ref="count"/>
234         </xs:complexType>
235     </xs:element>
236
237     <xs:element name="group_iface">
238         <xs:complexType>
239             <xs:attributeGroup ref="group_ifaceAttrGroup"/>
240         </xs:complexType>
241     </xs:element>
242
243     <xs:element name="block_items">
244         <xs:complexType>
245             <xs:group ref="block_itemsElmtGroup"/>
246             <xs:attributeGroup ref="block_itemsAttrGroup"/>
247         </xs:complexType>
248     </xs:element>
249
250     <xs:element name="bi_functional">
251         <xs:complexType>
252             <xs:group ref="bi_functionalElmtGroup"/>
253             <xs:attributeGroup ref="bi_functionalAttrGroup"/>
254         </xs:complexType>
255     </xs:element>
256
257     <xs:element name="bif_parameters">
258         <xs:complexType>
259             <xs:sequence>
260                 <xs:element ref="bif_parameter" minOccurs="0" maxOccurs="unbounded" />
261             </xs:sequence>
262         </xs:complexType>
263     </xs:element>
264         
265     <xs:element name="bif_parameter">
266         <xs:complexType>
267             <xs:attributeGroup ref="bif_parameterAttrGroup"/>
268         </xs:complexType>
269     </xs:element>
270
271     <xs:element name="bif_ifaces">
272         <xs:complexType>
273             <xs:sequence>
274                 <xs:element ref="bif_iface" minOccurs="0" maxOccurs="unbounded" />
275             </xs:sequence>
276             <xs:attribute ref="count"/>
277         </xs:complexType>
278     </xs:element>
279
280     <xs:element name="bif_iface">
281         <xs:complexType>
282             <xs:attributeGroup ref="bif_ifaceAttrGroup"/>
283         </xs:complexType>
284     </xs:element>
285
286     <xs:element name="bi_group">
287         <xs:complexType>
288             <xs:sequence>
289                 <xs:element ref="big_ifaces"/>
290             </xs:sequence>
291             <xs:attributeGroup ref="bi_groupAttrGroup"/>
292         </xs:complexType>
293     </xs:element>
294
295     <xs:element name="big_ifaces">
296         <xs:complexType>
297             <xs:sequence>
298                 <xs:element ref="big_iface" minOccurs="0" maxOccurs="unbounded" />
299             </xs:sequence>
300             <xs:attribute ref="count" />
301         </xs:complexType>
302     </xs:element>
303
304     <xs:element name="big_iface">
305         <xs:complexType>
306             <xs:attributeGroup ref="big_ifaceAttrGroup" />
307         </xs:complexType>
308     </xs:element>
309
310     <xs:element name="connections">
311         <xs:complexType>
312             <xs:sequence>
313                 <xs:element ref="connection" minOccurs="0" maxOccurs="unbounded"/>
314             </xs:sequence>
315             <xs:attribute ref="count" />
316         </xs:complexType>
317     </xs:element>
318
319     <xs:element name="connection">
320         <xs:complexType>
321             <xs:attributeGroup ref="connectionAttrGroup"/>
322         </xs:complexType>
323     </xs:element>
324
325     <!-- racine du document -->
326
327     <xs:element name="blast_project">
328         <xs:complexType>
329             <xs:group ref="rootElmtGroup"/>
330         </xs:complexType>
331     </xs:element>
332
333 </xs:schema>