patrick@38
|
1 |
# **********************************************************************
|
patrick@38
|
2 |
# ****** DTD LITTERATURE GENERALE XML NC V3.2 ******
|
patrick@38
|
3 |
# ****** (c) Nord Compo (juin 1999) ******
|
patrick@38
|
4 |
# ****** realisee par : GD ******
|
patrick@38
|
5 |
# ****** mise a jour par : GD (juillet 2000) ******
|
patrick@38
|
6 |
# ****** transformation en XML par : JMD (Aout 2000) ******
|
patrick@38
|
7 |
# ****** mise a jour XML par : GD (janvier 2001) ******
|
patrick@38
|
8 |
# ****** mise a jour de la version 2.1 ******
|
patrick@38
|
9 |
# ****** mise a jour : GD (juin 2007) ******
|
patrick@38
|
10 |
# ****** mise a jour : GD septembre 2007 ******
|
patrick@38
|
11 |
# ****** mise a jour : GD octobre 2007 ******
|
patrick@38
|
12 |
# ****** mise a jour : GD novembre 2007 ******
|
patrick@38
|
13 |
# ****** mise a jour : GD janvier 2008 ******
|
patrick@38
|
14 |
# ****** mise a jour : PT mai 2009 ******
|
patrick@38
|
15 |
# ****** mise a jour : PT octobre 2009 ******
|
patrick@38
|
16 |
# **********************************************************************
|
patrick@38
|
17 |
# ****** Transformation RelaxNG Prismallia ******
|
patrick@36
|
18 |
# **********************************************************************
|
patrick@36
|
19 |
|
patrick@36
|
20 |
|
patrick@38
|
21 |
start = livre
|
patrick@36
|
22 |
|
patrick@38
|
23 |
livre = element livre { livre.attributes, livre.content }
|
patrick@36
|
24 |
|
patrick@38
|
25 |
livre.attributes =
|
patrick@38
|
26 |
attribute compo { text }?
|
patrick@38
|
27 |
& attribute saisie { text }?
|
patrick@38
|
28 |
& attribute type { text }?
|
patrick@36
|
29 |
|
patrick@38
|
30 |
livre.content =
|
patrick@38
|
31 |
ident,
|
patrick@38
|
32 |
(appcrit | pre)*,
|
patrick@38
|
33 |
corps,
|
patrick@38
|
34 |
(appcrit | appen)*,
|
patrick@38
|
35 |
collec*
|
patrick@36
|
36 |
|
patrick@36
|
37 |
|
patrick@38
|
38 |
# =============================================================================
|
patrick@38
|
39 |
# Elements Entete (pages de titre)
|
patrick@38
|
40 |
# =============================================================================
|
patrick@36
|
41 |
|
patrick@38
|
42 |
# ~~~~~~ ident
|
patrick@38
|
43 |
ident = element ident { ident.content }
|
patrick@36
|
44 |
|
patrick@38
|
45 |
ident.content =
|
patrick@38
|
46 |
(ftit
|
patrick@38
|
47 |
| fstit
|
patrick@38
|
48 |
| info
|
patrick@38
|
49 |
| accro
|
patrick@38
|
50 |
| collec
|
patrick@38
|
51 |
| auteur
|
patrick@38
|
52 |
| illustrateur
|
patrick@38
|
53 |
| tit
|
patrick@38
|
54 |
| stit
|
patrick@38
|
55 |
| edit
|
patrick@38
|
56 |
| copy
|
patrick@38
|
57 |
| trad
|
patrick@38
|
58 |
| ean
|
patrick@38
|
59 |
| coned
|
patrick@38
|
60 |
| type
|
patrick@38
|
61 |
| ref
|
patrick@38
|
62 |
| isbn
|
patrick@38
|
63 |
| issn
|
patrick@38
|
64 |
| modulus
|
patrick@38
|
65 |
| fig
|
patrick@38
|
66 |
| tableau
|
patrick@38
|
67 |
| dedi
|
patrick@38
|
68 |
| exer)+
|
patrick@36
|
69 |
|
patrick@38
|
70 |
# ~~~~~~ Faux titre ouvrage
|
patrick@38
|
71 |
ftit = element ftit { (typo | br | appel | renv | renvlnk)* }
|
patrick@36
|
72 |
|
patrick@38
|
73 |
# ~~~~~~ Accroche ouvrage
|
patrick@38
|
74 |
accro = element accro { (typo | br | appel | renv | renvlnk)* }
|
patrick@36
|
75 |
|
patrick@38
|
76 |
# ~~~~~~ Sous titre ouvrage
|
patrick@38
|
77 |
fstit = element fstit { (typo | br | appel | renv | renvlnk)* }
|
patrick@36
|
78 |
|
patrick@38
|
79 |
# ~~~~~~ Auteur(s) de l'ouvrage ou de citation ou exergue
|
patrick@38
|
80 |
auteur = element auteur { (typo | appel)* }
|
patrick@36
|
81 |
|
patrick@38
|
82 |
# ~~~~~~ Illustrateur
|
patrick@38
|
83 |
illustrateur = element illustrateur { (typo | appel)* }
|
patrick@36
|
84 |
|
patrick@38
|
85 |
# ~~~~~~ Surtitre
|
patrick@38
|
86 |
surtit = element surtit {(typo | appel | br | renv | renvlnk)*}
|
patrick@36
|
87 |
|
patrick@38
|
88 |
# ~~~~~~ Titre de l'ouvrage
|
patrick@38
|
89 |
tit = element tit { (typo | appel | br | renv | renvlnk)* }
|
patrick@36
|
90 |
|
patrick@38
|
91 |
# ~~~~~~ Sous-titre de l'ouvrage
|
patrick@38
|
92 |
stit = element stit { (typo | appel | br | renv | renvlnk)* }
|
patrick@36
|
93 |
|
patrick@38
|
94 |
# ~~~~~~ Sous-sous-titre
|
patrick@38
|
95 |
sstit = element sstit { (typo | appel | br | renv | renvlnk)* }
|
patrick@38
|
96 |
|
patrick@38
|
97 |
# ~~~~~~ Type d'ouvrage dans page de titre
|
patrick@38
|
98 |
type = element type { (typo | br | appel)* }
|
patrick@38
|
99 |
|
patrick@38
|
100 |
# ~~~~~~ Texte page de titre
|
patrick@38
|
101 |
info = element info { (typo | br | appel)* }
|
patrick@38
|
102 |
|
patrick@38
|
103 |
# ~~~~~~ page de collection
|
patrick@38
|
104 |
collec = element collec {
|
patrick@38
|
105 |
(tit | stit | cint | cint2 | cint3 | auteur | p | pbib | fig)* }
|
patrick@38
|
106 |
|
patrick@38
|
107 |
# ~~~~~~ Intertitre dans page de collection
|
patrick@38
|
108 |
cint = element cint { (typo | br | appel)* }
|
patrick@38
|
109 |
cint2 = element cint2 { (typo | br | appel)* }
|
patrick@38
|
110 |
cint3 = element cint3 { (typo | br | appel)* }
|
patrick@38
|
111 |
|
patrick@38
|
112 |
# ~~~~~~ Traduction par
|
patrick@38
|
113 |
trad = element trad { (typo | br | appel)* }
|
patrick@38
|
114 |
|
patrick@38
|
115 |
# ~~~~~~ Editeur(s)
|
patrick@38
|
116 |
edit = element edit { (typo | appel)* }
|
patrick@38
|
117 |
|
patrick@38
|
118 |
# ~~~~~~ Copyright de l'ouvrage
|
patrick@38
|
119 |
copy = element copy { (typo | br | appel)* }
|
patrick@38
|
120 |
|
patrick@38
|
121 |
# ~~~~~~ References de l'ouvrage
|
patrick@38
|
122 |
ref = element ref { (typo | br | appel)* }
|
patrick@38
|
123 |
|
patrick@38
|
124 |
# ~~~~~~ ISBN, ISSN
|
patrick@38
|
125 |
isbn = element isbn { (typo | appel)* }
|
patrick@38
|
126 |
issn = element issn { (typo | appel)* }
|
patrick@38
|
127 |
|
patrick@38
|
128 |
# ~~~~~~ Modulus
|
patrick@38
|
129 |
modulus = element modulus { (typo | appel)* }
|
patrick@38
|
130 |
|
patrick@38
|
131 |
# ~~~~~~ EAN 13
|
patrick@38
|
132 |
ean = element ean { xsd:token {pattern = "\d{13}"} }
|
patrick@38
|
133 |
|
patrick@38
|
134 |
# ~~~~~~ Rang d'impression
|
patrick@38
|
135 |
coned = element coned { text }
|
patrick@38
|
136 |
|
patrick@38
|
137 |
# ~~~~~~ Dedicace
|
patrick@38
|
138 |
dedi = element dedi { (typo | br | appel)* }
|
patrick@38
|
139 |
|
patrick@38
|
140 |
# ~~~~~~ Exergue
|
patrick@38
|
141 |
exer = element exer { p+, (source | auteur)* }
|
patrick@38
|
142 |
|
patrick@38
|
143 |
# ~~~~~~ Source(s) citation, image, exergue
|
patrick@38
|
144 |
source = element source { (typo | appel | p | br)* }
|
patrick@38
|
145 |
|
patrick@38
|
146 |
|
patrick@38
|
147 |
# =============================================================================
|
patrick@38
|
148 |
# Elements preliminaire de l'ouvrage
|
patrick@38
|
149 |
# =============================================================================
|
patrick@38
|
150 |
|
patrick@38
|
151 |
# ~~~~~~ pre
|
patrick@38
|
152 |
pre = element pre { pre.attributes, pre.content }
|
patrick@38
|
153 |
|
patrick@38
|
154 |
pre.attributes =
|
patrick@38
|
155 |
attribute id { xsd:ID }?
|
patrick@38
|
156 |
& attribute num { text }?
|
patrick@38
|
157 |
& attribute type { "intro" | "prologue" | "pref" | "remer" | "avpro" | "biblio"
|
patrick@38
|
158 |
| "bio" | "remarque" | "note" | "chrono" | "presentation" | "personnages"
|
patrick@38
|
159 |
| "sommaire" | "tdm" | "autre" }?
|
patrick@38
|
160 |
|
patrick@38
|
161 |
pre.content =
|
patrick@38
|
162 |
apfi?,
|
patrick@38
|
163 |
surtit?,
|
patrick@38
|
164 |
(((tit, apfi?),
|
patrick@38
|
165 |
((stit, apfi?), (sstit, apfi?)?)?)
|
patrick@38
|
166 |
| ((stit, apfi?), (sstit, apfi?)?))?,
|
patrick@38
|
167 |
exer*,
|
patrick@38
|
168 |
chapeau?,
|
patrick@38
|
169 |
dev,
|
patrick@38
|
170 |
(source | sign)*,
|
patrick@38
|
171 |
collec*,
|
patrick@38
|
172 |
defnotes?,
|
patrick@38
|
173 |
apfi?
|
patrick@38
|
174 |
|
patrick@38
|
175 |
# ~~~~ chapeau
|
patrick@38
|
176 |
chapeau = element chapeau { let?, p+ }
|
patrick@38
|
177 |
|
patrick@38
|
178 |
|
patrick@38
|
179 |
# =============================================================================
|
patrick@38
|
180 |
# Elements corps de l'ouvrage
|
patrick@38
|
181 |
# =============================================================================
|
patrick@38
|
182 |
|
patrick@38
|
183 |
# ~~~~~~ corps
|
patrick@38
|
184 |
corps = element corps { corps.content }
|
patrick@38
|
185 |
|
patrick@38
|
186 |
corps.content =
|
patrick@38
|
187 |
(vol+
|
patrick@38
|
188 |
| part+
|
patrick@38
|
189 |
| section+
|
patrick@38
|
190 |
| chap+
|
patrick@38
|
191 |
| dev)
|
patrick@38
|
192 |
|
patrick@38
|
193 |
# ~~~~~~ vol
|
patrick@38
|
194 |
vol = element vol { vol.attributes, vol.content }
|
patrick@38
|
195 |
|
patrick@38
|
196 |
vol.attributes =
|
patrick@38
|
197 |
attribute id { xsd:ID }?
|
patrick@38
|
198 |
& attribute num { text }?
|
patrick@38
|
199 |
|
patrick@38
|
200 |
vol.content =
|
patrick@38
|
201 |
depart,
|
patrick@38
|
202 |
(appcrit | pre)*,
|
patrick@38
|
203 |
((dev, part*) | part+),
|
patrick@38
|
204 |
defnotes?,
|
patrick@38
|
205 |
(appcrit | appen)*
|
patrick@38
|
206 |
|
patrick@38
|
207 |
# ~~~~~~ part
|
patrick@38
|
208 |
part = element part { part.attributes, part.content }
|
patrick@38
|
209 |
|
patrick@38
|
210 |
part.attributes =
|
patrick@38
|
211 |
attribute id { xsd:ID }?
|
patrick@38
|
212 |
& attribute num { text }?
|
patrick@38
|
213 |
|
patrick@38
|
214 |
part.content =
|
patrick@38
|
215 |
depart,
|
patrick@38
|
216 |
(appcrit | pre)*,
|
patrick@38
|
217 |
((dev, (section | chap)*)
|
patrick@38
|
218 |
| (section | chap)+),
|
patrick@38
|
219 |
defnotes?,
|
patrick@38
|
220 |
(appcrit | appen)*
|
patrick@38
|
221 |
|
patrick@38
|
222 |
# ~~~~~~ section
|
patrick@38
|
223 |
section = element section { section.attributes, section.content }
|
patrick@38
|
224 |
|
patrick@38
|
225 |
section.attributes =
|
patrick@38
|
226 |
attribute id { xsd:ID }?
|
patrick@38
|
227 |
& attribute num { text }?
|
patrick@38
|
228 |
|
patrick@38
|
229 |
section.content =
|
patrick@38
|
230 |
depart,
|
patrick@38
|
231 |
(appcrit | pre)*,
|
patrick@38
|
232 |
((dev, chap*) | chap+),
|
patrick@38
|
233 |
defnotes?,
|
patrick@38
|
234 |
(appcrit | appen)*
|
patrick@38
|
235 |
|
patrick@38
|
236 |
# ~~~~~~ chap
|
patrick@38
|
237 |
chap = element chap { chap.attributes, chap.content }
|
patrick@38
|
238 |
|
patrick@38
|
239 |
chap.attributes =
|
patrick@38
|
240 |
attribute id { xsd:ID }?
|
patrick@38
|
241 |
& attribute num { text }?
|
patrick@38
|
242 |
|
patrick@38
|
243 |
chap.content =
|
patrick@38
|
244 |
depart,
|
patrick@38
|
245 |
(appcrit | pre)*,
|
patrick@38
|
246 |
((chapeau?, dev, schap*) | schap+),
|
patrick@38
|
247 |
source?,
|
patrick@38
|
248 |
defnotes?,
|
patrick@38
|
249 |
(appcrit | appen)*
|
patrick@38
|
250 |
|
patrick@38
|
251 |
# ~~~~~~ schap
|
patrick@38
|
252 |
schap = element schap { schap.attributes, schap.content }
|
patrick@38
|
253 |
|
patrick@38
|
254 |
schap.attributes =
|
patrick@38
|
255 |
attribute id { xsd:ID }?
|
patrick@38
|
256 |
& attribute num { text }?
|
patrick@38
|
257 |
|
patrick@38
|
258 |
schap.content =
|
patrick@38
|
259 |
depart,
|
patrick@38
|
260 |
(appcrit | pre)*,
|
patrick@38
|
261 |
chapeau?,
|
patrick@38
|
262 |
dev,
|
patrick@38
|
263 |
defnotes?,
|
patrick@38
|
264 |
(appcrit | appen)*
|
patrick@38
|
265 |
|
patrick@38
|
266 |
|
patrick@38
|
267 |
# =============================================================================
|
patrick@38
|
268 |
# Elements Developpement
|
patrick@38
|
269 |
# =============================================================================
|
patrick@38
|
270 |
|
patrick@38
|
271 |
# ~~~~~~ dev
|
patrick@38
|
272 |
dev = element dev { dev.content }
|
patrick@38
|
273 |
|
patrick@38
|
274 |
dev.content =
|
patrick@38
|
275 |
(((let?, (p | pbib))
|
patrick@38
|
276 |
| bl
|
patrick@38
|
277 |
| sep
|
patrick@38
|
278 |
| dialogue
|
patrick@38
|
279 |
| theatre
|
patrick@38
|
280 |
| \list
|
patrick@38
|
281 |
| stroplg
|
patrick@38
|
282 |
| cita
|
patrick@38
|
283 |
| infratexte
|
patrick@38
|
284 |
| lettre
|
patrick@38
|
285 |
| fig
|
patrick@38
|
286 |
| tableau
|
patrick@38
|
287 |
| enc
|
patrick@38
|
288 |
| sign)
|
patrick@38
|
289 |
| (niv1 | niv2 | niv3 | niv4 | niv5))+,
|
patrick@38
|
290 |
fin?,
|
patrick@38
|
291 |
source?
|
patrick@38
|
292 |
|
patrick@38
|
293 |
|
patrick@38
|
294 |
# =============================================================================
|
patrick@38
|
295 |
# Niveau d'intertitre et de Texte
|
patrick@38
|
296 |
# =============================================================================
|
patrick@38
|
297 |
|
patrick@38
|
298 |
# ~~~~~~ niv1
|
patrick@38
|
299 |
niv1 = element niv1 { niv1.content }
|
patrick@38
|
300 |
|
patrick@38
|
301 |
niv1.content =
|
patrick@38
|
302 |
(n?,
|
patrick@38
|
303 |
int?,
|
patrick@38
|
304 |
sint?,
|
patrick@38
|
305 |
exer*,
|
patrick@38
|
306 |
(((let?, p)
|
patrick@38
|
307 |
| pbib
|
patrick@38
|
308 |
| bl
|
patrick@38
|
309 |
| sep
|
patrick@38
|
310 |
| \list
|
patrick@38
|
311 |
| stroplg
|
patrick@38
|
312 |
| cita
|
patrick@38
|
313 |
| infratexte
|
patrick@38
|
314 |
| lettre
|
patrick@38
|
315 |
| fig
|
patrick@38
|
316 |
| tableau
|
patrick@38
|
317 |
| enc)+
|
patrick@38
|
318 |
| (niv2 | niv3 | niv4 | niv5)*)+),
|
patrick@38
|
319 |
fin?
|
patrick@38
|
320 |
|
patrick@38
|
321 |
# ~~~~~~ niv2
|
patrick@38
|
322 |
niv2 = element niv2 { niv2.content }
|
patrick@38
|
323 |
|
patrick@38
|
324 |
niv2.content =
|
patrick@38
|
325 |
(n?,
|
patrick@38
|
326 |
int?,
|
patrick@38
|
327 |
sint?,
|
patrick@38
|
328 |
exer*,
|
patrick@38
|
329 |
(((let?, p)
|
patrick@38
|
330 |
| pbib
|
patrick@38
|
331 |
| bl
|
patrick@38
|
332 |
| sep
|
patrick@38
|
333 |
| \list
|
patrick@38
|
334 |
| stroplg
|
patrick@38
|
335 |
| cita
|
patrick@38
|
336 |
| infratexte
|
patrick@38
|
337 |
| lettre
|
patrick@38
|
338 |
| fig
|
patrick@38
|
339 |
| tableau
|
patrick@38
|
340 |
| enc)+
|
patrick@38
|
341 |
| (niv3 | niv4 | niv5)*)+),
|
patrick@38
|
342 |
fin?
|
patrick@38
|
343 |
|
patrick@38
|
344 |
# ~~~~~~ niv3
|
patrick@38
|
345 |
niv3 = element niv3 { niv3.content }
|
patrick@38
|
346 |
|
patrick@38
|
347 |
niv3.content =
|
patrick@38
|
348 |
(n?,
|
patrick@38
|
349 |
int?,
|
patrick@38
|
350 |
sint?,
|
patrick@38
|
351 |
exer*,
|
patrick@38
|
352 |
(((let?, p)
|
patrick@38
|
353 |
| pbib
|
patrick@38
|
354 |
| bl
|
patrick@38
|
355 |
| sep
|
patrick@38
|
356 |
| \list
|
patrick@38
|
357 |
| stroplg
|
patrick@38
|
358 |
| cita
|
patrick@38
|
359 |
| infratexte
|
patrick@38
|
360 |
| lettre
|
patrick@38
|
361 |
| fig
|
patrick@38
|
362 |
| tableau
|
patrick@38
|
363 |
| enc)+
|
patrick@38
|
364 |
| (niv4 | niv5)*)+),
|
patrick@38
|
365 |
fin?
|
patrick@38
|
366 |
|
patrick@38
|
367 |
# ~~~~~~ niv4
|
patrick@38
|
368 |
niv4 = element niv4 { niv4.content }
|
patrick@38
|
369 |
|
patrick@38
|
370 |
niv4.content =
|
patrick@38
|
371 |
(n?,
|
patrick@38
|
372 |
int?,
|
patrick@38
|
373 |
sint?,
|
patrick@38
|
374 |
exer*,
|
patrick@38
|
375 |
(((let?, p)
|
patrick@38
|
376 |
| pbib
|
patrick@38
|
377 |
| bl
|
patrick@38
|
378 |
| sep
|
patrick@38
|
379 |
| \list
|
patrick@38
|
380 |
| stroplg
|
patrick@38
|
381 |
| cita
|
patrick@38
|
382 |
| infratexte
|
patrick@38
|
383 |
| lettre
|
patrick@38
|
384 |
| fig
|
patrick@38
|
385 |
| tableau
|
patrick@38
|
386 |
| enc)+
|
patrick@38
|
387 |
| niv5)*),
|
patrick@38
|
388 |
fin?
|
patrick@38
|
389 |
|
patrick@38
|
390 |
# ~~~~~~ niv5
|
patrick@38
|
391 |
niv5 = element niv5 { niv5.content }
|
patrick@38
|
392 |
|
patrick@38
|
393 |
niv5.content =
|
patrick@38
|
394 |
(n?,
|
patrick@38
|
395 |
int?,
|
patrick@38
|
396 |
sint?,
|
patrick@38
|
397 |
exer*,
|
patrick@38
|
398 |
((let?, p)
|
patrick@38
|
399 |
| pbib
|
patrick@38
|
400 |
| bl
|
patrick@38
|
401 |
| sep
|
patrick@38
|
402 |
| \list
|
patrick@38
|
403 |
| stroplg
|
patrick@38
|
404 |
| cita
|
patrick@38
|
405 |
| infratexte
|
patrick@38
|
406 |
| lettre
|
patrick@38
|
407 |
| fig
|
patrick@38
|
408 |
| tableau
|
patrick@38
|
409 |
| enc)+),
|
patrick@38
|
410 |
fin?
|
patrick@38
|
411 |
|
patrick@38
|
412 |
# ~~~~~~ Numero de partie, Chapitre, sous-chapitre ou section
|
patrick@38
|
413 |
n = element n { (typo | appel | br | renv | renvlnk)* }
|
patrick@38
|
414 |
|
patrick@38
|
415 |
# ~~~~~~ Intertitre
|
patrick@38
|
416 |
int = element int {(typo | br | appel | renv | renvlnk)* }
|
patrick@38
|
417 |
|
patrick@38
|
418 |
# ~~~~~~ Sous intertitre
|
patrick@38
|
419 |
sint = element sint { (typo | br | appel | renv | renvlnk)* }
|
patrick@38
|
420 |
|
patrick@38
|
421 |
|
patrick@38
|
422 |
# =============================================================================
|
patrick@38
|
423 |
|
patrick@38
|
424 |
# Texte avec Exposant, Indice petites caps, ou souligne
|
patrick@36
|
425 |
texte = text | sup | inf | pc | sl
|
patrick@38
|
426 |
|
patrick@38
|
427 |
# Texte avec mise en forme (ital, gras, romain)
|
patrick@36
|
428 |
typo = texte | i | b | r
|
patrick@38
|
429 |
|
patrick@36
|
430 |
appel =
|
patrick@36
|
431 |
indx
|
patrick@36
|
432 |
| indx2
|
patrick@36
|
433 |
| indx3
|
patrick@36
|
434 |
| apnb
|
patrick@36
|
435 |
| apnb2
|
patrick@36
|
436 |
| apnb3
|
patrick@36
|
437 |
| apnf
|
patrick@36
|
438 |
| apnm
|
patrick@36
|
439 |
| apfi
|
patrick@36
|
440 |
| apta
|
patrick@36
|
441 |
# Entite d'appels divers
|
patrick@36
|
442 |
depart =
|
patrick@36
|
443 |
apfi?,
|
patrick@36
|
444 |
surtit?,
|
patrick@36
|
445 |
n?,
|
patrick@36
|
446 |
(((tit, apfi?),
|
patrick@36
|
447 |
((stit, apfi?), (sstit, apfi?)?)?)
|
patrick@36
|
448 |
| ((stit, apfi?), (sstit, apfi?)?))?,
|
patrick@36
|
449 |
(accro | trad | auteur | illustrateur | exer)*
|
patrick@36
|
450 |
# Entite Numero, titre et sous-titre
|
patrick@36
|
451 |
|
patrick@36
|
452 |
# Nom du photocompositeur
|
patrick@36
|
453 |
# lieu de la saisie
|
patrick@36
|
454 |
# Type coll
|
patrick@36
|
455 |
|
patrick@36
|
456 |
# ****** Elements typo ******
|
patrick@36
|
457 |
b = element b { attlist.b, (texte | i | appel)* }
|
patrick@36
|
458 |
attlist.b &= empty
|
patrick@36
|
459 |
# Element Gras
|
patrick@36
|
460 |
i = element i { attlist.i, (texte | b | appel)* }
|
patrick@36
|
461 |
attlist.i &= empty
|
patrick@36
|
462 |
# Element ital
|
patrick@36
|
463 |
r = element r { attlist.r, (texte | appel)* }
|
patrick@36
|
464 |
attlist.r &= empty
|
patrick@36
|
465 |
# Element Romain
|
patrick@36
|
466 |
sup = element sup { attlist.sup, (text | appel | i | b | r)* }
|
patrick@36
|
467 |
attlist.sup &= empty
|
patrick@36
|
468 |
# Element Exposant
|
patrick@36
|
469 |
inf = element inf { attlist.inf, (text | appel | i | b | r)* }
|
patrick@36
|
470 |
attlist.inf &= empty
|
patrick@36
|
471 |
# Element Indice
|
patrick@36
|
472 |
pc = element pc { attlist.pc, (text | appel | i | b | r)* }
|
patrick@36
|
473 |
attlist.pc &= empty
|
patrick@36
|
474 |
# Element petites capitales
|
patrick@36
|
475 |
sl = element sl { attlist.sl, (text | appel | i | b | r)* }
|
patrick@36
|
476 |
attlist.sl &= empty
|
patrick@36
|
477 |
# Element souligne
|
patrick@36
|
478 |
br = element br { attlist.br, empty }
|
patrick@36
|
479 |
attlist.br &= empty
|
patrick@36
|
480 |
# Retour a la ligne dans un element titre
|
patrick@36
|
481 |
|
patrick@36
|
482 |
|
patrick@36
|
483 |
# ****** Elements paragraphe ******
|
patrick@36
|
484 |
p = element p { attlist.p, (typo | appel | renv | renvlnk)* }
|
patrick@36
|
485 |
attlist.p &=
|
patrick@36
|
486 |
attribute align {
|
patrick@36
|
487 |
"centre" | "justif" | "gauche" | "droite" | "ssalinea"
|
patrick@36
|
488 |
}?
|
patrick@36
|
489 |
# Element paragraphe
|
patrick@36
|
490 |
|
patrick@38
|
491 |
|
patrick@38
|
492 |
# Indentifiant et numero permettant de referencer les titres pour une gestion electronique
|
patrick@38
|
493 |
|
patrick@38
|
494 |
# Mai 2009 : ajout type bio, personnages, sommaire, tdm
|
patrick@38
|
495 |
|
patrick@38
|
496 |
# Mai 2009 : ajout appels de figure optionnels en dÈbut et en fin de prÈliminaire
|
patrick@38
|
497 |
|
patrick@38
|
498 |
# Mai 2009 : ajout surtitre optionnel
|
patrick@38
|
499 |
|
patrick@38
|
500 |
# Mai 2009 : ajout sous-soustitre optionnel
|
patrick@38
|
501 |
|
patrick@38
|
502 |
# mai 2009 : ajout ÈlÈment chapeau ******
|
patrick@38
|
503 |
|
patrick@38
|
504 |
# mai 2009 : ajout appels de figure optionnels au niveau de titre et sous titre ******
|
patrick@38
|
505 |
|
patrick@38
|
506 |
# mai 2009 : ajout source optionnel ******
|
patrick@38
|
507 |
|
patrick@38
|
508 |
# dÈcembre 2009 : ajout collec optionnel en fin de pre, pour les titre du meme auteur d un pre bio******
|
patrick@38
|
509 |
sign = element sign { attlist.sign, (typo | appel | br)* }
|
patrick@38
|
510 |
attlist.sign &= empty
|
patrick@38
|
511 |
# Signature de la preface ou de l'intro, etc...**
|
patrick@38
|
512 |
|
patrick@36
|
513 |
# ****** Elements paragraphe bibliographique ******
|
patrick@36
|
514 |
pbib =
|
patrick@36
|
515 |
element pbib {
|
patrick@36
|
516 |
attlist.pbib,
|
patrick@36
|
517 |
(typo
|
patrick@36
|
518 |
| appel
|
patrick@36
|
519 |
| autbib
|
patrick@36
|
520 |
| titbib
|
patrick@36
|
521 |
| editbib
|
patrick@36
|
522 |
| datebib
|
patrick@36
|
523 |
| renv
|
patrick@36
|
524 |
| renvlnk)*
|
patrick@36
|
525 |
}
|
patrick@36
|
526 |
attlist.pbib &= empty
|
patrick@36
|
527 |
# Element paragraphe bibliographique (auteur, titre, editeur, date)
|
patrick@36
|
528 |
autbib = element autbib { attlist.autbib, (typo | appel)* }
|
patrick@36
|
529 |
attlist.autbib &= empty
|
patrick@36
|
530 |
# auteur
|
patrick@36
|
531 |
titbib = element titbib { attlist.titbib, (typo | appel)* }
|
patrick@36
|
532 |
attlist.titbib &= empty
|
patrick@36
|
533 |
# titre ouvrage
|
patrick@36
|
534 |
editbib = element editbib { attlist.editbib, (typo | appel)* }
|
patrick@36
|
535 |
attlist.editbib &= empty
|
patrick@36
|
536 |
# editeur
|
patrick@36
|
537 |
datebib = element datebib { attlist.datebib, (typo | appel)* }
|
patrick@36
|
538 |
attlist.datebib &= empty
|
patrick@36
|
539 |
# date de parution
|
patrick@36
|
540 |
|
patrick@36
|
541 |
# ****** Elements renvois pour reference croisee ******
|
patrick@36
|
542 |
renv = element renv { attlist.renv, typo* }
|
patrick@36
|
543 |
# Renvoi point d'appel
|
patrick@36
|
544 |
attlist.renv &= attribute id { xsd:IDREF }
|
patrick@36
|
545 |
# Lien appel de reference croisee
|
patrick@36
|
546 |
renvlnk = element renvlnk { attlist.renvlnk, typo* }
|
patrick@36
|
547 |
# Renvoi point d'arrivee
|
patrick@36
|
548 |
attlist.renvlnk &= attribute id { xsd:ID }
|
patrick@36
|
549 |
# Lien de reference croisee
|
patrick@36
|
550 |
|
patrick@36
|
551 |
# ****** Elements d'appels de figures et notes ******
|
patrick@36
|
552 |
apnb = element apnb { attlist.apnb, empty }
|
patrick@36
|
553 |
attlist.apnb &= attribute id { xsd:IDREF }
|
patrick@36
|
554 |
# Lien appel de note de bas de page niv 1
|
patrick@36
|
555 |
apnb2 = element apnb2 { attlist.apnb2, empty }
|
patrick@36
|
556 |
attlist.apnb2 &= attribute id { xsd:IDREF }
|
patrick@36
|
557 |
# Lien appel de note de bas de page niv 2
|
patrick@36
|
558 |
apnb3 = element apnb3 { attlist.apnb3, empty }
|
patrick@36
|
559 |
attlist.apnb3 &= attribute id { xsd:IDREF }
|
patrick@36
|
560 |
# Lien appel de note de bas de page niv 3
|
patrick@36
|
561 |
apnf = element apnf { attlist.apnf, empty }
|
patrick@36
|
562 |
attlist.apnf &= attribute id { xsd:IDREF }
|
patrick@36
|
563 |
# Lien appel de note de fin d'ouvrage
|
patrick@36
|
564 |
apnm = element apnm { attlist.apnm, empty }
|
patrick@36
|
565 |
attlist.apnm &= attribute id { xsd:IDREF }
|
patrick@36
|
566 |
# Lien appel de note de marge
|
patrick@36
|
567 |
apfi = element apfi { attlist.apfi, empty }
|
patrick@36
|
568 |
attlist.apfi &=
|
patrick@36
|
569 |
attribute id { xsd:IDREF },
|
patrick@36
|
570 |
attribute place {
|
patrick@36
|
571 |
"haut" | "bas" | "intexte" | "pagesui" | "pagepre"
|
patrick@36
|
572 |
}?,
|
patrick@36
|
573 |
attribute align {
|
patrick@36
|
574 |
"centre" | "gauche" | "droite" | "retrait" | "inline"
|
patrick@36
|
575 |
}?
|
patrick@36
|
576 |
# Lien appel de figure
|
patrick@36
|
577 |
|
patrick@36
|
578 |
# Emplacement de l'illustration : haut de page, bas de page, ‡ la hauteur du texte, page suivante, page precedente
|
patrick@36
|
579 |
|
patrick@36
|
580 |
# Mai 2009 : ajout align : centre | gauche | droite | retrait | inline=dans le texte
|
patrick@36
|
581 |
apta = element apta { attlist.apta, empty }
|
patrick@36
|
582 |
attlist.apta &= attribute id { xsd:IDREF }
|
patrick@36
|
583 |
# Lien appel de tableaux
|
patrick@36
|
584 |
|
patrick@36
|
585 |
# ****** Elements d'indexation ******
|
patrick@36
|
586 |
|
patrick@36
|
587 |
# Rem : Le separateur de niveau d'index est le ;
|
patrick@36
|
588 |
indx = element indx { attlist.indx, (typo | appel)* }
|
patrick@36
|
589 |
# Indexation
|
patrick@36
|
590 |
attlist.indx &= attribute LIBEL { text }?
|
patrick@36
|
591 |
# Libelle dans l'index
|
patrick@36
|
592 |
indx2 = element indx2 { attlist.indx2, (typo | appel)* }
|
patrick@36
|
593 |
# Indexation
|
patrick@36
|
594 |
attlist.indx2 &= attribute LIBEL { text }?
|
patrick@36
|
595 |
# Libelle dans l'index
|
patrick@36
|
596 |
indx3 = element indx3 { attlist.indx3, (typo | appel)* }
|
patrick@36
|
597 |
# Indexation
|
patrick@36
|
598 |
attlist.indx3 &= attribute LIBEL { text }?
|
patrick@36
|
599 |
# Libelle dans l'index
|
patrick@36
|
600 |
|
patrick@38
|
601 |
# ****** Elements Theatre ******
|
patrick@38
|
602 |
theatre = element theatre { attlist.theatre, distrib*, acte+ }
|
patrick@38
|
603 |
attlist.theatre &= empty
|
patrick@38
|
604 |
# Module d'enrichissement pour ouvrage de theatre...
|
patrick@38
|
605 |
distrib = element distrib { attlist.distrib, tit, role+, expos* }
|
patrick@38
|
606 |
attlist.distrib &= empty
|
patrick@38
|
607 |
# liste des personnage de la piece...
|
patrick@38
|
608 |
role = element role { attlist.role, (pers | acteur)* }
|
patrick@38
|
609 |
attlist.role &= empty
|
patrick@38
|
610 |
# role du personnage
|
patrick@38
|
611 |
expos =
|
patrick@38
|
612 |
element expos { attlist.expos, (typo | appel | renv | renvlnk)* }
|
patrick@38
|
613 |
attlist.expos &= empty
|
patrick@38
|
614 |
# exposition (ou se deroule la piece)
|
patrick@38
|
615 |
acte =
|
patrick@38
|
616 |
element acte {
|
patrick@38
|
617 |
attlist.acte, n?, tit?, stit?, (pers | didasc)*, scene+
|
patrick@36
|
618 |
}
|
patrick@38
|
619 |
attlist.acte &= empty
|
patrick@38
|
620 |
# acte
|
patrick@38
|
621 |
pers =
|
patrick@38
|
622 |
element pers {
|
patrick@38
|
623 |
attlist.pers, (typo | appel | renv | renvlnk | didasc)*
|
patrick@38
|
624 |
}
|
patrick@38
|
625 |
attlist.pers &= empty
|
patrick@38
|
626 |
# personnage(s)
|
patrick@38
|
627 |
acteur =
|
patrick@38
|
628 |
element acteur {
|
patrick@38
|
629 |
attlist.acteur, (typo | appel | renv | renvlnk | didasc)*
|
patrick@38
|
630 |
}
|
patrick@38
|
631 |
attlist.acteur &= empty
|
patrick@38
|
632 |
# acteur(s)
|
patrick@38
|
633 |
didasc =
|
patrick@38
|
634 |
element didasc { attlist.didasc, (typo | appel | renv | renvlnk)* }
|
patrick@38
|
635 |
attlist.didasc &= empty
|
patrick@38
|
636 |
# didascalie
|
patrick@38
|
637 |
scene =
|
patrick@38
|
638 |
element scene {
|
patrick@38
|
639 |
attlist.scene, n?, tit?, stit?, (pers | didasc)*, replique+
|
patrick@38
|
640 |
}
|
patrick@38
|
641 |
attlist.scene &= empty
|
patrick@38
|
642 |
# scene
|
patrick@38
|
643 |
replique =
|
patrick@38
|
644 |
element replique {
|
patrick@38
|
645 |
attlist.replique,
|
patrick@38
|
646 |
(pers+, (p | vers | didasc)*)+
|
patrick@38
|
647 |
}
|
patrick@38
|
648 |
attlist.replique &= empty
|
patrick@38
|
649 |
# replique
|
patrick@38
|
650 |
vers = element vers { attlist.vers, (typo | appel | renv | renvlnk)* }
|
patrick@38
|
651 |
attlist.vers &=
|
patrick@38
|
652 |
attribute align {
|
patrick@38
|
653 |
"centre" | "justif" | "gauche" | "droite" | "stichomythie"
|
patrick@38
|
654 |
}?,
|
patrick@38
|
655 |
attribute num { text }?
|
patrick@38
|
656 |
# Attribut du vers (stichomytie pour les vers qui se suivent
|
patrick@36
|
657 |
|
patrick@38
|
658 |
# vers
|
patrick@38
|
659 |
bl = element bl { attlist.bl, empty }
|
patrick@38
|
660 |
# Ligne de blanc
|
patrick@38
|
661 |
attlist.bl &= attribute v { text }
|
patrick@38
|
662 |
# Valeur de blanc
|
patrick@38
|
663 |
sep = element sep { attlist.sep, empty }
|
patrick@38
|
664 |
# Separateur
|
patrick@38
|
665 |
attlist.sep &=
|
patrick@36
|
666 |
attribute type {
|
patrick@38
|
667 |
"filet" | "frise" | "etoiles" | "etoile" | "logo" | "autre"
|
patrick@38
|
668 |
},
|
patrick@38
|
669 |
attribute src { text }?
|
patrick@38
|
670 |
# type de separateur
|
patrick@36
|
671 |
|
patrick@38
|
672 |
# Mai 2009 : ajout scr : nom de l'image pour logo, cul de lampe...
|
patrick@36
|
673 |
|
patrick@36
|
674 |
# ****** Elements postliminaire de l'ouvrage ******
|
patrick@36
|
675 |
appen =
|
patrick@36
|
676 |
element appen {
|
patrick@36
|
677 |
attlist.appen,
|
patrick@36
|
678 |
(apfi?,
|
patrick@36
|
679 |
surtit?,
|
patrick@36
|
680 |
(((tit, apfi?),
|
patrick@36
|
681 |
((stit, apfi?), (sstit, apfi?)?)?)
|
patrick@36
|
682 |
| ((stit, apfi?), (sstit, apfi?)?))?,
|
patrick@36
|
683 |
exer*,
|
patrick@36
|
684 |
((((chapeau?, dev) | notefin),
|
patrick@36
|
685 |
sect*)
|
patrick@36
|
686 |
| sect+),
|
patrick@36
|
687 |
(source | sign)*,
|
patrick@36
|
688 |
defnotes?),
|
patrick@36
|
689 |
collec*,
|
patrick@36
|
690 |
apfi?
|
patrick@36
|
691 |
}
|
patrick@36
|
692 |
attlist.appen &=
|
patrick@36
|
693 |
attribute id { xsd:ID }?,
|
patrick@36
|
694 |
attribute num { text }?,
|
patrick@36
|
695 |
attribute type {
|
patrick@36
|
696 |
"postface"
|
patrick@36
|
697 |
| "conclusion"
|
patrick@36
|
698 |
| "remer"
|
patrick@36
|
699 |
| "biblio"
|
patrick@36
|
700 |
| "bio"
|
patrick@36
|
701 |
| "chrono"
|
patrick@36
|
702 |
| "remarque"
|
patrick@36
|
703 |
| "annexe"
|
patrick@36
|
704 |
| "notes"
|
patrick@36
|
705 |
| "glossaire"
|
patrick@36
|
706 |
| "lexique"
|
patrick@36
|
707 |
| "historique"
|
patrick@36
|
708 |
| "genealogie"
|
patrick@36
|
709 |
| "epilogue"
|
patrick@36
|
710 |
| "tdm"
|
patrick@36
|
711 |
| "horstexte"
|
patrick@36
|
712 |
| "personnages"
|
patrick@36
|
713 |
| "autre"
|
patrick@36
|
714 |
}?
|
patrick@36
|
715 |
# Indentifiant et numero permettant de referencer les titres pour une gestion electronique
|
patrick@36
|
716 |
|
patrick@36
|
717 |
# Appendice : conclusion, postface, annexes etc...
|
patrick@36
|
718 |
|
patrick@36
|
719 |
# mai 2009 : ajout types glossaire, lexique, historique, genealogie, Èpilogue, tdm, horstexte ******
|
patrick@36
|
720 |
|
patrick@36
|
721 |
# mai 2009 : ajout appels de figure optionnels en dÈbut et en fin appendice ******
|
patrick@36
|
722 |
|
patrick@36
|
723 |
# mai 2009 : ajout exergue optionnel en dÈbut d' appendice ******
|
patrick@36
|
724 |
|
patrick@36
|
725 |
# mai 2009 : ajout surtitre optionnel ******
|
patrick@36
|
726 |
|
patrick@36
|
727 |
# Mai 2009 : ajout sous-soustitre optionnel
|
patrick@36
|
728 |
|
patrick@36
|
729 |
# mai 2009 : ajout ÈlÈment chapeau******
|
patrick@36
|
730 |
|
patrick@36
|
731 |
# mai 2009 : ajout ÈlÈment source******
|
patrick@36
|
732 |
|
patrick@36
|
733 |
# mai 2009 : ajout appels de figure optionnels au niveau de titre et sous titre ******
|
patrick@36
|
734 |
|
patrick@36
|
735 |
# dÈcembre 2009 : ajout collec optionnel en fin de pre, pour les titre du meme auteur d un pre bio******
|
patrick@36
|
736 |
|
patrick@36
|
737 |
# dÈcembre 2009 : ajout valeur attribut personnages ******
|
patrick@36
|
738 |
|
patrick@36
|
739 |
# ****** Appareil critique ******
|
patrick@36
|
740 |
appcrit =
|
patrick@36
|
741 |
element appcrit {
|
patrick@36
|
742 |
attlist.appcrit,
|
patrick@36
|
743 |
surtit?,
|
patrick@36
|
744 |
(((tit, apfi?),
|
patrick@36
|
745 |
((stit, apfi?), (sstit, apfi?)?)?)
|
patrick@36
|
746 |
| ((stit, apfi?), (sstit, apfi?)?))?,
|
patrick@36
|
747 |
((((chapeau?, dev) | notefin),
|
patrick@36
|
748 |
sect*)
|
patrick@36
|
749 |
| sect+),
|
patrick@36
|
750 |
(source | sign)*,
|
patrick@36
|
751 |
collec*,
|
patrick@36
|
752 |
defnotes?
|
patrick@36
|
753 |
}
|
patrick@36
|
754 |
attlist.appcrit &=
|
patrick@36
|
755 |
attribute id { xsd:ID }?,
|
patrick@36
|
756 |
attribute num { text }?,
|
patrick@36
|
757 |
attribute type {
|
patrick@36
|
758 |
"intro"
|
patrick@36
|
759 |
| "prologue"
|
patrick@36
|
760 |
| "pref"
|
patrick@36
|
761 |
| "remer"
|
patrick@36
|
762 |
| "avpro"
|
patrick@36
|
763 |
| "biblio"
|
patrick@36
|
764 |
| "remarque"
|
patrick@36
|
765 |
| "note"
|
patrick@36
|
766 |
| "chrono"
|
patrick@36
|
767 |
| "presentation"
|
patrick@36
|
768 |
| "personnages"
|
patrick@36
|
769 |
| "sommaire"
|
patrick@36
|
770 |
| "tdm"
|
patrick@36
|
771 |
| "postface"
|
patrick@36
|
772 |
| "conclusion"
|
patrick@36
|
773 |
| "bio"
|
patrick@36
|
774 |
| "annexe"
|
patrick@36
|
775 |
| "glossaire"
|
patrick@36
|
776 |
| "lexique"
|
patrick@36
|
777 |
| "historique"
|
patrick@36
|
778 |
| "genealogie"
|
patrick@36
|
779 |
| "epilogue"
|
patrick@36
|
780 |
| "horstexte"
|
patrick@36
|
781 |
| "autre"
|
patrick@36
|
782 |
}?
|
patrick@36
|
783 |
# mai 2009 : Definition des types d' appareils critiques : tous ceux de pre et d'appen
|
patrick@36
|
784 |
|
patrick@36
|
785 |
# mai 2009 : ajout surtitre optionnel ******
|
patrick@36
|
786 |
|
patrick@36
|
787 |
# Mai 2009 : ajout sous-soustitre optionnel
|
patrick@36
|
788 |
|
patrick@36
|
789 |
# mai 2009 : ajout ÈlÈment chapeau******
|
patrick@36
|
790 |
|
patrick@36
|
791 |
# mai 2009 : ajout ÈlÈment source******
|
patrick@36
|
792 |
|
patrick@36
|
793 |
# mai 2009 : ajout appels de figure optionnels au niveau de titre et sous titre ******
|
patrick@36
|
794 |
|
patrick@36
|
795 |
# dÈcembre 2009 : ajout collec optionnel en fin de pre, pour les titre du meme auteur d un pre bio******
|
patrick@36
|
796 |
|
patrick@36
|
797 |
# ****** Elements Section ******
|
patrick@36
|
798 |
sect =
|
patrick@36
|
799 |
element sect {
|
patrick@36
|
800 |
attlist.sect,
|
patrick@36
|
801 |
depart,
|
patrick@36
|
802 |
((chapeau?, dev) | notefin),
|
patrick@36
|
803 |
sign*,
|
patrick@36
|
804 |
defnotes?
|
patrick@36
|
805 |
}
|
patrick@36
|
806 |
attlist.sect &=
|
patrick@36
|
807 |
attribute id { xsd:ID }?,
|
patrick@36
|
808 |
attribute num { text }?,
|
patrick@36
|
809 |
attribute type {
|
patrick@36
|
810 |
"postface"
|
patrick@36
|
811 |
| "conclusion"
|
patrick@36
|
812 |
| "remer"
|
patrick@36
|
813 |
| "biblio"
|
patrick@36
|
814 |
| "bio"
|
patrick@36
|
815 |
| "chrono"
|
patrick@36
|
816 |
| "remarque"
|
patrick@36
|
817 |
| "annexe"
|
patrick@36
|
818 |
| "notes"
|
patrick@36
|
819 |
| "autre"
|
patrick@36
|
820 |
}?
|
patrick@36
|
821 |
# Indentifiant et numero permettant de referencer les titres pour une gestion electronique
|
patrick@36
|
822 |
|
patrick@36
|
823 |
# Section
|
patrick@36
|
824 |
|
patrick@36
|
825 |
# mai 2009 : ajout ÈlÈment chapeau******
|
patrick@36
|
826 |
|
patrick@36
|
827 |
|
patrick@36
|
828 |
# ****** Element liste ******
|
patrick@36
|
829 |
\list = element list { attlist.list, item+ }
|
patrick@36
|
830 |
attlist.list &=
|
patrick@36
|
831 |
attribute type {
|
patrick@36
|
832 |
"puce"
|
patrick@36
|
833 |
| "tiret"
|
patrick@36
|
834 |
| "num"
|
patrick@36
|
835 |
| "alpha"
|
patrick@36
|
836 |
| "none"
|
patrick@36
|
837 |
| "imagelist1"
|
patrick@36
|
838 |
| "imagelist2"
|
patrick@36
|
839 |
| "imagelist3"
|
patrick@36
|
840 |
| "autre"
|
patrick@36
|
841 |
}?
|
patrick@36
|
842 |
# Liste, Enumeration
|
patrick@36
|
843 |
|
patrick@36
|
844 |
# mai 2009 : ajout valeur type imagelist1 imagelist2 imagelist3 pour utiliser une image comme symbole optionnel ******
|
patrick@36
|
845 |
|
patrick@36
|
846 |
# Item liste
|
patrick@36
|
847 |
item = element item { attlist.item, (n?, p+), \list* }
|
patrick@36
|
848 |
attlist.item &= empty
|
patrick@36
|
849 |
# ****** Strophe et vers dans la LG... ******
|
patrick@36
|
850 |
stroplg = element stroplg { attlist.stroplg, tit?, (verslg | bl)+ }
|
patrick@36
|
851 |
# Strophe
|
patrick@36
|
852 |
attlist.stroplg &= attribute type { text }?
|
patrick@36
|
853 |
# Type de vers : centre, retrait, ligne
|
patrick@36
|
854 |
|
patrick@36
|
855 |
# Vers
|
patrick@36
|
856 |
verslg = element verslg { attlist.verslg, (typo | appel)* }
|
patrick@36
|
857 |
attlist.verslg &=
|
patrick@36
|
858 |
attribute type { text }?,
|
patrick@36
|
859 |
attribute num { text }?
|
patrick@36
|
860 |
# Dialogue
|
patrick@36
|
861 |
dialogue =
|
patrick@36
|
862 |
element dialogue {
|
patrick@36
|
863 |
attlist.dialogue,
|
patrick@36
|
864 |
(interloc,
|
patrick@36
|
865 |
(p | stroplg | bl | sep | \list | cita | fig | tableau | enc)+)+,
|
patrick@36
|
866 |
fin?
|
patrick@36
|
867 |
}
|
patrick@36
|
868 |
attlist.dialogue &= empty
|
patrick@36
|
869 |
interloc =
|
patrick@36
|
870 |
element interloc {
|
patrick@36
|
871 |
attlist.interloc, (typo | appel | renv | renvlnk)*
|
patrick@36
|
872 |
}
|
patrick@36
|
873 |
attlist.interloc &= empty
|
patrick@36
|
874 |
cita =
|
patrick@36
|
875 |
element cita {
|
patrick@36
|
876 |
attlist.cita,
|
patrick@36
|
877 |
(date | lieu | entete)*,
|
patrick@36
|
878 |
(p | stroplg | bl)+,
|
patrick@36
|
879 |
(source | auteur | polit)*,
|
patrick@36
|
880 |
fin?
|
patrick@36
|
881 |
}
|
patrick@36
|
882 |
attlist.cita &= attribute type { "citation" | "lettre" }?
|
patrick@36
|
883 |
lettre =
|
patrick@36
|
884 |
element lettre {
|
patrick@36
|
885 |
attlist.lettre,
|
patrick@36
|
886 |
(date | lieu | entete)*,
|
patrick@36
|
887 |
(p | stroplg | bl)+,
|
patrick@36
|
888 |
(source | auteur | polit)*
|
patrick@36
|
889 |
}
|
patrick@36
|
890 |
attlist.lettre &= empty
|
patrick@36
|
891 |
infratexte =
|
patrick@36
|
892 |
element infratexte {
|
patrick@36
|
893 |
attlist.infratexte, tit?, (p | cita | stroplg | bl | sep)+, fin?
|
patrick@36
|
894 |
}
|
patrick@36
|
895 |
attlist.infratexte &= empty
|
patrick@36
|
896 |
fin = element fin { attlist.fin, (typo | appel | renv | renvlnk | br)* }
|
patrick@36
|
897 |
attlist.fin &= empty
|
patrick@36
|
898 |
# matÈrialise un texte de fin de niveau
|
patrick@36
|
899 |
date =
|
patrick@36
|
900 |
element date { attlist.date, (typo | appel | renv | renvlnk | br)* }
|
patrick@36
|
901 |
attlist.date &= empty
|
patrick@36
|
902 |
# date pour une correspondance
|
patrick@36
|
903 |
lieu =
|
patrick@36
|
904 |
element lieu { attlist.lieu, (typo | appel | renv | renvlnk | br)* }
|
patrick@36
|
905 |
attlist.lieu &= empty
|
patrick@36
|
906 |
# lieu pour une correspondance
|
patrick@36
|
907 |
entete =
|
patrick@36
|
908 |
element entete {
|
patrick@36
|
909 |
attlist.entete, (typo | appel | renv | renvlnk | br)*
|
patrick@36
|
910 |
}
|
patrick@36
|
911 |
attlist.entete &= empty
|
patrick@36
|
912 |
# entete pour une correspondance
|
patrick@36
|
913 |
polit =
|
patrick@36
|
914 |
element polit { attlist.polit, (typo | appel | renv | renvlnk | br)* }
|
patrick@36
|
915 |
attlist.polit &= empty
|
patrick@36
|
916 |
# politesse pour une correspondance
|
patrick@36
|
917 |
|
patrick@36
|
918 |
# ****** Elements Lettrine ******
|
patrick@36
|
919 |
let = element let { attlist.let, typo* }
|
patrick@36
|
920 |
attlist.let &= empty
|
patrick@36
|
921 |
# Lettrine
|
patrick@36
|
922 |
|
patrick@36
|
923 |
# ****** Encadre ******
|
patrick@36
|
924 |
enc =
|
patrick@36
|
925 |
element enc { attlist.enc, surtit?, tit?, stit?, exer*, dev, sign* }
|
patrick@36
|
926 |
attlist.enc &= empty
|
patrick@36
|
927 |
# Encadre
|
patrick@36
|
928 |
|
patrick@36
|
929 |
# mai 2009 : ajout surtitre optionnel ******
|
patrick@36
|
930 |
|
patrick@36
|
931 |
# ****** Elements definitions de notes ******
|
patrick@36
|
932 |
defnotes =
|
patrick@36
|
933 |
element defnotes {
|
patrick@36
|
934 |
attlist.defnotes, (ntb | ntb2 | ntb3 | ntf | ntm)+
|
patrick@36
|
935 |
}
|
patrick@36
|
936 |
attlist.defnotes &= empty
|
patrick@36
|
937 |
# Definition des notes de la partie, du chapitre etc...
|
patrick@36
|
938 |
ntb = element ntb { attlist.ntb, (p | pbib | tableau | fig)+ }
|
patrick@36
|
939 |
# Texte de la note
|
patrick@36
|
940 |
attlist.ntb &= attribute id { xsd:ID }
|
patrick@36
|
941 |
# Lien appel de note
|
patrick@36
|
942 |
ntb2 = element ntb2 { attlist.ntb2, (p | pbib | tableau | fig)+ }
|
patrick@36
|
943 |
# Texte de la note niveau 2
|
patrick@36
|
944 |
attlist.ntb2 &= attribute id { xsd:ID }
|
patrick@36
|
945 |
# Lien appel de note niveau 2
|
patrick@36
|
946 |
ntb3 = element ntb3 { attlist.ntb3, (p | pbib | tableau | fig)+ }
|
patrick@36
|
947 |
# Texte de la note niveau 3
|
patrick@36
|
948 |
attlist.ntb3 &= attribute id { xsd:ID }
|
patrick@36
|
949 |
# Lien appel de note niveau 3
|
patrick@36
|
950 |
ntf = element ntf { attlist.ntf, (p | pbib | tableau | fig)+ }
|
patrick@36
|
951 |
# Texte de la note
|
patrick@36
|
952 |
attlist.ntf &= attribute id { xsd:ID }
|
patrick@36
|
953 |
# Lien appel de note
|
patrick@36
|
954 |
ntm = element ntm { attlist.ntm, (p | pbib | tableau | fig)+ }
|
patrick@36
|
955 |
# Texte de la note
|
patrick@36
|
956 |
attlist.ntm &= attribute id { xsd:ID }
|
patrick@36
|
957 |
# Lien appel de note
|
patrick@36
|
958 |
|
patrick@36
|
959 |
# ****** Elements note de fin ******
|
patrick@36
|
960 |
notefin =
|
patrick@36
|
961 |
element notefin {
|
patrick@36
|
962 |
attlist.notefin,
|
patrick@36
|
963 |
((ntf | p)* | (nfniv1 | nfniv2 | nfniv3 | nfniv4 | nfniv5)*)+
|
patrick@36
|
964 |
}
|
patrick@36
|
965 |
attlist.notefin &= empty
|
patrick@36
|
966 |
# Developpement des chapitres, parties ou sections...
|
patrick@36
|
967 |
|
patrick@36
|
968 |
# ****** Niveau d'intertitre et de Texte ******
|
patrick@36
|
969 |
nfniv1 =
|
patrick@36
|
970 |
element nfniv1 {
|
patrick@36
|
971 |
attlist.nfniv1,
|
patrick@36
|
972 |
n?,
|
patrick@36
|
973 |
int?,
|
patrick@36
|
974 |
sint?,
|
patrick@36
|
975 |
((ntf | p)* | (nfniv2 | nfniv3 | nfniv4 | nfniv5)*)+
|
patrick@36
|
976 |
}
|
patrick@36
|
977 |
attlist.nfniv1 &= empty
|
patrick@36
|
978 |
# Niveau 1
|
patrick@36
|
979 |
nfniv2 =
|
patrick@36
|
980 |
element nfniv2 {
|
patrick@36
|
981 |
attlist.nfniv2,
|
patrick@36
|
982 |
n?,
|
patrick@36
|
983 |
int?,
|
patrick@36
|
984 |
sint?,
|
patrick@36
|
985 |
((ntf | p)* | (nfniv3 | nfniv4 | nfniv5)*)+
|
patrick@36
|
986 |
}
|
patrick@36
|
987 |
attlist.nfniv2 &= empty
|
patrick@36
|
988 |
# Niveau 2
|
patrick@36
|
989 |
nfniv3 =
|
patrick@36
|
990 |
element nfniv3 {
|
patrick@36
|
991 |
attlist.nfniv3,
|
patrick@36
|
992 |
n?,
|
patrick@36
|
993 |
int?,
|
patrick@36
|
994 |
sint?,
|
patrick@36
|
995 |
((ntf | p)* | (nfniv4 | nfniv5)*)+
|
patrick@36
|
996 |
}
|
patrick@36
|
997 |
attlist.nfniv3 &= empty
|
patrick@36
|
998 |
# Niveau 3
|
patrick@36
|
999 |
nfniv4 =
|
patrick@36
|
1000 |
element nfniv4 {
|
patrick@36
|
1001 |
attlist.nfniv4,
|
patrick@36
|
1002 |
n?,
|
patrick@36
|
1003 |
int?,
|
patrick@36
|
1004 |
sint?,
|
patrick@36
|
1005 |
((ntf | p)* | nfniv5*)+
|
patrick@36
|
1006 |
}
|
patrick@36
|
1007 |
attlist.nfniv4 &= empty
|
patrick@36
|
1008 |
# Niveau 4
|
patrick@36
|
1009 |
nfniv5 = element nfniv5 { attlist.nfniv5, n?, int?, sint?, (ntf | p)+ }
|
patrick@36
|
1010 |
attlist.nfniv5 &= empty
|
patrick@36
|
1011 |
# Niveau 5
|
patrick@36
|
1012 |
|
patrick@36
|
1013 |
# ****** Elements definitions de figure ******
|
patrick@36
|
1014 |
fig = element fig { attlist.fig, (tit | img | leg | source)+ }
|
patrick@36
|
1015 |
# contenu du bloc figure
|
patrick@36
|
1016 |
attlist.fig &= attribute id { xsd:ID }?
|
patrick@36
|
1017 |
# Lien appel de figure
|
patrick@36
|
1018 |
img = element img { attlist.img, empty }
|
patrick@36
|
1019 |
# Appel de la source de l'image
|
patrick@36
|
1020 |
attlist.img &= attribute src { text }?
|
patrick@36
|
1021 |
# Nom de l'image
|
patrick@36
|
1022 |
leg = element leg { attlist.leg, p+ }
|
patrick@36
|
1023 |
attlist.leg &= empty
|
patrick@36
|
1024 |
# Legende d'illustration
|
patrick@36
|
1025 |
|
patrick@36
|
1026 |
# ****** Elements definitions de tableau ******
|
patrick@36
|
1027 |
yesorno = string
|
patrick@36
|
1028 |
tableau =
|
patrick@36
|
1029 |
element tableau {
|
patrick@36
|
1030 |
attlist.tableau,
|
patrick@36
|
1031 |
(leg | source)*,
|
patrick@36
|
1032 |
(stab | (table, stab*)),
|
patrick@36
|
1033 |
(leg | source)*
|
patrick@36
|
1034 |
}
|
patrick@36
|
1035 |
# contenu du bloc tableau
|
patrick@36
|
1036 |
attlist.tableau &= attribute id { xsd:ID }?
|
patrick@36
|
1037 |
# Lien appel de tableau
|
patrick@36
|
1038 |
|
patrick@36
|
1039 |
# dÈcembre 2009 : ajout possibilitÈ table et stab ******
|
patrick@36
|
1040 |
stab = element stab { attlist.stab, empty }
|
patrick@36
|
1041 |
# Appel de la source du tableau (si tableau=image)
|
patrick@36
|
1042 |
attlist.stab &= attribute src { text }?
|
patrick@36
|
1043 |
# Nom du tableau
|
patrick@36
|
1044 |
|
patrick@36
|
1045 |
# ****** Tableau en cals ******
|
patrick@36
|
1046 |
table = element table { attlist.table, title?, tgroup+ }
|
patrick@36
|
1047 |
attlist.table &=
|
patrick@36
|
1048 |
attribute frame {
|
patrick@36
|
1049 |
"top" | "bottom" | "topbot" | "all" | "sides" | "none"
|
patrick@36
|
1050 |
}?,
|
patrick@36
|
1051 |
attribute colsep { yesorno }?,
|
patrick@36
|
1052 |
attribute rowsep { yesorno }?
|
patrick@36
|
1053 |
title =
|
patrick@36
|
1054 |
element title { attlist.title, (typo | appel | br | renv | renvlnk)* }
|
patrick@36
|
1055 |
attlist.title &= empty
|
patrick@36
|
1056 |
tgroup =
|
patrick@36
|
1057 |
element tgroup {
|
patrick@36
|
1058 |
attlist.tgroup, colspec*, spanspec*, thead?, tfoot?, tbody
|
patrick@36
|
1059 |
}
|
patrick@36
|
1060 |
attlist.tgroup &=
|
patrick@36
|
1061 |
attribute cols { text },
|
patrick@36
|
1062 |
attribute colsep { yesorno }?,
|
patrick@36
|
1063 |
attribute rowsep { yesorno }?,
|
patrick@36
|
1064 |
attribute align { "left" | "right" | "center" | "justify" | "char" }?,
|
patrick@36
|
1065 |
attribute char { text }?,
|
patrick@36
|
1066 |
attribute charoff { text }?
|
patrick@36
|
1067 |
colspec = element colspec { attlist.colspec, empty }
|
patrick@36
|
1068 |
attlist.colspec &=
|
patrick@36
|
1069 |
attribute colnum { text }?,
|
patrick@36
|
1070 |
attribute colname { text }?,
|
patrick@36
|
1071 |
attribute colwidth { text }?,
|
patrick@36
|
1072 |
attribute colsep { yesorno }?,
|
patrick@36
|
1073 |
attribute rowsep { yesorno }?,
|
patrick@36
|
1074 |
attribute align { "left" | "right" | "center" | "justify" | "char" }?,
|
patrick@36
|
1075 |
attribute char { text }?,
|
patrick@36
|
1076 |
attribute charoff { text }?
|
patrick@36
|
1077 |
spanspec = element spanspec { attlist.spanspec, empty }
|
patrick@36
|
1078 |
attlist.spanspec &=
|
patrick@36
|
1079 |
attribute namest { text },
|
patrick@36
|
1080 |
attribute nameend { text },
|
patrick@36
|
1081 |
attribute spanname { text },
|
patrick@36
|
1082 |
attribute colsep { yesorno }?,
|
patrick@36
|
1083 |
attribute rowsep { yesorno }?,
|
patrick@36
|
1084 |
attribute align { "left" | "right" | "center" | "justify" | "char" }?,
|
patrick@36
|
1085 |
attribute char { text }?,
|
patrick@36
|
1086 |
attribute charoff { text }?
|
patrick@36
|
1087 |
thead = element thead { attlist.thead, colspec*, row+ }
|
patrick@36
|
1088 |
attlist.thead &= attribute valign { "top" | "middle" | "bottom" }?
|
patrick@36
|
1089 |
tfoot = element tfoot { attlist.tfoot, colspec*, row+ }
|
patrick@36
|
1090 |
attlist.tfoot &= attribute valign { "top" | "middle" | "bottom" }?
|
patrick@36
|
1091 |
tbody = element tbody { attlist.tbody, row+ }
|
patrick@36
|
1092 |
attlist.tbody &= attribute valign { "top" | "middle" | "bottom" }?
|
patrick@36
|
1093 |
row = element row { attlist.row, entry* }
|
patrick@36
|
1094 |
attlist.row &=
|
patrick@36
|
1095 |
attribute rowsep { yesorno }?,
|
patrick@36
|
1096 |
attribute valign { "top" | "middle" | "bottom" }?
|
patrick@36
|
1097 |
entry =
|
patrick@36
|
1098 |
element entry {
|
patrick@36
|
1099 |
attlist.entry, (typo | appel | renv | renvlnk | br | p | \list)*
|
patrick@36
|
1100 |
}
|
patrick@36
|
1101 |
attlist.entry &=
|
patrick@36
|
1102 |
attribute colname { text }?,
|
patrick@36
|
1103 |
attribute namest { text }?,
|
patrick@36
|
1104 |
attribute nameend { text }?,
|
patrick@36
|
1105 |
attribute spanname { text }?,
|
patrick@36
|
1106 |
attribute morerows { text }?,
|
patrick@36
|
1107 |
attribute colsep { yesorno }?,
|
patrick@36
|
1108 |
attribute rowsep { yesorno }?,
|
patrick@36
|
1109 |
attribute align { "left" | "right" | "center" | "justify" | "char" }?,
|
patrick@36
|
1110 |
attribute char { text }?,
|
patrick@36
|
1111 |
attribute charoff { text }?,
|
patrick@36
|
1112 |
attribute rotate { yesorno }?,
|
patrick@36
|
1113 |
attribute valign { "top" | "middle" | "bottom" }?
|