]> code.delx.au - gnu-emacs/blob - etc/schema/dbhier.rnc
Don't install keyboard hook when debugged on MS-Windows
[gnu-emacs] / etc / schema / dbhier.rnc
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 # ......................................................................