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="date"/>
36 <xs:element ref="related_files"/>
37 <xs:element ref="description"/>
38 <xs:element ref="notes"/>
42 <xs:group name="patternsElmtGroup">
44 <xs:element ref="delta"/>
45 <xs:element ref="consumption"/>
46 <xs:element ref="production"/>
50 <!-- déclaration des éléments -->
52 <xs:element name="comments">
54 <xs:group ref="commentsElmtGroup"/>
58 <xs:element name="author">
60 <xs:attribute ref="firstname" />
61 <xs:attribute ref="lastname" />
62 <xs:attribute ref="mail" />
66 <xs:element name="date">
68 <xs:attribute ref="creation" />
72 <xs:element name="related_files">
74 <xs:attribute ref="list" />
78 <xs:element name="description" type="xs:string" />
80 <xs:element name="notes" type="xs:string" />
82 <xs:element name="libraries">
85 <xs:element ref="library" minOccurs="0" maxOccurs="unbounded" />
90 <xs:element name="library">
93 <xs:element ref="package" minOccurs="1" maxOccurs="unbounded" />
95 <xs:attribute ref="name" />
99 <xs:element name="package">
101 <xs:attribute ref="name" />
102 <xs:attribute ref="use" />
106 <xs:element name="architecture">
109 <xs:extension base="xs:string">
110 <xs:attribute ref="comp_list" />
116 <xs:element name="patterns">
118 <xs:group ref="patternsElmtGroup"/>
122 <xs:element name="delta">
124 <xs:attribute ref="value" />
128 <xs:element name="consumption">
131 <xs:element ref="input" minOccurs="0" maxOccurs="unbounded"/>
136 <xs:element name="input">
138 <xs:attribute ref="name" />
139 <xs:attribute ref="pattern" />
143 <xs:element name="production">
146 <xs:element ref="output" minOccurs="0" maxOccurs="unbounded"/>
148 <xs:attribute ref="counter" />
152 <xs:element name="output">
154 <xs:attribute ref="name" />
155 <xs:attribute ref="pattern" />
159 <!-- Racine du document -->
161 <xs:element name="block_impl">
163 <xs:group ref="blockElmtGroup"/>
164 <xs:attribute ref="ref_name" />
165 <xs:attribute ref="ref_md5" />