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