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