Commit | Line | Data |
---|---|---|
8cd39fb3 MH |
1 | # ...................................................................... |
2 | ||
3 | # DocBook document hierarchy module V4.2 ............................... | |
4 | ||
5 | # File dbhierx.mod ..................................................... | |
6 | ||
7 | # Copyright 1992-2002 HaL Computer Systems, Inc., | |
8 | # O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software | |
9 | # Corporation, Norman Walsh, Sun Microsystems, Inc., and the | |
10 | # Organization for the Advancement of Structured Information | |
11 | # Standards (OASIS). | |
12 | # | |
13 | # $Id: dbhier.rnc,v 1.1 2003/08/30 04:19:27 jjc Exp $ | |
14 | # | |
15 | # Permission to use, copy, modify and distribute the DocBook DTD | |
16 | # and its accompanying documentation for any purpose and without fee | |
17 | # is hereby granted in perpetuity, provided that the above copyright | |
18 | # notice and this paragraph appear in all copies. The copyright | |
19 | # holders make no representation about the suitability of the DTD for | |
20 | # any purpose. It is provided "as is" without expressed or implied | |
21 | # warranty. | |
22 | # | |
23 | # If you modify the DocBook DTD in any way, except for declaring and | |
24 | # referencing additional sets of general entities and declaring | |
25 | # additional notations, label your DTD as a variant of DocBook. See | |
26 | # the maintenance documentation for more information. | |
27 | # | |
28 | # Please direct all questions, bug reports, or suggestions for | |
29 | # changes to the docbook@lists.oasis-open.org mailing list. For more | |
30 | # information, see http://www.oasis-open.org/docbook/. | |
31 | ||
32 | # ...................................................................... | |
33 | ||
34 | # This module contains the definitions for the overall document | |
35 | # hierarchies of DocBook documents. It covers computer documentation | |
36 | # manuals and manual fragments, as well as reference entries (such as | |
37 | # man pages) and technical journals or anthologies containing | |
38 | # articles. | |
39 | # | |
40 | # This module depends on the DocBook information pool module. All | |
41 | # elements and entities referenced but not defined here are assumed | |
42 | # to be defined in the information pool module. | |
43 | # | |
44 | # In DTD driver files referring to this module, please use an entity | |
45 | # declaration that uses the public identifier shown below: | |
46 | # | |
47 | # <!ENTITY % dbhier PUBLIC | |
48 | # "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN" | |
49 | # "dbhierx.mod"> | |
50 | # %dbhier; | |
51 | # | |
52 | # See the documentation for detailed information on the parameter | |
53 | # entity and module scheme used in DocBook, customizing DocBook and | |
54 | # planning for interchange, and changes made since the last release | |
55 | # of DocBook. | |
56 | ||
57 | # ...................................................................... | |
58 | ||
59 | # Entities for module inclusions ....................................... | |
60 | ||
61 | # ...................................................................... | |
62 | ||
63 | # Entities for element classes ......................................... | |
64 | ||
65 | local.appendix.class = notAllowed | |
66 | appendix.class = appendix | local.appendix.class | |
67 | local.article.class = notAllowed | |
68 | article.class = article | local.article.class | |
69 | local.book.class = notAllowed | |
70 | book.class = book | local.book.class | |
71 | local.chapter.class = notAllowed | |
72 | chapter.class = chapter | local.chapter.class | |
73 | local.index.class = notAllowed | |
74 | index.class = index | setindex | local.index.class | |
75 | local.refentry.class = notAllowed | |
76 | refentry.class = refentry | local.refentry.class | |
77 | local.section.class = notAllowed | |
78 | section.class = section | local.section.class | |
79 | local.nav.class = notAllowed | |
80 | nav.class = | |
81 | toc | lot | index | glossary | bibliography | local.nav.class | |
82 | # Redeclaration placeholder ............................................ | |
83 | ||
84 | # For redeclaring entities that are declared after this point while | |
85 | # retaining their references to the entities that are declared before | |
86 | # this point | |
87 | ||
88 | # ...................................................................... | |
89 | ||
90 | # Entities for element mixtures ........................................ | |
91 | ||
92 | # The DocBook TC may produce an official forms module for DocBook. | |
93 | ||
94 | # This PE provides the hook by which it can be inserted into the DTD. | |
95 | forms.hook = notAllowed | |
96 | local.divcomponent.mix = notAllowed | |
97 | divcomponent.mix = | |
98 | list.class | |
99 | | admon.class | |
100 | | linespecific.class | |
101 | | synop.class | |
102 | | para.class | |
103 | | informal.class | |
104 | | formal.class | |
105 | | compound.class | |
106 | | genobj.class | |
107 | | descobj.class | |
108 | | ndxterm.class | |
109 | | beginpage | |
110 | | forms.hook | |
111 | | local.divcomponent.mix | |
112 | local.refcomponent.mix = notAllowed | |
113 | refcomponent.mix = | |
114 | list.class | |
115 | | admon.class | |
116 | | linespecific.class | |
117 | | synop.class | |
118 | | para.class | |
119 | | informal.class | |
120 | | formal.class | |
121 | | compound.class | |
122 | | genobj.class | |
123 | | descobj.class | |
124 | | ndxterm.class | |
125 | | beginpage | |
126 | | local.refcomponent.mix | |
127 | local.indexdivcomponent.mix = notAllowed | |
128 | indexdivcomponent.mix = | |
129 | itemizedlist | |
130 | | orderedlist | |
131 | | variablelist | |
132 | | simplelist | |
133 | | linespecific.class | |
134 | | synop.class | |
135 | | para.class | |
136 | | informal.class | |
137 | | anchor | |
138 | | remark | |
139 | | link.char.class | |
140 | | beginpage | |
141 | | local.indexdivcomponent.mix | |
142 | local.refname.char.mix = notAllowed | |
143 | refname.char.mix = text | tech.char.class | local.refname.char.mix | |
144 | local.partcontent.mix = notAllowed | |
145 | partcontent.mix = | |
146 | appendix.class | |
147 | | chapter.class | |
148 | | nav.class | |
149 | | article.class | |
150 | | preface | |
151 | | refentry.class | |
152 | | reference | |
153 | | local.partcontent.mix | |
154 | local.refinline.char.mix = notAllowed | |
155 | refinline.char.mix = | |
156 | text | |
157 | | xref.char.class | |
158 | | gen.char.class | |
159 | | link.char.class | |
160 | | tech.char.class | |
161 | | base.char.class | |
162 | | docinfo.char.class | |
163 | | other.char.class | |
164 | | ndxterm.class | |
165 | | beginpage | |
166 | | local.refinline.char.mix | |
167 | local.refclass.char.mix = notAllowed | |
168 | refclass.char.mix = text | application | local.refclass.char.mix | |
169 | # Redeclaration placeholder 2 .......................................... | |
170 | ||
171 | # For redeclaring entities that are declared after this point while | |
172 | # retaining their references to the entities that are declared before | |
173 | # this point | |
174 | ||
175 | # ...................................................................... | |
176 | ||
177 | # Entities for content models .......................................... | |
178 | div.title.content = title, subtitle?, titleabbrev? | |
179 | bookcomponent.title.content = title, subtitle?, titleabbrev? | |
180 | sect.title.content = title, subtitle?, titleabbrev? | |
181 | refsect.title.content = title, subtitle?, titleabbrev? | |
182 | bookcomponent.content = | |
183 | (divcomponent.mix+, | |
184 | (sect1* | refentry.class* | simplesect* | section.class*)) | |
185 | | (sect1+ | refentry.class+ | simplesect+ | section.class+) | |
186 | # ...................................................................... | |
187 | ||
188 | # Set and SetInfo ...................................................... | |
189 | local.set.attrib = empty | |
190 | set.role.attrib = role.attrib | |
191 | set = | |
192 | element set { | |
193 | set.attlist, | |
194 | div.title.content?, | |
195 | setinfo?, | |
196 | toc?, | |
197 | book.class+, | |
198 | setindex? | |
199 | } | |
200 | # end of set.element | |
201 | ||
202 | # FPI: SGML formal public identifier | |
203 | set.attlist &= | |
204 | attribute fpi { text }?, | |
205 | status.attrib, | |
206 | common.attrib, | |
207 | set.role.attrib, | |
208 | local.set.attrib | |
209 | # end of set.attlist | |
210 | ||
211 | # end of set.module | |
212 | local.setinfo.attrib = empty | |
213 | setinfo.role.attrib = role.attrib | |
214 | setinfo = element setinfo { setinfo.attlist, info.class+ } | |
215 | # end of setinfo.element | |
216 | ||
217 | # Contents: IDs of the ToC, Books, and SetIndex that comprise | |
218 | # the set, in the order of their appearance | |
219 | setinfo.attlist &= | |
220 | attribute contents { xsd:IDREFS }?, | |
221 | common.attrib, | |
222 | setinfo.role.attrib, | |
223 | local.setinfo.attrib | |
224 | # end of setinfo.attlist | |
225 | ||
226 | # end of setinfo.module | |
227 | ||
228 | # end of set.content.module | |
229 | ||
230 | # ...................................................................... | |
231 | ||
232 | # Book and BookInfo .................................................... | |
233 | local.book.attrib = empty | |
234 | book.role.attrib = role.attrib | |
235 | book = | |
236 | element book { | |
237 | book.attlist, | |
238 | div.title.content?, | |
239 | bookinfo?, | |
240 | (dedication | |
241 | | toc | |
242 | | lot | |
243 | | glossary | |
244 | | bibliography | |
245 | | preface | |
246 | | chapter.class | |
247 | | reference | |
248 | | part | |
249 | | article.class | |
250 | | appendix.class | |
251 | | index.class | |
252 | | colophon)* | |
253 | } | |
254 | # end of book.element | |
255 | ||
256 | # FPI: SGML formal public identifier | |
257 | book.attlist &= | |
258 | attribute fpi { text }?, | |
259 | label.attrib, | |
260 | status.attrib, | |
261 | common.attrib, | |
262 | book.role.attrib, | |
263 | local.book.attrib | |
264 | # end of book.attlist | |
265 | ||
266 | # end of book.module | |
267 | local.bookinfo.attrib = empty | |
268 | bookinfo.role.attrib = role.attrib | |
269 | bookinfo = element bookinfo { bookinfo.attlist, info.class+ } | |
270 | # end of bookinfo.element | |
271 | ||
272 | # Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters, | |
273 | # Appendixes, References, GLossary, Bibliography, and indexes | |
274 | # comprising the Book, in the order of their appearance | |
275 | bookinfo.attlist &= | |
276 | attribute contents { xsd:IDREFS }?, | |
277 | common.attrib, | |
278 | bookinfo.role.attrib, | |
279 | local.bookinfo.attrib | |
280 | # end of bookinfo.attlist | |
281 | ||
282 | # end of bookinfo.module | |
283 | ||
284 | # end of book.content.module | |
285 | ||
286 | # ...................................................................... | |
287 | ||
288 | # Dedication, ToC, and LoT ............................................. | |
289 | local.dedication.attrib = empty | |
290 | dedication.role.attrib = role.attrib | |
291 | dedication = | |
292 | element dedication { | |
293 | dedication.attlist, sect.title.content?, legalnotice.mix+ | |
294 | } | |
295 | # end of dedication.element | |
296 | dedication.attlist &= | |
297 | status.attrib, | |
298 | common.attrib, | |
299 | dedication.role.attrib, | |
300 | local.dedication.attrib | |
301 | # end of dedication.attlist | |
302 | ||
303 | # end of dedication.module | |
304 | local.colophon.attrib = empty | |
305 | colophon.role.attrib = role.attrib | |
306 | colophon = | |
307 | element colophon { | |
308 | colophon.attlist, sect.title.content?, textobject.mix+ | |
309 | } | |
310 | # end of colophon.element | |
311 | colophon.attlist &= | |
312 | status.attrib, | |
313 | common.attrib, | |
314 | colophon.role.attrib, | |
315 | local.colophon.attrib | |
316 | # end of colophon.attlist | |
317 | ||
318 | # end of colophon.module | |
319 | local.toc.attrib = empty | |
320 | toc.role.attrib = role.attrib | |
321 | toc = | |
322 | element toc { | |
323 | toc.attlist, | |
324 | beginpage?, | |
325 | bookcomponent.title.content?, | |
326 | tocfront*, | |
327 | (tocpart | tocchap)*, | |
328 | tocback* | |
329 | } | |
330 | # end of toc.element | |
331 | toc.attlist &= | |
332 | pagenum.attrib, common.attrib, toc.role.attrib, local.toc.attrib | |
333 | # end of toc.attlist | |
334 | ||
335 | # end of toc.module | |
336 | local.tocfront.attrib = empty | |
337 | tocfront.role.attrib = role.attrib | |
338 | tocfront = element tocfront { tocfront.attlist, para.char.mix* } | |
339 | # end of tocfront.element | |
340 | ||
341 | # to element that this entry represents | |
342 | tocfront.attlist &= | |
343 | label.attrib, | |
344 | linkend.attrib, | |
345 | pagenum.attrib, | |
346 | common.attrib, | |
347 | tocfront.role.attrib, | |
348 | local.tocfront.attrib | |
349 | # end of tocfront.attlist | |
350 | ||
351 | # end of tocfront.module | |
352 | local.tocentry.attrib = empty | |
353 | tocentry.role.attrib = role.attrib | |
354 | tocentry = element tocentry { tocentry.attlist, para.char.mix* } | |
355 | # end of tocentry.element | |
356 | ||
357 | # to element that this entry represents | |
358 | tocentry.attlist &= | |
359 | linkend.attrib, | |
360 | pagenum.attrib, | |
361 | common.attrib, | |
362 | tocentry.role.attrib, | |
363 | local.tocentry.attrib | |
364 | # end of tocentry.attlist | |
365 | ||
366 | # end of tocentry.module | |
367 | local.tocpart.attrib = empty | |
368 | tocpart.role.attrib = role.attrib | |
369 | tocpart = element tocpart { tocpart.attlist, tocentry+, tocchap* } | |
370 | # end of tocpart.element | |
371 | tocpart.attlist &= | |
372 | common.attrib, tocpart.role.attrib, local.tocpart.attrib | |
373 | # end of tocpart.attlist | |
374 | ||
375 | # end of tocpart.module | |
376 | local.tocchap.attrib = empty | |
377 | tocchap.role.attrib = role.attrib | |
378 | tocchap = element tocchap { tocchap.attlist, tocentry+, toclevel1* } | |
379 | # end of tocchap.element | |
380 | tocchap.attlist &= | |
381 | label.attrib, common.attrib, tocchap.role.attrib, local.tocchap.attrib | |
382 | # end of tocchap.attlist | |
383 | ||
384 | # end of tocchap.module | |
385 | local.toclevel1.attrib = empty | |
386 | toclevel1.role.attrib = role.attrib | |
387 | toclevel1 = | |
388 | element toclevel1 { toclevel1.attlist, tocentry+, toclevel2* } | |
389 | # end of toclevel1.element | |
390 | toclevel1.attlist &= | |
391 | common.attrib, toclevel1.role.attrib, local.toclevel1.attrib | |
392 | # end of toclevel1.attlist | |
393 | ||
394 | # end of toclevel1.module | |
395 | local.toclevel2.attrib = empty | |
396 | toclevel2.role.attrib = role.attrib | |
397 | toclevel2 = | |
398 | element toclevel2 { toclevel2.attlist, tocentry+, toclevel3* } | |
399 | # end of toclevel2.element | |
400 | toclevel2.attlist &= | |
401 | common.attrib, toclevel2.role.attrib, local.toclevel2.attrib | |
402 | # end of toclevel2.attlist | |
403 | ||
404 | # end of toclevel2.module | |
405 | local.toclevel3.attrib = empty | |
406 | toclevel3.role.attrib = role.attrib | |
407 | toclevel3 = | |
408 | element toclevel3 { toclevel3.attlist, tocentry+, toclevel4* } | |
409 | # end of toclevel3.element | |
410 | toclevel3.attlist &= | |
411 | common.attrib, toclevel3.role.attrib, local.toclevel3.attrib | |
412 | # end of toclevel3.attlist | |
413 | ||
414 | # end of toclevel3.module | |
415 | local.toclevel4.attrib = empty | |
416 | toclevel4.role.attrib = role.attrib | |
417 | toclevel4 = | |
418 | element toclevel4 { toclevel4.attlist, tocentry+, toclevel5* } | |
419 | # end of toclevel4.element | |
420 | toclevel4.attlist &= | |
421 | common.attrib, toclevel4.role.attrib, local.toclevel4.attrib | |
422 | # end of toclevel4.attlist | |
423 | ||
424 | # end of toclevel4.module | |
425 | local.toclevel5.attrib = empty | |
426 | toclevel5.role.attrib = role.attrib | |
427 | toclevel5 = element toclevel5 { toclevel5.attlist, tocentry+ } | |
428 | # end of toclevel5.element | |
429 | toclevel5.attlist &= | |
430 | common.attrib, toclevel5.role.attrib, local.toclevel5.attrib | |
431 | # end of toclevel5.attlist | |
432 | ||
433 | # end of toclevel5.module | |
434 | local.tocback.attrib = empty | |
435 | tocback.role.attrib = role.attrib | |
436 | tocback = element tocback { tocback.attlist, para.char.mix* } | |
437 | # end of tocback.element | |
438 | ||
439 | # to element that this entry represents | |
440 | tocback.attlist &= | |
441 | label.attrib, | |
442 | linkend.attrib, | |
443 | pagenum.attrib, | |
444 | common.attrib, | |
445 | tocback.role.attrib, | |
446 | local.tocback.attrib | |
447 | # end of tocback.attlist | |
448 | ||
449 | # end of tocback.module | |
450 | ||
451 | # end of toc.content.module | |
452 | local.lot.attrib = empty | |
453 | lot.role.attrib = role.attrib | |
454 | lot = | |
455 | element lot { | |
456 | lot.attlist, beginpage?, bookcomponent.title.content?, lotentry* | |
457 | } | |
458 | # end of lot.element | |
459 | lot.attlist &= | |
460 | label.attrib, common.attrib, lot.role.attrib, local.lot.attrib | |
461 | # end of lot.attlist | |
462 | ||
463 | # end of lot.module | |
464 | local.lotentry.attrib = empty | |
465 | lotentry.role.attrib = role.attrib | |
466 | lotentry = element lotentry { lotentry.attlist, para.char.mix* } | |
467 | # end of lotentry.element | |
468 | ||
469 | # SrcCredit: Information about the source of the entry, | |
470 | # as for a list of illustrations | |
471 | ||
472 | # linkend: to element that this entry represents | |
473 | lotentry.attlist &= | |
474 | linkend.attrib, | |
475 | pagenum.attrib, | |
476 | attribute srccredit { text }?, | |
477 | common.attrib, | |
478 | lotentry.role.attrib, | |
479 | local.lotentry.attrib | |
480 | # end of lotentry.attlist | |
481 | ||
482 | # end of lotentry.module | |
483 | ||
484 | # end of lot.content.module | |
485 | ||
486 | # ...................................................................... | |
487 | ||
488 | # Appendix, Chapter, Part, Preface, Reference, PartIntro ............... | |
489 | local.appendix.attrib = empty | |
490 | appendix.role.attrib = role.attrib | |
491 | appendix = | |
492 | element appendix { | |
493 | appendix.attlist, | |
494 | beginpage?, | |
495 | appendixinfo?, | |
496 | bookcomponent.title.content, | |
497 | nav.class*, | |
498 | tocchap?, | |
499 | bookcomponent.content, | |
500 | nav.class* | |
501 | } | |
502 | # end of appendix.element | |
503 | appendix.attlist &= | |
504 | label.attrib, | |
505 | status.attrib, | |
506 | common.attrib, | |
507 | appendix.role.attrib, | |
508 | local.appendix.attrib | |
509 | # end of appendix.attlist | |
510 | ||
511 | # end of appendix.module | |
512 | local.chapter.attrib = empty | |
513 | chapter.role.attrib = role.attrib | |
514 | chapter = | |
515 | element chapter { | |
516 | chapter.attlist, | |
517 | beginpage?, | |
518 | chapterinfo?, | |
519 | bookcomponent.title.content, | |
520 | nav.class*, | |
521 | tocchap?, | |
522 | bookcomponent.content, | |
523 | nav.class* | |
524 | } | |
525 | # end of chapter.element | |
526 | chapter.attlist &= | |
527 | label.attrib, | |
528 | status.attrib, | |
529 | common.attrib, | |
530 | chapter.role.attrib, | |
531 | local.chapter.attrib | |
532 | # end of chapter.attlist | |
533 | ||
534 | # end of chapter.module | |
535 | ||
536 | # Note that Part was to have its content model reduced in V4.2. This | |
537 | # change will not be made after all. | |
538 | local.part.attrib = empty | |
539 | part.role.attrib = role.attrib | |
540 | part = | |
541 | element part { | |
542 | part.attlist, | |
543 | beginpage?, | |
544 | partinfo?, | |
545 | bookcomponent.title.content, | |
546 | partintro?, | |
547 | partcontent.mix+ | |
548 | } | |
549 | # end of part.element | |
550 | part.attlist &= | |
551 | label.attrib, | |
552 | status.attrib, | |
553 | common.attrib, | |
554 | part.role.attrib, | |
555 | local.part.attrib | |
556 | # end of part.attlist | |
557 | ||
558 | # ELEMENT PartIntro (defined below) | |
559 | ||
560 | # end of part.module | |
561 | local.preface.attrib = empty | |
562 | preface.role.attrib = role.attrib | |
563 | preface = | |
564 | element preface { | |
565 | preface.attlist, | |
566 | beginpage?, | |
567 | prefaceinfo?, | |
568 | bookcomponent.title.content, | |
569 | nav.class*, | |
570 | tocchap?, | |
571 | bookcomponent.content, | |
572 | nav.class* | |
573 | } | |
574 | # end of preface.element | |
575 | preface.attlist &= | |
576 | status.attrib, | |
577 | common.attrib, | |
578 | preface.role.attrib, | |
579 | local.preface.attrib | |
580 | # end of preface.attlist | |
581 | ||
582 | # end of preface.module | |
583 | local.reference.attrib = empty | |
584 | reference.role.attrib = role.attrib | |
585 | reference = | |
586 | element reference { | |
587 | reference.attlist, | |
588 | beginpage?, | |
589 | referenceinfo?, | |
590 | bookcomponent.title.content, | |
591 | partintro?, | |
592 | refentry.class+ | |
593 | } | |
594 | # end of reference.element | |
595 | reference.attlist &= | |
596 | label.attrib, | |
597 | status.attrib, | |
598 | common.attrib, | |
599 | reference.role.attrib, | |
600 | local.reference.attrib | |
601 | # end of reference.attlist | |
602 | ||
603 | # ELEMENT PartIntro (defined below) | |
604 | ||
605 | # end of reference.module | |
606 | local.partintro.attrib = empty | |
607 | partintro.role.attrib = role.attrib | |
608 | partintro = | |
609 | element partintro { | |
610 | partintro.attlist, div.title.content?, bookcomponent.content | |
611 | } | |
612 | # end of partintro.element | |
613 | partintro.attlist &= | |
614 | label.attrib, | |
615 | common.attrib, | |
616 | partintro.role.attrib, | |
617 | local.partintro.attrib | |
618 | # end of partintro.attlist | |
619 | ||
620 | # end of partintro.module | |
621 | ||
622 | # ...................................................................... | |
623 | ||
624 | # Other Info elements .................................................. | |
625 | local.appendixinfo.attrib = empty | |
626 | appendixinfo.role.attrib = role.attrib | |
627 | appendixinfo = | |
628 | element appendixinfo { appendixinfo.attlist, info.class+ } | |
629 | # end of appendixinfo.element | |
630 | appendixinfo.attlist &= | |
631 | common.attrib, appendixinfo.role.attrib, local.appendixinfo.attrib | |
632 | # end of appendixinfo.attlist | |
633 | ||
634 | # end of appendixinfo.module | |
635 | local.bibliographyinfo.attrib = empty | |
636 | bibliographyinfo.role.attrib = role.attrib | |
637 | bibliographyinfo = | |
638 | element bibliographyinfo { bibliographyinfo.attlist, info.class+ } | |
639 | # end of bibliographyinfo.element | |
640 | bibliographyinfo.attlist &= | |
641 | common.attrib, | |
642 | bibliographyinfo.role.attrib, | |
643 | local.bibliographyinfo.attrib | |
644 | # end of bibliographyinfo.attlist | |
645 | ||
646 | # end of bibliographyinfo.module | |
647 | local.chapterinfo.attrib = empty | |
648 | chapterinfo.role.attrib = role.attrib | |
649 | chapterinfo = element chapterinfo { chapterinfo.attlist, info.class+ } | |
650 | # end of chapterinfo.element | |
651 | chapterinfo.attlist &= | |
652 | common.attrib, chapterinfo.role.attrib, local.chapterinfo.attrib | |
653 | # end of chapterinfo.attlist | |
654 | ||
655 | # end of chapterinfo.module | |
656 | local.glossaryinfo.attrib = empty | |
657 | glossaryinfo.role.attrib = role.attrib | |
658 | glossaryinfo = | |
659 | element glossaryinfo { glossaryinfo.attlist, info.class+ } | |
660 | # end of glossaryinfo.element | |
661 | glossaryinfo.attlist &= | |
662 | common.attrib, glossaryinfo.role.attrib, local.glossaryinfo.attrib | |
663 | # end of glossaryinfo.attlist | |
664 | ||
665 | # end of glossaryinfo.module | |
666 | local.indexinfo.attrib = empty | |
667 | indexinfo.role.attrib = role.attrib | |
668 | indexinfo = element indexinfo { indexinfo.attlist, info.class+ } | |
669 | # end of indexinfo.element | |
670 | indexinfo.attlist &= | |
671 | common.attrib, indexinfo.role.attrib, local.indexinfo.attrib | |
672 | # end of indexinfo.attlist | |
673 | ||
674 | # end of indexinfo.module | |
675 | local.setindexinfo.attrib = empty | |
676 | setindexinfo.role.attrib = role.attrib | |
677 | setindexinfo = | |
678 | element setindexinfo { setindexinfo.attlist, info.class+ } | |
679 | # end of setindexinfo.element | |
680 | setindexinfo.attlist &= | |
681 | common.attrib, setindexinfo.role.attrib, local.setindexinfo.attrib | |
682 | # end of setindexinfo.attlist | |
683 | ||
684 | # end of setindexinfo.module | |
685 | local.partinfo.attrib = empty | |
686 | partinfo.role.attrib = role.attrib | |
687 | partinfo = element partinfo { partinfo.attlist, info.class+ } | |
688 | # end of partinfo.element | |
689 | partinfo.attlist &= | |
690 | common.attrib, partinfo.role.attrib, local.partinfo.attrib | |
691 | # end of partinfo.attlist | |
692 | ||
693 | # end of partinfo.module | |
694 | local.prefaceinfo.attrib = empty | |
695 | prefaceinfo.role.attrib = role.attrib | |
696 | prefaceinfo = element prefaceinfo { prefaceinfo.attlist, info.class+ } | |
697 | # end of prefaceinfo.element | |
698 | prefaceinfo.attlist &= | |
699 | common.attrib, prefaceinfo.role.attrib, local.prefaceinfo.attrib | |
700 | # end of prefaceinfo.attlist | |
701 | ||
702 | # end of prefaceinfo.module | |
703 | local.refentryinfo.attrib = empty | |
704 | refentryinfo.role.attrib = role.attrib | |
705 | refentryinfo = | |
706 | element refentryinfo { refentryinfo.attlist, info.class+ } | |
707 | # end of refentryinfo.element | |
708 | refentryinfo.attlist &= | |
709 | common.attrib, refentryinfo.role.attrib, local.refentryinfo.attrib | |
710 | # end of refentryinfo.attlist | |
711 | ||
712 | # end of refentryinfo.module | |
713 | local.refsectioninfo.attrib = empty | |
714 | refsectioninfo.role.attrib = role.attrib | |
715 | refsectioninfo = | |
716 | element refsectioninfo { refsectioninfo.attlist, info.class+ } | |
717 | # end of refsectioninfo.element | |
718 | refsectioninfo.attlist &= | |
719 | common.attrib, refsectioninfo.role.attrib, local.refsectioninfo.attrib | |
720 | # end of refsectioninfo.attlist | |
721 | ||
722 | # end of refsectioninfo.module | |
723 | local.refsect1info.attrib = empty | |
724 | refsect1info.role.attrib = role.attrib | |
725 | refsect1info = | |
726 | element refsect1info { refsect1info.attlist, info.class+ } | |
727 | # end of refsect1info.element | |
728 | refsect1info.attlist &= | |
729 | common.attrib, refsect1info.role.attrib, local.refsect1info.attrib | |
730 | # end of refsect1info.attlist | |
731 | ||
732 | # end of refsect1info.module | |
733 | local.refsect2info.attrib = empty | |
734 | refsect2info.role.attrib = role.attrib | |
735 | refsect2info = | |
736 | element refsect2info { refsect2info.attlist, info.class+ } | |
737 | # end of refsect2info.element | |
738 | refsect2info.attlist &= | |
739 | common.attrib, refsect2info.role.attrib, local.refsect2info.attrib | |
740 | # end of refsect2info.attlist | |
741 | ||
742 | # end of refsect2info.module | |
743 | local.refsect3info.attrib = empty | |
744 | refsect3info.role.attrib = role.attrib | |
745 | refsect3info = | |
746 | element refsect3info { refsect3info.attlist, info.class+ } | |
747 | # end of refsect3info.element | |
748 | refsect3info.attlist &= | |
749 | common.attrib, refsect3info.role.attrib, local.refsect3info.attrib | |
750 | # end of refsect3info.attlist | |
751 | ||
752 | # end of refsect3info.module | |
753 | local.refsynopsisdivinfo.attrib = empty | |
754 | refsynopsisdivinfo.role.attrib = role.attrib | |
755 | refsynopsisdivinfo = | |
756 | element refsynopsisdivinfo { refsynopsisdivinfo.attlist, info.class+ } | |
757 | # end of refsynopsisdivinfo.element | |
758 | refsynopsisdivinfo.attlist &= | |
759 | common.attrib, | |
760 | refsynopsisdivinfo.role.attrib, | |
761 | local.refsynopsisdivinfo.attrib | |
762 | # end of refsynopsisdivinfo.attlist | |
763 | ||
764 | # end of refsynopsisdivinfo.module | |
765 | local.referenceinfo.attrib = empty | |
766 | referenceinfo.role.attrib = role.attrib | |
767 | referenceinfo = | |
768 | element referenceinfo { referenceinfo.attlist, info.class+ } | |
769 | # end of referenceinfo.element | |
770 | referenceinfo.attlist &= | |
771 | common.attrib, referenceinfo.role.attrib, local.referenceinfo.attrib | |
772 | # end of referenceinfo.attlist | |
773 | ||
774 | # end of referenceinfo.module | |
775 | local.sect1info.attrib = empty | |
776 | sect1info.role.attrib = role.attrib | |
777 | sect1info = element sect1info { sect1info.attlist, info.class+ } | |
778 | # end of sect1info.element | |
779 | sect1info.attlist &= | |
780 | common.attrib, sect1info.role.attrib, local.sect1info.attrib | |
781 | # end of sect1info.attlist | |
782 | local.sect2info.attrib = empty | |
783 | sect2info.role.attrib = role.attrib | |
784 | sect2info = element sect2info { sect2info.attlist, info.class+ } | |
785 | # end of sect2info.element | |
786 | sect2info.attlist &= | |
787 | common.attrib, sect2info.role.attrib, local.sect2info.attrib | |
788 | # end of sect2info.attlist | |
789 | local.sect3info.attrib = empty | |
790 | sect3info.role.attrib = role.attrib | |
791 | sect3info = element sect3info { sect3info.attlist, info.class+ } | |
792 | # end of sect3info.element | |
793 | sect3info.attlist &= | |
794 | common.attrib, sect3info.role.attrib, local.sect3info.attrib | |
795 | # end of sect3info.attlist | |
796 | local.sect4info.attrib = empty | |
797 | sect4info.role.attrib = role.attrib | |
798 | sect4info = element sect4info { sect4info.attlist, info.class+ } | |
799 | # end of sect4info.element | |
800 | sect4info.attlist &= | |
801 | common.attrib, sect4info.role.attrib, local.sect4info.attrib | |
802 | # end of sect4info.attlist | |
803 | local.sect5info.attrib = empty | |
804 | sect5info.role.attrib = role.attrib | |
805 | sect5info = element sect5info { sect5info.attlist, info.class+ } | |
806 | # end of sect5info.element | |
807 | sect5info.attlist &= | |
808 | common.attrib, sect5info.role.attrib, local.sect5info.attrib | |
809 | # end of sect5info.attlist | |
810 | ||
811 | # ...................................................................... | |
812 | ||
813 | # Section (parallel to Sect*) ......................................... | |
814 | local.section.attrib = empty | |
815 | section.role.attrib = role.attrib | |
816 | section = | |
817 | element section { | |
818 | section.attlist, | |
819 | sectioninfo?, | |
820 | sect.title.content, | |
821 | nav.class*, | |
822 | ((divcomponent.mix+, | |
823 | (refentry.class* | section.class* | simplesect*)) | |
824 | | refentry.class+ | |
825 | | section.class+ | |
826 | | simplesect+), | |
827 | nav.class* | |
828 | } | |
829 | # end of section.element | |
830 | section.attlist &= | |
831 | label.attrib, | |
832 | status.attrib, | |
833 | common.attrib, | |
834 | section.role.attrib, | |
835 | local.section.attrib | |
836 | # end of section.attlist | |
837 | ||
838 | # end of section.module | |
839 | sectioninfo.role.attrib = role.attrib | |
840 | local.sectioninfo.attrib = empty | |
841 | sectioninfo = element sectioninfo { sectioninfo.attlist, info.class+ } | |
842 | # end of sectioninfo.element | |
843 | sectioninfo.attlist &= | |
844 | common.attrib, sectioninfo.role.attrib, local.sectioninfo.attrib | |
845 | # end of sectioninfo.attlist | |
846 | ||
847 | # end of sectioninfo.module | |
848 | ||
849 | # end of section.content.module | |
850 | ||
851 | # ...................................................................... | |
852 | ||
853 | # Sect1, Sect2, Sect3, Sect4, Sect5 .................................... | |
854 | local.sect1.attrib = empty | |
855 | sect1.role.attrib = role.attrib | |
856 | sect1 = | |
857 | element sect1 { | |
858 | sect1.attlist, | |
859 | sect1info?, | |
860 | sect.title.content, | |
861 | nav.class*, | |
862 | ((divcomponent.mix+, (refentry.class* | sect2* | simplesect*)) | |
863 | | refentry.class+ | |
864 | | sect2+ | |
865 | | simplesect+), | |
866 | nav.class* | |
867 | } | |
868 | # end of sect1.element | |
869 | ||
870 | # Renderas: Indicates the format in which the heading should | |
871 | # appear | |
872 | sect1.attlist &= | |
873 | attribute renderas { "sect2" | "sect3" | "sect4" | "sect5" }?, | |
874 | label.attrib, | |
875 | status.attrib, | |
876 | common.attrib, | |
877 | sect1.role.attrib, | |
878 | local.sect1.attrib | |
879 | # end of sect1.attlist | |
880 | ||
881 | # end of sect1.module | |
882 | local.sect2.attrib = empty | |
883 | sect2.role.attrib = role.attrib | |
884 | sect2 = | |
885 | element sect2 { | |
886 | sect2.attlist, | |
887 | sect2info?, | |
888 | sect.title.content, | |
889 | nav.class*, | |
890 | ((divcomponent.mix+, (refentry.class* | sect3* | simplesect*)) | |
891 | | refentry.class+ | |
892 | | sect3+ | |
893 | | simplesect+), | |
894 | nav.class* | |
895 | } | |
896 | # end of sect2.element | |
897 | ||
898 | # Renderas: Indicates the format in which the heading should | |
899 | # appear | |
900 | sect2.attlist &= | |
901 | attribute renderas { "sect1" | "sect3" | "sect4" | "sect5" }?, | |
902 | label.attrib, | |
903 | status.attrib, | |
904 | common.attrib, | |
905 | sect2.role.attrib, | |
906 | local.sect2.attrib | |
907 | # end of sect2.attlist | |
908 | ||
909 | # end of sect2.module | |
910 | local.sect3.attrib = empty | |
911 | sect3.role.attrib = role.attrib | |
912 | sect3 = | |
913 | element sect3 { | |
914 | sect3.attlist, | |
915 | sect3info?, | |
916 | sect.title.content, | |
917 | nav.class*, | |
918 | ((divcomponent.mix+, (refentry.class* | sect4* | simplesect*)) | |
919 | | refentry.class+ | |
920 | | sect4+ | |
921 | | simplesect+), | |
922 | nav.class* | |
923 | } | |
924 | # end of sect3.element | |
925 | ||
926 | # Renderas: Indicates the format in which the heading should | |
927 | # appear | |
928 | sect3.attlist &= | |
929 | attribute renderas { "sect1" | "sect2" | "sect4" | "sect5" }?, | |
930 | label.attrib, | |
931 | status.attrib, | |
932 | common.attrib, | |
933 | sect3.role.attrib, | |
934 | local.sect3.attrib | |
935 | # end of sect3.attlist | |
936 | ||
937 | # end of sect3.module | |
938 | local.sect4.attrib = empty | |
939 | sect4.role.attrib = role.attrib | |
940 | sect4 = | |
941 | element sect4 { | |
942 | sect4.attlist, | |
943 | sect4info?, | |
944 | sect.title.content, | |
945 | nav.class*, | |
946 | ((divcomponent.mix+, (refentry.class* | sect5* | simplesect*)) | |
947 | | refentry.class+ | |
948 | | sect5+ | |
949 | | simplesect+), | |
950 | nav.class* | |
951 | } | |
952 | # end of sect4.element | |
953 | ||
954 | # Renderas: Indicates the format in which the heading should | |
955 | # appear | |
956 | sect4.attlist &= | |
957 | attribute renderas { "sect1" | "sect2" | "sect3" | "sect5" }?, | |
958 | label.attrib, | |
959 | status.attrib, | |
960 | common.attrib, | |
961 | sect4.role.attrib, | |
962 | local.sect4.attrib | |
963 | # end of sect4.attlist | |
964 | ||
965 | # end of sect4.module | |
966 | local.sect5.attrib = empty | |
967 | sect5.role.attrib = role.attrib | |
968 | sect5 = | |
969 | element sect5 { | |
970 | sect5.attlist, | |
971 | sect5info?, | |
972 | sect.title.content, | |
973 | nav.class*, | |
974 | ((divcomponent.mix+, (refentry.class* | simplesect*)) | |
975 | | refentry.class+ | |
976 | | simplesect+), | |
977 | nav.class* | |
978 | } | |
979 | # end of sect5.element | |
980 | ||
981 | # Renderas: Indicates the format in which the heading should | |
982 | # appear | |
983 | sect5.attlist &= | |
984 | attribute renderas { "sect1" | "sect2" | "sect3" | "sect4" }?, | |
985 | label.attrib, | |
986 | status.attrib, | |
987 | common.attrib, | |
988 | sect5.role.attrib, | |
989 | local.sect5.attrib | |
990 | # end of sect5.attlist | |
991 | ||
992 | # end of sect5.module | |
993 | local.simplesect.attrib = empty | |
994 | simplesect.role.attrib = role.attrib | |
995 | simplesect = | |
996 | element simplesect { | |
997 | simplesect.attlist, sect.title.content, divcomponent.mix+ | |
998 | } | |
999 | # end of simplesect.element | |
1000 | simplesect.attlist &= | |
1001 | common.attrib, simplesect.role.attrib, local.simplesect.attrib | |
1002 | # end of simplesect.attlist | |
1003 | ||
1004 | # end of simplesect.module | |
1005 | ||
1006 | # ...................................................................... | |
1007 | ||
1008 | # Bibliography ......................................................... | |
1009 | local.bibliography.attrib = empty | |
1010 | bibliography.role.attrib = role.attrib | |
1011 | bibliography = | |
1012 | element bibliography { | |
1013 | bibliography.attlist, | |
1014 | bibliographyinfo?, | |
1015 | bookcomponent.title.content?, | |
1016 | component.mix*, | |
1017 | (bibliodiv+ | (biblioentry | bibliomixed)+) | |
1018 | } | |
1019 | # end of bibliography.element | |
1020 | bibliography.attlist &= | |
1021 | status.attrib, | |
1022 | common.attrib, | |
1023 | bibliography.role.attrib, | |
1024 | local.bibliography.attrib | |
1025 | # end of bibliography.attlist | |
1026 | ||
1027 | # end of bibliography.module | |
1028 | local.bibliodiv.attrib = empty | |
1029 | bibliodiv.role.attrib = role.attrib | |
1030 | bibliodiv = | |
1031 | element bibliodiv { | |
1032 | bibliodiv.attlist, | |
1033 | sect.title.content?, | |
1034 | component.mix*, | |
1035 | (biblioentry | bibliomixed)+ | |
1036 | } | |
1037 | # end of bibliodiv.element | |
1038 | bibliodiv.attlist &= | |
1039 | status.attrib, | |
1040 | common.attrib, | |
1041 | bibliodiv.role.attrib, | |
1042 | local.bibliodiv.attrib | |
1043 | # end of bibliodiv.attlist | |
1044 | ||
1045 | # end of bibliodiv.module | |
1046 | ||
1047 | # end of bibliography.content.module | |
1048 | ||
1049 | # ...................................................................... | |
1050 | ||
1051 | # Glossary ............................................................. | |
1052 | local.glossary.attrib = empty | |
1053 | glossary.role.attrib = role.attrib | |
1054 | glossary = | |
1055 | element glossary { | |
1056 | glossary.attlist, | |
1057 | glossaryinfo?, | |
1058 | bookcomponent.title.content?, | |
1059 | component.mix*, | |
1060 | (glossdiv+ | glossentry+), | |
1061 | bibliography? | |
1062 | } | |
1063 | # end of glossary.element | |
1064 | glossary.attlist &= | |
1065 | status.attrib, | |
1066 | common.attrib, | |
1067 | glossary.role.attrib, | |
1068 | local.glossary.attrib | |
1069 | # end of glossary.attlist | |
1070 | ||
1071 | # end of glossary.module | |
1072 | local.glossdiv.attrib = empty | |
1073 | glossdiv.role.attrib = role.attrib | |
1074 | glossdiv = | |
1075 | element glossdiv { | |
1076 | glossdiv.attlist, sect.title.content, component.mix*, glossentry+ | |
1077 | } | |
1078 | # end of glossdiv.element | |
1079 | glossdiv.attlist &= | |
1080 | status.attrib, | |
1081 | common.attrib, | |
1082 | glossdiv.role.attrib, | |
1083 | local.glossdiv.attrib | |
1084 | # end of glossdiv.attlist | |
1085 | ||
1086 | # end of glossdiv.module | |
1087 | ||
1088 | # end of glossary.content.module | |
1089 | ||
1090 | # ...................................................................... | |
1091 | ||
1092 | # Index and SetIndex ................................................... | |
1093 | local.indexes.attrib = empty | |
1094 | indexes.role.attrib = role.attrib | |
1095 | index = | |
1096 | element index { | |
1097 | index.attlist, | |
1098 | indexinfo?, | |
1099 | bookcomponent.title.content?, | |
1100 | component.mix*, | |
1101 | (indexdiv* | indexentry*) | |
1102 | } | |
1103 | # end of index.element | |
1104 | index.attlist &= | |
1105 | common.attrib, indexes.role.attrib, local.indexes.attrib | |
1106 | # end of index.attlist | |
1107 | setindex = | |
1108 | element setindex { | |
1109 | setindex.attlist, | |
1110 | setindexinfo?, | |
1111 | bookcomponent.title.content?, | |
1112 | component.mix*, | |
1113 | (indexdiv* | indexentry*) | |
1114 | } | |
1115 | # end of setindex.element | |
1116 | setindex.attlist &= | |
1117 | common.attrib, indexes.role.attrib, local.indexes.attrib | |
1118 | # end of setindex.attlist | |
1119 | ||
1120 | # end of indexes.module | |
1121 | ||
1122 | # SegmentedList in this content is useful for marking up permuted | |
1123 | # indices. | |
1124 | local.indexdiv.attrib = empty | |
1125 | indexdiv.role.attrib = role.attrib | |
1126 | indexdiv = | |
1127 | element indexdiv { | |
1128 | indexdiv.attlist, | |
1129 | sect.title.content?, | |
1130 | (indexdivcomponent.mix*, (indexentry+ | segmentedlist)) | |
1131 | } | |
1132 | # end of indexdiv.element | |
1133 | indexdiv.attlist &= | |
1134 | common.attrib, indexdiv.role.attrib, local.indexdiv.attrib | |
1135 | # end of indexdiv.attlist | |
1136 | ||
1137 | # end of indexdiv.module | |
1138 | ||
1139 | # Index entries appear in the index, not the text. | |
1140 | local.indexentry.attrib = empty | |
1141 | indexentry.role.attrib = role.attrib | |
1142 | indexentry = | |
1143 | element indexentry { | |
1144 | indexentry.attlist, | |
1145 | primaryie, | |
1146 | (seeie | seealsoie)*, | |
1147 | (secondaryie, (seeie | seealsoie | tertiaryie)*)* | |
1148 | } | |
1149 | # end of indexentry.element | |
1150 | indexentry.attlist &= | |
1151 | common.attrib, indexentry.role.attrib, local.indexentry.attrib | |
1152 | # end of indexentry.attlist | |
1153 | ||
1154 | # end of indexentry.module | |
1155 | local.primsecterie.attrib = empty | |
1156 | primsecterie.role.attrib = role.attrib | |
1157 | primaryie = element primaryie { primaryie.attlist, ndxterm.char.mix* } | |
1158 | # end of primaryie.element | |
1159 | ||
1160 | # to IndexTerms that these entries represent | |
1161 | primaryie.attlist &= | |
1162 | linkends.attrib, | |
1163 | common.attrib, | |
1164 | primsecterie.role.attrib, | |
1165 | local.primsecterie.attrib | |
1166 | # end of primaryie.attlist | |
1167 | secondaryie = | |
1168 | element secondaryie { secondaryie.attlist, ndxterm.char.mix* } | |
1169 | # end of secondaryie.element | |
1170 | ||
1171 | # to IndexTerms that these entries represent | |
1172 | secondaryie.attlist &= | |
1173 | linkends.attrib, | |
1174 | common.attrib, | |
1175 | primsecterie.role.attrib, | |
1176 | local.primsecterie.attrib | |
1177 | # end of secondaryie.attlist | |
1178 | tertiaryie = | |
1179 | element tertiaryie { tertiaryie.attlist, ndxterm.char.mix* } | |
1180 | # end of tertiaryie.element | |
1181 | ||
1182 | # to IndexTerms that these entries represent | |
1183 | tertiaryie.attlist &= | |
1184 | linkends.attrib, | |
1185 | common.attrib, | |
1186 | primsecterie.role.attrib, | |
1187 | local.primsecterie.attrib | |
1188 | # end of tertiaryie.attlist | |
1189 | ||
1190 | # end of primsecterie.module | |
1191 | local.seeie.attrib = empty | |
1192 | seeie.role.attrib = role.attrib | |
1193 | seeie = element seeie { seeie.attlist, ndxterm.char.mix* } | |
1194 | # end of seeie.element | |
1195 | ||
1196 | # to IndexEntry to look up | |
1197 | seeie.attlist &= | |
1198 | linkend.attrib, common.attrib, seeie.role.attrib, local.seeie.attrib | |
1199 | # end of seeie.attlist | |
1200 | ||
1201 | # end of seeie.module | |
1202 | local.seealsoie.attrib = empty | |
1203 | seealsoie.role.attrib = role.attrib | |
1204 | seealsoie = element seealsoie { seealsoie.attlist, ndxterm.char.mix* } | |
1205 | # end of seealsoie.element | |
1206 | ||
1207 | # to related IndexEntries | |
1208 | seealsoie.attlist &= | |
1209 | linkends.attrib, | |
1210 | common.attrib, | |
1211 | seealsoie.role.attrib, | |
1212 | local.seealsoie.attrib | |
1213 | # end of seealsoie.attlist | |
1214 | ||
1215 | # end of seealsoie.module | |
1216 | ||
1217 | # end of index.content.module | |
1218 | ||
1219 | # ...................................................................... | |
1220 | ||
1221 | # RefEntry ............................................................. | |
1222 | local.refentry.attrib = empty | |
1223 | refentry.role.attrib = role.attrib | |
1224 | refentry = | |
1225 | element refentry { | |
1226 | refentry.attlist, | |
1227 | beginpage?, | |
1228 | ndxterm.class*, | |
1229 | refentryinfo?, | |
1230 | refmeta?, | |
1231 | (remark | link.char.class)*, | |
1232 | refnamediv, | |
1233 | refsynopsisdiv?, | |
1234 | (refsect1+ | refsection+) | |
1235 | } | |
1236 | # end of refentry.element | |
1237 | refentry.attlist &= | |
1238 | status.attrib, | |
1239 | common.attrib, | |
1240 | refentry.role.attrib, | |
1241 | local.refentry.attrib | |
1242 | # end of refentry.attlist | |
1243 | ||
1244 | # end of refentry.module | |
1245 | local.refmeta.attrib = empty | |
1246 | refmeta.role.attrib = role.attrib | |
1247 | refmeta = | |
1248 | element refmeta { | |
1249 | refmeta.attlist, | |
1250 | ndxterm.class*, | |
1251 | refentrytitle, | |
1252 | manvolnum?, | |
1253 | refmiscinfo*, | |
1254 | ndxterm.class* | |
1255 | } | |
1256 | # end of refmeta.element | |
1257 | refmeta.attlist &= | |
1258 | common.attrib, refmeta.role.attrib, local.refmeta.attrib | |
1259 | # end of refmeta.attlist | |
1260 | ||
1261 | # end of refmeta.module | |
1262 | local.refmiscinfo.attrib = empty | |
1263 | refmiscinfo.role.attrib = role.attrib | |
1264 | refmiscinfo = | |
1265 | element refmiscinfo { refmiscinfo.attlist, docinfo.char.mix* } | |
1266 | # end of refmiscinfo.element | |
1267 | ||
1268 | # Class: Freely assignable parameter; no default | |
1269 | refmiscinfo.attlist &= | |
1270 | attribute class { text }?, | |
1271 | common.attrib, | |
1272 | refmiscinfo.role.attrib, | |
1273 | local.refmiscinfo.attrib | |
1274 | # end of refmiscinfo.attlist | |
1275 | ||
1276 | # end of refmiscinfo.module | |
1277 | local.refnamediv.attrib = empty | |
1278 | refnamediv.role.attrib = role.attrib | |
1279 | refnamediv = | |
1280 | element refnamediv { | |
1281 | refnamediv.attlist, | |
1282 | refdescriptor?, | |
1283 | refname+, | |
1284 | refpurpose, | |
1285 | refclass*, | |
1286 | (remark | link.char.class)* | |
1287 | } | |
1288 | # end of refnamediv.element | |
1289 | refnamediv.attlist &= | |
1290 | common.attrib, refnamediv.role.attrib, local.refnamediv.attrib | |
1291 | # end of refnamediv.attlist | |
1292 | ||
1293 | # end of refnamediv.module | |
1294 | local.refdescriptor.attrib = empty | |
1295 | refdescriptor.role.attrib = role.attrib | |
1296 | refdescriptor = | |
1297 | element refdescriptor { refdescriptor.attlist, refname.char.mix* } | |
1298 | # end of refdescriptor.element | |
1299 | refdescriptor.attlist &= | |
1300 | common.attrib, refdescriptor.role.attrib, local.refdescriptor.attrib | |
1301 | # end of refdescriptor.attlist | |
1302 | ||
1303 | # end of refdescriptor.module | |
1304 | local.refname.attrib = empty | |
1305 | refname.role.attrib = role.attrib | |
1306 | refname = element refname { refname.attlist, refname.char.mix* } | |
1307 | # end of refname.element | |
1308 | refname.attlist &= | |
1309 | common.attrib, refname.role.attrib, local.refname.attrib | |
1310 | # end of refname.attlist | |
1311 | ||
1312 | # end of refname.module | |
1313 | local.refpurpose.attrib = empty | |
1314 | refpurpose.role.attrib = role.attrib | |
1315 | refpurpose = | |
1316 | element refpurpose { refpurpose.attlist, refinline.char.mix* } | |
1317 | # end of refpurpose.element | |
1318 | refpurpose.attlist &= | |
1319 | common.attrib, refpurpose.role.attrib, local.refpurpose.attrib | |
1320 | # end of refpurpose.attlist | |
1321 | ||
1322 | # end of refpurpose.module | |
1323 | local.refclass.attrib = empty | |
1324 | refclass.role.attrib = role.attrib | |
1325 | refclass = element refclass { refclass.attlist, refclass.char.mix* } | |
1326 | # end of refclass.element | |
1327 | refclass.attlist &= | |
1328 | common.attrib, refclass.role.attrib, local.refclass.attrib | |
1329 | # end of refclass.attlist | |
1330 | ||
1331 | # end of refclass.module | |
1332 | local.refsynopsisdiv.attrib = empty | |
1333 | refsynopsisdiv.role.attrib = role.attrib | |
1334 | refsynopsisdiv = | |
1335 | element refsynopsisdiv { | |
1336 | refsynopsisdiv.attlist, | |
1337 | refsynopsisdivinfo?, | |
1338 | refsect.title.content?, | |
1339 | ((refcomponent.mix+, refsect2*) | refsect2+) | |
1340 | } | |
1341 | # end of refsynopsisdiv.element | |
1342 | refsynopsisdiv.attlist &= | |
1343 | common.attrib, refsynopsisdiv.role.attrib, local.refsynopsisdiv.attrib | |
1344 | # end of refsynopsisdiv.attlist | |
1345 | ||
1346 | # end of refsynopsisdiv.module | |
1347 | local.refsection.attrib = empty | |
1348 | refsection.role.attrib = role.attrib | |
1349 | refsection = | |
1350 | element refsection { | |
1351 | refsection.attlist, | |
1352 | refsectioninfo?, | |
1353 | refsect.title.content, | |
1354 | ((refcomponent.mix+, refsection*) | refsection+) | |
1355 | } | |
1356 | # end of refsection.element | |
1357 | refsection.attlist &= | |
1358 | status.attrib, | |
1359 | common.attrib, | |
1360 | refsection.role.attrib, | |
1361 | local.refsection.attrib | |
1362 | # end of refsection.attlist | |
1363 | ||
1364 | # end of refsection.module | |
1365 | local.refsect1.attrib = empty | |
1366 | refsect1.role.attrib = role.attrib | |
1367 | refsect1 = | |
1368 | element refsect1 { | |
1369 | refsect1.attlist, | |
1370 | refsect1info?, | |
1371 | refsect.title.content, | |
1372 | ((refcomponent.mix+, refsect2*) | refsect2+) | |
1373 | } | |
1374 | # end of refsect1.element | |
1375 | refsect1.attlist &= | |
1376 | status.attrib, | |
1377 | common.attrib, | |
1378 | refsect1.role.attrib, | |
1379 | local.refsect1.attrib | |
1380 | # end of refsect1.attlist | |
1381 | ||
1382 | # end of refsect1.module | |
1383 | local.refsect2.attrib = empty | |
1384 | refsect2.role.attrib = role.attrib | |
1385 | refsect2 = | |
1386 | element refsect2 { | |
1387 | refsect2.attlist, | |
1388 | refsect2info?, | |
1389 | refsect.title.content, | |
1390 | ((refcomponent.mix+, refsect3*) | refsect3+) | |
1391 | } | |
1392 | # end of refsect2.element | |
1393 | refsect2.attlist &= | |
1394 | status.attrib, | |
1395 | common.attrib, | |
1396 | refsect2.role.attrib, | |
1397 | local.refsect2.attrib | |
1398 | # end of refsect2.attlist | |
1399 | ||
1400 | # end of refsect2.module | |
1401 | local.refsect3.attrib = empty | |
1402 | refsect3.role.attrib = role.attrib | |
1403 | refsect3 = | |
1404 | element refsect3 { | |
1405 | refsect3.attlist, | |
1406 | refsect3info?, | |
1407 | refsect.title.content, | |
1408 | refcomponent.mix+ | |
1409 | } | |
1410 | # end of refsect3.element | |
1411 | refsect3.attlist &= | |
1412 | status.attrib, | |
1413 | common.attrib, | |
1414 | refsect3.role.attrib, | |
1415 | local.refsect3.attrib | |
1416 | # end of refsect3.attlist | |
1417 | ||
1418 | # end of refsect3.module | |
1419 | ||
1420 | # end of refentry.content.module | |
1421 | ||
1422 | # ...................................................................... | |
1423 | ||
1424 | # Article .............................................................. | |
1425 | ||
1426 | # An Article is a chapter-level, stand-alone document that is often, | |
1427 | # but need not be, collected into a Book. | |
1428 | local.article.attrib = empty | |
1429 | article.role.attrib = role.attrib | |
1430 | article = | |
1431 | element article { | |
1432 | article.attlist, | |
1433 | div.title.content?, | |
1434 | articleinfo?, | |
1435 | tocchap?, | |
1436 | lot*, | |
1437 | bookcomponent.content, | |
1438 | (nav.class | appendix.class | ackno)* | |
1439 | } | |
1440 | # end of article.element | |
1441 | ||
1442 | # Class: Indicates the type of a particular article; | |
1443 | # all articles have the same structure and general purpose. | |
1444 | # No default. | |
1445 | ||
1446 | # ParentBook: ID of the enclosing Book | |
1447 | article.attlist &= | |
1448 | attribute class { | |
1449 | "journalarticle" | |
1450 | | "productsheet" | |
1451 | | "whitepaper" | |
1452 | | "techreport" | |
1453 | | "specification" | |
1454 | | "faq" | |
1455 | }?, | |
1456 | attribute parentbook { xsd:IDREF }?, | |
1457 | status.attrib, | |
1458 | common.attrib, | |
1459 | article.role.attrib, | |
1460 | local.article.attrib | |
1461 | # end of article.attlist | |
1462 | ||
1463 | # end of article.module | |
1464 | ||
1465 | # End of DocBook document hierarchy module V4.2 ........................ | |
1466 | ||
1467 | # ...................................................................... |