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

Private GIT Repository
nearly finished GroupBlock VHDL gen
[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="date"/>        
36           <xs:element ref="related_files"/>
37           <xs:element ref="description"/>
38           <xs:element ref="notes"/>       
39         </xs:sequence>
40     </xs:group>
41
42     <xs:group name="patternsElmtGroup">
43         <xs:sequence>
44           <xs:element ref="delta"/>
45           <xs:element ref="consumption"/>         
46           <xs:element ref="production"/>
47         </xs:sequence>
48     </xs:group>
49     
50     <!-- déclaration des éléments -->
51
52     <xs:element name="comments">
53         <xs:complexType>
54             <xs:group ref="commentsElmtGroup"/>
55         </xs:complexType>
56     </xs:element>
57     
58     <xs:element name="author">
59         <xs:complexType>
60           <xs:attribute ref="firstname" />
61           <xs:attribute ref="lastname" />
62           <xs:attribute ref="mail" />     
63         </xs:complexType>
64     </xs:element>
65
66     <xs:element name="date">
67         <xs:complexType>
68           <xs:attribute ref="creation" />
69         </xs:complexType>
70     </xs:element>
71
72     <xs:element name="related_files">
73         <xs:complexType>
74           <xs:attribute ref="list" />
75         </xs:complexType>
76     </xs:element>
77     
78     <xs:element name="description" type="xs:string" />
79
80     <xs:element name="notes" type="xs:string" />
81
82     <xs:element name="libraries">
83       <xs:complexType>
84         <xs:sequence>
85           <xs:element ref="library" minOccurs="0" maxOccurs="unbounded" />
86         </xs:sequence>
87       </xs:complexType>
88     </xs:element>
89
90     <xs:element name="library">
91       <xs:complexType>
92         <xs:sequence>
93           <xs:element ref="package" minOccurs="1" maxOccurs="unbounded" />
94         </xs:sequence>
95         <xs:attribute ref="name" />
96       </xs:complexType>
97     </xs:element>
98
99     <xs:element name="package">
100         <xs:complexType>
101           <xs:attribute ref="name" />
102           <xs:attribute ref="use" />
103         </xs:complexType>
104     </xs:element>
105
106     <xs:element name="architecture">
107       <xs:complexType>
108         <xs:simpleContent>
109           <xs:extension base="xs:string">
110             <xs:attribute ref="comp_list" />
111           </xs:extension>
112         </xs:simpleContent>
113       </xs:complexType>
114     </xs:element> 
115
116     <xs:element name="patterns">
117         <xs:complexType>
118             <xs:group ref="patternsElmtGroup"/>
119         </xs:complexType>
120     </xs:element>
121
122     <xs:element name="delta">
123         <xs:complexType>
124           <xs:attribute ref="value" />
125         </xs:complexType>
126     </xs:element>
127
128     <xs:element name="consumption">
129         <xs:complexType>
130             <xs:sequence>
131                 <xs:element ref="input" minOccurs="0" maxOccurs="unbounded"/>
132             </xs:sequence>
133         </xs:complexType>
134     </xs:element>
135     
136     <xs:element name="input">
137         <xs:complexType>
138           <xs:attribute ref="name" />
139           <xs:attribute ref="pattern" />          
140         </xs:complexType>
141     </xs:element>
142
143     <xs:element name="production">
144         <xs:complexType>
145             <xs:sequence>
146                 <xs:element ref="output" minOccurs="0" maxOccurs="unbounded"/>
147             </xs:sequence>
148             <xs:attribute ref="counter" />                
149         </xs:complexType>
150     </xs:element>
151
152     <xs:element name="output">
153         <xs:complexType>
154           <xs:attribute ref="name" />
155           <xs:attribute ref="pattern" />
156         </xs:complexType>
157     </xs:element>
158     
159     <!-- Racine du document -->
160
161     <xs:element name="block_impl">
162         <xs:complexType>
163           <xs:group ref="blockElmtGroup"/>
164           <xs:attribute ref="ref_name" />
165           <xs:attribute ref="ref_md5" />          
166         </xs:complexType>
167     </xs:element>
168
169 </xs:schema>