1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
4 <!-- déclaration des attributs -->
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"/>
21 <!-- déclaration des groupes d'éléments -->
23 <xs:group name="blockElmtGroup">
25 <xs:element ref="comments"/>
26 <xs:element ref="libraries"/>
27 <xs:element ref="architecture"/>
28 <xs:element ref="patterns" minOccurs="0"/>
32 <xs:group name="commentsElmtGroup">
34 <xs:element ref="author"/>
35 <xs:element ref="log"/>
36 <xs:element name="notes" type="xs:string"/>
40 <xs:group name="patternsElmtGroup">
42 <xs:element ref="delta"/>
43 <xs:element ref="consumption"/>
44 <xs:element ref="production"/>
48 <!-- déclaration des éléments -->
50 <xs:element name="comments">
52 <xs:group ref="commentsElmtGroup"/>
56 <xs:element name="author">
58 <xs:attribute ref="firstname" />
59 <xs:attribute ref="lastname" />
60 <xs:attribute ref="mail" />
64 <xs:element name="log">
67 <xs:element ref="modification" minOccurs="0" maxOccurs="unbounded" />
69 <xs:attribute ref="creation" />
73 <xs:element name="modification">
76 <xs:extension base="xs:string">
77 <xs:attribute name="id" type="xs:nonNegativeInteger" />
78 <xs:attribute name="date" type="xs:date" />
84 <xs:element name="libraries">
87 <xs:element ref="library" minOccurs="0" maxOccurs="unbounded" />
92 <xs:element name="library">
95 <xs:element ref="package" minOccurs="1" maxOccurs="unbounded" />
97 <xs:attribute ref="name" />
101 <xs:element name="package">
103 <xs:attribute ref="name" />
104 <xs:attribute ref="use" />
108 <xs:element name="architecture">
111 <xs:extension base="xs:string">
112 <xs:attribute ref="comp_list" />
118 <xs:element name="patterns">
120 <xs:group ref="patternsElmtGroup"/>
124 <xs:element name="delta">
126 <xs:attribute ref="value" />
130 <xs:element name="consumption">
133 <xs:element ref="input" minOccurs="0" maxOccurs="unbounded"/>
138 <xs:element name="input">
140 <xs:attribute ref="name" />
141 <xs:attribute ref="pattern" />
145 <xs:element name="production">
148 <xs:element ref="output" minOccurs="0" maxOccurs="unbounded"/>
150 <xs:attribute ref="counter" />
154 <xs:element name="output">
156 <xs:attribute ref="name" />
157 <xs:attribute ref="pattern" />
161 <!-- Racine du document -->
163 <xs:element name="block_impl">
165 <xs:group ref="blockElmtGroup"/>
166 <xs:attribute ref="ref_name" />
167 <xs:attribute ref="ref_md5" />