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

Private GIT Repository
start modifying read/write blocks and project to take into account control ifaces
[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="direction"/>
20         <xs:attribute ref="orientation"/>
21         <xs:attribute ref="position"/>
22     </xs:attributeGroup>
23
24     <xs:attributeGroup name="block_itemsAttrGroup">
25         <xs:attribute ref="functional_count" />
26         <xs:attribute ref="group_count" />
27     </xs:attributeGroup>
28
29     <xs:attributeGroup name="bi_functionalAttrGroup">
30         <xs:attribute ref="id" />
31         <xs:attribute ref="ref_xml" />
32         <xs:attribute ref="ref_md5" />
33         <xs:attribute ref="name" />
34         <xs:attribute ref="position" />
35         <xs:attribute ref="dimension" />
36     </xs:attributeGroup>
37
38     <xs:attributeGroup name="bif_parameterAttrGroup">
39         <xs:attribute ref="name" />
40         <xs:attribute ref="value" />
41         <xs:attribute ref="context" />
42         <xs:attribute ref="type" />
43
44     </xs:attributeGroup>
45
46     <xs:attributeGroup name="bif_ifaceAttrGroup">
47         <xs:attribute ref="id" />
48         <xs:attribute ref="name" />
49         <xs:attribute ref="ref_name" />
50         <xs:attribute ref="orientation" />
51         <xs:attribute ref="position" />
52     </xs:attributeGroup>
53
54     <xs:attributeGroup name="bi_groupAttrGroup">
55         <xs:attribute ref="id" />
56         <xs:attribute ref="inside_group" />
57         <xs:attribute ref="position" />
58         <xs:attribute ref="dimension" />
59     </xs:attributeGroup>
60
61     <xs:attributeGroup name="big_ifaceAttrGroup">
62         <xs:attribute ref="id" />
63         <xs:attribute ref="ref_name" />
64         <xs:attribute ref="orientation" />
65         <xs:attribute ref="position" />
66     </xs:attributeGroup>
67
68     <xs:attributeGroup name="connectionAttrGroup">
69         <xs:attribute ref="from" />
70         <xs:attribute ref="to" />
71     </xs:attributeGroup>
72
73
74     <!-- déclaration des attributs -->
75
76     <xs:attribute name="count">
77         <xs:simpleType>
78             <xs:restriction base="xs:nonNegativeInteger">
79                 <xs:minInclusive value="0"/>
80             </xs:restriction>
81         </xs:simpleType>
82     </xs:attribute>
83
84     <xs:attribute name="id">
85         <xs:simpleType>
86             <xs:restriction base="xs:nonNegativeInteger">
87                 <xs:minInclusive value="0"/>
88             </xs:restriction>
89         </xs:simpleType>
90     </xs:attribute>
91
92     <xs:attribute name="upper_scene">
93         <xs:simpleType>
94             <xs:restriction base="xs:integer">
95                 <xs:minInclusive value="-1"/>
96             </xs:restriction>
97         </xs:simpleType>
98     </xs:attribute>
99
100     <xs:attribute name="upper_group">
101         <xs:simpleType>
102             <xs:restriction base="xs:integer">
103                 <xs:minInclusive value="-1"/>
104             </xs:restriction>
105         </xs:simpleType>
106     </xs:attribute>
107
108     <xs:attribute name="upper_item">
109         <xs:simpleType>
110             <xs:restriction base="xs:integer">
111                 <xs:minInclusive value="-1"/>
112             </xs:restriction>
113         </xs:simpleType>
114     </xs:attribute>
115
116     <xs:attribute name="inside_group">
117         <xs:simpleType>
118             <xs:restriction base="xs:nonNegativeInteger">
119                 <xs:minInclusive value="0"/>
120             </xs:restriction>
121         </xs:simpleType>
122     </xs:attribute>
123
124     <xs:attribute name="functional_count">
125         <xs:simpleType>
126             <xs:restriction base="xs:nonNegativeInteger">
127                 <xs:minInclusive value="0"/>
128             </xs:restriction>
129         </xs:simpleType>
130     </xs:attribute>
131
132     <xs:attribute name="group_count">
133         <xs:simpleType>
134             <xs:restriction base="xs:nonNegativeInteger">
135                 <xs:minInclusive value="0"/>
136             </xs:restriction>
137         </xs:simpleType>
138     </xs:attribute>
139
140     <xs:attribute name="value" type="xs:string"/>
141
142     <xs:attribute name="from">
143         <xs:simpleType>
144             <xs:restriction base="xs:nonNegativeInteger">
145                 <xs:minInclusive value="0"/>
146             </xs:restriction>
147         </xs:simpleType>
148     </xs:attribute>
149
150     <xs:attribute name="to">
151         <xs:simpleType>
152             <xs:restriction base="xs:nonNegativeInteger">
153                 <xs:minInclusive value="0"/>
154             </xs:restriction>
155         </xs:simpleType>
156     </xs:attribute>
157
158     <xs:attribute name="position" type="xs:string"/>
159     <xs:attribute name="dimension" 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_group" minOccurs="0" maxOccurs="unbounded"/>
189         <xs:element ref="bi_functional" minOccurs="0" maxOccurs="unbounded"/>
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:attribute ref="upper_scene"/>
217         </xs:complexType>
218     </xs:element>
219
220     <xs:element name="group_item">
221         <xs:complexType>
222             <xs:sequence>
223                 <xs:element ref="group_ifaces" maxOccurs="unbounded" />
224             </xs:sequence>      
225             <xs:attributeGroup ref="group_itemAttrGroup"/>
226         </xs:complexType>
227     </xs:element>
228
229     <xs:element name="group_ifaces">
230         <xs:complexType>
231             <xs:sequence>
232                 <xs:element ref="group_iface" minOccurs="0" maxOccurs="unbounded"/>
233             </xs:sequence>
234             <xs:attribute ref="count"/>
235         </xs:complexType>
236     </xs:element>
237
238     <xs:element name="group_iface">
239         <xs:complexType>
240             <xs:attributeGroup ref="group_ifaceAttrGroup"/>
241         </xs:complexType>
242     </xs:element>
243
244     <xs:element name="block_items">
245         <xs:complexType>
246             <xs:group ref="block_itemsElmtGroup"/>
247             <xs:attributeGroup ref="block_itemsAttrGroup"/>
248         </xs:complexType>
249     </xs:element>
250
251     <xs:element name="bi_functional">
252         <xs:complexType>
253             <xs:group ref="bi_functionalElmtGroup"/>
254             <xs:attributeGroup ref="bi_functionalAttrGroup"/>
255         </xs:complexType>
256     </xs:element>
257
258     <xs:element name="bif_parameters">
259         <xs:complexType>
260             <xs:sequence>
261                 <xs:element ref="bif_parameter" minOccurs="0" maxOccurs="unbounded" />
262             </xs:sequence>
263         </xs:complexType>
264     </xs:element>
265         
266     <xs:element name="bif_parameter">
267         <xs:complexType>
268             <xs:attributeGroup ref="bif_parameterAttrGroup"/>
269         </xs:complexType>
270     </xs:element>
271
272     <xs:element name="bif_ifaces">
273         <xs:complexType>
274             <xs:sequence>
275                 <xs:element ref="bif_iface" minOccurs="0" maxOccurs="unbounded" />
276             </xs:sequence>
277             <xs:attribute ref="count"/>
278         </xs:complexType>
279     </xs:element>
280
281     <xs:element name="bif_iface">
282         <xs:complexType>
283             <xs:attributeGroup ref="bif_ifaceAttrGroup"/>
284         </xs:complexType>
285     </xs:element>
286
287     <xs:element name="bi_group">
288         <xs:complexType>
289             <xs:sequence>
290                 <xs:element ref="big_ifaces"/>
291             </xs:sequence>
292             <xs:attributeGroup ref="bi_groupAttrGroup"/>
293         </xs:complexType>
294     </xs:element>
295
296     <xs:element name="big_ifaces">
297         <xs:complexType>
298             <xs:sequence>
299                 <xs:element ref="big_iface" minOccurs="0" maxOccurs="unbounded" />
300             </xs:sequence>
301             <xs:attribute ref="count" />
302         </xs:complexType>
303     </xs:element>
304
305     <xs:element name="big_iface">
306         <xs:complexType>
307             <xs:attributeGroup ref="big_ifaceAttrGroup" />
308         </xs:complexType>
309     </xs:element>
310
311     <xs:element name="connections">
312         <xs:complexType>
313             <xs:sequence>
314                 <xs:element ref="connection" minOccurs="0" maxOccurs="unbounded"/>
315             </xs:sequence>
316             <xs:attribute ref="count" />
317         </xs:complexType>
318     </xs:element>
319
320     <xs:element name="connection">
321         <xs:complexType>
322             <xs:attributeGroup ref="connectionAttrGroup"/>
323         </xs:complexType>
324     </xs:element>
325
326     <!-- racine du document -->
327
328     <xs:element name="blast_project">
329         <xs:complexType>
330             <xs:group ref="rootElmtGroup"/>
331         </xs:complexType>
332     </xs:element>
333
334 </xs:schema>