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

Private GIT Repository
changed ref/impls xsd and xml
[blast.git] / implementation.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
4     <!-- déclaration des attributs -->
5
6     <xs:attribute name="ref_name" type="xs:string"/>
7     <xs:attribute name="ref_md5" type="xs:string"/>        
8     <xs:attribute name="firstname" type="xs:string"/>
9     <xs:attribute name="lastname" type="xs:string"/>
10     <xs:attribute name="mail" type="xs:string"/>    
11     <xs:attribute name="creation" type="xs:date"/>
12     <xs:attribute name="list" type="xs:string"/>
13     <xs:attribute name="name" type="xs:string"/>
14     <xs:attribute name="use" type="xs:string" />
15     <xs:attribute name="value" type="xs:string" />
16     <xs:attribute name="pattern" type="xs:string"/>
17     <xs:attribute name="counter" type="xs:string"/>
18     <xs:attribute name="comp_list" type="xs:string"/>
19     
20
21     <!-- déclaration des groupes d'éléments -->
22
23     <xs:group name="blockElmtGroup">
24         <xs:sequence>
25             <xs:element ref="comments"/>
26             <xs:element ref="libraries"/>
27             <xs:element ref="architecture"/>
28             <xs:element ref="patterns" minOccurs="0"/>
29         </xs:sequence>
30     </xs:group>
31
32     <xs:group name="commentsElmtGroup">
33         <xs:sequence>
34           <xs:element ref="author"/>
35           <xs:element ref="log"/>         
36           <xs:element name="notes" type="xs:string"/>
37         </xs:sequence>
38     </xs:group>
39
40     <xs:group name="patternsElmtGroup">
41         <xs:sequence>
42           <xs:element ref="delta"/>
43           <xs:element ref="consumption"/>         
44           <xs:element ref="production"/>
45         </xs:sequence>
46     </xs:group>
47     
48     <!-- déclaration des éléments -->
49
50     <xs:element name="comments">
51         <xs:complexType>
52             <xs:group ref="commentsElmtGroup"/>
53         </xs:complexType>
54     </xs:element>
55     
56     <xs:element name="author">
57         <xs:complexType>
58           <xs:attribute ref="firstname" />
59           <xs:attribute ref="lastname" />
60           <xs:attribute ref="mail" />     
61         </xs:complexType>
62     </xs:element>
63
64     <xs:element name="log">
65       <xs:complexType>
66         <xs:sequence>
67           <xs:element ref="modification" minOccurs="0" maxOccurs="unbounded" />
68         </xs:sequence>
69         <xs:attribute ref="creation" />
70       </xs:complexType>
71     </xs:element>
72
73     <xs:element name="modification">
74       <xs:complexType>
75         <xs:simpleContent>
76           <xs:extension base="xs:string">
77           <xs:attribute name="id" type="xs:nonNegativeInteger" />
78           <xs:attribute name="date" type="xs:date" />
79           </xs:extension>
80         </xs:simpleContent>
81       </xs:complexType>
82     </xs:element>
83     
84     <xs:element name="libraries">
85       <xs:complexType>
86         <xs:sequence>
87           <xs:element ref="library" minOccurs="0" maxOccurs="unbounded" />
88         </xs:sequence>
89       </xs:complexType>
90     </xs:element>
91
92     <xs:element name="library">
93       <xs:complexType>
94         <xs:sequence>
95           <xs:element ref="package" minOccurs="1" maxOccurs="unbounded" />
96         </xs:sequence>
97         <xs:attribute ref="name" />
98       </xs:complexType>
99     </xs:element>
100
101     <xs:element name="package">
102         <xs:complexType>
103           <xs:attribute ref="name" />
104           <xs:attribute ref="use" />
105         </xs:complexType>
106     </xs:element>
107
108     <xs:element name="architecture">
109       <xs:complexType>
110         <xs:simpleContent>
111           <xs:extension base="xs:string">
112             <xs:attribute ref="comp_list" />
113           </xs:extension>
114         </xs:simpleContent>
115       </xs:complexType>
116     </xs:element> 
117
118     <xs:element name="patterns">
119         <xs:complexType>
120             <xs:group ref="patternsElmtGroup"/>
121         </xs:complexType>
122     </xs:element>
123
124     <xs:element name="delta">
125         <xs:complexType>
126           <xs:attribute ref="value" />
127         </xs:complexType>
128     </xs:element>
129
130     <xs:element name="consumption">
131         <xs:complexType>
132             <xs:sequence>
133                 <xs:element ref="input" minOccurs="0" maxOccurs="unbounded"/>
134             </xs:sequence>
135         </xs:complexType>
136     </xs:element>
137     
138     <xs:element name="input">
139         <xs:complexType>
140           <xs:attribute ref="name" />
141           <xs:attribute ref="pattern" />          
142         </xs:complexType>
143     </xs:element>
144
145     <xs:element name="production">
146         <xs:complexType>
147             <xs:sequence>
148                 <xs:element ref="output" minOccurs="0" maxOccurs="unbounded"/>
149             </xs:sequence>
150             <xs:attribute ref="counter" />                
151         </xs:complexType>
152     </xs:element>
153
154     <xs:element name="output">
155         <xs:complexType>
156           <xs:attribute ref="name" />
157           <xs:attribute ref="pattern" />
158         </xs:complexType>
159     </xs:element>
160     
161     <!-- Racine du document -->
162
163     <xs:element name="block_impl">
164         <xs:complexType>
165           <xs:group ref="blockElmtGroup"/>
166           <xs:attribute ref="ref_name" />
167           <xs:attribute ref="ref_md5" />          
168         </xs:complexType>
169     </xs:element>
170
171 </xs:schema>