source: BOOK/schema/docbook/4.5/rng/dbpoolx.rnc@ 808eb87

clfs-3.0.0-systemd systemd
Last change on this file since 808eb87 was da28cc3, checked in by Joe Ciccone <jciccone@…>, 14 years ago

Validate the book against relax-ng instead of the
standard DTD.

  • Property mode set to 100644
File size: 163.5 KB
Line 
1# ......................................................................
2
3# DocBook XML information pool module V4.5 .............................
4
5# File dbpoolx.mod .....................................................
6
7# Copyright 1992-2004 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: dbpoolx.mod 6340 2006-10-03 13:23:24Z nwalsh $
14#
15# Permission to use, copy, modify and distribute the DocBook XML 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 XML 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 objects, inline
35# elements, and so on that are available to be used as the main
36# content of DocBook documents. Some elements are useful for general
37# publishing, and others are useful specifically for computer
38# documentation.
39#
40# This module has the following dependencies on other modules:
41#
42# o It assumes that a %notation.class; entity is defined by the
43# driver file or other high-level module. This entity is
44# referenced in the NOTATION attributes for the graphic-related and
45# ModeSpec elements.
46#
47# o It assumes that an appropriately parameterized table module is
48# available for use with the table-related elements.
49#
50# In DTD driver files referring to this module, please use an entity
51# declaration that uses the public identifier shown below:
52#
53# <!ENTITY % dbpool PUBLIC
54# "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN"
55# "dbpoolx.mod">
56# %dbpool;
57#
58# See the documentation for detailed information on the parameter
59# entity and module scheme used in DocBook, customizing DocBook and
60# planning for interchange, and changes made since the last release
61# of DocBook.
62
63# ......................................................................
64
65# Forms entities .......................................................
66
67# These PEs provide the hook by which the forms module can be inserted
68
69# into the DTD.
70
71namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
72
73forminlines.hook = notAllowed
74forms.hook = notAllowed
75# ......................................................................
76
77# General-purpose semantics entities ...................................
78yesorno.attvals = string
79# ......................................................................
80
81# Entities for module inclusions .......................................
82
83# ......................................................................
84
85# Entities for element classes and mixtures ............................
86
87# "Ubiquitous" classes: ndxterm.class and beginpage
88local.ndxterm.class = notAllowed
89ndxterm.class = indexterm | local.ndxterm.class
90# Object-level classes .................................................
91local.list.class = notAllowed
92list.class =
93 calloutlist
94 | glosslist
95 | bibliolist
96 | itemizedlist
97 | orderedlist
98 | segmentedlist
99 | simplelist
100 | variablelist
101 | local.list.class
102local.admon.class = notAllowed
103admon.class =
104 caution | important | note | tip | warning | local.admon.class
105local.linespecific.class = notAllowed
106linespecific.class =
107 literallayout
108 | programlisting
109 | programlistingco
110 | screen
111 | screenco
112 | screenshot
113 | local.linespecific.class
114local.method.synop.class = notAllowed
115method.synop.class =
116 constructorsynopsis
117 | destructorsynopsis
118 | methodsynopsis
119 | local.method.synop.class
120local.synop.class = notAllowed
121synop.class =
122 synopsis
123 | cmdsynopsis
124 | funcsynopsis
125 | classsynopsis
126 | fieldsynopsis
127 | method.synop.class
128 | local.synop.class
129local.para.class = notAllowed
130para.class = formalpara | para | simpara | local.para.class
131local.informal.class = notAllowed
132informal.class =
133 address
134 | blockquote
135 | graphic
136 | graphicco
137 | mediaobject
138 | mediaobjectco
139 | informalequation
140 | informalexample
141 | informalfigure
142 | informaltable
143 | local.informal.class
144local.formal.class = notAllowed
145formal.class = equation | example | figure | table | local.formal.class
146# The DocBook TC may produce an official EBNF module for DocBook.
147
148# This PE provides the hook by which it can be inserted into the DTD.
149ebnf.block.hook = notAllowed
150local.compound.class = notAllowed
151compound.class =
152 msgset
153 | procedure
154 | sidebar
155 | qandaset
156 | task
157 | ebnf.block.hook
158 | local.compound.class
159local.genobj.class = notAllowed
160genobj.class =
161 anchor | bridgehead | remark | highlights | local.genobj.class
162local.descobj.class = notAllowed
163descobj.class = abstract | authorblurb | epigraph | local.descobj.class
164# Character-level classes ..............................................
165local.xref.char.class = notAllowed
166xref.char.class = footnoteref | xref | biblioref | local.xref.char.class
167local.gen.char.class = notAllowed
168gen.char.class =
169 abbrev
170 | acronym
171 | citation
172 | citerefentry
173 | citetitle
174 | citebiblioid
175 | emphasis
176 | firstterm
177 | foreignphrase
178 | glossterm
179 | termdef
180 | footnote
181 | phrase
182 | orgname
183 | quote
184 | trademark
185 | wordasword
186 | personname
187 | local.gen.char.class
188local.link.char.class = notAllowed
189link.char.class = link | olink | ulink | local.link.char.class
190# The DocBook TC may produce an official EBNF module for DocBook.
191
192# This PE provides the hook by which it can be inserted into the DTD.
193ebnf.inline.hook = notAllowed
194local.tech.char.class = notAllowed
195tech.char.class =
196 action
197 | application
198 | classname
199 | methodname
200 | interfacename
201 | exceptionname
202 | ooclass
203 | oointerface
204 | ooexception
205 | package
206 | command
207 | computeroutput
208 | database
209 | email
210 | envar
211 | errorcode
212 | errorname
213 | errortype
214 | errortext
215 | filename
216 | function
217 | guibutton
218 | guiicon
219 | guilabel
220 | guimenu
221 | guimenuitem
222 | guisubmenu
223 | hardware
224 | interface
225 | keycap
226 | keycode
227 | keycombo
228 | keysym
229 | literal
230 | code
231 | constant
232 | markup
233 | medialabel
234 | menuchoice
235 | mousebutton
236 | option
237 | optional
238 | parameter
239 | prompt
240 | property
241 | replaceable
242 | returnvalue
243 | sgmltag
244 | structfield
245 | structname
246 | symbol
247 | systemitem
248 | uri
249 | \token
250 | type
251 | userinput
252 | varname
253 | ebnf.inline.hook
254 | local.tech.char.class
255local.base.char.class = notAllowed
256base.char.class = anchor | local.base.char.class
257local.docinfo.char.class = notAllowed
258docinfo.char.class =
259 author
260 | authorinitials
261 | corpauthor
262 | corpcredit
263 | modespec
264 | othercredit
265 | productname
266 | productnumber
267 | revhistory
268 | local.docinfo.char.class
269local.other.char.class = notAllowed
270other.char.class =
271 remark | subscript | superscript | local.other.char.class
272local.inlineobj.char.class = notAllowed
273inlineobj.char.class =
274 inlinegraphic
275 | inlinemediaobject
276 | inlineequation
277 | local.inlineobj.char.class
278# ......................................................................
279
280# Entities for content models ..........................................
281formalobject.title.content = title, titleabbrev?
282# Redeclaration placeholder ............................................
283
284# For redeclaring entities that are declared after this point while
285# retaining their references to the entities that are declared before
286# this point
287
288# Object-level mixtures ................................................
289
290# list admn line synp para infm form cmpd gen desc
291# Component mixture X X X X X X X X X X
292# Sidebar mixture X X X X X X X a X
293# Footnote mixture X X X X X
294# Example mixture X X X X X
295# Highlights mixture X X X
296# Paragraph mixture X X X X
297# Admonition mixture X X X X X X b c
298# Figure mixture X X X
299# Table entry mixture X X X X d
300# Glossary def mixture X X X X X e
301# Legal notice mixture X X X X f
302#
303# a. Just Procedure; not Sidebar itself or MsgSet.
304# b. No MsgSet.
305# c. No Highlights.
306# d. Just Graphic; no other informal objects.
307# e. No Anchor, BridgeHead, or Highlights.
308# f. Just BlockQuote; no other informal objects.
309local.component.mix = notAllowed
310component.mix =
311 list.class
312 | admon.class
313 | linespecific.class
314 | synop.class
315 | para.class
316 | informal.class
317 | formal.class
318 | compound.class
319 | genobj.class
320 | descobj.class
321 | ndxterm.class
322 | beginpage
323 | forms.hook
324 | local.component.mix
325local.sidebar.mix = notAllowed
326sidebar.mix =
327 list.class
328 | admon.class
329 | linespecific.class
330 | synop.class
331 | para.class
332 | informal.class
333 | formal.class
334 | procedure
335 | genobj.class
336 | ndxterm.class
337 | beginpage
338 | forms.hook
339 | local.sidebar.mix
340local.qandaset.mix = notAllowed
341qandaset.mix =
342 list.class
343 | admon.class
344 | linespecific.class
345 | synop.class
346 | para.class
347 | informal.class
348 | formal.class
349 | procedure
350 | genobj.class
351 | ndxterm.class
352 | forms.hook
353 | local.qandaset.mix
354local.revdescription.mix = notAllowed
355revdescription.mix =
356 list.class
357 | admon.class
358 | linespecific.class
359 | synop.class
360 | para.class
361 | informal.class
362 | formal.class
363 | procedure
364 | genobj.class
365 | ndxterm.class
366 | local.revdescription.mix
367local.footnote.mix = notAllowed
368footnote.mix =
369 list.class
370 | linespecific.class
371 | synop.class
372 | para.class
373 | informal.class
374 | local.footnote.mix
375local.example.mix = notAllowed
376example.mix =
377 list.class
378 | linespecific.class
379 | synop.class
380 | para.class
381 | informal.class
382 | ndxterm.class
383 | beginpage
384 | procedure
385 | forms.hook
386 | local.example.mix
387local.highlights.mix = notAllowed
388highlights.mix =
389 list.class
390 | admon.class
391 | para.class
392 | ndxterm.class
393 | local.highlights.mix
394# %formal.class; is explicitly excluded from many contexts in which
395# paragraphs are used
396local.para.mix = notAllowed
397para.mix =
398 list.class
399 | admon.class
400 | linespecific.class
401 | informal.class
402 | formal.class
403 | local.para.mix
404local.admon.mix = notAllowed
405admon.mix =
406 list.class
407 | linespecific.class
408 | synop.class
409 | para.class
410 | informal.class
411 | formal.class
412 | procedure
413 | sidebar
414 | anchor
415 | bridgehead
416 | remark
417 | ndxterm.class
418 | beginpage
419 | forms.hook
420 | local.admon.mix
421local.figure.mix = notAllowed
422figure.mix =
423 linespecific.class
424 | synop.class
425 | informal.class
426 | ndxterm.class
427 | beginpage
428 | forms.hook
429 | local.figure.mix
430local.tabentry.mix = notAllowed
431tabentry.mix =
432 list.class
433 | admon.class
434 | linespecific.class
435 | para.class
436 | graphic
437 | mediaobject
438 | forms.hook
439 | local.tabentry.mix
440local.glossdef.mix = notAllowed
441glossdef.mix =
442 list.class
443 | linespecific.class
444 | synop.class
445 | para.class
446 | informal.class
447 | formal.class
448 | remark
449 | ndxterm.class
450 | beginpage
451 | local.glossdef.mix
452local.legalnotice.mix = notAllowed
453legalnotice.mix =
454 list.class
455 | admon.class
456 | linespecific.class
457 | para.class
458 | blockquote
459 | ndxterm.class
460 | beginpage
461 | local.legalnotice.mix
462local.textobject.mix = notAllowed
463textobject.mix =
464 list.class
465 | admon.class
466 | linespecific.class
467 | para.class
468 | blockquote
469 | local.textobject.mix
470local.mediaobject.mix = notAllowed
471mediaobject.mix =
472 videoobject
473 | audioobject
474 | imageobject
475 | imageobjectco
476 | textobject
477 | local.mediaobject.mix
478local.listpreamble.mix = notAllowed
479listpreamble.mix =
480 admon.class
481 | linespecific.class
482 | synop.class
483 | para.class
484 | informal.class
485 | genobj.class
486 | descobj.class
487 | ndxterm.class
488 | beginpage
489 | forms.hook
490 | local.listpreamble.mix
491# Character-level mixtures .............................................
492
493# sgml.features
494
495# not [sgml.features[
496
497# ]] not sgml.features
498
499# #PCD xref word link cptr base dnfo othr inob (synop)
500# para.char.mix X X X X X X X X X
501# title.char.mix X X X X X X X X X
502# ndxterm.char.mix X X X X X X X X a
503# cptr.char.mix X X X X X a
504# smallcptr.char.mix X b a
505# word.char.mix X c X X X a
506# docinfo.char.mix X d X b X a
507#
508# a. Just InlineGraphic; no InlineEquation.
509# b. Just Replaceable; no other computer terms.
510# c. Just Emphasis and Trademark; no other word elements.
511# d. Just Acronym, Emphasis, and Trademark; no other word elements.
512local.para.char.mix = notAllowed
513para.char.mix =
514 text
515 | xref.char.class
516 | gen.char.class
517 | link.char.class
518 | tech.char.class
519 | base.char.class
520 | docinfo.char.class
521 | other.char.class
522 | inlineobj.char.class
523 | synop.class
524 | ndxterm.class
525 | beginpage
526 | forminlines.hook
527 | local.para.char.mix
528local.title.char.mix = notAllowed
529title.char.mix =
530 text
531 | xref.char.class
532 | gen.char.class
533 | link.char.class
534 | tech.char.class
535 | base.char.class
536 | docinfo.char.class
537 | other.char.class
538 | inlineobj.char.class
539 | ndxterm.class
540 | local.title.char.mix
541local.ndxterm.char.mix = notAllowed
542ndxterm.char.mix =
543 text
544 | xref.char.class
545 | gen.char.class
546 | link.char.class
547 | tech.char.class
548 | base.char.class
549 | docinfo.char.class
550 | other.char.class
551 | inlinegraphic
552 | inlinemediaobject
553 | local.ndxterm.char.mix
554local.cptr.char.mix = notAllowed
555cptr.char.mix =
556 text
557 | link.char.class
558 | tech.char.class
559 | base.char.class
560 | other.char.class
561 | inlinegraphic
562 | inlinemediaobject
563 | ndxterm.class
564 | beginpage
565 | local.cptr.char.mix
566local.smallcptr.char.mix = notAllowed
567smallcptr.char.mix =
568 text
569 | replaceable
570 | inlinegraphic
571 | inlinemediaobject
572 | ndxterm.class
573 | beginpage
574 | local.smallcptr.char.mix
575local.word.char.mix = notAllowed
576word.char.mix =
577 text
578 | acronym
579 | emphasis
580 | trademark
581 | link.char.class
582 | base.char.class
583 | other.char.class
584 | inlinegraphic
585 | inlinemediaobject
586 | ndxterm.class
587 | beginpage
588 | local.word.char.mix
589local.docinfo.char.mix = notAllowed
590docinfo.char.mix =
591 text
592 | link.char.class
593 | emphasis
594 | trademark
595 | replaceable
596 | other.char.class
597 | inlinegraphic
598 | inlinemediaobject
599 | ndxterm.class
600 | local.docinfo.char.mix
601# ENTITY % bibliocomponent.mix (see Bibliographic section, below)
602
603# ENTITY % person.ident.mix (see Bibliographic section, below)
604
605# ......................................................................
606
607# Entities for attributes and attribute components .....................
608
609# Effectivity attributes ...............................................
610
611# Arch: Computer or chip architecture to which element applies; no
612# default
613arch.attrib = attribute arch { text }?
614# Condition: General-purpose effectivity attribute
615condition.attrib = attribute condition { text }?
616# Conformance: Standards conformance characteristics
617conformance.attrib = attribute conformance { xsd:NMTOKENS }?
618# OS: Operating system to which element applies; no default
619os.attrib = attribute os { text }?
620# Revision: Editorial revision to which element belongs; no default
621revision.attrib = attribute revision { text }?
622# Security: Security classification; no default
623security.attrib = attribute security { text }?
624# UserLevel: Level of user experience to which element applies; no
625# default
626userlevel.attrib = attribute userlevel { text }?
627# Vendor: Computer vendor to which element applies; no default
628vendor.attrib = attribute vendor { text }?
629# Wordsize: Computer word size (32 bit, 64 bit, etc.); no default
630wordsize.attrib = attribute wordsize { text }?
631local.effectivity.attrib = empty
632effectivity.attrib =
633 arch.attrib,
634 condition.attrib,
635 conformance.attrib,
636 os.attrib,
637 revision.attrib,
638 security.attrib,
639 userlevel.attrib,
640 vendor.attrib,
641 wordsize.attrib,
642 local.effectivity.attrib
643# Common attributes ....................................................
644
645# Id: Unique identifier of element; no default
646id.attrib = attribute id { xsd:ID }?
647# Id: Unique identifier of element; a value must be supplied; no
648# default
649idreq.attrib = attribute id { xsd:ID }
650# Lang: Indicator of language in which element is written, for
651# translation, character set management, etc.; no default
652lang.attrib = attribute lang { text }?
653# Remap: Previous role of element before conversion; no default
654remap.attrib = attribute remap { text }?
655# Role: New role of element in local environment; no default
656role.attrib = attribute role { text }?
657# XRefLabel: Alternate labeling string for XRef text generation;
658# default is usually title or other appropriate label text already
659# contained in element
660xreflabel.attrib = attribute xreflabel { text }?
661# RevisionFlag: Revision status of element; default is that element
662# wasn't revised
663revisionflag.attrib =
664 attribute revisionflag { "changed" | "added" | "deleted" | "off" }?
665local.common.attrib = empty
666# dir: Bidirectional override
667dir.attrib = attribute dir { "ltr" | "rtl" | "lro" | "rlo" }?
668# xml:base: base URI
669xml-base.attrib = attribute xml:base { text }?
670# Role is included explicitly on each element
671common.attrib =
672 id.attrib,
673 lang.attrib,
674 remap.attrib,
675 xreflabel.attrib,
676 revisionflag.attrib,
677 effectivity.attrib,
678 dir.attrib,
679 xml-base.attrib,
680 local.common.attrib
681# Role is included explicitly on each element
682idreq.common.attrib =
683 idreq.attrib,
684 lang.attrib,
685 remap.attrib,
686 xreflabel.attrib,
687 revisionflag.attrib,
688 effectivity.attrib,
689 dir.attrib,
690 xml-base.attrib,
691 local.common.attrib
692# Semi-common attributes and other attribute entities ..................
693local.graphics.attrib = empty
694# EntityRef: Name of an external entity containing the content
695# of the graphic
696
697# FileRef: Filename, qualified by a pathname if desired,
698# designating the file containing the content of the graphic
699
700# Format: Notation of the element content, if any
701
702# SrcCredit: Information about the source of the Graphic
703
704# Width: Same as CALS reprowid (desired width)
705
706# Depth: Same as CALS reprodep (desired depth)
707
708# Align: Same as CALS hplace with 'none' removed; #IMPLIED means
709# application-specific
710
711# Scale: Conflation of CALS hscale and vscale
712
713# Scalefit: Same as CALS scalefit
714graphics.attrib =
715 attribute entityref { xsd:ENTITY }?,
716 attribute fileref { text }?,
717 attribute format { notation.class }?,
718 attribute srccredit { text }?,
719 attribute width { text }?,
720 attribute contentwidth { text }?,
721 attribute depth { text }?,
722 attribute contentdepth { text }?,
723 attribute align { "left" | "right" | "center" }?,
724 attribute valign { "top" | "middle" | "bottom" }?,
725 attribute scale { text }?,
726 attribute scalefit { yesorno.attvals }?,
727 local.graphics.attrib
728local.keyaction.attrib = empty
729# Action: Key combination type; default is unspecified if one
730# child element, Simul if there is more than one; if value is
731# Other, the OtherAction attribute must have a nonempty value
732
733# OtherAction: User-defined key combination type
734keyaction.attrib =
735 attribute action {
736 "click" | "double-click" | "press" | "seq" | "simul" | "other"
737 }?,
738 attribute otheraction { text }?,
739 local.keyaction.attrib
740# Label: Identifying number or string; default is usually the
741# appropriate number or string autogenerated by a formatter
742label.attrib = attribute label { text }?
743# xml:space: whitespace treatment
744xml-space.attrib = attribute xml:space { "preserve" }?
745# Format: whether element is assumed to contain significant white
746# space
747linespecific.attrib =
748 [ a:defaultValue = "linespecific" ]
749 attribute format { "linespecific" }?,
750 xml-space.attrib,
751 attribute linenumbering { "numbered" | "unnumbered" }?,
752 attribute continuation { "continues" | "restarts" }?,
753 attribute startinglinenumber { text }?,
754 attribute language { text }?
755# Linkend: link to related information; no default
756linkend.attrib = attribute linkend { xsd:IDREF }?
757# Linkend: required link to related information
758linkendreq.attrib = attribute linkend { xsd:IDREF }
759# Linkends: link to one or more sets of related information; no
760# default
761linkends.attrib = attribute linkends { xsd:IDREFS }?
762local.mark.attrib = empty
763mark.attrib =
764 attribute mark { text }?,
765 local.mark.attrib
766# MoreInfo: whether element's content has an associated RefEntry
767moreinfo.attrib =
768 [ a:defaultValue = "none" ]
769 attribute moreinfo { "refentry" | "none" }?
770# Pagenum: number of page on which element appears; no default
771pagenum.attrib = attribute pagenum { text }?
772local.status.attrib = empty
773# Status: Editorial or publication status of the element
774# it applies to, such as "in review" or "approved for distribution"
775status.attrib =
776 attribute status { text }?,
777 local.status.attrib
778# Width: width of the longest line in the element to which it
779# pertains, in number of characters
780width.attrib = attribute width { text }?
781# ......................................................................
782
783# Title elements .......................................................
784local.title.attrib = empty
785title.role.attrib = role.attrib
786# doc:The text of the title of a section of a document or of a formal block-level element.
787title = element title { title.attlist, title.char.mix* }
788# end of title.element
789title.attlist &=
790 pagenum.attrib, common.attrib, title.role.attrib, local.title.attrib
791# end of title.attlist
792
793# end of title.module
794local.titleabbrev.attrib = empty
795titleabbrev.role.attrib = role.attrib
796# doc:The abbreviation of a Title.
797titleabbrev =
798 element titleabbrev { titleabbrev.attlist, title.char.mix* }
799# end of titleabbrev.element
800titleabbrev.attlist &=
801 common.attrib, titleabbrev.role.attrib, local.titleabbrev.attrib
802# end of titleabbrev.attlist
803
804# end of titleabbrev.module
805local.subtitle.attrib = empty
806subtitle.role.attrib = role.attrib
807# doc:The subtitle of a document.
808subtitle = element subtitle { subtitle.attlist, title.char.mix* }
809# end of subtitle.element
810subtitle.attlist &=
811 common.attrib, subtitle.role.attrib, local.subtitle.attrib
812# end of subtitle.attlist
813
814# end of subtitle.module
815
816# ......................................................................
817
818# Bibliographic entities and elements ..................................
819
820# The bibliographic elements are typically used in the document
821# hierarchy. They do not appear in content models of information
822# pool elements. See also the document information elements,
823# below.
824local.person.ident.mix = notAllowed
825person.ident.mix =
826 honorific
827 | firstname
828 | surname
829 | lineage
830 | othername
831 | affiliation
832 | authorblurb
833 | contrib
834 | local.person.ident.mix
835local.bibliocomponent.mix = notAllowed
836bibliocomponent.mix =
837 abbrev
838 | abstract
839 | address
840 | artpagenums
841 | author
842 | authorgroup
843 | authorinitials
844 | bibliomisc
845 | biblioset
846 | collab
847 | confgroup
848 | contractnum
849 | contractsponsor
850 | copyright
851 | corpauthor
852 | corpname
853 | corpcredit
854 | date
855 | edition
856 | editor
857 | invpartnumber
858 | isbn
859 | issn
860 | issuenum
861 | orgname
862 | biblioid
863 | citebiblioid
864 | bibliosource
865 | bibliorelation
866 | bibliocoverage
867 | othercredit
868 | pagenums
869 | printhistory
870 | productname
871 | productnumber
872 | pubdate
873 | publisher
874 | publishername
875 | pubsnumber
876 | releaseinfo
877 | revhistory
878 | seriesvolnums
879 | subtitle
880 | title
881 | titleabbrev
882 | volumenum
883 | citetitle
884 | personname
885 | person.ident.mix
886 | ndxterm.class
887 | local.bibliocomponent.mix
888# I don't think this is well placed, but it needs to be here because of
889
890# the reference to bibliocomponent.mix
891local.info.class = notAllowed
892info.class =
893 graphic
894 | mediaobject
895 | legalnotice
896 | modespec
897 | subjectset
898 | keywordset
899 | itermset
900 | bibliocomponent.mix
901 | local.info.class
902# BiblioList ........................
903local.bibliolist.attrib = empty
904bibliolist.role.attrib = role.attrib
905# doc:A wrapper for a set of bibliography entries.
906bibliolist =
907 element bibliolist {
908 bibliolist.attlist,
909 blockinfo?,
910 formalobject.title.content?,
911 (biblioentry | bibliomixed)+
912 }
913# end of bibliolist.element
914bibliolist.attlist &=
915 common.attrib, bibliolist.role.attrib, local.bibliolist.attrib
916# end of bibliolist.attlist
917
918# end of bibliolist.module
919local.biblioentry.attrib = empty
920biblioentry.role.attrib = role.attrib
921# doc:An entry in a Bibliography.
922biblioentry =
923 element biblioentry {
924 biblioentry.attlist, (articleinfo | bibliocomponent.mix)+
925 }
926# end of biblioentry.element
927biblioentry.attlist &=
928 common.attrib, biblioentry.role.attrib, local.biblioentry.attrib
929# end of biblioentry.attlist
930
931# end of biblioentry.module
932local.bibliomixed.attrib = empty
933bibliomixed.role.attrib = role.attrib
934# doc:An entry in a Bibliography.
935bibliomixed =
936 element bibliomixed {
937 bibliomixed.attlist, (text | bibliocomponent.mix | bibliomset)*
938 }
939# end of bibliomixed.element
940bibliomixed.attlist &=
941 common.attrib, bibliomixed.role.attrib, local.bibliomixed.attrib
942# end of bibliomixed.attlist
943
944# end of bibliomixed.module
945local.articleinfo.attrib = empty
946articleinfo.role.attrib = role.attrib
947# doc:Meta-information for an Article.
948articleinfo = element articleinfo { articleinfo.attlist, info.class+ }
949# end of articleinfo.element
950articleinfo.attlist &=
951 common.attrib, articleinfo.role.attrib, local.articleinfo.attrib
952# end of articleinfo.attlist
953
954# end of articleinfo.module
955local.biblioset.attrib = empty
956biblioset.role.attrib = role.attrib
957# doc:A "raw" container for related bibliographic information.
958biblioset =
959 element biblioset { biblioset.attlist, bibliocomponent.mix+ }
960# end of biblioset.element
961
962# Relation: Relationship of elements contained within BiblioSet
963biblioset.attlist &=
964 attribute relation { text }?,
965 common.attrib,
966 biblioset.role.attrib,
967 local.biblioset.attrib
968# end of biblioset.attlist
969
970# end of biblioset.module
971bibliomset.role.attrib = role.attrib
972local.bibliomset.attrib = empty
973# doc:A "cooked" container for related bibliographic information.
974bibliomset =
975 element bibliomset {
976 bibliomset.attlist, (text | bibliocomponent.mix | bibliomset)*
977 }
978# end of bibliomset.element
979
980# Relation: Relationship of elements contained within BiblioMSet
981bibliomset.attlist &=
982 attribute relation { text }?,
983 common.attrib,
984 bibliomset.role.attrib,
985 local.bibliomset.attrib
986# end of bibliomset.attlist
987
988# end of bibliomset.module
989local.bibliomisc.attrib = empty
990bibliomisc.role.attrib = role.attrib
991# doc:Untyped bibliographic information.
992bibliomisc = element bibliomisc { bibliomisc.attlist, para.char.mix* }
993# end of bibliomisc.element
994bibliomisc.attlist &=
995 common.attrib, bibliomisc.role.attrib, local.bibliomisc.attrib
996# end of bibliomisc.attlist
997
998# end of bibliomisc.module
999
1000# ......................................................................
1001
1002# Subject, Keyword, and ITermSet elements ..............................
1003local.subjectset.attrib = empty
1004subjectset.role.attrib = role.attrib
1005# doc:A set of terms describing the subject matter of a document.
1006subjectset = element subjectset { subjectset.attlist, subject+ }
1007# end of subjectset.element
1008
1009# Scheme: Controlled vocabulary employed in SubjectTerms
1010subjectset.attlist &=
1011 attribute scheme { xsd:NMTOKEN }?,
1012 common.attrib,
1013 subjectset.role.attrib,
1014 local.subjectset.attrib
1015# end of subjectset.attlist
1016
1017# end of subjectset.module
1018local.subject.attrib = empty
1019subject.role.attrib = role.attrib
1020# doc:One of a group of terms describing the subject matter of a document.
1021subject = element subject { subject.attlist, subjectterm+ }
1022# end of subject.element
1023
1024# Weight: Ranking of this group of SubjectTerms relative
1025# to others, 0 is low, no highest value specified
1026subject.attlist &=
1027 attribute weight { text }?,
1028 common.attrib,
1029 subject.role.attrib,
1030 local.subject.attrib
1031# end of subject.attlist
1032
1033# end of subject.module
1034local.subjectterm.attrib = empty
1035subjectterm.role.attrib = role.attrib
1036# doc:A term in a group of terms describing the subject matter of a document.
1037subjectterm = element subjectterm { subjectterm.attlist, text }
1038# end of subjectterm.element
1039subjectterm.attlist &=
1040 common.attrib, subjectterm.role.attrib, local.subjectterm.attrib
1041# end of subjectterm.attlist
1042
1043# end of subjectterm.module
1044
1045# end of subjectset.content.module
1046local.keywordset.attrib = empty
1047keywordset.role.attrib = role.attrib
1048# doc:A set of keywords describing the content of a document.
1049keywordset = element keywordset { keywordset.attlist, keyword+ }
1050# end of keywordset.element
1051keywordset.attlist &=
1052 common.attrib, keywordset.role.attrib, local.keywordset.attrib
1053# end of keywordset.attlist
1054
1055# end of keywordset.module
1056local.keyword.attrib = empty
1057keyword.role.attrib = role.attrib
1058# doc:One of a set of keywords describing the content of a document.
1059keyword = element keyword { keyword.attlist, text }
1060# end of keyword.element
1061keyword.attlist &=
1062 common.attrib, keyword.role.attrib, local.keyword.attrib
1063# end of keyword.attlist
1064
1065# end of keyword.module
1066
1067# end of keywordset.content.module
1068local.itermset.attrib = empty
1069itermset.role.attrib = role.attrib
1070# doc:A set of index terms in the meta-information of a document.
1071itermset = element itermset { itermset.attlist, indexterm+ }
1072# end of itermset.element
1073itermset.attlist &=
1074 common.attrib, itermset.role.attrib, local.itermset.attrib
1075# end of itermset.attlist
1076
1077# end of itermset.module
1078
1079# Bibliographic info for "blocks"
1080local.blockinfo.attrib = empty
1081blockinfo.role.attrib = role.attrib
1082# doc:Meta-information for a block element.
1083blockinfo = element blockinfo { blockinfo.attlist, info.class+ }
1084# end of blockinfo.element
1085blockinfo.attlist &=
1086 common.attrib, blockinfo.role.attrib, local.blockinfo.attrib
1087# end of blockinfo.attlist
1088
1089# end of blockinfo.module
1090
1091# ......................................................................
1092
1093# Compound (section-ish) elements ......................................
1094
1095# Message set ......................
1096local.msgset.attrib = empty
1097msgset.role.attrib = role.attrib
1098# doc:A detailed set of messages, usually error messages.
1099msgset =
1100 element msgset {
1101 msgset.attlist,
1102 blockinfo?,
1103 formalobject.title.content?,
1104 (msgentry+ | simplemsgentry+)
1105 }
1106# end of msgset.element
1107msgset.attlist &= common.attrib, msgset.role.attrib, local.msgset.attrib
1108# end of msgset.attlist
1109
1110# end of msgset.module
1111local.msgentry.attrib = empty
1112msgentry.role.attrib = role.attrib
1113# doc:A wrapper for an entry in a message set.
1114msgentry =
1115 element msgentry { msgentry.attlist, msg+, msginfo?, msgexplan* }
1116# end of msgentry.element
1117msgentry.attlist &=
1118 common.attrib, msgentry.role.attrib, local.msgentry.attrib
1119# end of msgentry.attlist
1120
1121# end of msgentry.module
1122local.simplemsgentry.attrib = empty
1123simplemsgentry.role.attrib = role.attrib
1124# doc:A wrapper for a simpler entry in a message set.
1125simplemsgentry =
1126 element simplemsgentry { simplemsgentry.attlist, msgtext, msgexplan+ }
1127# end of simplemsgentry.element
1128simplemsgentry.attlist &=
1129 attribute audience { text }?,
1130 attribute level { text }?,
1131 attribute origin { text }?,
1132 common.attrib,
1133 simplemsgentry.role.attrib,
1134 local.simplemsgentry.attrib
1135# end of simplemsgentry.attlist
1136
1137# end of simplemsgentry.module
1138local.msg.attrib = empty
1139msg.role.attrib = role.attrib
1140# doc:A message in a message set.
1141msg = element msg { msg.attlist, title?, msgmain, (msgsub | msgrel)* }
1142# end of msg.element
1143msg.attlist &= common.attrib, msg.role.attrib, local.msg.attrib
1144# end of msg.attlist
1145
1146# end of msg.module
1147local.msgmain.attrib = empty
1148msgmain.role.attrib = role.attrib
1149# doc:The primary component of a message in a message set.
1150msgmain = element msgmain { msgmain.attlist, title?, msgtext }
1151# end of msgmain.element
1152msgmain.attlist &=
1153 common.attrib, msgmain.role.attrib, local.msgmain.attrib
1154# end of msgmain.attlist
1155
1156# end of msgmain.module
1157local.msgsub.attrib = empty
1158msgsub.role.attrib = role.attrib
1159# doc:A subcomponent of a message in a message set.
1160msgsub = element msgsub { msgsub.attlist, title?, msgtext }
1161# end of msgsub.element
1162msgsub.attlist &= common.attrib, msgsub.role.attrib, local.msgsub.attrib
1163# end of msgsub.attlist
1164
1165# end of msgsub.module
1166local.msgrel.attrib = empty
1167msgrel.role.attrib = role.attrib
1168# doc:A related component of a message in a message set.
1169msgrel = element msgrel { msgrel.attlist, title?, msgtext }
1170# end of msgrel.element
1171msgrel.attlist &= common.attrib, msgrel.role.attrib, local.msgrel.attrib
1172# end of msgrel.attlist
1173
1174# end of msgrel.module
1175
1176# MsgText (defined in the Inlines section, below)
1177local.msginfo.attrib = empty
1178msginfo.role.attrib = role.attrib
1179# doc:Information about a message in a message set.
1180msginfo =
1181 element msginfo { msginfo.attlist, (msglevel | msgorig | msgaud)* }
1182# end of msginfo.element
1183msginfo.attlist &=
1184 common.attrib, msginfo.role.attrib, local.msginfo.attrib
1185# end of msginfo.attlist
1186
1187# end of msginfo.module
1188local.msglevel.attrib = empty
1189msglevel.role.attrib = role.attrib
1190# doc:The level of importance or severity of a message in a message set.
1191msglevel = element msglevel { msglevel.attlist, smallcptr.char.mix* }
1192# end of msglevel.element
1193msglevel.attlist &=
1194 common.attrib, msglevel.role.attrib, local.msglevel.attrib
1195# end of msglevel.attlist
1196
1197# end of msglevel.module
1198local.msgorig.attrib = empty
1199msgorig.role.attrib = role.attrib
1200# doc:The origin of a message in a message set.
1201msgorig = element msgorig { msgorig.attlist, smallcptr.char.mix* }
1202# end of msgorig.element
1203msgorig.attlist &=
1204 common.attrib, msgorig.role.attrib, local.msgorig.attrib
1205# end of msgorig.attlist
1206
1207# end of msgorig.module
1208local.msgaud.attrib = empty
1209msgaud.role.attrib = role.attrib
1210# doc:The audience to which a message in a message set is relevant.
1211msgaud = element msgaud { msgaud.attlist, para.char.mix* }
1212# end of msgaud.element
1213msgaud.attlist &= common.attrib, msgaud.role.attrib, local.msgaud.attrib
1214# end of msgaud.attlist
1215
1216# end of msgaud.module
1217local.msgexplan.attrib = empty
1218msgexplan.role.attrib = role.attrib
1219# doc:Explanatory material relating to a message in a message set.
1220msgexplan =
1221 element msgexplan { msgexplan.attlist, title?, component.mix+ }
1222# end of msgexplan.element
1223msgexplan.attlist &=
1224 common.attrib, msgexplan.role.attrib, local.msgexplan.attrib
1225# end of msgexplan.attlist
1226
1227# end of msgexplan.module
1228
1229# end of msgset.content.module
1230local.task.attrib = empty
1231task.role.attrib = role.attrib
1232# doc:A task to be completed.
1233task =
1234 element task {
1235 task.attlist,
1236 blockinfo?,
1237 ndxterm.class*,
1238 formalobject.title.content,
1239 tasksummary?,
1240 taskprerequisites?,
1241 procedure,
1242 example*,
1243 taskrelated?
1244 }
1245# end of task.element
1246task.attlist &= common.attrib, task.role.attrib, local.task.attrib
1247# end of task.attlist
1248
1249# end of task.module
1250local.tasksummary.attrib = empty
1251tasksummary.role.attrib = role.attrib
1252# doc:A summary of a task.
1253tasksummary =
1254 element tasksummary {
1255 tasksummary.attlist,
1256 blockinfo?,
1257 formalobject.title.content?,
1258 component.mix+
1259 }
1260# end of tasksummary.element
1261tasksummary.attlist &=
1262 common.attrib, tasksummary.role.attrib, local.tasksummary.attrib
1263# end of tasksummary.attlist
1264
1265# end of tasksummary.module
1266local.taskprerequisites.attrib = empty
1267taskprerequisites.role.attrib = role.attrib
1268# doc:The prerequisites for a task.
1269taskprerequisites =
1270 element taskprerequisites {
1271 taskprerequisites.attlist,
1272 blockinfo?,
1273 formalobject.title.content?,
1274 component.mix+
1275 }
1276# end of taskprerequisites.element
1277taskprerequisites.attlist &=
1278 common.attrib,
1279 taskprerequisites.role.attrib,
1280 local.taskprerequisites.attrib
1281# end of taskprerequisites.attlist
1282
1283# end of taskprerequisites.module
1284local.taskrelated.attrib = empty
1285taskrelated.role.attrib = role.attrib
1286# doc:Information related to a task.
1287taskrelated =
1288 element taskrelated {
1289 taskrelated.attlist,
1290 blockinfo?,
1291 formalobject.title.content?,
1292 component.mix+
1293 }
1294# end of taskrelated.element
1295taskrelated.attlist &=
1296 common.attrib, taskrelated.role.attrib, local.taskrelated.attrib
1297# end of taskrelated.attlist
1298
1299# end of taskrelated.module
1300
1301# end of task.content.module
1302
1303# QandASet ........................
1304local.qandaset.attrib = empty
1305qandaset.role.attrib = role.attrib
1306# doc:A question-and-answer set.
1307qandaset =
1308 element qandaset {
1309 qandaset.attlist,
1310 blockinfo?,
1311 formalobject.title.content?,
1312 qandaset.mix*,
1313 (qandadiv+ | qandaentry+)
1314 }
1315# end of qandaset.element
1316qandaset.attlist &=
1317 attribute defaultlabel { "qanda" | "number" | "none" }?,
1318 common.attrib,
1319 qandaset.role.attrib,
1320 local.qandaset.attrib
1321# end of qandaset.attlist
1322
1323# end of qandaset.module
1324local.qandadiv.attrib = empty
1325qandadiv.role.attrib = role.attrib
1326# doc:A titled division in a QandASet.
1327qandadiv =
1328 element qandadiv {
1329 qandadiv.attlist,
1330 blockinfo?,
1331 formalobject.title.content?,
1332 qandaset.mix*,
1333 (qandadiv+ | qandaentry+)
1334 }
1335# end of qandadiv.element
1336qandadiv.attlist &=
1337 common.attrib, qandadiv.role.attrib, local.qandadiv.attrib
1338# end of qandadiv.attlist
1339
1340# end of qandadiv.module
1341local.qandaentry.attrib = empty
1342qandaentry.role.attrib = role.attrib
1343# doc:A question/answer set within a QandASet.
1344qandaentry =
1345 element qandaentry {
1346 qandaentry.attlist, blockinfo?, revhistory?, question, answer*
1347 }
1348# end of qandaentry.element
1349qandaentry.attlist &=
1350 common.attrib, qandaentry.role.attrib, local.qandaentry.attrib
1351# end of qandaentry.attlist
1352
1353# end of qandaentry.module
1354local.question.attrib = empty
1355question.role.attrib = role.attrib
1356# doc:A question in a QandASet.
1357question = element question { question.attlist, label?, qandaset.mix+ }
1358# end of question.element
1359question.attlist &=
1360 common.attrib, question.role.attrib, local.question.attrib
1361# end of question.attlist
1362
1363# end of question.module
1364local.answer.attrib = empty
1365answer.role.attrib = role.attrib
1366# doc:An answer to a question posed in a QandASet.
1367answer =
1368 element answer { answer.attlist, label?, qandaset.mix*, qandaentry* }
1369# end of answer.element
1370answer.attlist &= common.attrib, answer.role.attrib, local.answer.attrib
1371# end of answer.attlist
1372
1373# end of answer.module
1374local.label.attrib = empty
1375label.role.attrib = role.attrib
1376# doc:A label on a Question or Answer.
1377label = element label { label.attlist, word.char.mix* }
1378# end of label.element
1379label.attlist &= common.attrib, label.role.attrib, local.label.attrib
1380# end of label.attlist
1381
1382# end of label.module
1383
1384# end of qandaset.content.module
1385
1386# Procedure ........................
1387local.procedure.attrib = empty
1388procedure.role.attrib = role.attrib
1389# doc:A list of operations to be performed in a well-defined sequence.
1390procedure =
1391 element procedure {
1392 procedure.attlist,
1393 blockinfo?,
1394 formalobject.title.content?,
1395 component.mix*,
1396 step+
1397 }
1398# end of procedure.element
1399procedure.attlist &=
1400 common.attrib, procedure.role.attrib, local.procedure.attrib
1401# end of procedure.attlist
1402
1403# end of procedure.module
1404local.step.attrib = empty
1405step.role.attrib = role.attrib
1406# doc:A unit of action in a procedure.
1407step =
1408 element step {
1409 step.attlist,
1410 title?,
1411 ((component.mix+,
1412 ((substeps | stepalternatives), component.mix*)?)
1413 | ((substeps | stepalternatives), component.mix*))
1414 }
1415# end of step.element
1416
1417# Performance: Whether the Step must be performed
1418
1419# not #REQUIRED!
1420step.attlist &=
1421 [ a:defaultValue = "required" ]
1422 attribute performance { "optional" | "required" }?,
1423 common.attrib,
1424 step.role.attrib,
1425 local.step.attrib
1426# end of step.attlist
1427
1428# end of step.module
1429local.substeps.attrib = empty
1430substeps.role.attrib = role.attrib
1431# doc:A wrapper for steps that occur within steps in a procedure.
1432substeps = element substeps { substeps.attlist, step+ }
1433# end of substeps.element
1434
1435# Performance: whether entire set of substeps must be performed
1436
1437# not #REQUIRED!
1438substeps.attlist &=
1439 [ a:defaultValue = "required" ]
1440 attribute performance { "optional" | "required" }?,
1441 common.attrib,
1442 substeps.role.attrib,
1443 local.substeps.attrib
1444# end of substeps.attlist
1445
1446# end of substeps.module
1447local.stepalternatives.attrib = empty
1448stepalternatives.role.attrib = role.attrib
1449# doc:Alternative steps in a procedure.
1450stepalternatives =
1451 element stepalternatives { stepalternatives.attlist, step+ }
1452# end of stepalternatives.element
1453
1454# Performance: Whether (one of) the alternatives must be performed
1455
1456# not #REQUIRED!
1457stepalternatives.attlist &=
1458 [ a:defaultValue = "required" ]
1459 attribute performance { "optional" | "required" }?,
1460 common.attrib,
1461 stepalternatives.role.attrib,
1462 local.stepalternatives.attrib
1463# end of stepalternatives.attlist
1464
1465# end of stepalternatives.module
1466
1467# end of procedure.content.module
1468
1469# Sidebar ..........................
1470local.sidebarinfo.attrib = empty
1471sidebarinfo.role.attrib = role.attrib
1472# doc:Meta-information for a Sidebar.
1473sidebarinfo = element sidebarinfo { sidebarinfo.attlist, info.class+ }
1474# end of sidebarinfo.element
1475sidebarinfo.attlist &=
1476 common.attrib, sidebarinfo.role.attrib, local.sidebarinfo.attrib
1477# end of sidebarinfo.attlist
1478
1479# end of sidebarinfo.module
1480local.sidebar.attrib = empty
1481sidebar.role.attrib = role.attrib
1482# doc:A portion of a document that is isolated from the main narrative flow.
1483sidebar =
1484 element sidebar {
1485 sidebar.attlist,
1486 sidebarinfo?,
1487 formalobject.title.content?,
1488 sidebar.mix+
1489 }
1490# end of sidebar.element
1491sidebar.attlist &=
1492 common.attrib, sidebar.role.attrib, local.sidebar.attrib
1493# end of sidebar.attlist
1494
1495# end of sidebar.module
1496
1497# end of sidebar.content.model
1498
1499# ......................................................................
1500
1501# Paragraph-related elements ...........................................
1502local.abstract.attrib = empty
1503abstract.role.attrib = role.attrib
1504# doc:A summary.
1505abstract = element abstract { abstract.attlist, title?, para.class+ }
1506# end of abstract.element
1507abstract.attlist &=
1508 common.attrib, abstract.role.attrib, local.abstract.attrib
1509# end of abstract.attlist
1510
1511# end of abstract.module
1512local.authorblurb.attrib = empty
1513authorblurb.role.attrib = role.attrib
1514# doc:A short description or note about an author.
1515authorblurb =
1516 element authorblurb { authorblurb.attlist, title?, para.class+ }
1517# end of authorblurb.element
1518authorblurb.attlist &=
1519 common.attrib, authorblurb.role.attrib, local.authorblurb.attrib
1520# end of authorblurb.attlist
1521
1522# end of authorblurb.module
1523local.personblurb.attrib = empty
1524personblurb.role.attrib = role.attrib
1525# doc:A short description or note about a person.
1526personblurb =
1527 element personblurb { personblurb.attlist, title?, para.class+ }
1528# end of personblurb.element
1529personblurb.attlist &=
1530 common.attrib, personblurb.role.attrib, local.personblurb.attrib
1531# end of personblurb.attlist
1532
1533# end of personblurb.module
1534local.blockquote.attrib = empty
1535blockquote.role.attrib = role.attrib
1536# doc:A quotation set off from the main text.
1537blockquote =
1538 element blockquote {
1539 blockquote.attlist, blockinfo?, title?, attribution?, component.mix+
1540 }
1541# end of blockquote.element
1542blockquote.attlist &=
1543 common.attrib, blockquote.role.attrib, local.blockquote.attrib
1544# end of blockquote.attlist
1545
1546# end of blockquote.module
1547local.attribution.attrib = empty
1548attribution.role.attrib = role.attrib
1549# doc:The source of a block quote or epigraph.
1550attribution =
1551 element attribution { attribution.attlist, para.char.mix* }
1552# end of attribution.element
1553attribution.attlist &=
1554 common.attrib, attribution.role.attrib, local.attribution.attrib
1555# end of attribution.attlist
1556
1557# end of attribution.module
1558local.bridgehead.attrib = empty
1559bridgehead.role.attrib = role.attrib
1560# doc:A free-floating heading.
1561bridgehead = element bridgehead { bridgehead.attlist, title.char.mix* }
1562# end of bridgehead.element
1563
1564# Renderas: Indicates the format in which the BridgeHead
1565# should appear
1566bridgehead.attlist &=
1567 attribute renderas {
1568 "other" | "sect1" | "sect2" | "sect3" | "sect4" | "sect5"
1569 }?,
1570 common.attrib,
1571 bridgehead.role.attrib,
1572 local.bridgehead.attrib
1573# end of bridgehead.attlist
1574
1575# end of bridgehead.module
1576local.remark.attrib = empty
1577remark.role.attrib = role.attrib
1578# doc:A remark (or comment) intended for presentation in a draft manuscript.
1579remark = element remark { remark.attlist, para.char.mix* }
1580# end of remark.element
1581remark.attlist &= common.attrib, remark.role.attrib, local.remark.attrib
1582# end of remark.attlist
1583
1584# end of remark.module
1585local.epigraph.attrib = empty
1586epigraph.role.attrib = role.attrib
1587# doc:A short inscription at the beginning of a document or component.
1588epigraph =
1589 element epigraph {
1590 epigraph.attlist, attribution?, (para.class | literallayout)+
1591 }
1592# end of epigraph.element
1593epigraph.attlist &=
1594 common.attrib, epigraph.role.attrib, local.epigraph.attrib
1595# end of epigraph.attlist
1596
1597# Attribution (defined above)
1598
1599# end of epigraph.module
1600local.footnote.attrib = empty
1601footnote.role.attrib = role.attrib
1602# doc:A footnote.
1603footnote = element footnote { footnote.attlist, footnote.mix+ }
1604# end of footnote.element
1605footnote.attlist &=
1606 label.attrib,
1607 common.attrib,
1608 footnote.role.attrib,
1609 local.footnote.attrib
1610# end of footnote.attlist
1611
1612# end of footnote.module
1613local.highlights.attrib = empty
1614highlights.role.attrib = role.attrib
1615# doc:A summary of the main points of the discussed component.
1616highlights = element highlights { highlights.attlist, highlights.mix+ }
1617# end of highlights.element
1618highlights.attlist &=
1619 common.attrib, highlights.role.attrib, local.highlights.attrib
1620# end of highlights.attlist
1621
1622# end of highlights.module
1623local.formalpara.attrib = empty
1624formalpara.role.attrib = role.attrib
1625# doc:A paragraph with a title.
1626formalpara =
1627 element formalpara { formalpara.attlist, title, ndxterm.class*, para }
1628# end of formalpara.element
1629formalpara.attlist &=
1630 common.attrib, formalpara.role.attrib, local.formalpara.attrib
1631# end of formalpara.attlist
1632
1633# end of formalpara.module
1634local.para.attrib = empty
1635para.role.attrib = role.attrib
1636# doc:A paragraph.
1637para = element para { para.attlist, (para.char.mix | para.mix)* }
1638# end of para.element
1639para.attlist &= common.attrib, para.role.attrib, local.para.attrib
1640# end of para.attlist
1641
1642# end of para.module
1643local.simpara.attrib = empty
1644simpara.role.attrib = role.attrib
1645# doc:A paragraph that contains only text and inline markup, no block elements.
1646simpara = element simpara { simpara.attlist, para.char.mix* }
1647# end of simpara.element
1648simpara.attlist &=
1649 common.attrib, simpara.role.attrib, local.simpara.attrib
1650# end of simpara.attlist
1651
1652# end of simpara.module
1653local.admon.attrib = empty
1654admon.role.attrib = role.attrib
1655# doc:A note of caution.
1656caution = element caution { caution.attlist, title?, admon.mix+ }
1657# end of caution.element
1658caution.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
1659# end of caution.attlist
1660
1661# doc:An admonition set off from the text.
1662important = element important { important.attlist, title?, admon.mix+ }
1663# end of important.element
1664important.attlist &=
1665 common.attrib, admon.role.attrib, local.admon.attrib
1666# end of important.attlist
1667
1668# doc:A message set off from the text.
1669note = element note { note.attlist, title?, admon.mix+ }
1670# end of note.element
1671note.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
1672# end of note.attlist
1673
1674# doc:A suggestion to the user, set off from the text.
1675tip = element tip { tip.attlist, title?, admon.mix+ }
1676# end of tip.element
1677tip.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
1678# end of tip.attlist
1679
1680# doc:An admonition set off from the text.
1681warning = element warning { warning.attlist, title?, admon.mix+ }
1682# end of warning.element
1683warning.attlist &= common.attrib, admon.role.attrib, local.admon.attrib
1684# end of warning.attlist
1685
1686# end of admon.module
1687
1688# ......................................................................
1689
1690# Lists ................................................................
1691
1692# GlossList ........................
1693local.glosslist.attrib = empty
1694glosslist.role.attrib = role.attrib
1695# doc:A wrapper for a set of GlossEntrys.
1696glosslist =
1697 element glosslist {
1698 glosslist.attlist,
1699 blockinfo?,
1700 formalobject.title.content?,
1701 glossentry+
1702 }
1703# end of glosslist.element
1704glosslist.attlist &=
1705 common.attrib, glosslist.role.attrib, local.glosslist.attrib
1706# end of glosslist.attlist
1707
1708# end of glosslist.module
1709local.glossentry.attrib = empty
1710glossentry.role.attrib = role.attrib
1711# doc:An entry in a Glossary or GlossList.
1712glossentry =
1713 element glossentry {
1714 glossentry.attlist,
1715 glossterm,
1716 acronym?,
1717 abbrev?,
1718 ndxterm.class*,
1719 revhistory?,
1720 (glosssee | glossdef+)
1721 }
1722# end of glossentry.element
1723
1724# SortAs: String by which the GlossEntry is to be sorted
1725# (alphabetized) in lieu of its proper content
1726glossentry.attlist &=
1727 attribute sortas { text }?,
1728 common.attrib,
1729 glossentry.role.attrib,
1730 local.glossentry.attrib
1731# end of glossentry.attlist
1732
1733# end of glossentry.module
1734
1735# GlossTerm (defined in the Inlines section, below)
1736local.glossdef.attrib = empty
1737glossdef.role.attrib = role.attrib
1738# doc:A definition in a GlossEntry.
1739glossdef =
1740 element glossdef { glossdef.attlist, glossdef.mix+, glossseealso* }
1741# end of glossdef.element
1742
1743# Subject: List of subjects; keywords for the definition
1744glossdef.attlist &=
1745 attribute subject { text }?,
1746 common.attrib,
1747 glossdef.role.attrib,
1748 local.glossdef.attrib
1749# end of glossdef.attlist
1750
1751# end of glossdef.module
1752local.glosssee.attrib = empty
1753glosssee.role.attrib = role.attrib
1754# doc:A cross-reference from one GlossEntry to another.
1755glosssee = element glosssee { glosssee.attlist, para.char.mix* }
1756# end of glosssee.element
1757
1758# OtherTerm: Reference to the GlossEntry whose GlossTerm
1759# should be displayed at the point of the GlossSee
1760glosssee.attlist &=
1761 attribute otherterm { xsd:IDREF }?,
1762 common.attrib,
1763 glosssee.role.attrib,
1764 local.glosssee.attrib
1765# end of glosssee.attlist
1766
1767# end of glosssee.module
1768local.glossseealso.attrib = empty
1769glossseealso.role.attrib = role.attrib
1770# doc:A cross-reference from one GlossEntry to another.
1771glossseealso =
1772 element glossseealso { glossseealso.attlist, para.char.mix* }
1773# end of glossseealso.element
1774
1775# OtherTerm: Reference to the GlossEntry whose GlossTerm
1776# should be displayed at the point of the GlossSeeAlso
1777glossseealso.attlist &=
1778 attribute otherterm { xsd:IDREF }?,
1779 common.attrib,
1780 glossseealso.role.attrib,
1781 local.glossseealso.attrib
1782# end of glossseealso.attlist
1783
1784# end of glossseealso.module
1785
1786# end of glossentry.content.module
1787
1788# ItemizedList and OrderedList .....
1789local.itemizedlist.attrib = empty
1790itemizedlist.role.attrib = role.attrib
1791# doc:A list in which each entry is marked with a bullet or other dingbat.
1792itemizedlist =
1793 element itemizedlist {
1794 itemizedlist.attlist,
1795 blockinfo?,
1796 formalobject.title.content?,
1797 listpreamble.mix*,
1798 listitem+
1799 }
1800# end of itemizedlist.element
1801
1802# Spacing: Whether the vertical space in the list should be
1803# compressed
1804
1805# Mark: Keyword, e.g., bullet, dash, checkbox, none;
1806# list of keywords and defaults are implementation specific
1807itemizedlist.attlist &=
1808 attribute spacing { "normal" | "compact" }?,
1809 mark.attrib,
1810 common.attrib,
1811 itemizedlist.role.attrib,
1812 local.itemizedlist.attrib
1813# end of itemizedlist.attlist
1814
1815# end of itemizedlist.module
1816local.orderedlist.attrib = empty
1817orderedlist.role.attrib = role.attrib
1818# doc:A list in which each entry is marked with a sequentially incremented label.
1819orderedlist =
1820 element orderedlist {
1821 orderedlist.attlist,
1822 blockinfo?,
1823 formalobject.title.content?,
1824 listpreamble.mix*,
1825 listitem+
1826 }
1827# end of orderedlist.element
1828
1829# Numeration: Style of ListItem numbered; default is expected
1830# to be Arabic
1831
1832# InheritNum: Specifies for a nested list that the numbering
1833# of ListItems should include the number of the item
1834# within which they are nested (e.g., 1a and 1b within 1,
1835# rather than a and b)
1836
1837# Continuation: Where list numbering begins afresh (Restarts,
1838# the default) or continues that of the immediately preceding
1839# list (Continues)
1840
1841# Spacing: Whether the vertical space in the list should be
1842# compressed
1843orderedlist.attlist &=
1844 attribute numeration {
1845 "arabic" | "upperalpha" | "loweralpha" | "upperroman" | "lowerroman"
1846 }?,
1847 [ a:defaultValue = "ignore" ]
1848 attribute inheritnum { "inherit" | "ignore" }?,
1849 [ a:defaultValue = "restarts" ]
1850 attribute continuation { "continues" | "restarts" }?,
1851 attribute spacing { "normal" | "compact" }?,
1852 common.attrib,
1853 orderedlist.role.attrib,
1854 local.orderedlist.attrib
1855# end of orderedlist.attlist
1856
1857# end of orderedlist.module
1858local.listitem.attrib = empty
1859listitem.role.attrib = role.attrib
1860# doc:A wrapper for the elements of a list item.
1861listitem = element listitem { listitem.attlist, component.mix+ }
1862# end of listitem.element
1863
1864# Override: Indicates the mark to be used for this ListItem
1865# instead of the default mark or the mark specified by
1866# the Mark attribute on the enclosing ItemizedList
1867listitem.attlist &=
1868 attribute override { text }?,
1869 common.attrib,
1870 listitem.role.attrib,
1871 local.listitem.attrib
1872# end of listitem.attlist
1873
1874# end of listitem.module
1875
1876# SegmentedList ....................
1877local.segmentedlist.attrib = empty
1878segmentedlist.role.attrib = role.attrib
1879# doc:A segmented list, a list of sets of elements.
1880segmentedlist =
1881 element segmentedlist {
1882 segmentedlist.attlist,
1883 formalobject.title.content?,
1884 segtitle+,
1885 seglistitem+
1886 }
1887# end of segmentedlist.element
1888segmentedlist.attlist &=
1889 common.attrib, segmentedlist.role.attrib, local.segmentedlist.attrib
1890# end of segmentedlist.attlist
1891
1892# end of segmentedlist.module
1893local.segtitle.attrib = empty
1894segtitle.role.attrib = role.attrib
1895# doc:The title of an element of a list item in a segmented list.
1896segtitle = element segtitle { segtitle.attlist, title.char.mix* }
1897# end of segtitle.element
1898segtitle.attlist &=
1899 common.attrib, segtitle.role.attrib, local.segtitle.attrib
1900# end of segtitle.attlist
1901
1902# end of segtitle.module
1903local.seglistitem.attrib = empty
1904seglistitem.role.attrib = role.attrib
1905# doc:A list item in a segmented list.
1906seglistitem = element seglistitem { seglistitem.attlist, seg+ }
1907# end of seglistitem.element
1908seglistitem.attlist &=
1909 common.attrib, seglistitem.role.attrib, local.seglistitem.attrib
1910# end of seglistitem.attlist
1911
1912# end of seglistitem.module
1913local.seg.attrib = empty
1914seg.role.attrib = role.attrib
1915# doc:An element of a list item in a segmented list.
1916seg = element seg { seg.attlist, para.char.mix* }
1917# end of seg.element
1918seg.attlist &= common.attrib, seg.role.attrib, local.seg.attrib
1919# end of seg.attlist
1920
1921# end of seg.module
1922
1923# end of segmentedlist.content.module
1924
1925# SimpleList .......................
1926local.simplelist.attrib = empty
1927simplelist.role.attrib = role.attrib
1928# doc:An undecorated list of single words or short phrases.
1929simplelist = element simplelist { simplelist.attlist, member+ }
1930# end of simplelist.element
1931
1932# Columns: The number of columns the array should contain
1933
1934# Type: How the Members of the SimpleList should be
1935# formatted: Inline (members separated with commas etc.
1936# inline), Vert (top to bottom in n Columns), or Horiz (in
1937# the direction of text flow) in n Columns. If Column
1938# is 1 or implied, Type=Vert and Type=Horiz give the same
1939# results.
1940simplelist.attlist &=
1941 attribute columns { text }?,
1942 [ a:defaultValue = "vert" ]
1943 attribute type { "inline" | "vert" | "horiz" }?,
1944 common.attrib,
1945 simplelist.role.attrib,
1946 local.simplelist.attrib
1947# end of simplelist.attlist
1948
1949# end of simplelist.module
1950local.member.attrib = empty
1951member.role.attrib = role.attrib
1952# doc:An element of a simple list.
1953member = element member { member.attlist, para.char.mix* }
1954# end of member.element
1955member.attlist &= common.attrib, member.role.attrib, local.member.attrib
1956# end of member.attlist
1957
1958# end of member.module
1959
1960# end of simplelist.content.module
1961
1962# VariableList .....................
1963local.variablelist.attrib = empty
1964variablelist.role.attrib = role.attrib
1965# doc:A list in which each entry is composed of a set of one or more terms and an associated description.
1966variablelist =
1967 element variablelist {
1968 variablelist.attlist,
1969 blockinfo?,
1970 formalobject.title.content?,
1971 listpreamble.mix*,
1972 varlistentry+
1973 }
1974# end of variablelist.element
1975
1976# TermLength: Length beyond which the presentation engine
1977# may consider the Term too long and select an alternate
1978# presentation of the Term and, or, its associated ListItem.
1979variablelist.attlist &=
1980 attribute termlength { text }?,
1981 attribute spacing { "normal" | "compact" }?,
1982 common.attrib,
1983 variablelist.role.attrib,
1984 local.variablelist.attrib
1985# end of variablelist.attlist
1986
1987# end of variablelist.module
1988local.varlistentry.attrib = empty
1989varlistentry.role.attrib = role.attrib
1990# doc:A wrapper for a set of terms and the associated description in a variable list.
1991varlistentry =
1992 element varlistentry { varlistentry.attlist, term+, listitem }
1993# end of varlistentry.element
1994varlistentry.attlist &=
1995 common.attrib, varlistentry.role.attrib, local.varlistentry.attrib
1996# end of varlistentry.attlist
1997
1998# end of varlistentry.module
1999local.term.attrib = empty
2000term.role.attrib = role.attrib
2001# doc:The word or phrase being defined or described in a variable list.
2002term = element term { term.attlist, para.char.mix* }
2003# end of term.element
2004term.attlist &= common.attrib, term.role.attrib, local.term.attrib
2005# end of term.attlist
2006
2007# end of term.module
2008
2009# ListItem (defined above)
2010
2011# end of variablelist.content.module
2012
2013# CalloutList ......................
2014local.calloutlist.attrib = empty
2015calloutlist.role.attrib = role.attrib
2016# doc:A list of Callouts.
2017calloutlist =
2018 element calloutlist {
2019 calloutlist.attlist, formalobject.title.content?, callout+
2020 }
2021# end of calloutlist.element
2022calloutlist.attlist &=
2023 common.attrib, calloutlist.role.attrib, local.calloutlist.attrib
2024# end of calloutlist.attlist
2025
2026# end of calloutlist.module
2027local.callout.attrib = empty
2028callout.role.attrib = role.attrib
2029# doc:A &ldquo;called out&rdquo; description of a marked Area.
2030callout = element callout { callout.attlist, component.mix+ }
2031# end of callout.element
2032
2033# AreaRefs: IDs of one or more Areas or AreaSets described
2034# by this Callout
2035callout.attlist &=
2036 attribute arearefs { xsd:IDREFS },
2037 common.attrib,
2038 callout.role.attrib,
2039 local.callout.attrib
2040# end of callout.attlist
2041
2042# end of callout.module
2043
2044# end of calloutlist.content.module
2045
2046# ......................................................................
2047
2048# Objects ..............................................................
2049
2050# Examples etc. ....................
2051local.example.attrib = empty
2052example.role.attrib = role.attrib
2053# doc:A formal example, with a title.
2054example =
2055 element example {
2056 example.attlist,
2057 blockinfo?,
2058 formalobject.title.content,
2059 example.mix+
2060 }
2061# end of example.element
2062example.attlist &=
2063 attribute floatstyle { text }?,
2064 label.attrib,
2065 width.attrib,
2066 common.attrib,
2067 example.role.attrib,
2068 local.example.attrib
2069# end of example.attlist
2070
2071# end of example.module
2072local.informalexample.attrib = empty
2073informalexample.role.attrib = role.attrib
2074# doc:A displayed example without a title.
2075informalexample =
2076 element informalexample {
2077 informalexample.attlist, blockinfo?, example.mix+
2078 }
2079# end of informalexample.element
2080informalexample.attlist &=
2081 attribute floatstyle { text }?,
2082 width.attrib,
2083 common.attrib,
2084 informalexample.role.attrib,
2085 local.informalexample.attrib
2086# end of informalexample.attlist
2087
2088# end of informalexample.module
2089local.programlistingco.attrib = empty
2090programlistingco.role.attrib = role.attrib
2091# doc:A program listing with associated areas used in callouts.
2092programlistingco =
2093 element programlistingco {
2094 programlistingco.attlist, areaspec, programlisting, calloutlist*
2095 }
2096# end of programlistingco.element
2097programlistingco.attlist &=
2098 common.attrib,
2099 programlistingco.role.attrib,
2100 local.programlistingco.attrib
2101# end of programlistingco.attlist
2102
2103# CalloutList (defined above in Lists)
2104
2105# end of informalexample.module
2106local.areaspec.attrib = empty
2107areaspec.role.attrib = role.attrib
2108# doc:A collection of regions in a graphic or code example.
2109areaspec = element areaspec { areaspec.attlist, (area | areaset)+ }
2110# end of areaspec.element
2111
2112# Units: global unit of measure in which coordinates in
2113# this spec are expressed:
2114#
2115# - CALSPair "x1,y1 x2,y2": lower-left and upper-right
2116# coordinates in a rectangle describing repro area in which
2117# graphic is placed, where X and Y dimensions are each some
2118# number 0..10000 (taken from CALS graphic attributes)
2119#
2120# - LineColumn "line column": line number and column number
2121# at which to start callout text in "linespecific" content
2122#
2123# - LineRange "startline endline": whole lines from startline
2124# to endline in "linespecific" content
2125#
2126# - LineColumnPair "line1 col1 line2 col2": starting and ending
2127# points of area in "linespecific" content that starts at
2128# first position and ends at second position (including the
2129# beginnings of any intervening lines)
2130#
2131# - Other: directive to look at value of OtherUnits attribute
2132# to get implementation-specific keyword
2133#
2134# The default is implementation-specific; usually dependent on
2135# the parent element (GraphicCO gets CALSPair, ProgramListingCO
2136# and ScreenCO get LineColumn)
2137
2138# OtherUnits: User-defined units
2139areaspec.attlist &=
2140 attribute units {
2141 "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
2142 }?,
2143 attribute otherunits { xsd:NMTOKEN }?,
2144 common.attrib,
2145 areaspec.role.attrib,
2146 local.areaspec.attrib
2147# end of areaspec.attlist
2148
2149# end of areaspec.module
2150local.area.attrib = empty
2151area.role.attrib = role.attrib
2152# doc:A region defined for a Callout in a graphic or code example.
2153area = element area { area.attlist, empty }
2154# end of area.element
2155
2156# bug number/symbol override or initialization
2157
2158# to any related information
2159
2160# Units: unit of measure in which coordinates in this
2161# area are expressed; inherits from AreaSet and AreaSpec
2162
2163# OtherUnits: User-defined units
2164area.attlist &=
2165 label.attrib,
2166 linkends.attrib,
2167 attribute units {
2168 "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
2169 }?,
2170 attribute otherunits { xsd:NMTOKEN }?,
2171 attribute coords { text },
2172 idreq.common.attrib,
2173 area.role.attrib,
2174 local.area.attrib
2175# end of area.attlist
2176
2177# end of area.module
2178local.areaset.attrib = empty
2179areaset.role.attrib = role.attrib
2180# doc:A set of related areas in a graphic or code example.
2181areaset = element areaset { areaset.attlist, area+ }
2182# end of areaset.element
2183
2184# bug number/symbol override or initialization
2185
2186# Units: unit of measure in which coordinates in this
2187# area are expressed; inherits from AreaSpec
2188areaset.attlist &=
2189 label.attrib,
2190 attribute units {
2191 "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other"
2192 }?,
2193 attribute otherunits { xsd:NMTOKEN }?,
2194 attribute coords { text },
2195 idreq.common.attrib,
2196 areaset.role.attrib,
2197 local.areaset.attrib
2198# end of areaset.attlist
2199
2200# end of areaset.module
2201
2202# end of areaspec.content.module
2203local.programlisting.attrib = empty
2204programlisting.role.attrib = role.attrib
2205# doc:A literal listing of all or part of a program.
2206programlisting =
2207 element programlisting {
2208 programlisting.attlist,
2209 (para.char.mix | co | coref | lineannotation | textobject)*
2210 }
2211# end of programlisting.element
2212programlisting.attlist &=
2213 width.attrib,
2214 linespecific.attrib,
2215 common.attrib,
2216 programlisting.role.attrib,
2217 local.programlisting.attrib
2218# end of programlisting.attlist
2219
2220# end of programlisting.module
2221local.literallayout.attrib = empty
2222literallayout.role.attrib = role.attrib
2223# doc:A block of text in which line breaks and white space are to be reproduced faithfully.
2224literallayout =
2225 element literallayout {
2226 literallayout.attlist,
2227 (para.char.mix | co | coref | textobject | lineannotation)*
2228 }
2229# end of literallayout.element
2230literallayout.attlist &=
2231 width.attrib,
2232 linespecific.attrib,
2233 [ a:defaultValue = "normal" ]
2234 attribute class { "monospaced" | "normal" }?,
2235 common.attrib,
2236 literallayout.role.attrib,
2237 local.literallayout.attrib
2238# end of literallayout.attlist
2239
2240# LineAnnotation (defined in the Inlines section, below)
2241
2242# end of literallayout.module
2243local.screenco.attrib = empty
2244screenco.role.attrib = role.attrib
2245# doc:A screen with associated areas used in callouts.
2246screenco =
2247 element screenco { screenco.attlist, areaspec, screen, calloutlist* }
2248# end of screenco.element
2249screenco.attlist &=
2250 common.attrib, screenco.role.attrib, local.screenco.attrib
2251# end of screenco.attlist
2252
2253# AreaSpec (defined above)
2254
2255# CalloutList (defined above in Lists)
2256
2257# end of screenco.module
2258local.screen.attrib = empty
2259screen.role.attrib = role.attrib
2260# doc:Text that a user sees or might see on a computer screen.
2261screen =
2262 element screen {
2263 screen.attlist,
2264 (para.char.mix | co | coref | textobject | lineannotation)*
2265 }
2266# end of screen.element
2267screen.attlist &=
2268 width.attrib,
2269 linespecific.attrib,
2270 common.attrib,
2271 screen.role.attrib,
2272 local.screen.attrib
2273# end of screen.attlist
2274
2275# end of screen.module
2276local.screenshot.attrib = empty
2277screenshot.role.attrib = role.attrib
2278# doc:A representation of what the user sees or might see on a computer screen.
2279screenshot =
2280 element screenshot {
2281 screenshot.attlist,
2282 screeninfo?,
2283 (graphic | graphicco | mediaobject | mediaobjectco)
2284 }
2285# end of screenshot.element
2286screenshot.attlist &=
2287 common.attrib, screenshot.role.attrib, local.screenshot.attrib
2288# end of screenshot.attlist
2289
2290# end of screenshot.module
2291local.screeninfo.attrib = empty
2292screeninfo.role.attrib = role.attrib
2293# doc:Information about how a screen shot was produced.
2294screeninfo = element screeninfo { screeninfo.attlist, para.char.mix* }
2295# end of screeninfo.element
2296screeninfo.attlist &=
2297 common.attrib, screeninfo.role.attrib, local.screeninfo.attrib
2298# end of screeninfo.attlist
2299
2300# end of screeninfo.module
2301
2302# end of screenshot.content.module
2303
2304# Figures etc. .....................
2305local.figure.attrib = empty
2306figure.role.attrib = role.attrib
2307# doc:A formal figure, generally an illustration, with a title.
2308figure =
2309 element figure {
2310 figure.attlist,
2311 blockinfo?,
2312 formalobject.title.content,
2313 (figure.mix | link.char.class)+
2314 }
2315# end of figure.element
2316
2317# Float: Whether the Figure is supposed to be rendered
2318# where convenient (yes (1) value) or at the place it occurs
2319# in the text (no (0) value, the default)
2320figure.attlist &=
2321 [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?,
2322 attribute floatstyle { text }?,
2323 attribute pgwide { yesorno.attvals }?,
2324 label.attrib,
2325 common.attrib,
2326 figure.role.attrib,
2327 local.figure.attrib
2328# end of figure.attlist
2329
2330# end of figure.module
2331local.informalfigure.attrib = empty
2332informalfigure.role.attrib = role.attrib
2333# doc:A untitled figure.
2334informalfigure =
2335 element informalfigure {
2336 informalfigure.attlist, blockinfo?, (figure.mix | link.char.class)+
2337 }
2338# end of informalfigure.element
2339
2340# Float: Whether the Figure is supposed to be rendered
2341# where convenient (yes (1) value) or at the place it occurs
2342# in the text (no (0) value, the default)
2343informalfigure.attlist &=
2344 [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?,
2345 attribute floatstyle { text }?,
2346 attribute pgwide { yesorno.attvals }?,
2347 label.attrib,
2348 common.attrib,
2349 informalfigure.role.attrib,
2350 local.informalfigure.attrib
2351# end of informalfigure.attlist
2352
2353# end of informalfigure.module
2354local.graphicco.attrib = empty
2355graphicco.role.attrib = role.attrib
2356# doc:A graphic that contains callout areas.
2357graphicco =
2358 element graphicco {
2359 graphicco.attlist, areaspec, graphic, calloutlist*
2360 }
2361# end of graphicco.element
2362graphicco.attlist &=
2363 common.attrib, graphicco.role.attrib, local.graphicco.attrib
2364# end of graphicco.attlist
2365
2366# AreaSpec (defined above in Examples)
2367
2368# CalloutList (defined above in Lists)
2369
2370# end of graphicco.module
2371
2372# Graphical data can be the content of Graphic, or you can reference
2373# an external file either as an entity (Entitref) or a filename
2374# (Fileref).
2375local.graphic.attrib = empty
2376graphic.role.attrib = role.attrib
2377# doc:A displayed graphical object (not an inline).
2378graphic = element graphic { graphic.attlist, empty }
2379# end of graphic.element
2380graphic.attlist &=
2381 graphics.attrib,
2382 common.attrib,
2383 graphic.role.attrib,
2384 local.graphic.attrib
2385# end of graphic.attlist
2386
2387# end of graphic.module
2388local.inlinegraphic.attrib = empty
2389inlinegraphic.role.attrib = role.attrib
2390# doc:An object containing or pointing to graphical data that will be rendered inline.
2391inlinegraphic = element inlinegraphic { inlinegraphic.attlist, empty }
2392# end of inlinegraphic.element
2393inlinegraphic.attlist &=
2394 graphics.attrib,
2395 common.attrib,
2396 inlinegraphic.role.attrib,
2397 local.inlinegraphic.attrib
2398# end of inlinegraphic.attlist
2399
2400# end of inlinegraphic.module
2401local.mediaobject.attrib = empty
2402mediaobject.role.attrib = role.attrib
2403# doc:A displayed media object (video, audio, image, etc.).
2404mediaobject =
2405 element mediaobject {
2406 mediaobject.attlist, objectinfo?, mediaobject.mix+, caption?
2407 }
2408# end of mediaobject.element
2409mediaobject.attlist &=
2410 common.attrib, mediaobject.role.attrib, local.mediaobject.attrib
2411# end of mediaobject.attlist
2412
2413# end of mediaobject.module
2414local.inlinemediaobject.attrib = empty
2415inlinemediaobject.role.attrib = role.attrib
2416# doc:An inline media object (video, audio, image, and so on).
2417inlinemediaobject =
2418 element inlinemediaobject {
2419 inlinemediaobject.attlist, objectinfo?, mediaobject.mix+
2420 }
2421# end of inlinemediaobject.element
2422inlinemediaobject.attlist &=
2423 common.attrib,
2424 inlinemediaobject.role.attrib,
2425 local.inlinemediaobject.attrib
2426# end of inlinemediaobject.attlist
2427
2428# end of inlinemediaobject.module
2429local.videoobject.attrib = empty
2430videoobject.role.attrib = role.attrib
2431# doc:A wrapper for video data and its associated meta-information.
2432videoobject =
2433 element videoobject { videoobject.attlist, objectinfo?, videodata }
2434# end of videoobject.element
2435videoobject.attlist &=
2436 common.attrib, videoobject.role.attrib, local.videoobject.attrib
2437# end of videoobject.attlist
2438
2439# end of videoobject.module
2440local.audioobject.attrib = empty
2441audioobject.role.attrib = role.attrib
2442# doc:A wrapper for audio data and its associated meta-information.
2443audioobject =
2444 element audioobject { audioobject.attlist, objectinfo?, audiodata }
2445# end of audioobject.element
2446audioobject.attlist &=
2447 common.attrib, audioobject.role.attrib, local.audioobject.attrib
2448# end of audioobject.attlist
2449
2450# end of audioobject.module
2451local.imageobject.attrib = empty
2452imageobject.role.attrib = role.attrib
2453# doc:A wrapper for image data and its associated meta-information.
2454imageobject =
2455 element imageobject { imageobject.attlist, objectinfo?, imagedata }
2456# end of imageobject.element
2457imageobject.attlist &=
2458 common.attrib, imageobject.role.attrib, local.imageobject.attrib
2459# end of imageobject.attlist
2460
2461# end of imageobject.module
2462local.textobject.attrib = empty
2463textobject.role.attrib = role.attrib
2464# doc:A wrapper for a text description of an object and its associated meta-information.
2465textobject =
2466 element textobject {
2467 textobject.attlist,
2468 objectinfo?,
2469 (phrase | textdata | textobject.mix+)
2470 }
2471# end of textobject.element
2472textobject.attlist &=
2473 common.attrib, textobject.role.attrib, local.textobject.attrib
2474# end of textobject.attlist
2475
2476# end of textobject.module
2477local.objectinfo.attrib = empty
2478objectinfo.role.attrib = role.attrib
2479# doc:Meta-information for an object.
2480objectinfo = element objectinfo { objectinfo.attlist, info.class+ }
2481# end of objectinfo.element
2482objectinfo.attlist &=
2483 common.attrib, objectinfo.role.attrib, local.objectinfo.attrib
2484# end of objectinfo.attlist
2485
2486# end of objectinfo.module
2487
2488# EntityRef: Name of an external entity containing the content
2489# of the object data
2490
2491# FileRef: Filename, qualified by a pathname if desired,
2492# designating the file containing the content of the object data
2493
2494# Format: Notation of the element content, if any
2495
2496# SrcCredit: Information about the source of the image
2497local.objectdata.attrib = empty
2498objectdata.attrib =
2499 attribute entityref { xsd:ENTITY }?,
2500 attribute fileref { text }?,
2501 attribute format { notation.class }?,
2502 attribute srccredit { text }?,
2503 local.objectdata.attrib
2504local.videodata.attrib = empty
2505videodata.role.attrib = role.attrib
2506# doc:Pointer to external video data.
2507videodata = element videodata { videodata.attlist, empty }
2508# end of videodata.element
2509
2510# Width: Same as CALS reprowid (desired width)
2511
2512# Depth: Same as CALS reprodep (desired depth)
2513
2514# Align: Same as CALS hplace with 'none' removed; #IMPLIED means
2515# application-specific
2516
2517# Scale: Conflation of CALS hscale and vscale
2518
2519# Scalefit: Same as CALS scalefit
2520videodata.attlist &=
2521 attribute width { text }?,
2522 attribute contentwidth { text }?,
2523 attribute depth { text }?,
2524 attribute contentdepth { text }?,
2525 attribute align { "left" | "right" | "center" }?,
2526 attribute valign { "top" | "middle" | "bottom" }?,
2527 attribute scale { text }?,
2528 attribute scalefit { yesorno.attvals }?,
2529 objectdata.attrib,
2530 common.attrib,
2531 videodata.role.attrib,
2532 local.videodata.attrib
2533# end of videodata.attlist
2534
2535# end of videodata.module
2536local.audiodata.attrib = empty
2537audiodata.role.attrib = role.attrib
2538# doc:Pointer to external audio data.
2539audiodata = element audiodata { audiodata.attlist, empty }
2540# end of audiodata.element
2541audiodata.attlist &=
2542 objectdata.attrib,
2543 common.attrib,
2544 audiodata.role.attrib,
2545 local.audiodata.attrib
2546# end of audiodata.attlist
2547
2548# end of audiodata.module
2549local.imagedata.attrib = empty
2550imagedata.role.attrib = role.attrib
2551# doc:Pointer to external image data.
2552imagedata = element imagedata { imagedata.attlist, empty }
2553# end of imagedata.element
2554
2555# Width: Same as CALS reprowid (desired width)
2556
2557# Depth: Same as CALS reprodep (desired depth)
2558
2559# Align: Same as CALS hplace with 'none' removed; #IMPLIED means
2560# application-specific
2561
2562# Scale: Conflation of CALS hscale and vscale
2563
2564# Scalefit: Same as CALS scalefit
2565imagedata.attlist &=
2566 attribute width { text }?,
2567 attribute contentwidth { text }?,
2568 attribute depth { text }?,
2569 attribute contentdepth { text }?,
2570 attribute align { "left" | "right" | "center" }?,
2571 attribute valign { "top" | "middle" | "bottom" }?,
2572 attribute scale { text }?,
2573 attribute scalefit { yesorno.attvals }?,
2574 objectdata.attrib,
2575 common.attrib,
2576 imagedata.role.attrib,
2577 local.imagedata.attrib
2578# end of imagedata.attlist
2579
2580# end of imagedata.module
2581local.textdata.attrib = empty
2582textdata.role.attrib = role.attrib
2583# doc:Pointer to external text data.
2584textdata = element textdata { textdata.attlist, empty }
2585# end of textdata.element
2586textdata.attlist &=
2587 attribute encoding { text }?,
2588 objectdata.attrib,
2589 common.attrib,
2590 textdata.role.attrib,
2591 local.textdata.attrib
2592# end of textdata.attlist
2593
2594# end of textdata.module
2595local.mediaobjectco.attrib = empty
2596mediaobjectco.role.attrib = role.attrib
2597# doc:A media object that contains callouts.
2598mediaobjectco =
2599 element mediaobjectco {
2600 mediaobjectco.attlist,
2601 objectinfo?,
2602 imageobjectco,
2603 (imageobjectco | textobject)*
2604 }
2605# end of mediaobjectco.element
2606mediaobjectco.attlist &=
2607 common.attrib, mediaobjectco.role.attrib, local.mediaobjectco.attrib
2608# end of mediaobjectco.attlist
2609
2610# end of mediaobjectco.module
2611local.imageobjectco.attrib = empty
2612imageobjectco.role.attrib = role.attrib
2613# doc:A wrapper for an image object with callouts.
2614imageobjectco =
2615 element imageobjectco {
2616 imageobjectco.attlist, areaspec, imageobject, calloutlist*
2617 }
2618# end of imageobjectco.element
2619imageobjectco.attlist &=
2620 common.attrib, imageobjectco.role.attrib, local.imageobjectco.attrib
2621# end of imageobjectco.attlist
2622
2623# end of imageobjectco.module
2624
2625# end of mediaobject.content.module
2626
2627# Equations ........................
2628
2629# This PE provides a mechanism for replacing equation content,
2630
2631# perhaps adding a new or different model (e.g., MathML)
2632equation.content = alt?, (graphic+ | mediaobject+ | mathphrase+)
2633inlineequation.content =
2634 alt?, (graphic+ | inlinemediaobject+ | mathphrase+)
2635local.equation.attrib = empty
2636equation.role.attrib = role.attrib
2637# doc:A displayed mathematical equation.
2638equation =
2639 element equation {
2640 equation.attlist,
2641 blockinfo?,
2642 formalobject.title.content?,
2643 (informalequation | equation.content)
2644 }
2645# end of equation.element
2646equation.attlist &=
2647 attribute floatstyle { text }?,
2648 label.attrib,
2649 common.attrib,
2650 equation.role.attrib,
2651 local.equation.attrib
2652# end of equation.attlist
2653
2654# end of equation.module
2655local.informalequation.attrib = empty
2656informalequation.role.attrib = role.attrib
2657# doc:A displayed mathematical equation without a title.
2658informalequation =
2659 element informalequation {
2660 informalequation.attlist, blockinfo?, equation.content
2661 }
2662# end of informalequation.element
2663informalequation.attlist &=
2664 attribute floatstyle { text }?,
2665 common.attrib,
2666 informalequation.role.attrib,
2667 local.informalequation.attrib
2668# end of informalequation.attlist
2669
2670# end of informalequation.module
2671local.inlineequation.attrib = empty
2672inlineequation.role.attrib = role.attrib
2673# doc:A mathematical equation or expression occurring inline.
2674inlineequation =
2675 element inlineequation {
2676 inlineequation.attlist, inlineequation.content
2677 }
2678# end of inlineequation.element
2679inlineequation.attlist &=
2680 common.attrib, inlineequation.role.attrib, local.inlineequation.attrib
2681# end of inlineequation.attlist
2682
2683# end of inlineequation.module
2684local.alt.attrib = empty
2685alt.role.attrib = role.attrib
2686# doc:Text representation for a graphical element.
2687alt = element alt { alt.attlist, text }
2688# end of alt.element
2689alt.attlist &= common.attrib, alt.role.attrib, local.alt.attrib
2690# end of alt.attlist
2691
2692# end of alt.module
2693local.mathphrase.attrib = empty
2694mathphrase.role.attrib = role.attrib
2695# doc:A mathematical phrase, an expression that can be represented with ordinary text and a small amount of markup.
2696mathphrase =
2697 element mathphrase {
2698 mathphrase.attlist, (text | subscript | superscript | emphasis)*
2699 }
2700# end of mathphrase.element
2701mathphrase.attlist &=
2702 common.attrib, mathphrase.role.attrib, local.mathphrase.attrib
2703# end of mathphrase.attlist
2704
2705# end of mathphrase.module
2706
2707# Tables ...........................
2708
2709# Choose a table model. CALS or OASIS XML Exchange
2710
2711# Do we allow the HTML table model as well?
2712
2713# ======================================================
2714
2715# xhtmltbl.mod defines HTML tables and sets parameter
2716# entities so that, when the CALS table module is read,
2717# we end up allowing any table to be CALS or HTML.
2718# i.e. This include must come first!
2719
2720# ======================================================
2721include "htmltblx.rnc"
2722# end of allow.html.tables
2723
2724# Add label and role attributes to table and informaltable
2725
2726# Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
2727# EntryTbl, and Entry (and InformalTable element).
2728
2729# Content model for Table.
2730
2731# Allow either objects or inlines; beware of REs between elements.
2732
2733# Reference CALS Table Model
2734include "calstblx.rnc"
2735# end of table.module
2736
2737# Note that InformalTable is dependent on some of the entity
2738# declarations that customize Table.
2739local.informaltable.attrib = empty
2740# the following entity may have been declared by the XHTML table module
2741
2742# doc:A table without a title.
2743informaltable =
2744 element informaltable {
2745 informaltable.attlist, blockinfo?, informal.tbl.table.mdl
2746 }
2747# end of informaltable.element
2748
2749# Frame, Colsep, and Rowsep must be repeated because
2750# they are not in entities in the table module.
2751
2752# includes TabStyle, ToCentry, ShortEntry,
2753# Orient, PgWide
2754
2755# includes Label
2756
2757# includes common attributes
2758informaltable.attlist &=
2759 attribute frame { tbl.frame.attval }?,
2760 attribute colsep { yesorno.attvals }?,
2761 attribute rowsep { yesorno.attvals }?,
2762 common.table.attribs,
2763 tbl.table.att,
2764 local.informaltable.attrib
2765# end of informaltable.attlist
2766
2767# end of informaltable.module
2768local.caption.attrib = empty
2769caption.role.attrib = role.attrib
2770# doc:A caption.
2771caption = element caption { caption.attlist, (text | textobject.mix)* }
2772# end of caption.element
2773
2774# attrs comes from HTML tables ...
2775
2776# common.attrib, but without ID because ID is in attrs
2777caption.attlist.content =
2778 caption.role.attrib,
2779 attrs,
2780 attribute align { "top" | "bottom" | "left" | "right" }?,
2781 local.caption.attrib
2782caption.attlist &= caption.attlist.content
2783# end of caption.attlist
2784
2785# end of caption.module
2786
2787# ......................................................................
2788
2789# Synopses .............................................................
2790
2791# Synopsis .........................
2792local.synopsis.attrib = empty
2793synopsis.role.attrib = role.attrib
2794# doc:A general-purpose element for representing the syntax of commands or functions.
2795synopsis =
2796 element synopsis {
2797 synopsis.attlist,
2798 (para.char.mix
2799 | graphic
2800 | mediaobject
2801 | co
2802 | coref
2803 | textobject
2804 | lineannotation)*
2805 }
2806# end of synopsis.element
2807synopsis.attlist &=
2808 label.attrib,
2809 linespecific.attrib,
2810 common.attrib,
2811 synopsis.role.attrib,
2812 local.synopsis.attrib
2813# end of synopsis.attlist
2814
2815# LineAnnotation (defined in the Inlines section, below)
2816
2817# end of synopsis.module
2818
2819# CmdSynopsis ......................
2820local.cmdsynopsis.attrib = empty
2821cmdsynopsis.role.attrib = role.attrib
2822# doc:A syntax summary for a software command.
2823cmdsynopsis =
2824 element cmdsynopsis {
2825 cmdsynopsis.attlist, (command | arg | group | sbr)+, synopfragment*
2826 }
2827# end of cmdsynopsis.element
2828
2829# Sepchar: Character that should separate command and all
2830# top-level arguments; alternate value might be e.g., &Delta;
2831cmdsynopsis.attlist &=
2832 label.attrib,
2833 [ a:defaultValue = " " ] attribute sepchar { text }?,
2834 attribute cmdlength { text }?,
2835 common.attrib,
2836 cmdsynopsis.role.attrib,
2837 local.cmdsynopsis.attrib
2838# end of cmdsynopsis.attlist
2839
2840# end of cmdsynopsis.module
2841local.arg.attrib = empty
2842arg.role.attrib = role.attrib
2843# doc:An argument in a CmdSynopsis.
2844arg =
2845 element arg {
2846 arg.attlist,
2847 (text
2848 | arg
2849 | group
2850 | option
2851 | synopfragmentref
2852 | replaceable
2853 | sbr)*
2854 }
2855# end of arg.element
2856
2857# Choice: Whether Arg must be supplied: Opt (optional to
2858# supply, e.g. [arg]; the default), Req (required to supply,
2859# e.g. {arg}), or Plain (required to supply, e.g. arg)
2860
2861# Rep: whether Arg is repeatable: Norepeat (e.g. arg without
2862# ellipsis; the default), or Repeat (e.g. arg...)
2863arg.attlist &=
2864 [ a:defaultValue = "opt" ]
2865 attribute choice { "opt" | "req" | "plain" }?,
2866 [ a:defaultValue = "norepeat" ]
2867 attribute rep { "norepeat" | "repeat" }?,
2868 common.attrib,
2869 arg.role.attrib,
2870 local.arg.attrib
2871# end of arg.attlist
2872
2873# end of arg.module
2874local.group.attrib = empty
2875group.role.attrib = role.attrib
2876# doc:A group of elements in a CmdSynopsis.
2877group =
2878 element group {
2879 group.attlist,
2880 (arg | group | option | synopfragmentref | replaceable | sbr)+
2881 }
2882# end of group.element
2883
2884# Choice: Whether Group must be supplied: Opt (optional to
2885# supply, e.g. [g1|g2|g3]; the default), Req (required to
2886# supply, e.g. {g1|g2|g3}), Plain (required to supply,
2887# e.g. g1|g2|g3), OptMult (can supply zero or more, e.g.
2888# [[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.
2889# {{g1|g2|g3}})
2890
2891# Rep: whether Group is repeatable: Norepeat (e.g. group
2892# without ellipsis; the default), or Repeat (e.g. group...)
2893group.attlist &=
2894 [ a:defaultValue = "opt" ]
2895 attribute choice { "opt" | "req" | "plain" }?,
2896 [ a:defaultValue = "norepeat" ]
2897 attribute rep { "norepeat" | "repeat" }?,
2898 common.attrib,
2899 group.role.attrib,
2900 local.group.attrib
2901# end of group.attlist
2902
2903# end of group.module
2904local.sbr.attrib = empty
2905# Synopsis break
2906sbr.role.attrib = role.attrib
2907# doc:An explicit line break in a command synopsis.
2908sbr = element sbr { sbr.attlist, empty }
2909# end of sbr.element
2910sbr.attlist &= common.attrib, sbr.role.attrib, local.sbr.attrib
2911# end of sbr.attlist
2912
2913# end of sbr.module
2914local.synopfragmentref.attrib = empty
2915synopfragmentref.role.attrib = role.attrib
2916# doc:A reference to a fragment of a command synopsis.
2917synopfragmentref =
2918 element synopfragmentref { synopfragmentref.attlist, text }
2919# end of synopfragmentref.element
2920
2921# to SynopFragment of complex synopsis
2922# material for separate referencing
2923synopfragmentref.attlist &=
2924 linkendreq.attrib,
2925 common.attrib,
2926 synopfragmentref.role.attrib,
2927 local.synopfragmentref.attrib
2928# end of synopfragmentref.attlist
2929
2930# end of synopfragmentref.module
2931local.synopfragment.attrib = empty
2932synopfragment.role.attrib = role.attrib
2933# doc:A portion of a CmdSynopsis broken out from the main body of the synopsis.
2934synopfragment =
2935 element synopfragment { synopfragment.attlist, (arg | group)+ }
2936# end of synopfragment.element
2937synopfragment.attlist &=
2938 idreq.common.attrib,
2939 synopfragment.role.attrib,
2940 local.synopfragment.attrib
2941# end of synopfragment.attlist
2942
2943# end of synopfragment.module
2944
2945# Command (defined in the Inlines section, below)
2946
2947# Option (defined in the Inlines section, below)
2948
2949# Replaceable (defined in the Inlines section, below)
2950
2951# end of cmdsynopsis.content.module
2952
2953# FuncSynopsis .....................
2954local.funcsynopsis.attrib = empty
2955funcsynopsis.role.attrib = role.attrib
2956# doc:The syntax summary for a function definition.
2957funcsynopsis =
2958 element funcsynopsis {
2959 funcsynopsis.attlist, (funcsynopsisinfo | funcprototype)+
2960 }
2961# end of funcsynopsis.element
2962funcsynopsis.attlist &=
2963 label.attrib,
2964 common.attrib,
2965 funcsynopsis.role.attrib,
2966 local.funcsynopsis.attrib
2967# end of funcsynopsis.attlist
2968
2969# end of funcsynopsis.module
2970local.funcsynopsisinfo.attrib = empty
2971funcsynopsisinfo.role.attrib = role.attrib
2972# doc:Information supplementing the FuncDefs of a FuncSynopsis.
2973funcsynopsisinfo =
2974 element funcsynopsisinfo {
2975 funcsynopsisinfo.attlist,
2976 (cptr.char.mix | textobject | lineannotation)*
2977 }
2978# end of funcsynopsisinfo.element
2979funcsynopsisinfo.attlist &=
2980 linespecific.attrib,
2981 common.attrib,
2982 funcsynopsisinfo.role.attrib,
2983 local.funcsynopsisinfo.attrib
2984# end of funcsynopsisinfo.attlist
2985
2986# end of funcsynopsisinfo.module
2987local.funcprototype.attrib = empty
2988funcprototype.role.attrib = role.attrib
2989# doc:The prototype of a function.
2990funcprototype =
2991 element funcprototype {
2992 funcprototype.attlist,
2993 modifier*,
2994 funcdef,
2995 (void | varargs | (paramdef+, varargs?)),
2996 modifier*
2997 }
2998# end of funcprototype.element
2999funcprototype.attlist &=
3000 common.attrib, funcprototype.role.attrib, local.funcprototype.attrib
3001# end of funcprototype.attlist
3002
3003# end of funcprototype.module
3004local.funcdef.attrib = empty
3005funcdef.role.attrib = role.attrib
3006# doc:A function (subroutine) name and its return type.
3007funcdef =
3008 element funcdef {
3009 funcdef.attlist, (text | type | replaceable | function)*
3010 }
3011# end of funcdef.element
3012funcdef.attlist &=
3013 common.attrib, funcdef.role.attrib, local.funcdef.attrib
3014# end of funcdef.attlist
3015
3016# end of funcdef.module
3017local.void.attrib = empty
3018void.role.attrib = role.attrib
3019# doc:An empty element in a function synopsis indicating that the function in question takes no arguments.
3020void = element void { void.attlist, empty }
3021# end of void.element
3022void.attlist &= common.attrib, void.role.attrib, local.void.attrib
3023# end of void.attlist
3024
3025# end of void.module
3026local.varargs.attrib = empty
3027varargs.role.attrib = role.attrib
3028# doc:An empty element in a function synopsis indicating a variable number of arguments.
3029varargs = element varargs { varargs.attlist, empty }
3030# end of varargs.element
3031varargs.attlist &=
3032 common.attrib, varargs.role.attrib, local.varargs.attrib
3033# end of varargs.attlist
3034
3035# end of varargs.module
3036
3037# Processing assumes that only one Parameter will appear in a
3038# ParamDef, and that FuncParams will be used at most once, for
3039# providing information on the "inner parameters" for parameters that
3040# are pointers to functions.
3041local.paramdef.attrib = empty
3042paramdef.role.attrib = role.attrib
3043# doc:Information about a function parameter in a programming language.
3044paramdef =
3045 element paramdef {
3046 paramdef.attlist,
3047 (text | initializer | type | replaceable | parameter | funcparams)*
3048 }
3049# end of paramdef.element
3050paramdef.attlist &=
3051 attribute choice { "opt" | "req" }?,
3052 common.attrib,
3053 paramdef.role.attrib,
3054 local.paramdef.attrib
3055# end of paramdef.attlist
3056
3057# end of paramdef.module
3058local.funcparams.attrib = empty
3059funcparams.role.attrib = role.attrib
3060# doc:Parameters for a function referenced through a function pointer in a synopsis.
3061funcparams = element funcparams { funcparams.attlist, cptr.char.mix* }
3062# end of funcparams.element
3063funcparams.attlist &=
3064 common.attrib, funcparams.role.attrib, local.funcparams.attrib
3065# end of funcparams.attlist
3066
3067# end of funcparams.module
3068
3069# LineAnnotation (defined in the Inlines section, below)
3070
3071# Replaceable (defined in the Inlines section, below)
3072
3073# Function (defined in the Inlines section, below)
3074
3075# Parameter (defined in the Inlines section, below)
3076
3077# end of funcsynopsis.content.module
3078
3079# ClassSynopsis .....................
3080local.classsynopsis.attrib = empty
3081classsynopsis.role.attrib = role.attrib
3082# doc:The syntax summary for a class definition.
3083classsynopsis =
3084 element classsynopsis {
3085 classsynopsis.attlist,
3086 (ooclass | oointerface | ooexception)+,
3087 (classsynopsisinfo | fieldsynopsis | method.synop.class)*
3088 }
3089# end of classsynopsis.element
3090classsynopsis.attlist &=
3091 attribute language { text }?,
3092 [ a:defaultValue = "class" ]
3093 attribute class { "class" | "interface" }?,
3094 common.attrib,
3095 classsynopsis.role.attrib,
3096 local.classsynopsis.attrib
3097# end of classsynopsis.attlist
3098
3099# end of classsynopsis.module
3100local.classsynopsisinfo.attrib = empty
3101classsynopsisinfo.role.attrib = role.attrib
3102# doc:Information supplementing the contents of a ClassSynopsis.
3103classsynopsisinfo =
3104 element classsynopsisinfo {
3105 classsynopsisinfo.attlist,
3106 (cptr.char.mix | textobject | lineannotation)*
3107 }
3108# end of classsynopsisinfo.element
3109classsynopsisinfo.attlist &=
3110 linespecific.attrib,
3111 common.attrib,
3112 classsynopsisinfo.role.attrib,
3113 local.classsynopsisinfo.attrib
3114# end of classsynopsisinfo.attlist
3115
3116# end of classsynopsisinfo.module
3117local.ooclass.attrib = empty
3118ooclass.role.attrib = role.attrib
3119# doc:A class in an object-oriented programming language.
3120ooclass =
3121 element ooclass { ooclass.attlist, (modifier | package)*, classname }
3122# end of ooclass.element
3123ooclass.attlist &=
3124 common.attrib, ooclass.role.attrib, local.ooclass.attrib
3125# end of ooclass.attlist
3126
3127# end of ooclass.module
3128local.oointerface.attrib = empty
3129oointerface.role.attrib = role.attrib
3130# doc:An interface in an object-oriented programming language.
3131oointerface =
3132 element oointerface {
3133 oointerface.attlist, (modifier | package)*, interfacename
3134 }
3135# end of oointerface.element
3136oointerface.attlist &=
3137 common.attrib, oointerface.role.attrib, local.oointerface.attrib
3138# end of oointerface.attlist
3139
3140# end of oointerface.module
3141local.ooexception.attrib = empty
3142ooexception.role.attrib = role.attrib
3143# doc:An exception in an object-oriented programming language.
3144ooexception =
3145 element ooexception {
3146 ooexception.attlist, (modifier | package)*, exceptionname
3147 }
3148# end of ooexception.element
3149ooexception.attlist &=
3150 common.attrib, ooexception.role.attrib, local.ooexception.attrib
3151# end of ooexception.attlist
3152
3153# end of ooexception.module
3154local.modifier.attrib = empty
3155modifier.role.attrib = role.attrib
3156# doc:Modifiers in a synopsis.
3157modifier = element modifier { modifier.attlist, smallcptr.char.mix* }
3158# end of modifier.element
3159modifier.attlist &=
3160 common.attrib, modifier.role.attrib, local.modifier.attrib
3161# end of modifier.attlist
3162
3163# end of modifier.module
3164local.interfacename.attrib = empty
3165interfacename.role.attrib = role.attrib
3166# doc:The name of an interface.
3167interfacename =
3168 element interfacename { interfacename.attlist, cptr.char.mix* }
3169# end of interfacename.element
3170interfacename.attlist &=
3171 common.attrib, interfacename.role.attrib, local.interfacename.attrib
3172# end of interfacename.attlist
3173
3174# end of interfacename.module
3175local.exceptionname.attrib = empty
3176exceptionname.role.attrib = role.attrib
3177# doc:The name of an exception.
3178exceptionname =
3179 element exceptionname { exceptionname.attlist, smallcptr.char.mix* }
3180# end of exceptionname.element
3181exceptionname.attlist &=
3182 common.attrib, exceptionname.role.attrib, local.exceptionname.attrib
3183# end of exceptionname.attlist
3184
3185# end of exceptionname.module
3186local.fieldsynopsis.attrib = empty
3187fieldsynopsis.role.attrib = role.attrib
3188# doc:The name of a field in a class definition.
3189fieldsynopsis =
3190 element fieldsynopsis {
3191 fieldsynopsis.attlist, modifier*, type?, varname, initializer?
3192 }
3193# end of fieldsynopsis.element
3194fieldsynopsis.attlist &=
3195 attribute language { text }?,
3196 common.attrib,
3197 fieldsynopsis.role.attrib,
3198 local.fieldsynopsis.attrib
3199# end of fieldsynopsis.attlist
3200
3201# end of fieldsynopsis.module
3202local.initializer.attrib = empty
3203initializer.role.attrib = role.attrib
3204# doc:The initializer for a FieldSynopsis.
3205initializer =
3206 element initializer { initializer.attlist, smallcptr.char.mix* }
3207# end of initializer.element
3208initializer.attlist &=
3209 common.attrib, initializer.role.attrib, local.initializer.attrib
3210# end of initializer.attlist
3211
3212# end of initializer.module
3213local.constructorsynopsis.attrib = empty
3214constructorsynopsis.role.attrib = role.attrib
3215# doc:A syntax summary for a constructor.
3216constructorsynopsis =
3217 element constructorsynopsis {
3218 constructorsynopsis.attlist,
3219 modifier*,
3220 methodname?,
3221 (methodparam+ | void?),
3222 exceptionname*
3223 }
3224# end of constructorsynopsis.element
3225constructorsynopsis.attlist &=
3226 attribute language { text }?,
3227 common.attrib,
3228 constructorsynopsis.role.attrib,
3229 local.constructorsynopsis.attrib
3230# end of constructorsynopsis.attlist
3231
3232# end of constructorsynopsis.module
3233local.destructorsynopsis.attrib = empty
3234destructorsynopsis.role.attrib = role.attrib
3235# doc:A syntax summary for a destructor.
3236destructorsynopsis =
3237 element destructorsynopsis {
3238 destructorsynopsis.attlist,
3239 modifier*,
3240 methodname?,
3241 (methodparam+ | void?),
3242 exceptionname*
3243 }
3244# end of destructorsynopsis.element
3245destructorsynopsis.attlist &=
3246 attribute language { text }?,
3247 common.attrib,
3248 destructorsynopsis.role.attrib,
3249 local.destructorsynopsis.attrib
3250# end of destructorsynopsis.attlist
3251
3252# end of destructorsynopsis.module
3253local.methodsynopsis.attrib = empty
3254methodsynopsis.role.attrib = role.attrib
3255# doc:A syntax summary for a method.
3256methodsynopsis =
3257 element methodsynopsis {
3258 methodsynopsis.attlist,
3259 modifier*,
3260 (type | void)?,
3261 methodname,
3262 (methodparam+ | void?),
3263 exceptionname*,
3264 modifier*
3265 }
3266# end of methodsynopsis.element
3267methodsynopsis.attlist &=
3268 attribute language { text }?,
3269 common.attrib,
3270 methodsynopsis.role.attrib,
3271 local.methodsynopsis.attrib
3272# end of methodsynopsis.attlist
3273
3274# end of methodsynopsis.module
3275local.methodname.attrib = empty
3276methodname.role.attrib = role.attrib
3277# doc:The name of a method.
3278methodname =
3279 element methodname { methodname.attlist, smallcptr.char.mix* }
3280# end of methodname.element
3281methodname.attlist &=
3282 common.attrib, methodname.role.attrib, local.methodname.attrib
3283# end of methodname.attlist
3284
3285# end of methodname.module
3286local.methodparam.attrib = empty
3287methodparam.role.attrib = role.attrib
3288# doc:Parameters to a method.
3289methodparam =
3290 element methodparam {
3291 methodparam.attlist,
3292 modifier*,
3293 type?,
3294 ((parameter, initializer?) | funcparams),
3295 modifier*
3296 }
3297# end of methodparam.element
3298methodparam.attlist &=
3299 [ a:defaultValue = "req" ]
3300 attribute choice { "opt" | "req" | "plain" }?,
3301 [ a:defaultValue = "norepeat" ]
3302 attribute rep { "norepeat" | "repeat" }?,
3303 common.attrib,
3304 methodparam.role.attrib,
3305 local.methodparam.attrib
3306# end of methodparam.attlist
3307
3308# end of methodparam.module
3309
3310# end of classsynopsis.content.module
3311
3312# ......................................................................
3313
3314# Document information entities and elements ...........................
3315
3316# The document information elements include some elements that are
3317# currently used only in the document hierarchy module. They are
3318# defined here so that they will be available for use in customized
3319# document hierarchies.
3320
3321# ..................................
3322
3323# Ackno ............................
3324local.ackno.attrib = empty
3325ackno.role.attrib = role.attrib
3326# doc:Acknowledgements in an Article.
3327ackno = element ackno { ackno.attlist, docinfo.char.mix* }
3328# end of ackno.element
3329ackno.attlist &= common.attrib, ackno.role.attrib, local.ackno.attrib
3330# end of ackno.attlist
3331
3332# end of ackno.module
3333
3334# Address ..........................
3335local.address.attrib = empty
3336address.role.attrib = role.attrib
3337# doc:A real-world address, generally a postal address.
3338address =
3339 element address {
3340 address.attlist,
3341 (text
3342 | personname
3343 | person.ident.mix
3344 | street
3345 | pob
3346 | postcode
3347 | city
3348 | state
3349 | country
3350 | phone
3351 | fax
3352 | email
3353 | otheraddr)*
3354 }
3355# end of address.element
3356address.attlist &=
3357 linespecific.attrib,
3358 common.attrib,
3359 address.role.attrib,
3360 local.address.attrib
3361# end of address.attlist
3362
3363# end of address.module
3364local.street.attrib = empty
3365street.role.attrib = role.attrib
3366# doc:A street address in an address.
3367street = element street { street.attlist, docinfo.char.mix* }
3368# end of street.element
3369street.attlist &= common.attrib, street.role.attrib, local.street.attrib
3370# end of street.attlist
3371
3372# end of street.module
3373local.pob.attrib = empty
3374pob.role.attrib = role.attrib
3375# doc:A post office box in an address.
3376pob = element pob { pob.attlist, docinfo.char.mix* }
3377# end of pob.element
3378pob.attlist &= common.attrib, pob.role.attrib, local.pob.attrib
3379# end of pob.attlist
3380
3381# end of pob.module
3382local.postcode.attrib = empty
3383postcode.role.attrib = role.attrib
3384# doc:A postal code in an address.
3385postcode = element postcode { postcode.attlist, docinfo.char.mix* }
3386# end of postcode.element
3387postcode.attlist &=
3388 common.attrib, postcode.role.attrib, local.postcode.attrib
3389# end of postcode.attlist
3390
3391# end of postcode.module
3392local.city.attrib = empty
3393city.role.attrib = role.attrib
3394# doc:The name of a city in an address.
3395city = element city { city.attlist, docinfo.char.mix* }
3396# end of city.element
3397city.attlist &= common.attrib, city.role.attrib, local.city.attrib
3398# end of city.attlist
3399
3400# end of city.module
3401local.state.attrib = empty
3402state.role.attrib = role.attrib
3403# doc:A state or province in an address.
3404state = element state { state.attlist, docinfo.char.mix* }
3405# end of state.element
3406state.attlist &= common.attrib, state.role.attrib, local.state.attrib
3407# end of state.attlist
3408
3409# end of state.module
3410local.country.attrib = empty
3411country.role.attrib = role.attrib
3412# doc:The name of a country.
3413country = element country { country.attlist, docinfo.char.mix* }
3414# end of country.element
3415country.attlist &=
3416 common.attrib, country.role.attrib, local.country.attrib
3417# end of country.attlist
3418
3419# end of country.module
3420local.phone.attrib = empty
3421phone.role.attrib = role.attrib
3422# doc:A telephone number.
3423phone = element phone { phone.attlist, docinfo.char.mix* }
3424# end of phone.element
3425phone.attlist &= common.attrib, phone.role.attrib, local.phone.attrib
3426# end of phone.attlist
3427
3428# end of phone.module
3429local.fax.attrib = empty
3430fax.role.attrib = role.attrib
3431# doc:A fax number.
3432fax = element fax { fax.attlist, docinfo.char.mix* }
3433# end of fax.element
3434fax.attlist &= common.attrib, fax.role.attrib, local.fax.attrib
3435# end of fax.attlist
3436
3437# end of fax.module
3438
3439# Email (defined in the Inlines section, below)
3440local.otheraddr.attrib = empty
3441otheraddr.role.attrib = role.attrib
3442# doc:Uncategorized information in address.
3443otheraddr = element otheraddr { otheraddr.attlist, docinfo.char.mix* }
3444# end of otheraddr.element
3445otheraddr.attlist &=
3446 common.attrib, otheraddr.role.attrib, local.otheraddr.attrib
3447# end of otheraddr.attlist
3448
3449# end of otheraddr.module
3450
3451# end of address.content.module
3452
3453# Affiliation ......................
3454local.affiliation.attrib = empty
3455affiliation.role.attrib = role.attrib
3456# doc:The institutional affiliation of an individual.
3457affiliation =
3458 element affiliation {
3459 affiliation.attlist,
3460 shortaffil?,
3461 jobtitle*,
3462 orgname?,
3463 orgdiv*,
3464 address*
3465 }
3466# end of affiliation.element
3467affiliation.attlist &=
3468 common.attrib, affiliation.role.attrib, local.affiliation.attrib
3469# end of affiliation.attlist
3470
3471# end of affiliation.module
3472local.shortaffil.attrib = empty
3473shortaffil.role.attrib = role.attrib
3474# doc:A brief description of an affiliation.
3475shortaffil =
3476 element shortaffil { shortaffil.attlist, docinfo.char.mix* }
3477# end of shortaffil.element
3478shortaffil.attlist &=
3479 common.attrib, shortaffil.role.attrib, local.shortaffil.attrib
3480# end of shortaffil.attlist
3481
3482# end of shortaffil.module
3483local.jobtitle.attrib = empty
3484jobtitle.role.attrib = role.attrib
3485# doc:The title of an individual in an organization.
3486jobtitle = element jobtitle { jobtitle.attlist, docinfo.char.mix* }
3487# end of jobtitle.element
3488jobtitle.attlist &=
3489 common.attrib, jobtitle.role.attrib, local.jobtitle.attrib
3490# end of jobtitle.attlist
3491
3492# end of jobtitle.module
3493
3494# OrgName (defined elsewhere in this section)
3495local.orgdiv.attrib = empty
3496orgdiv.role.attrib = role.attrib
3497# doc:A division of an organization.
3498orgdiv = element orgdiv { orgdiv.attlist, docinfo.char.mix* }
3499# end of orgdiv.element
3500orgdiv.attlist &= common.attrib, orgdiv.role.attrib, local.orgdiv.attrib
3501# end of orgdiv.attlist
3502
3503# end of orgdiv.module
3504
3505# Address (defined elsewhere in this section)
3506
3507# end of affiliation.content.module
3508
3509# ArtPageNums ......................
3510local.artpagenums.attrib = empty
3511artpagenums.role.attrib = role.attrib
3512# doc:The page numbers of an article as published.
3513artpagenums =
3514 element artpagenums { artpagenums.attlist, docinfo.char.mix* }
3515# end of artpagenums.element
3516artpagenums.attlist &=
3517 common.attrib, artpagenums.role.attrib, local.artpagenums.attrib
3518# end of artpagenums.attlist
3519
3520# end of artpagenums.module
3521
3522# PersonName
3523local.personname.attrib = empty
3524personname.role.attrib = role.attrib
3525# doc:The personal name of an individual.
3526personname =
3527 element personname {
3528 personname.attlist,
3529 (honorific | firstname | surname | lineage | othername)+
3530 }
3531# end of personname.element
3532personname.attlist &=
3533 common.attrib, personname.role.attrib, local.personname.attrib
3534# end of personname.attlist
3535
3536# end of personname.module
3537
3538# Author ...........................
3539local.author.attrib = empty
3540author.role.attrib = role.attrib
3541# doc:The name of an individual author.
3542author =
3543 element author {
3544 author.attlist,
3545 (personname | person.ident.mix+),
3546 (personblurb | email | address)*
3547 }
3548# end of author.element
3549author.attlist &= common.attrib, author.role.attrib, local.author.attrib
3550# end of author.attlist
3551
3552# (see "Personal identity elements" for %person.ident.mix;)
3553
3554# end of author.module
3555
3556# AuthorGroup ......................
3557local.authorgroup.attrib = empty
3558authorgroup.role.attrib = role.attrib
3559# doc:Wrapper for author information when a document has multiple authors or collabarators.
3560authorgroup =
3561 element authorgroup {
3562 authorgroup.attlist,
3563 (author | editor | collab | corpauthor | corpcredit | othercredit)+
3564 }
3565# end of authorgroup.element
3566authorgroup.attlist &=
3567 common.attrib, authorgroup.role.attrib, local.authorgroup.attrib
3568# end of authorgroup.attlist
3569
3570# end of authorgroup.module
3571
3572# Author (defined elsewhere in this section)
3573
3574# Editor (defined elsewhere in this section)
3575local.collab.attrib = empty
3576collab.role.attrib = role.attrib
3577# doc:Identifies a collaborator.
3578collab = element collab { collab.attlist, collabname, affiliation* }
3579# end of collab.element
3580collab.attlist &= common.attrib, collab.role.attrib, local.collab.attrib
3581# end of collab.attlist
3582
3583# end of collab.module
3584local.collabname.attrib = empty
3585collabname.role.attrib = role.attrib
3586# doc:The name of a collaborator.
3587collabname =
3588 element collabname { collabname.attlist, docinfo.char.mix* }
3589# end of collabname.element
3590collabname.attlist &=
3591 common.attrib, collabname.role.attrib, local.collabname.attrib
3592# end of collabname.attlist
3593
3594# end of collabname.module
3595
3596# Affiliation (defined elsewhere in this section)
3597
3598# end of collab.content.module
3599
3600# CorpAuthor (defined elsewhere in this section)
3601
3602# OtherCredit (defined elsewhere in this section)
3603
3604# end of authorgroup.content.module
3605
3606# AuthorInitials ...................
3607local.authorinitials.attrib = empty
3608authorinitials.role.attrib = role.attrib
3609# doc:The initials or other short identifier for an author.
3610authorinitials =
3611 element authorinitials { authorinitials.attlist, docinfo.char.mix* }
3612# end of authorinitials.element
3613authorinitials.attlist &=
3614 common.attrib, authorinitials.role.attrib, local.authorinitials.attrib
3615# end of authorinitials.attlist
3616
3617# end of authorinitials.module
3618
3619# ConfGroup ........................
3620local.confgroup.attrib = empty
3621confgroup.role.attrib = role.attrib
3622# doc:A wrapper for document meta-information about a conference.
3623confgroup =
3624 element confgroup {
3625 confgroup.attlist,
3626 (confdates | conftitle | confnum | address | confsponsor)*
3627 }
3628# end of confgroup.element
3629confgroup.attlist &=
3630 common.attrib, confgroup.role.attrib, local.confgroup.attrib
3631# end of confgroup.attlist
3632
3633# end of confgroup.module
3634local.confdates.attrib = empty
3635confdates.role.attrib = role.attrib
3636# doc:The dates of a conference for which a document was written.
3637confdates = element confdates { confdates.attlist, docinfo.char.mix* }
3638# end of confdates.element
3639confdates.attlist &=
3640 common.attrib, confdates.role.attrib, local.confdates.attrib
3641# end of confdates.attlist
3642
3643# end of confdates.module
3644local.conftitle.attrib = empty
3645conftitle.role.attrib = role.attrib
3646# doc:The title of a conference for which a document was written.
3647conftitle = element conftitle { conftitle.attlist, docinfo.char.mix* }
3648# end of conftitle.element
3649conftitle.attlist &=
3650 common.attrib, conftitle.role.attrib, local.conftitle.attrib
3651# end of conftitle.attlist
3652
3653# end of conftitle.module
3654local.confnum.attrib = empty
3655confnum.role.attrib = role.attrib
3656# doc:An identifier, frequently numerical, associated with a conference for which a document was written.
3657confnum = element confnum { confnum.attlist, docinfo.char.mix* }
3658# end of confnum.element
3659confnum.attlist &=
3660 common.attrib, confnum.role.attrib, local.confnum.attrib
3661# end of confnum.attlist
3662
3663# end of confnum.module
3664
3665# Address (defined elsewhere in this section)
3666local.confsponsor.attrib = empty
3667confsponsor.role.attrib = role.attrib
3668# doc:The sponsor of a conference for which a document was written.
3669confsponsor =
3670 element confsponsor { confsponsor.attlist, docinfo.char.mix* }
3671# end of confsponsor.element
3672confsponsor.attlist &=
3673 common.attrib, confsponsor.role.attrib, local.confsponsor.attrib
3674# end of confsponsor.attlist
3675
3676# end of confsponsor.module
3677
3678# end of confgroup.content.module
3679
3680# ContractNum ......................
3681local.contractnum.attrib = empty
3682contractnum.role.attrib = role.attrib
3683# doc:The contract number of a document.
3684contractnum =
3685 element contractnum { contractnum.attlist, docinfo.char.mix* }
3686# end of contractnum.element
3687contractnum.attlist &=
3688 common.attrib, contractnum.role.attrib, local.contractnum.attrib
3689# end of contractnum.attlist
3690
3691# end of contractnum.module
3692
3693# ContractSponsor ..................
3694local.contractsponsor.attrib = empty
3695contractsponsor.role.attrib = role.attrib
3696# doc:The sponsor of a contract.
3697contractsponsor =
3698 element contractsponsor { contractsponsor.attlist, docinfo.char.mix* }
3699# end of contractsponsor.element
3700contractsponsor.attlist &=
3701 common.attrib,
3702 contractsponsor.role.attrib,
3703 local.contractsponsor.attrib
3704# end of contractsponsor.attlist
3705
3706# end of contractsponsor.module
3707
3708# Copyright ........................
3709local.copyright.attrib = empty
3710copyright.role.attrib = role.attrib
3711# doc:Copyright information about a document.
3712copyright = element copyright { copyright.attlist, year+, holder* }
3713# end of copyright.element
3714copyright.attlist &=
3715 common.attrib, copyright.role.attrib, local.copyright.attrib
3716# end of copyright.attlist
3717
3718# end of copyright.module
3719local.year.attrib = empty
3720year.role.attrib = role.attrib
3721# doc:The year of publication of a document.
3722year = element year { year.attlist, docinfo.char.mix* }
3723# end of year.element
3724year.attlist &= common.attrib, year.role.attrib, local.year.attrib
3725# end of year.attlist
3726
3727# end of year.module
3728local.holder.attrib = empty
3729holder.role.attrib = role.attrib
3730# doc:The name of the individual or organization that holds a copyright.
3731holder = element holder { holder.attlist, docinfo.char.mix* }
3732# end of holder.element
3733holder.attlist &= common.attrib, holder.role.attrib, local.holder.attrib
3734# end of holder.attlist
3735
3736# end of holder.module
3737
3738# end of copyright.content.module
3739
3740# CorpAuthor .......................
3741local.corpauthor.attrib = empty
3742corpauthor.role.attrib = role.attrib
3743# doc:A corporate author, as opposed to an individual.
3744corpauthor =
3745 element corpauthor { corpauthor.attlist, docinfo.char.mix* }
3746# end of corpauthor.element
3747corpauthor.attlist &=
3748 common.attrib, corpauthor.role.attrib, local.corpauthor.attrib
3749# end of corpauthor.attlist
3750
3751# end of corpauthor.module
3752
3753# CorpCredit ......................
3754local.corpcredit.attrib = empty
3755corpcredit.role.attrib = role.attrib
3756# doc:A corporation or organization credited in a document.
3757corpcredit =
3758 element corpcredit { corpcredit.attlist, docinfo.char.mix* }
3759# end of corpcredit.element
3760corpcredit.attlist &=
3761 attribute class {
3762 "graphicdesigner"
3763 | "productioneditor"
3764 | "copyeditor"
3765 | "technicaleditor"
3766 | "translator"
3767 | "other"
3768 }?,
3769 common.attrib,
3770 corpcredit.role.attrib,
3771 local.corpcredit.attrib
3772# end of corpcredit.attlist
3773
3774# end of corpcredit.module
3775
3776# CorpName .........................
3777local.corpname.attrib = empty
3778# doc:The name of a corporation.
3779corpname = element corpname { corpname.attlist, docinfo.char.mix* }
3780# end of corpname.element
3781corpname.role.attrib = role.attrib
3782corpname.attlist &=
3783 common.attrib, corpname.role.attrib, local.corpname.attrib
3784# end of corpname.attlist
3785
3786# end of corpname.module
3787
3788# Date .............................
3789local.date.attrib = empty
3790date.role.attrib = role.attrib
3791# doc:The date of publication or revision of a document.
3792date = element date { date.attlist, docinfo.char.mix* }
3793# end of date.element
3794date.attlist &= common.attrib, date.role.attrib, local.date.attrib
3795# end of date.attlist
3796
3797# end of date.module
3798
3799# Edition ..........................
3800local.edition.attrib = empty
3801edition.role.attrib = role.attrib
3802# doc:The name or number of an edition of a document.
3803edition = element edition { edition.attlist, docinfo.char.mix* }
3804# end of edition.element
3805edition.attlist &=
3806 common.attrib, edition.role.attrib, local.edition.attrib
3807# end of edition.attlist
3808
3809# end of edition.module
3810
3811# Editor ...........................
3812local.editor.attrib = empty
3813editor.role.attrib = role.attrib
3814# doc:The name of the editor of a document.
3815editor =
3816 element editor {
3817 editor.attlist,
3818 (personname | person.ident.mix+),
3819 (personblurb | email | address)*
3820 }
3821# end of editor.element
3822editor.attlist &= common.attrib, editor.role.attrib, local.editor.attrib
3823# end of editor.attlist
3824
3825# (see "Personal identity elements" for %person.ident.mix;)
3826
3827# end of editor.module
3828
3829# ISBN .............................
3830local.isbn.attrib = empty
3831isbn.role.attrib = role.attrib
3832# doc:The International Standard Book Number of a document.
3833isbn = element isbn { isbn.attlist, docinfo.char.mix* }
3834# end of isbn.element
3835isbn.attlist &= common.attrib, isbn.role.attrib, local.isbn.attrib
3836# end of isbn.attlist
3837
3838# end of isbn.module
3839
3840# ISSN .............................
3841local.issn.attrib = empty
3842issn.role.attrib = role.attrib
3843# doc:The International Standard Serial Number of a periodical.
3844issn = element issn { issn.attlist, docinfo.char.mix* }
3845# end of issn.element
3846issn.attlist &= common.attrib, issn.role.attrib, local.issn.attrib
3847# end of issn.attlist
3848
3849# end of issn.module
3850
3851# BiblioId .................
3852biblio.class.attrib =
3853 attribute class {
3854 "uri"
3855 | "doi"
3856 | "isbn"
3857 | "isrn"
3858 | "issn"
3859 | "libraryofcongress"
3860 | "pubnumber"
3861 | "other"
3862 }?,
3863 attribute otherclass { text }?
3864local.biblioid.attrib = empty
3865biblioid.role.attrib = role.attrib
3866# doc:An identifier for a document.
3867biblioid = element biblioid { biblioid.attlist, docinfo.char.mix* }
3868# end of biblioid.element
3869biblioid.attlist &=
3870 biblio.class.attrib,
3871 common.attrib,
3872 biblioid.role.attrib,
3873 local.biblioid.attrib
3874# end of biblioid.attlist
3875
3876# end of biblioid.module
3877
3878# CiteBiblioId .................
3879local.citebiblioid.attrib = empty
3880citebiblioid.role.attrib = role.attrib
3881# doc:A citation of a bibliographic identifier.
3882citebiblioid =
3883 element citebiblioid { citebiblioid.attlist, docinfo.char.mix* }
3884# end of citebiblioid.element
3885citebiblioid.attlist &=
3886 biblio.class.attrib,
3887 common.attrib,
3888 citebiblioid.role.attrib,
3889 local.citebiblioid.attrib
3890# end of citebiblioid.attlist
3891
3892# end of citebiblioid.module
3893
3894# BiblioSource .................
3895local.bibliosource.attrib = empty
3896bibliosource.role.attrib = role.attrib
3897# doc:The source of a document.
3898bibliosource =
3899 element bibliosource { bibliosource.attlist, docinfo.char.mix* }
3900# end of bibliosource.element
3901bibliosource.attlist &=
3902 biblio.class.attrib,
3903 common.attrib,
3904 bibliosource.role.attrib,
3905 local.bibliosource.attrib
3906# end of bibliosource.attlist
3907
3908# end of bibliosource.module
3909
3910# BiblioRelation .................
3911local.bibliorelation.attrib = empty
3912local.bibliorelation.types = notAllowed
3913bibliorelation.type.attrib =
3914 attribute type {
3915 "isversionof"
3916 | "hasversion"
3917 | "isreplacedby"
3918 | "replaces"
3919 | "isrequiredby"
3920 | "requires"
3921 | "ispartof"
3922 | "haspart"
3923 | "isreferencedby"
3924 | "references"
3925 | "isformatof"
3926 | "hasformat"
3927 | "othertype"
3928 | local.bibliorelation.types
3929 }?,
3930 attribute othertype { text }?
3931bibliorelation.role.attrib = role.attrib
3932# doc:The relationship of a document to another.
3933bibliorelation =
3934 element bibliorelation { bibliorelation.attlist, docinfo.char.mix* }
3935# end of bibliorelation.element
3936bibliorelation.attlist &=
3937 biblio.class.attrib,
3938 bibliorelation.type.attrib,
3939 common.attrib,
3940 bibliorelation.role.attrib,
3941 local.bibliorelation.attrib
3942# end of bibliorelation.attlist
3943
3944# end of bibliorelation.module
3945
3946# BiblioCoverage .................
3947local.bibliocoverage.attrib = empty
3948bibliocoverage.role.attrib = role.attrib
3949# doc:The spatial or temporal coverage of a document.
3950bibliocoverage =
3951 element bibliocoverage { bibliocoverage.attlist, docinfo.char.mix* }
3952# end of bibliocoverage.element
3953bibliocoverage.attlist &=
3954 attribute spatial {
3955 "dcmipoint" | "iso3166" | "dcmibox" | "tgn" | "otherspatial"
3956 }?,
3957 attribute otherspatial { text }?,
3958 attribute temporal { "dcmiperiod" | "w3c-dtf" | "othertemporal" }?,
3959 attribute othertemporal { text }?,
3960 common.attrib,
3961 bibliocoverage.role.attrib,
3962 local.bibliocoverage.attrib
3963# end of bibliocoverage.attlist
3964
3965# end of bibliocoverage.module
3966
3967# InvPartNumber ....................
3968local.invpartnumber.attrib = empty
3969invpartnumber.role.attrib = role.attrib
3970# doc:An inventory part number.
3971invpartnumber =
3972 element invpartnumber { invpartnumber.attlist, docinfo.char.mix* }
3973# end of invpartnumber.element
3974invpartnumber.attlist &=
3975 common.attrib, invpartnumber.role.attrib, local.invpartnumber.attrib
3976# end of invpartnumber.attlist
3977
3978# end of invpartnumber.module
3979
3980# IssueNum .........................
3981local.issuenum.attrib = empty
3982issuenum.role.attrib = role.attrib
3983# doc:The number of an issue of a journal.
3984issuenum = element issuenum { issuenum.attlist, docinfo.char.mix* }
3985# end of issuenum.element
3986issuenum.attlist &=
3987 common.attrib, issuenum.role.attrib, local.issuenum.attrib
3988# end of issuenum.attlist
3989
3990# end of issuenum.module
3991
3992# LegalNotice ......................
3993local.legalnotice.attrib = empty
3994legalnotice.role.attrib = role.attrib
3995# doc:A statement of legal obligations or requirements.
3996legalnotice =
3997 element legalnotice {
3998 legalnotice.attlist, blockinfo?, title?, legalnotice.mix+
3999 }
4000# end of legalnotice.element
4001legalnotice.attlist &=
4002 common.attrib, legalnotice.role.attrib, local.legalnotice.attrib
4003# end of legalnotice.attlist
4004
4005# end of legalnotice.module
4006
4007# ModeSpec .........................
4008local.modespec.attrib = empty
4009modespec.role.attrib = role.attrib
4010# doc:Application-specific information necessary for the completion of an OLink.
4011modespec = element modespec { modespec.attlist, docinfo.char.mix* }
4012# end of modespec.element
4013
4014# Application: Type of action required for completion
4015# of the links to which the ModeSpec is relevant (e.g.,
4016# retrieval query)
4017modespec.attlist &=
4018 attribute application { notation.class }?,
4019 common.attrib,
4020 modespec.role.attrib,
4021 local.modespec.attrib
4022# end of modespec.attlist
4023
4024# end of modespec.module
4025
4026# OrgName ..........................
4027local.orgname.attrib = empty
4028orgname.role.attrib = role.attrib
4029# doc:The name of an organization other than a corporation.
4030orgname = element orgname { orgname.attlist, docinfo.char.mix* }
4031# end of orgname.element
4032orgname.attlist &=
4033 common.attrib,
4034 attribute class {
4035 "corporation" | "nonprofit" | "consortium" | "informal" | "other"
4036 }?,
4037 attribute otherclass { text }?,
4038 orgname.role.attrib,
4039 local.orgname.attrib
4040# end of orgname.attlist
4041
4042# end of orgname.module
4043
4044# OtherCredit ......................
4045local.othercredit.attrib = empty
4046othercredit.role.attrib = role.attrib
4047# doc:A person or entity, other than an author or editor, credited in a document.
4048othercredit =
4049 element othercredit {
4050 othercredit.attlist,
4051 (personname | person.ident.mix+),
4052 (personblurb | email | address)*
4053 }
4054# end of othercredit.element
4055othercredit.attlist &=
4056 attribute class {
4057 "graphicdesigner"
4058 | "productioneditor"
4059 | "copyeditor"
4060 | "technicaleditor"
4061 | "translator"
4062 | "other"
4063 }?,
4064 common.attrib,
4065 othercredit.role.attrib,
4066 local.othercredit.attrib
4067# end of othercredit.attlist
4068
4069# (see "Personal identity elements" for %person.ident.mix;)
4070
4071# end of othercredit.module
4072
4073# PageNums .........................
4074local.pagenums.attrib = empty
4075pagenums.role.attrib = role.attrib
4076# doc:The numbers of the pages in a book, for use in a bibliographic entry.
4077pagenums = element pagenums { pagenums.attlist, docinfo.char.mix* }
4078# end of pagenums.element
4079pagenums.attlist &=
4080 common.attrib, pagenums.role.attrib, local.pagenums.attrib
4081# end of pagenums.attlist
4082
4083# end of pagenums.module
4084
4085# Personal identity elements .......
4086
4087# These elements are used only within Author, Editor, and
4088# OtherCredit.
4089local.contrib.attrib = empty
4090contrib.role.attrib = role.attrib
4091# doc:A summary of the contributions made to a document by a credited source.
4092contrib = element contrib { contrib.attlist, docinfo.char.mix* }
4093# end of contrib.element
4094contrib.attlist &=
4095 common.attrib, contrib.role.attrib, local.contrib.attrib
4096# end of contrib.attlist
4097
4098# end of contrib.module
4099local.firstname.attrib = empty
4100firstname.role.attrib = role.attrib
4101# doc:The first name of a person.
4102firstname = element firstname { firstname.attlist, docinfo.char.mix* }
4103# end of firstname.element
4104firstname.attlist &=
4105 common.attrib, firstname.role.attrib, local.firstname.attrib
4106# end of firstname.attlist
4107
4108# end of firstname.module
4109local.honorific.attrib = empty
4110honorific.role.attrib = role.attrib
4111# doc:The title of a person.
4112honorific = element honorific { honorific.attlist, docinfo.char.mix* }
4113# end of honorific.element
4114honorific.attlist &=
4115 common.attrib, honorific.role.attrib, local.honorific.attrib
4116# end of honorific.attlist
4117
4118# end of honorific.module
4119local.lineage.attrib = empty
4120lineage.role.attrib = role.attrib
4121# doc:The portion of a person's name indicating a relationship to ancestors.
4122lineage = element lineage { lineage.attlist, docinfo.char.mix* }
4123# end of lineage.element
4124lineage.attlist &=
4125 common.attrib, lineage.role.attrib, local.lineage.attrib
4126# end of lineage.attlist
4127
4128# end of lineage.module
4129local.othername.attrib = empty
4130othername.role.attrib = role.attrib
4131# doc:A component of a persons name that is not a first name, surname, or lineage.
4132othername = element othername { othername.attlist, docinfo.char.mix* }
4133# end of othername.element
4134othername.attlist &=
4135 common.attrib, othername.role.attrib, local.othername.attrib
4136# end of othername.attlist
4137
4138# end of othername.module
4139local.surname.attrib = empty
4140surname.role.attrib = role.attrib
4141# doc:A family name; in western cultures the last name.
4142surname = element surname { surname.attlist, docinfo.char.mix* }
4143# end of surname.element
4144surname.attlist &=
4145 common.attrib, surname.role.attrib, local.surname.attrib
4146# end of surname.attlist
4147
4148# end of surname.module
4149
4150# end of person.ident.module
4151
4152# PrintHistory .....................
4153local.printhistory.attrib = empty
4154printhistory.role.attrib = role.attrib
4155# doc:The printing history of a document.
4156printhistory =
4157 element printhistory { printhistory.attlist, para.class+ }
4158# end of printhistory.element
4159printhistory.attlist &=
4160 common.attrib, printhistory.role.attrib, local.printhistory.attrib
4161# end of printhistory.attlist
4162
4163# end of printhistory.module
4164
4165# ProductName ......................
4166local.productname.attrib = empty
4167productname.role.attrib = role.attrib
4168# doc:The formal name of a product.
4169productname =
4170 element productname { productname.attlist, para.char.mix* }
4171# end of productname.element
4172
4173# Class: More precisely identifies the item the element names
4174productname.attlist &=
4175 [ a:defaultValue = "trade" ]
4176 attribute class { "service" | "trade" | "registered" | "copyright" }?,
4177 common.attrib,
4178 productname.role.attrib,
4179 local.productname.attrib
4180# end of productname.attlist
4181
4182# end of productname.module
4183
4184# ProductNumber ....................
4185local.productnumber.attrib = empty
4186productnumber.role.attrib = role.attrib
4187# doc:A number assigned to a product.
4188productnumber =
4189 element productnumber { productnumber.attlist, docinfo.char.mix* }
4190# end of productnumber.element
4191productnumber.attlist &=
4192 common.attrib, productnumber.role.attrib, local.productnumber.attrib
4193# end of productnumber.attlist
4194
4195# end of productnumber.module
4196
4197# PubDate ..........................
4198local.pubdate.attrib = empty
4199pubdate.role.attrib = role.attrib
4200# doc:The date of publication of a document.
4201pubdate = element pubdate { pubdate.attlist, docinfo.char.mix* }
4202# end of pubdate.element
4203pubdate.attlist &=
4204 common.attrib, pubdate.role.attrib, local.pubdate.attrib
4205# end of pubdate.attlist
4206
4207# end of pubdate.module
4208
4209# Publisher ........................
4210local.publisher.attrib = empty
4211publisher.role.attrib = role.attrib
4212# doc:The publisher of a document.
4213publisher =
4214 element publisher { publisher.attlist, publishername, address* }
4215# end of publisher.element
4216publisher.attlist &=
4217 common.attrib, publisher.role.attrib, local.publisher.attrib
4218# end of publisher.attlist
4219
4220# end of publisher.module
4221local.publishername.attrib = empty
4222publishername.role.attrib = role.attrib
4223# doc:The name of the publisher of a document.
4224publishername =
4225 element publishername { publishername.attlist, docinfo.char.mix* }
4226# end of publishername.element
4227publishername.attlist &=
4228 common.attrib, publishername.role.attrib, local.publishername.attrib
4229# end of publishername.attlist
4230
4231# end of publishername.module
4232
4233# Address (defined elsewhere in this section)
4234
4235# end of publisher.content.module
4236
4237# PubsNumber .......................
4238local.pubsnumber.attrib = empty
4239pubsnumber.role.attrib = role.attrib
4240# doc:A number assigned to a publication other than an ISBN or ISSN or inventory part number.
4241pubsnumber =
4242 element pubsnumber { pubsnumber.attlist, docinfo.char.mix* }
4243# end of pubsnumber.element
4244pubsnumber.attlist &=
4245 common.attrib, pubsnumber.role.attrib, local.pubsnumber.attrib
4246# end of pubsnumber.attlist
4247
4248# end of pubsnumber.module
4249
4250# ReleaseInfo ......................
4251local.releaseinfo.attrib = empty
4252releaseinfo.role.attrib = role.attrib
4253# doc:Information about a particular release of a document.
4254releaseinfo =
4255 element releaseinfo { releaseinfo.attlist, docinfo.char.mix* }
4256# end of releaseinfo.element
4257releaseinfo.attlist &=
4258 common.attrib, releaseinfo.role.attrib, local.releaseinfo.attrib
4259# end of releaseinfo.attlist
4260
4261# end of releaseinfo.module
4262
4263# RevHistory .......................
4264local.revhistory.attrib = empty
4265revhistory.role.attrib = role.attrib
4266# doc:A history of the revisions to a document.
4267revhistory = element revhistory { revhistory.attlist, revision+ }
4268# end of revhistory.element
4269revhistory.attlist &=
4270 common.attrib, revhistory.role.attrib, local.revhistory.attrib
4271# end of revhistory.attlist
4272
4273# end of revhistory.module
4274local.revision.attrib = empty
4275revision.role.attrib = role.attrib
4276# doc:An entry describing a single revision in the history of the revisions to a document.
4277revision =
4278 element revision {
4279 revision.attlist,
4280 revnumber?,
4281 date,
4282 (author | authorinitials)*,
4283 (revremark | revdescription)?
4284 }
4285# end of revision.element
4286revision.attlist &=
4287 common.attrib, revision.role.attrib, local.revision.attrib
4288# end of revision.attlist
4289
4290# end of revision.module
4291local.revnumber.attrib = empty
4292revnumber.role.attrib = role.attrib
4293# doc:A document revision number.
4294revnumber = element revnumber { revnumber.attlist, docinfo.char.mix* }
4295# end of revnumber.element
4296revnumber.attlist &=
4297 common.attrib, revnumber.role.attrib, local.revnumber.attrib
4298# end of revnumber.attlist
4299
4300# end of revnumber.module
4301
4302# Date (defined elsewhere in this section)
4303
4304# AuthorInitials (defined elsewhere in this section)
4305local.revremark.attrib = empty
4306revremark.role.attrib = role.attrib
4307# doc:A description of a revision to a document.
4308revremark = element revremark { revremark.attlist, docinfo.char.mix* }
4309# end of revremark.element
4310revremark.attlist &=
4311 common.attrib, revremark.role.attrib, local.revremark.attrib
4312# end of revremark.attlist
4313
4314# end of revremark.module
4315local.revdescription.attrib = empty
4316revdescription.role.attrib = role.attrib
4317# doc:A extended description of a revision to a document.
4318revdescription =
4319 element revdescription { revdescription.attlist, revdescription.mix+ }
4320# end of revdescription.element
4321revdescription.attlist &=
4322 common.attrib, revdescription.role.attrib, local.revdescription.attrib
4323# end of revdescription.attlist
4324
4325# end of revdescription.module
4326
4327# end of revhistory.content.module
4328
4329# SeriesVolNums ....................
4330local.seriesvolnums.attrib = empty
4331seriesvolnums.role.attrib = role.attrib
4332# doc:Numbers of the volumes in a series of books.
4333seriesvolnums =
4334 element seriesvolnums { seriesvolnums.attlist, docinfo.char.mix* }
4335# end of seriesvolnums.element
4336seriesvolnums.attlist &=
4337 common.attrib, seriesvolnums.role.attrib, local.seriesvolnums.attrib
4338# end of seriesvolnums.attlist
4339
4340# end of seriesvolnums.module
4341
4342# VolumeNum ........................
4343local.volumenum.attrib = empty
4344volumenum.role.attrib = role.attrib
4345# doc:The volume number of a document in a set (as of books in a set or articles in a journal).
4346volumenum = element volumenum { volumenum.attlist, docinfo.char.mix* }
4347# end of volumenum.element
4348volumenum.attlist &=
4349 common.attrib, volumenum.role.attrib, local.volumenum.attrib
4350# end of volumenum.attlist
4351
4352# end of volumenum.module
4353
4354# ..................................
4355
4356# end of docinfo.content.module
4357
4358# ......................................................................
4359
4360# Inline, link, and ubiquitous elements ................................
4361
4362# Technical and computer terms .........................................
4363local.accel.attrib = empty
4364accel.role.attrib = role.attrib
4365# doc:A graphical user interface (GUI) keyboard shortcut.
4366accel = element accel { accel.attlist, smallcptr.char.mix* }
4367# end of accel.element
4368accel.attlist &= common.attrib, accel.role.attrib, local.accel.attrib
4369# end of accel.attlist
4370
4371# end of accel.module
4372local.action.attrib = empty
4373action.role.attrib = role.attrib
4374# doc:A response to a user event.
4375action = element action { action.attlist, cptr.char.mix* }
4376# end of action.element
4377action.attlist &=
4378 moreinfo.attrib,
4379 common.attrib,
4380 action.role.attrib,
4381 local.action.attrib
4382# end of action.attlist
4383
4384# end of action.module
4385local.application.attrib = empty
4386application.role.attrib = role.attrib
4387# doc:The name of a software program.
4388application =
4389 element application { application.attlist, para.char.mix* }
4390# end of application.element
4391application.attlist &=
4392 attribute class { "hardware" | "software" }?,
4393 moreinfo.attrib,
4394 common.attrib,
4395 application.role.attrib,
4396 local.application.attrib
4397# end of application.attlist
4398
4399# end of application.module
4400local.classname.attrib = empty
4401classname.role.attrib = role.attrib
4402# doc:The name of a class, in the object-oriented programming sense.
4403classname = element classname { classname.attlist, smallcptr.char.mix* }
4404# end of classname.element
4405classname.attlist &=
4406 common.attrib, classname.role.attrib, local.classname.attrib
4407# end of classname.attlist
4408
4409# end of classname.module
4410local.package.attrib = empty
4411package.role.attrib = role.attrib
4412# doc:A package.
4413package = element package { package.attlist, smallcptr.char.mix* }
4414# end of package.element
4415package.attlist &=
4416 common.attrib, package.role.attrib, local.package.attrib
4417# end of package.attlist
4418
4419# end of package.module
4420local.co.attrib = empty
4421# CO is a callout area of the LineColumn unit type (a single character
4422# position); the position is directly indicated by the location of CO.
4423co.role.attrib = role.attrib
4424# doc:The location of a callout embedded in text.
4425co = element co { co.attlist, empty }
4426# end of co.element
4427
4428# bug number/symbol override or initialization
4429
4430# to any related information
4431co.attlist &=
4432 label.attrib,
4433 linkends.attrib,
4434 idreq.common.attrib,
4435 co.role.attrib,
4436 local.co.attrib
4437# end of co.attlist
4438
4439# end of co.module
4440local.coref.attrib = empty
4441# COREF is a reference to a CO
4442coref.role.attrib = role.attrib
4443# doc:A cross reference to a co.
4444coref = element coref { coref.attlist, empty }
4445# end of coref.element
4446
4447# bug number/symbol override or initialization
4448
4449# to any related information
4450coref.attlist &=
4451 label.attrib,
4452 linkendreq.attrib,
4453 common.attrib,
4454 coref.role.attrib,
4455 local.coref.attrib
4456# end of coref.attlist
4457
4458# end of coref.module
4459local.command.attrib = empty
4460command.role.attrib = role.attrib
4461# doc:The name of an executable program or other software command.
4462command = element command { command.attlist, cptr.char.mix* }
4463# end of command.element
4464command.attlist &=
4465 moreinfo.attrib,
4466 common.attrib,
4467 command.role.attrib,
4468 local.command.attrib
4469# end of command.attlist
4470
4471# end of command.module
4472local.computeroutput.attrib = empty
4473computeroutput.role.attrib = role.attrib
4474# doc:Data, generally text, displayed or presented by a computer.
4475computeroutput =
4476 element computeroutput {
4477 computeroutput.attlist, (cptr.char.mix | co)*
4478 }
4479# end of computeroutput.element
4480computeroutput.attlist &=
4481 moreinfo.attrib,
4482 common.attrib,
4483 computeroutput.role.attrib,
4484 local.computeroutput.attrib
4485# end of computeroutput.attlist
4486
4487# end of computeroutput.module
4488local.database.attrib = empty
4489database.role.attrib = role.attrib
4490# doc:The name of a database, or part of a database.
4491database = element database { database.attlist, cptr.char.mix* }
4492# end of database.element
4493
4494# Class: Type of database the element names; no default
4495database.attlist &=
4496 attribute class {
4497 "name"
4498 | "table"
4499 | "field"
4500 | "key1"
4501 | "key2"
4502 | "record"
4503 | "index"
4504 | "view"
4505 | "primarykey"
4506 | "secondarykey"
4507 | "foreignkey"
4508 | "altkey"
4509 | "procedure"
4510 | "datatype"
4511 | "constraint"
4512 | "rule"
4513 | "user"
4514 | "group"
4515 }?,
4516 moreinfo.attrib,
4517 common.attrib,
4518 database.role.attrib,
4519 local.database.attrib
4520# end of database.attlist
4521
4522# end of database.module
4523local.email.attrib = empty
4524email.role.attrib = role.attrib
4525# doc:An email address.
4526email = element email { email.attlist, docinfo.char.mix* }
4527# end of email.element
4528email.attlist &= common.attrib, email.role.attrib, local.email.attrib
4529# end of email.attlist
4530
4531# end of email.module
4532local.envar.attrib = empty
4533envar.role.attrib = role.attrib
4534# doc:A software environment variable.
4535envar = element envar { envar.attlist, smallcptr.char.mix* }
4536# end of envar.element
4537envar.attlist &= common.attrib, envar.role.attrib, local.envar.attrib
4538# end of envar.attlist
4539
4540# end of envar.module
4541local.errorcode.attrib = empty
4542errorcode.role.attrib = role.attrib
4543# doc:An error code.
4544errorcode = element errorcode { errorcode.attlist, smallcptr.char.mix* }
4545# end of errorcode.element
4546errorcode.attlist &=
4547 moreinfo.attrib,
4548 common.attrib,
4549 errorcode.role.attrib,
4550 local.errorcode.attrib
4551# end of errorcode.attlist
4552
4553# end of errorcode.module
4554local.errorname.attrib = empty
4555errorname.role.attrib = role.attrib
4556# doc:An error name.
4557errorname = element errorname { errorname.attlist, smallcptr.char.mix* }
4558# end of errorname.element
4559errorname.attlist &=
4560 common.attrib, errorname.role.attrib, local.errorname.attrib
4561# end of errorname.attlist
4562
4563# end of errorname.module
4564local.errortext.attrib = empty
4565errortext.role.attrib = role.attrib
4566# doc:An error message..
4567errortext = element errortext { errortext.attlist, smallcptr.char.mix* }
4568# end of errortext.element
4569errortext.attlist &=
4570 common.attrib, errortext.role.attrib, local.errortext.attrib
4571# end of errortext.attlist
4572
4573# end of errortext.module
4574local.errortype.attrib = empty
4575errortype.role.attrib = role.attrib
4576# doc:The classification of an error message.
4577errortype = element errortype { errortype.attlist, smallcptr.char.mix* }
4578# end of errortype.element
4579errortype.attlist &=
4580 common.attrib, errortype.role.attrib, local.errortype.attrib
4581# end of errortype.attlist
4582
4583# end of errortype.module
4584local.filename.attrib = empty
4585filename.role.attrib = role.attrib
4586# doc:The name of a file.
4587filename = element filename { filename.attlist, cptr.char.mix* }
4588# end of filename.element
4589
4590# Class: Type of filename the element names; no default
4591
4592# Path: Search path (possibly system-specific) in which
4593# file can be found
4594filename.attlist &=
4595 attribute class {
4596 "headerfile"
4597 | "partition"
4598 | "devicefile"
4599 | "libraryfile"
4600 | "directory"
4601 | "extension"
4602 | "symlink"
4603 }?,
4604 attribute path { text }?,
4605 moreinfo.attrib,
4606 common.attrib,
4607 filename.role.attrib,
4608 local.filename.attrib
4609# end of filename.attlist
4610
4611# end of filename.module
4612local.function.attrib = empty
4613function.role.attrib = role.attrib
4614# doc:The name of a function or subroutine, as in a programming language.
4615function = element function { function.attlist, cptr.char.mix* }
4616# end of function.element
4617function.attlist &=
4618 moreinfo.attrib,
4619 common.attrib,
4620 function.role.attrib,
4621 local.function.attrib
4622# end of function.attlist
4623
4624# end of function.module
4625local.guibutton.attrib = empty
4626guibutton.role.attrib = role.attrib
4627# doc:The text on a button in a GUI.
4628guibutton =
4629 element guibutton {
4630 guibutton.attlist,
4631 (smallcptr.char.mix | accel | superscript | subscript)*
4632 }
4633# end of guibutton.element
4634guibutton.attlist &=
4635 moreinfo.attrib,
4636 common.attrib,
4637 guibutton.role.attrib,
4638 local.guibutton.attrib
4639# end of guibutton.attlist
4640
4641# end of guibutton.module
4642local.guiicon.attrib = empty
4643guiicon.role.attrib = role.attrib
4644# doc:Graphic and/or text appearing as a icon in a GUI.
4645guiicon =
4646 element guiicon {
4647 guiicon.attlist,
4648 (smallcptr.char.mix | accel | superscript | subscript)*
4649 }
4650# end of guiicon.element
4651guiicon.attlist &=
4652 moreinfo.attrib,
4653 common.attrib,
4654 guiicon.role.attrib,
4655 local.guiicon.attrib
4656# end of guiicon.attlist
4657
4658# end of guiicon.module
4659local.guilabel.attrib = empty
4660guilabel.role.attrib = role.attrib
4661# doc:The text of a label in a GUI.
4662guilabel =
4663 element guilabel {
4664 guilabel.attlist,
4665 (smallcptr.char.mix | accel | superscript | subscript)*
4666 }
4667# end of guilabel.element
4668guilabel.attlist &=
4669 moreinfo.attrib,
4670 common.attrib,
4671 guilabel.role.attrib,
4672 local.guilabel.attrib
4673# end of guilabel.attlist
4674
4675# end of guilabel.module
4676local.guimenu.attrib = empty
4677guimenu.role.attrib = role.attrib
4678# doc:The name of a menu in a GUI.
4679guimenu =
4680 element guimenu {
4681 guimenu.attlist,
4682 (smallcptr.char.mix | accel | superscript | subscript)*
4683 }
4684# end of guimenu.element
4685guimenu.attlist &=
4686 moreinfo.attrib,
4687 common.attrib,
4688 guimenu.role.attrib,
4689 local.guimenu.attrib
4690# end of guimenu.attlist
4691
4692# end of guimenu.module
4693local.guimenuitem.attrib = empty
4694guimenuitem.role.attrib = role.attrib
4695# doc:The name of a terminal menu item in a GUI.
4696guimenuitem =
4697 element guimenuitem {
4698 guimenuitem.attlist,
4699 (smallcptr.char.mix | accel | superscript | subscript)*
4700 }
4701# end of guimenuitem.element
4702guimenuitem.attlist &=
4703 moreinfo.attrib,
4704 common.attrib,
4705 guimenuitem.role.attrib,
4706 local.guimenuitem.attrib
4707# end of guimenuitem.attlist
4708
4709# end of guimenuitem.module
4710local.guisubmenu.attrib = empty
4711guisubmenu.role.attrib = role.attrib
4712# doc:The name of a submenu in a GUI.
4713guisubmenu =
4714 element guisubmenu {
4715 guisubmenu.attlist,
4716 (smallcptr.char.mix | accel | superscript | subscript)*
4717 }
4718# end of guisubmenu.element
4719guisubmenu.attlist &=
4720 moreinfo.attrib,
4721 common.attrib,
4722 guisubmenu.role.attrib,
4723 local.guisubmenu.attrib
4724# end of guisubmenu.attlist
4725
4726# end of guisubmenu.module
4727local.hardware.attrib = empty
4728hardware.role.attrib = role.attrib
4729# doc:A physical part of a computer system.
4730hardware = element hardware { hardware.attlist, cptr.char.mix* }
4731# end of hardware.element
4732hardware.attlist &=
4733 moreinfo.attrib,
4734 common.attrib,
4735 hardware.role.attrib,
4736 local.hardware.attrib
4737# end of hardware.attlist
4738
4739# end of hardware.module
4740local.interface.attrib = empty
4741interface.role.attrib = role.attrib
4742# doc:An element of a GUI.
4743interface =
4744 element interface { interface.attlist, (smallcptr.char.mix | accel)* }
4745# end of interface.element
4746
4747# Class: Type of the Interface item; no default
4748interface.attlist &=
4749 moreinfo.attrib,
4750 common.attrib,
4751 interface.role.attrib,
4752 local.interface.attrib
4753# end of interface.attlist
4754
4755# end of interface.module
4756local.keycap.attrib = empty
4757keycap.role.attrib = role.attrib
4758# doc:The text printed on a key on a keyboard.
4759keycap = element keycap { keycap.attlist, cptr.char.mix* }
4760# end of keycap.element
4761keycap.attlist &=
4762 attribute function {
4763 "alt"
4764 | "control"
4765 | "shift"
4766 | "meta"
4767 | "escape"
4768 | "enter"
4769 | "tab"
4770 | "backspace"
4771 | "command"
4772 | "option"
4773 | "space"
4774 | "delete"
4775 | "insert"
4776 | "up"
4777 | "down"
4778 | "left"
4779 | "right"
4780 | "home"
4781 | "end"
4782 | "pageup"
4783 | "pagedown"
4784 | "other"
4785 }?,
4786 attribute otherfunction { text }?,
4787 moreinfo.attrib,
4788 common.attrib,
4789 keycap.role.attrib,
4790 local.keycap.attrib
4791# end of keycap.attlist
4792
4793# end of keycap.module
4794local.keycode.attrib = empty
4795keycode.role.attrib = role.attrib
4796# doc:The internal, frequently numeric, identifier for a key on a keyboard.
4797keycode = element keycode { keycode.attlist, smallcptr.char.mix* }
4798# end of keycode.element
4799keycode.attlist &=
4800 common.attrib, keycode.role.attrib, local.keycode.attrib
4801# end of keycode.attlist
4802
4803# end of keycode.module
4804local.keycombo.attrib = empty
4805keycombo.role.attrib = role.attrib
4806# doc:A combination of input actions.
4807keycombo =
4808 element keycombo {
4809 keycombo.attlist, (keycap | keycombo | keysym | mousebutton)+
4810 }
4811# end of keycombo.element
4812keycombo.attlist &=
4813 keyaction.attrib,
4814 moreinfo.attrib,
4815 common.attrib,
4816 keycombo.role.attrib,
4817 local.keycombo.attrib
4818# end of keycombo.attlist
4819
4820# end of keycombo.module
4821local.keysym.attrib = empty
4822keysysm.role.attrib = role.attrib
4823# doc:The symbolic name of a key on a keyboard.
4824keysym = element keysym { keysym.attlist, smallcptr.char.mix* }
4825# end of keysym.element
4826keysym.attlist &=
4827 common.attrib, keysysm.role.attrib, local.keysym.attrib
4828# end of keysym.attlist
4829
4830# end of keysym.module
4831local.lineannotation.attrib = empty
4832lineannotation.role.attrib = role.attrib
4833# doc:A comment on a line in a verbatim listing.
4834lineannotation =
4835 element lineannotation { lineannotation.attlist, para.char.mix* }
4836# end of lineannotation.element
4837lineannotation.attlist &=
4838 common.attrib, lineannotation.role.attrib, local.lineannotation.attrib
4839# end of lineannotation.attlist
4840
4841# end of lineannotation.module
4842local.literal.attrib = empty
4843literal.role.attrib = role.attrib
4844# doc:Inline text that is some literal value.
4845literal = element literal { literal.attlist, cptr.char.mix* }
4846# end of literal.element
4847literal.attlist &=
4848 moreinfo.attrib,
4849 common.attrib,
4850 literal.role.attrib,
4851 local.literal.attrib
4852# end of literal.attlist
4853
4854# end of literal.module
4855local.code.attrib = empty
4856code.role.attrib = role.attrib
4857# doc:An inline code fragment.
4858code = element code { code.attlist, cptr.char.mix* }
4859# end of code.element
4860code.attlist &=
4861 attribute language { text }?,
4862 common.attrib,
4863 code.role.attrib,
4864 local.code.attrib
4865# end of code.attlist
4866
4867# end of code.module
4868local.constant.attrib = empty
4869constant.role.attrib = role.attrib
4870# doc:A programming or system constant.
4871constant = element constant { constant.attlist, smallcptr.char.mix* }
4872# end of constant.element
4873constant.attlist &=
4874 attribute class { "limit" }?,
4875 common.attrib,
4876 constant.role.attrib,
4877 local.constant.attrib
4878# end of constant.attlist
4879
4880# end of constant.module
4881local.varname.attrib = empty
4882varname.role.attrib = role.attrib
4883# doc:The name of a variable.
4884varname = element varname { varname.attlist, smallcptr.char.mix* }
4885# end of varname.element
4886varname.attlist &=
4887 common.attrib, varname.role.attrib, local.varname.attrib
4888# end of varname.attlist
4889
4890# end of varname.module
4891local.markup.attrib = empty
4892markup.role.attrib = role.attrib
4893# doc:A string of formatting markup in text that is to be represented literally.
4894markup = element markup { markup.attlist, smallcptr.char.mix* }
4895# end of markup.element
4896markup.attlist &= common.attrib, markup.role.attrib, local.markup.attrib
4897# end of markup.attlist
4898
4899# end of markup.module
4900local.medialabel.attrib = empty
4901medialabel.role.attrib = role.attrib
4902# doc:A name that identifies the physical medium on which some information resides.
4903medialabel =
4904 element medialabel { medialabel.attlist, smallcptr.char.mix* }
4905# end of medialabel.element
4906
4907# Class: Type of medium named by the element; no default
4908medialabel.attlist &=
4909 attribute class { "cartridge" | "cdrom" | "disk" | "tape" }?,
4910 common.attrib,
4911 medialabel.role.attrib,
4912 local.medialabel.attrib
4913# end of medialabel.attlist
4914
4915# end of medialabel.module
4916local.menuchoice.attrib = empty
4917menuchoice.role.attrib = role.attrib
4918# doc:A selection or series of selections from a menu.
4919menuchoice =
4920 element menuchoice {
4921 menuchoice.attlist,
4922 shortcut?,
4923 (guibutton
4924 | guiicon
4925 | guilabel
4926 | guimenu
4927 | guimenuitem
4928 | guisubmenu
4929 | interface)+
4930 }
4931# end of menuchoice.element
4932menuchoice.attlist &=
4933 moreinfo.attrib,
4934 common.attrib,
4935 menuchoice.role.attrib,
4936 local.menuchoice.attrib
4937# end of menuchoice.attlist
4938
4939# end of menuchoice.module
4940
4941# See also KeyCombo
4942local.shortcut.attrib = empty
4943shortcut.role.attrib = role.attrib
4944# doc:A key combination for an action that is also accessible through a menu.
4945shortcut =
4946 element shortcut {
4947 shortcut.attlist, (keycap | keycombo | keysym | mousebutton)+
4948 }
4949# end of shortcut.element
4950shortcut.attlist &=
4951 keyaction.attrib,
4952 moreinfo.attrib,
4953 common.attrib,
4954 shortcut.role.attrib,
4955 local.shortcut.attrib
4956# end of shortcut.attlist
4957
4958# end of shortcut.module
4959
4960# end of menuchoice.content.module
4961local.mousebutton.attrib = empty
4962mousebutton.role.attrib = role.attrib
4963# doc:The conventional name of a mouse button.
4964mousebutton =
4965 element mousebutton { mousebutton.attlist, smallcptr.char.mix* }
4966# end of mousebutton.element
4967mousebutton.attlist &=
4968 moreinfo.attrib,
4969 common.attrib,
4970 mousebutton.role.attrib,
4971 local.mousebutton.attrib
4972# end of mousebutton.attlist
4973
4974# end of mousebutton.module
4975local.msgtext.attrib = empty
4976msgtext.role.attrib = role.attrib
4977# doc:The actual text of a message component in a message set.
4978msgtext = element msgtext { msgtext.attlist, component.mix+ }
4979# end of msgtext.element
4980msgtext.attlist &=
4981 common.attrib, msgtext.role.attrib, local.msgtext.attrib
4982# end of msgtext.attlist
4983
4984# end of msgtext.module
4985local.option.attrib = empty
4986option.role.attrib = role.attrib
4987# doc:An option for a software command.
4988option = element option { option.attlist, cptr.char.mix* }
4989# end of option.element
4990option.attlist &= common.attrib, option.role.attrib, local.option.attrib
4991# end of option.attlist
4992
4993# end of option.module
4994local.optional.attrib = empty
4995optional.role.attrib = role.attrib
4996# doc:Optional information.
4997optional = element optional { optional.attlist, cptr.char.mix* }
4998# end of optional.element
4999optional.attlist &=
5000 common.attrib, optional.role.attrib, local.optional.attrib
5001# end of optional.attlist
5002
5003# end of optional.module
5004local.parameter.attrib = empty
5005parameter.role.attrib = role.attrib
5006# doc:A value or a symbolic reference to a value.
5007parameter = element parameter { parameter.attlist, cptr.char.mix* }
5008# end of parameter.element
5009
5010# Class: Type of the Parameter; no default
5011parameter.attlist &=
5012 attribute class { "command" | "function" | "option" }?,
5013 moreinfo.attrib,
5014 common.attrib,
5015 parameter.role.attrib,
5016 local.parameter.attrib
5017# end of parameter.attlist
5018
5019# end of parameter.module
5020local.prompt.attrib = empty
5021prompt.role.attrib = role.attrib
5022# doc:A character or string indicating the start of an input field in a computer display.
5023prompt = element prompt { prompt.attlist, (smallcptr.char.mix | co)* }
5024# end of prompt.element
5025prompt.attlist &=
5026 moreinfo.attrib,
5027 common.attrib,
5028 prompt.role.attrib,
5029 local.prompt.attrib
5030# end of prompt.attlist
5031
5032# end of prompt.module
5033local.property.attrib = empty
5034property.role.attrib = role.attrib
5035# doc:A unit of data associated with some part of a computer system.
5036property = element property { property.attlist, cptr.char.mix* }
5037# end of property.element
5038property.attlist &=
5039 moreinfo.attrib,
5040 common.attrib,
5041 property.role.attrib,
5042 local.property.attrib
5043# end of property.attlist
5044
5045# end of property.module
5046local.replaceable.attrib = empty
5047replaceable.role.attrib = role.attrib
5048# doc:Content that may or must be replaced by the user.
5049replaceable =
5050 element replaceable {
5051 replaceable.attlist,
5052 (text
5053 | link.char.class
5054 | optional
5055 | base.char.class
5056 | other.char.class
5057 | inlinegraphic
5058 | inlinemediaobject
5059 | co)*
5060 }
5061# end of replaceable.element
5062
5063# Class: Type of information the element represents; no
5064# default
5065replaceable.attlist &=
5066 attribute class { "command" | "function" | "option" | "parameter" }?,
5067 common.attrib,
5068 replaceable.role.attrib,
5069 local.replaceable.attrib
5070# end of replaceable.attlist
5071
5072# end of replaceable.module
5073local.returnvalue.attrib = empty
5074returnvalue.role.attrib = role.attrib
5075# doc:The value returned by a function.
5076returnvalue =
5077 element returnvalue { returnvalue.attlist, smallcptr.char.mix* }
5078# end of returnvalue.element
5079returnvalue.attlist &=
5080 common.attrib, returnvalue.role.attrib, local.returnvalue.attrib
5081# end of returnvalue.attlist
5082
5083# end of returnvalue.module
5084local.sgmltag.attrib = empty
5085sgmltag.role.attrib = role.attrib
5086# doc:A component of SGML markup.
5087sgmltag = element sgmltag { sgmltag.attlist, smallcptr.char.mix* }
5088# end of sgmltag.element
5089
5090# Class: Type of SGML construct the element names; no default
5091sgmltag.attlist &=
5092 attribute class {
5093 "attribute"
5094 | "attvalue"
5095 | "element"
5096 | "endtag"
5097 | "emptytag"
5098 | "genentity"
5099 | "numcharref"
5100 | "paramentity"
5101 | "pi"
5102 | "xmlpi"
5103 | "starttag"
5104 | "sgmlcomment"
5105 | "prefix"
5106 | "namespace"
5107 | "localname"
5108 }?,
5109 attribute namespace { text }?,
5110 common.attrib,
5111 sgmltag.role.attrib,
5112 local.sgmltag.attrib
5113# end of sgmltag.attlist
5114
5115# end of sgmltag.module
5116local.structfield.attrib = empty
5117structfield.role.attrib = role.attrib
5118# doc:A field in a structure (in the programming language sense).
5119structfield =
5120 element structfield { structfield.attlist, smallcptr.char.mix* }
5121# end of structfield.element
5122structfield.attlist &=
5123 common.attrib, structfield.role.attrib, local.structfield.attrib
5124# end of structfield.attlist
5125
5126# end of structfield.module
5127local.structname.attrib = empty
5128structname.role.attrib = role.attrib
5129# doc:The name of a structure (in the programming language sense).
5130structname =
5131 element structname { structname.attlist, smallcptr.char.mix* }
5132# end of structname.element
5133structname.attlist &=
5134 common.attrib, structname.role.attrib, local.structname.attrib
5135# end of structname.attlist
5136
5137# end of structname.module
5138local.symbol.attrib = empty
5139symbol.role.attrib = role.attrib
5140# doc:A name that is replaced by a value before processing.
5141symbol = element symbol { symbol.attlist, smallcptr.char.mix* }
5142# end of symbol.element
5143
5144# Class: Type of symbol; no default
5145symbol.attlist &=
5146 attribute class { "limit" }?,
5147 common.attrib,
5148 symbol.role.attrib,
5149 local.symbol.attrib
5150# end of symbol.attlist
5151
5152# end of symbol.module
5153local.systemitem.attrib = empty
5154systemitem.role.attrib = role.attrib
5155# doc:A system-related item or term.
5156systemitem =
5157 element systemitem {
5158 systemitem.attlist, (cptr.char.mix | acronym | co)*
5159 }
5160# end of systemitem.element
5161
5162# Class: Type of system item the element names; no default
5163systemitem.attlist &=
5164 attribute class {
5165 "constant"
5166 | "daemon"
5167 | "domainname"
5168 | "etheraddress"
5169 | "event"
5170 | "eventhandler"
5171 | "filesystem"
5172 | "fqdomainname"
5173 | "groupname"
5174 | "ipaddress"
5175 | "library"
5176 | "macro"
5177 | "netmask"
5178 | "newsgroup"
5179 | "osname"
5180 | "protocol"
5181 | "resource"
5182 | "systemname"
5183 | "username"
5184 | "process"
5185 | "server"
5186 | "service"
5187 }?,
5188 moreinfo.attrib,
5189 common.attrib,
5190 systemitem.role.attrib,
5191 local.systemitem.attrib
5192# end of systemitem.attlist
5193
5194# end of systemitem.module
5195local.uri.attrib = empty
5196uri.role.attrib = role.attrib
5197# doc:A Uniform Resource Identifier.
5198uri = element uri { uri.attlist, smallcptr.char.mix* }
5199# end of uri.element
5200
5201# Type: Type of URI; no default
5202uri.attlist &=
5203 attribute type { text }?,
5204 common.attrib,
5205 uri.role.attrib,
5206 local.uri.attrib
5207# end of uri.attlist
5208
5209# end of uri.module
5210local.token.attrib = empty
5211token.role.attrib = role.attrib
5212# doc:A unit of information.
5213\token = element token { token.attlist, smallcptr.char.mix* }
5214# end of token.element
5215token.attlist &= common.attrib, token.role.attrib, local.token.attrib
5216# end of token.attlist
5217
5218# end of token.module
5219local.type.attrib = empty
5220type.role.attrib = role.attrib
5221# doc:The classification of a value.
5222type = element type { type.attlist, smallcptr.char.mix* }
5223# end of type.element
5224type.attlist &= common.attrib, type.role.attrib, local.type.attrib
5225# end of type.attlist
5226
5227# end of type.module
5228local.userinput.attrib = empty
5229userinput.role.attrib = role.attrib
5230# doc:Data entered by the user.
5231userinput =
5232 element userinput { userinput.attlist, (cptr.char.mix | co)* }
5233# end of userinput.element
5234userinput.attlist &=
5235 moreinfo.attrib,
5236 common.attrib,
5237 userinput.role.attrib,
5238 local.userinput.attrib
5239# end of userinput.attlist
5240
5241# end of userinput.module
5242local.termdef.attrib = empty
5243termdef.role.attrib = role.attrib
5244# doc:An inline definition of a term.
5245termdef = element termdef { termdef.attlist, para.char.mix* }
5246# end of termdef.element
5247termdef.attlist &=
5248 common.attrib, termdef.role.attrib, local.termdef.attrib
5249# end of termdef.attlist
5250
5251# end of termdef.module
5252
5253# General words and phrases ............................................
5254local.abbrev.attrib = empty
5255abbrev.role.attrib = role.attrib
5256# doc:An abbreviation, especially one followed by a period.
5257abbrev = element abbrev { abbrev.attlist, word.char.mix* }
5258# end of abbrev.element
5259abbrev.attlist &= common.attrib, abbrev.role.attrib, local.abbrev.attrib
5260# end of abbrev.attlist
5261
5262# end of abbrev.module
5263local.acronym.attrib = empty
5264acronym.role.attrib = role.attrib
5265# doc:An often pronounceable word made from the initial (or selected) letters of a name or phrase.
5266acronym = element acronym { acronym.attlist, word.char.mix* }
5267# end of acronym.element
5268acronym.attlist &=
5269 common.attrib, acronym.role.attrib, local.acronym.attrib
5270# end of acronym.attlist
5271
5272# end of acronym.module
5273local.citation.attrib = empty
5274citation.role.attrib = role.attrib
5275# doc:An inline bibliographic reference to another published work.
5276citation = element citation { citation.attlist, para.char.mix* }
5277# end of citation.element
5278citation.attlist &=
5279 common.attrib, citation.role.attrib, local.citation.attrib
5280# end of citation.attlist
5281
5282# end of citation.module
5283local.citerefentry.attrib = empty
5284citerefentry.role.attrib = role.attrib
5285# doc:A citation to a reference page.
5286citerefentry =
5287 element citerefentry {
5288 citerefentry.attlist, refentrytitle, manvolnum?
5289 }
5290# end of citerefentry.element
5291citerefentry.attlist &=
5292 common.attrib, citerefentry.role.attrib, local.citerefentry.attrib
5293# end of citerefentry.attlist
5294
5295# end of citerefentry.module
5296local.refentrytitle.attrib = empty
5297refentrytitle.role.attrib = role.attrib
5298# doc:The title of a reference page.
5299refentrytitle =
5300 element refentrytitle { refentrytitle.attlist, para.char.mix* }
5301# end of refentrytitle.element
5302refentrytitle.attlist &=
5303 common.attrib, refentrytitle.role.attrib, local.refentrytitle.attrib
5304# end of refentrytitle.attlist
5305
5306# end of refentrytitle.module
5307local.manvolnum.attrib = empty
5308namvolnum.role.attrib = role.attrib
5309# doc:A reference volume number.
5310manvolnum = element manvolnum { manvolnum.attlist, word.char.mix* }
5311# end of manvolnum.element
5312manvolnum.attlist &=
5313 common.attrib, namvolnum.role.attrib, local.manvolnum.attrib
5314# end of manvolnum.attlist
5315
5316# end of manvolnum.module
5317local.citetitle.attrib = empty
5318citetitle.role.attrib = role.attrib
5319# doc:The title of a cited work.
5320citetitle = element citetitle { citetitle.attlist, para.char.mix* }
5321# end of citetitle.element
5322
5323# Pubwork: Genre of published work cited; no default
5324citetitle.attlist &=
5325 attribute pubwork {
5326 "article"
5327 | "book"
5328 | "chapter"
5329 | "part"
5330 | "refentry"
5331 | "section"
5332 | "journal"
5333 | "series"
5334 | "set"
5335 | "manuscript"
5336 | "cdrom"
5337 | "dvd"
5338 | "wiki"
5339 | "gopher"
5340 | "bbs"
5341 | "emailmessage"
5342 | "webpage"
5343 | "newsposting"
5344 }?,
5345 common.attrib,
5346 citetitle.role.attrib,
5347 local.citetitle.attrib
5348# end of citetitle.attlist
5349
5350# end of citetitle.module
5351local.emphasis.attrib = empty
5352emphasis.role.attrib = role.attrib
5353# doc:Emphasized text.
5354emphasis = element emphasis { emphasis.attlist, para.char.mix* }
5355# end of emphasis.element
5356emphasis.attlist &=
5357 common.attrib, emphasis.role.attrib, local.emphasis.attrib
5358# end of emphasis.attlist
5359
5360# end of emphasis.module
5361local.foreignphrase.attrib = empty
5362foreignphrase.role.attrib = role.attrib
5363# doc:A word or phrase in a language other than the primary language of the document.
5364foreignphrase =
5365 element foreignphrase { foreignphrase.attlist, para.char.mix* }
5366# end of foreignphrase.element
5367foreignphrase.attlist &=
5368 common.attrib, foreignphrase.role.attrib, local.foreignphrase.attrib
5369# end of foreignphrase.attlist
5370
5371# end of foreignphrase.module
5372local.glossterm.attrib = empty
5373glossterm.role.attrib = role.attrib
5374# doc:A glossary term.
5375glossterm = element glossterm { glossterm.attlist, para.char.mix* }
5376# end of glossterm.element
5377
5378# to GlossEntry if Glossterm used in text
5379
5380# BaseForm: Provides the form of GlossTerm to be used
5381# for indexing
5382glossterm.attlist &=
5383 attribute baseform { text }?,
5384 linkend.attrib,
5385 common.attrib,
5386 glossterm.role.attrib,
5387 local.glossterm.attrib
5388# end of glossterm.attlist
5389
5390# end of glossterm.module
5391local.firstterm.attrib = empty
5392firstterm.role.attrib = role.attrib
5393# doc:The first occurrence of a term.
5394firstterm = element firstterm { firstterm.attlist, para.char.mix* }
5395# end of firstterm.element
5396
5397# to GlossEntry or other explanation
5398firstterm.attlist &=
5399 attribute baseform { text }?,
5400 linkend.attrib,
5401 common.attrib,
5402 firstterm.role.attrib,
5403 local.firstterm.attrib
5404# end of firstterm.attlist
5405
5406# end of firstterm.module
5407local.phrase.attrib = empty
5408phrase.role.attrib = role.attrib
5409# doc:A span of text.
5410phrase = element phrase { phrase.attlist, para.char.mix* }
5411# end of phrase.element
5412phrase.attlist &= common.attrib, phrase.role.attrib, local.phrase.attrib
5413# end of phrase.attlist
5414
5415# end of phrase.module
5416local.quote.attrib = empty
5417quote.role.attrib = role.attrib
5418# doc:An inline quotation.
5419quote = element quote { quote.attlist, para.char.mix* }
5420# end of quote.element
5421quote.attlist &= common.attrib, quote.role.attrib, local.quote.attrib
5422# end of quote.attlist
5423
5424# end of quote.module
5425local.ssscript.attrib = empty
5426ssscript.role.attrib = role.attrib
5427# doc:A subscript (as in H{^2}O, the molecular formula for water).
5428subscript =
5429 element subscript {
5430 subscript.attlist,
5431 (text
5432 | link.char.class
5433 | emphasis
5434 | replaceable
5435 | symbol
5436 | inlinegraphic
5437 | inlinemediaobject
5438 | base.char.class
5439 | other.char.class)*
5440 }
5441# end of subscript.element
5442subscript.attlist &=
5443 common.attrib, ssscript.role.attrib, local.ssscript.attrib
5444# end of subscript.attlist
5445
5446# doc:A superscript (as in x^2, the mathematical notation for x multiplied by itself).
5447superscript =
5448 element superscript {
5449 superscript.attlist,
5450 (text
5451 | link.char.class
5452 | emphasis
5453 | replaceable
5454 | symbol
5455 | inlinegraphic
5456 | inlinemediaobject
5457 | base.char.class
5458 | other.char.class)*
5459 }
5460# end of superscript.element
5461superscript.attlist &=
5462 common.attrib, ssscript.role.attrib, local.ssscript.attrib
5463# end of superscript.attlist
5464
5465# end of ssscript.module
5466local.trademark.attrib = empty
5467trademark.role.attrib = role.attrib
5468# doc:A trademark.
5469trademark =
5470 element trademark {
5471 trademark.attlist,
5472 (text
5473 | link.char.class
5474 | tech.char.class
5475 | base.char.class
5476 | other.char.class
5477 | inlinegraphic
5478 | inlinemediaobject
5479 | emphasis)*
5480 }
5481# end of trademark.element
5482
5483# Class: More precisely identifies the item the element names
5484trademark.attlist &=
5485 [ a:defaultValue = "trade" ]
5486 attribute class { "service" | "trade" | "registered" | "copyright" }?,
5487 common.attrib,
5488 trademark.role.attrib,
5489 local.trademark.attrib
5490# end of trademark.attlist
5491
5492# end of trademark.module
5493local.wordasword.attrib = empty
5494wordasword.role.attrib = role.attrib
5495# doc:A word meant specifically as a word and not representing anything else.
5496wordasword = element wordasword { wordasword.attlist, word.char.mix* }
5497# end of wordasword.element
5498wordasword.attlist &=
5499 common.attrib, wordasword.role.attrib, local.wordasword.attrib
5500# end of wordasword.attlist
5501
5502# end of wordasword.module
5503
5504# Links and cross-references ...........................................
5505local.link.attrib = empty
5506link.role.attrib = role.attrib
5507# doc:A hypertext link.
5508link = element link { link.attlist, para.char.mix* }
5509# end of link.element
5510
5511# Endterm: ID of element containing text that is to be
5512# fetched from elsewhere in the document to appear as
5513# the content of this element
5514
5515# to linked-to object
5516
5517# Type: Freely assignable parameter
5518link.attlist &=
5519 attribute endterm { xsd:IDREF }?,
5520 attribute xrefstyle { text }?,
5521 attribute type { text }?,
5522 linkendreq.attrib,
5523 common.attrib,
5524 link.role.attrib,
5525 local.link.attrib
5526# end of link.attlist
5527
5528# end of link.module
5529local.olink.attrib = empty
5530olink.role.attrib = role.attrib
5531# doc:A link that addresses its target indirectly, through an entity.
5532olink = element olink { olink.attlist, para.char.mix* }
5533# end of olink.element
5534
5535# TargetDocEnt: Name of an entity to be the target of the link
5536
5537# LinkMode: ID of a ModeSpec containing instructions for
5538# operating on the entity named by TargetDocEnt
5539
5540# LocalInfo: Information that may be passed to ModeSpec
5541
5542# Type: Freely assignable parameter
5543olink.attlist &=
5544 attribute targetdocent { xsd:ENTITY }?,
5545 attribute linkmode { xsd:IDREF }?,
5546 attribute localinfo { text }?,
5547 attribute type { text }?,
5548 attribute targetdoc { text }?,
5549 attribute targetptr { text }?,
5550 attribute xrefstyle { text }?,
5551 common.attrib,
5552 olink.role.attrib,
5553 local.olink.attrib
5554# end of olink.attlist
5555
5556# end of olink.module
5557local.ulink.attrib = empty
5558ulink.role.attrib = role.attrib
5559# doc:A link that addresses its target by means of a URL (Uniform Resource Locator).
5560ulink = element ulink { ulink.attlist, para.char.mix* }
5561# end of ulink.element
5562
5563# URL: uniform resource locator; the target of the ULink
5564
5565# Type: Freely assignable parameter
5566ulink.attlist &=
5567 attribute url { text },
5568 attribute type { text }?,
5569 attribute xrefstyle { text }?,
5570 common.attrib,
5571 ulink.role.attrib,
5572 local.ulink.attrib
5573# end of ulink.attlist
5574
5575# end of ulink.module
5576local.footnoteref.attrib = empty
5577footnoteref.role.attrib = role.attrib
5578# doc:A cross reference to a footnote (a footnote mark).
5579footnoteref = element footnoteref { footnoteref.attlist, empty }
5580# end of footnoteref.element
5581
5582# to footnote content supplied elsewhere
5583footnoteref.attlist &=
5584 linkendreq.attrib,
5585 label.attrib,
5586 common.attrib,
5587 footnoteref.role.attrib,
5588 local.footnoteref.attrib
5589# end of footnoteref.attlist
5590
5591# end of footnoteref.module
5592local.xref.attrib = empty
5593xref.role.attrib = role.attrib
5594# doc:A cross reference to another part of the document.
5595xref = element xref { xref.attlist, empty }
5596# end of xref.element
5597
5598# Endterm: ID of element containing text that is to be
5599# fetched from elsewhere in the document to appear as
5600# the content of this element
5601
5602# to linked-to object
5603xref.attlist &=
5604 attribute endterm { xsd:IDREF }?,
5605 attribute xrefstyle { text }?,
5606 common.attrib,
5607 linkendreq.attrib,
5608 xref.role.attrib,
5609 local.xref.attrib
5610# end of xref.attlist
5611
5612# end of xref.module
5613local.biblioref.attrib = empty
5614biblioref.role.attrib = role.attrib
5615# doc:A cross reference to a bibliographic entry.
5616biblioref = element biblioref { biblioref.attlist, empty }
5617# end of biblioref.element
5618biblioref.attlist &=
5619 attribute endterm { xsd:IDREF }?,
5620 attribute xrefstyle { text }?,
5621 attribute units { text }?,
5622 attribute begin { text }?,
5623 attribute end { text }?,
5624 common.attrib,
5625 linkendreq.attrib,
5626 biblioref.role.attrib,
5627 local.biblioref.attrib
5628# end of biblioref.attlist
5629
5630# end of biblioref.module
5631
5632# Ubiquitous elements ..................................................
5633local.anchor.attrib = empty
5634anchor.role.attrib = role.attrib
5635# doc:A spot in the document.
5636anchor = element anchor { anchor.attlist, empty }
5637# end of anchor.element
5638
5639# required
5640
5641# replaces Lang
5642anchor.attlist &=
5643 idreq.attrib,
5644 pagenum.attrib,
5645 remap.attrib,
5646 xreflabel.attrib,
5647 revisionflag.attrib,
5648 effectivity.attrib,
5649 anchor.role.attrib,
5650 local.anchor.attrib
5651# end of anchor.attlist
5652
5653# end of anchor.module
5654local.beginpage.attrib = empty
5655beginpage.role.attrib = role.attrib
5656# doc:The location of a page break in a print version of the document.
5657beginpage = element beginpage { beginpage.attlist, empty }
5658# end of beginpage.element
5659
5660# PageNum: Number of page that begins at this point
5661beginpage.attlist &=
5662 pagenum.attrib,
5663 common.attrib,
5664 beginpage.role.attrib,
5665 local.beginpage.attrib
5666# end of beginpage.attlist
5667
5668# end of beginpage.module
5669
5670# IndexTerms appear in the text flow for generating or linking an
5671# index.
5672local.indexterm.attrib = empty
5673indexterm.role.attrib = role.attrib
5674# doc:A wrapper for terms to be indexed.
5675indexterm =
5676 element indexterm {
5677 indexterm.attlist,
5678 primary?,
5679 ((secondary,
5680 ((tertiary, (see | seealso+)?)
5681 | see
5682 | seealso+)?)
5683 | see
5684 | seealso+)?
5685 }
5686# end of indexterm.element
5687
5688# Scope: Indicates which generated indices the IndexTerm
5689# should appear in: Global (whole document set), Local (this
5690# document only), or All (both)
5691
5692# Significance: Whether this IndexTerm is the most pertinent
5693# of its series (Preferred) or not (Normal, the default)
5694
5695# Class: Indicates type of IndexTerm; default is Singular,
5696# or EndOfRange if StartRef is supplied; StartOfRange value
5697# must be supplied explicitly on starts of ranges
5698
5699# StartRef: ID of the IndexTerm that starts the indexing
5700# range ended by this IndexTerm
5701
5702# Zone: IDs of the elements to which the IndexTerm applies,
5703# and indicates that the IndexTerm applies to those entire
5704# elements rather than the point at which the IndexTerm
5705# occurs
5706indexterm.attlist &=
5707 pagenum.attrib,
5708 attribute scope { "all" | "global" | "local" }?,
5709 [ a:defaultValue = "normal" ]
5710 attribute significance { "preferred" | "normal" }?,
5711 attribute class { "singular" | "startofrange" | "endofrange" }?,
5712 attribute startref { xsd:IDREF }?,
5713 attribute zone { xsd:IDREFS }?,
5714 attribute type { text }?,
5715 common.attrib,
5716 indexterm.role.attrib,
5717 local.indexterm.attrib
5718# end of indexterm.attlist
5719
5720# end of indexterm.module
5721local.primsecter.attrib = empty
5722primsecter.role.attrib = role.attrib
5723# doc:The primary word or phrase under which an index term should be sorted.
5724primary = element primary { primary.attlist, ndxterm.char.mix* }
5725# end of primary.element
5726
5727# SortAs: Alternate sort string for index sorting, e.g.,
5728# "fourteen" for an element containing "14"
5729primary.attlist &=
5730 attribute sortas { text }?,
5731 common.attrib,
5732 primsecter.role.attrib,
5733 local.primsecter.attrib
5734# end of primary.attlist
5735
5736# doc:A secondary word or phrase in an index term.
5737secondary = element secondary { secondary.attlist, ndxterm.char.mix* }
5738# end of secondary.element
5739
5740# SortAs: Alternate sort string for index sorting, e.g.,
5741# "fourteen" for an element containing "14"
5742secondary.attlist &=
5743 attribute sortas { text }?,
5744 common.attrib,
5745 primsecter.role.attrib,
5746 local.primsecter.attrib
5747# end of secondary.attlist
5748
5749# doc:A tertiary word or phrase in an index term.
5750tertiary = element tertiary { tertiary.attlist, ndxterm.char.mix* }
5751# end of tertiary.element
5752
5753# SortAs: Alternate sort string for index sorting, e.g.,
5754# "fourteen" for an element containing "14"
5755tertiary.attlist &=
5756 attribute sortas { text }?,
5757 common.attrib,
5758 primsecter.role.attrib,
5759 local.primsecter.attrib
5760# end of tertiary.attlist
5761
5762# end of primsecter.module
5763local.seeseealso.attrib = empty
5764seeseealso.role.attrib = role.attrib
5765# doc:Part of an index term directing the reader instead to another entry in the index.
5766see = element see { see.attlist, ndxterm.char.mix* }
5767# end of see.element
5768see.attlist &=
5769 common.attrib, seeseealso.role.attrib, local.seeseealso.attrib
5770# end of see.attlist
5771
5772# doc:Part of an index term directing the reader also to another entry in the index.
5773seealso = element seealso { seealso.attlist, ndxterm.char.mix* }
5774# end of seealso.element
5775seealso.attlist &=
5776 common.attrib, seeseealso.role.attrib, local.seeseealso.attrib
5777# end of seealso.attlist
5778
5779# end of seeseealso.module
5780
5781# end of indexterm.content.module
5782
5783# End of DocBook XML information pool module V4.5 ......................
5784
5785# ......................................................................
Note: See TracBrowser for help on using the repository browser.