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

Private GIT Repository
correct relative positionning of source/group
[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
19     <!-- déclaration des groupes d'éléments -->
20
21     <xs:group name="blockElmtGroup">
22         <xs:sequence>
23             <xs:element ref="comments"/>
24             <xs:element ref="libraries"/>
25             <xs:element ref="architecture"/>
26             <xs:element ref="patterns" minOccurs="0"/>
27         </xs:sequence>
28     </xs:group>
29
30     <xs:group name="commentsElmtGroup">
31         <xs:sequence>
32           <xs:element ref="author"/>
33           <xs:element ref="date"/>        
34           <xs:element ref="related_files"/>
35           <xs:element ref="description"/>
36           <xs:element ref="notes"/>       
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="date">
65         <xs:complexType>
66           <xs:attribute ref="creation" />
67         </xs:complexType>
68     </xs:element>
69
70     <xs:element name="related_files">
71         <xs:complexType>
72           <xs:attribute ref="list" />
73         </xs:complexType>
74     </xs:element>
75     
76     <xs:element name="description" type="xs:string" />
77
78     <xs:element name="notes" type="xs:string" />
79
80     <xs:element name="libraries">
81       <xs:complexType>
82         <xs:sequence>
83           <xs:element ref="library" minOccurs="0" maxOccurs="unbounded" />
84         </xs:sequence>
85       </xs:complexType>
86     </xs:element>
87
88     <xs:element name="library">
89       <xs:complexType>
90         <xs:sequence>
91           <xs:element ref="package" minOccurs="1" maxOccurs="unbounded" />
92         </xs:sequence>
93         <xs:attribute ref="name" />
94       </xs:complexType>
95     </xs:element>
96
97     <xs:element name="package">
98         <xs:complexType>
99           <xs:attribute ref="name" />
100           <xs:attribute ref="use" />
101         </xs:complexType>
102     </xs:element>
103         
104     <xs:element name="architecture" type="xs:string" />
105
106     <xs:element name="patterns">
107         <xs:complexType>
108             <xs:group ref="patternsElmtGroup"/>
109         </xs:complexType>
110     </xs:element>
111
112     <xs:element name="delta">
113         <xs:complexType>
114           <xs:attribute ref="value" />
115         </xs:complexType>
116     </xs:element>
117
118     <xs:element name="consumption">
119         <xs:complexType>
120             <xs:sequence>
121                 <xs:element ref="input" minOccurs="0" maxOccurs="unbounded"/>
122             </xs:sequence>
123         </xs:complexType>
124     </xs:element>
125     
126     <xs:element name="input">
127         <xs:complexType>
128           <xs:attribute ref="name" />
129           <xs:attribute ref="pattern" />          
130         </xs:complexType>
131     </xs:element>
132
133     <xs:element name="production">
134         <xs:complexType>
135             <xs:sequence>
136                 <xs:element ref="output" minOccurs="0" maxOccurs="unbounded"/>
137             </xs:sequence>
138         </xs:complexType>
139     </xs:element>
140
141     <xs:element name="output">
142         <xs:complexType>
143           <xs:attribute ref="name" />
144           <xs:attribute ref="pattern" />
145           <xs:attribute ref="counter" />                  
146         </xs:complexType>
147     </xs:element>
148     
149     <!-- Racine du document -->
150
151     <xs:element name="block_impl">
152         <xs:complexType>
153           <xs:group ref="blockElmtGroup"/>
154           <xs:attribute ref="ref_name" />
155           <xs:attribute ref="ref_md5" />          
156         </xs:complexType>
157     </xs:element>
158
159 </xs:schema>