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