# This file was generated automatically by Trang. The table model# dependent definitions have been moved into separate files.# ......................................................................# DocBook XML information pool module V4.2 .............................# File dbpoolx.mod .....................................................# Copyright 1992-2002 HaL Computer Systems, Inc.,# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software# Corporation, Norman Walsh, Sun Microsystems, Inc., and the# Organization for the Advancement of Structured Information# Standards (OASIS).# # $Id: dbpool.rnc,v 1.4 2003/08/30 07:48:31 jjc Exp $# # Permission to use, copy, modify and distribute the DocBook XML DTD# and its accompanying documentation for any purpose and without fee# is hereby granted in perpetuity, provided that the above copyright# notice and this paragraph appear in all copies. The copyright# holders make no representation about the suitability of the DTD for# any purpose. It is provided "as is" without expressed or implied# warranty.# # If you modify the DocBook XML DTD in any way, except for declaring and# referencing additional sets of general entities and declaring# additional notations, label your DTD as a variant of DocBook. See# the maintenance documentation for more information.# # Please direct all questions, bug reports, or suggestions for# changes to the docbook@lists.oasis-open.org mailing list. For more# information, see http://www.oasis-open.org/docbook/.# ......................................................................# This module contains the definitions for the objects, inline# elements, and so on that are available to be used as the main# content of DocBook documents. Some elements are useful for general# publishing, and others are useful specifically for computer# documentation.# # This module has the following dependencies on other modules:# # o It assumes that a %notation.class; entity is defined by the# driver file or other high-level module. This entity is# referenced in the NOTATION attributes for the graphic-related and# ModeSpec elements.# # o It assumes that an appropriately parameterized table module is# available for use with the table-related elements.# # In DTD driver files referring to this module, please use an entity# declaration that uses the public identifier shown below:# # <!ENTITY % dbpool PUBLIC# "-//OASIS//ELEMENTS DocBook XML Information Pool V4.2//EN"# "dbpoolx.mod"># %dbpool;# # See the documentation for detailed information on the parameter# entity and module scheme used in DocBook, customizing DocBook and# planning for interchange, and changes made since the last release# of DocBook.# ......................................................................# General-purpose semantics entities ...................................namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"yesorno.attvals = string# ......................................................................# Entities for module inclusions .......................................# ......................................................................# Entities for element classes and mixtures ............................# "Ubiquitous" classes: ndxterm.class and beginpagelocal.ndxterm.class = notAllowedndxterm.class = indexterm | local.ndxterm.class# Object-level classes .................................................local.list.class = notAllowedlist.class = calloutlist | glosslist | itemizedlist | orderedlist | segmentedlist | simplelist | variablelist | local.list.classlocal.admon.class = notAllowedadmon.class = caution | important | note | tip | warning | local.admon.classlocal.linespecific.class = notAllowedlinespecific.class = literallayout | programlisting | programlistingco | screen | screenco | screenshot | local.linespecific.classlocal.method.synop.class = notAllowedmethod.synop.class = constructorsynopsis | destructorsynopsis | methodsynopsis | local.method.synop.classlocal.synop.class = notAllowedsynop.class = synopsis | cmdsynopsis | funcsynopsis | classsynopsis | fieldsynopsis | method.synop.class | local.synop.classlocal.para.class = notAllowedpara.class = formalpara | para | simpara | local.para.classlocal.informal.class = notAllowedinformal.class = address | blockquote | graphic | graphicco | mediaobject | mediaobjectco | informalequation | informalexample | informalfigure | informaltable | local.informal.classlocal.formal.class = notAllowedformal.class = equation | example | figure | table | local.formal.class# The DocBook TC may produce an official EBNF module for DocBook.# This PE provides the hook by which it can be inserted into the DTD.ebnf.block.hook = notAllowedlocal.compound.class = notAllowedcompound.class = msgset | procedure | sidebar | qandaset | ebnf.block.hook | local.compound.classlocal.genobj.class = notAllowedgenobj.class = anchor | bridgehead | remark | highlights | local.genobj.classlocal.descobj.class = notAlloweddescobj.class = abstract | authorblurb | epigraph | local.descobj.class# Character-level classes ..............................................local.xref.char.class = notAllowedxref.char.class = footnoteref | xref | local.xref.char.classlocal.gen.char.class = notAllowedgen.char.class = abbrev | acronym | citation | citerefentry | citetitle | emphasis | firstterm | foreignphrase | glossterm | footnote | phrase | quote | trademark | wordasword | personname | local.gen.char.classlocal.link.char.class = notAllowedlink.char.class = link | olink | ulink | local.link.char.class# The DocBook TC may produce an official EBNF module for DocBook.# This PE provides the hook by which it can be inserted into the DTD.ebnf.inline.hook = notAllowedlocal.tech.char.class = notAllowedtech.char.class = action | application | classname | methodname | interfacename | exceptionname | ooclass | oointerface | ooexception | command | computeroutput | database | email | envar | errorcode | errorname | errortype | errortext | filename | function | guibutton | guiicon | guilabel | guimenu | guimenuitem | guisubmenu | hardware | interface | keycap | keycode | keycombo | keysym | literal | constant | markup | medialabel | menuchoice | mousebutton | option | optional | parameter | prompt | property | replaceable | returnvalue | sgmltag | structfield | structname | symbol | systemitem | \token | type | userinput | varname | ebnf.inline.hook | local.tech.char.classlocal.base.char.class = notAllowedbase.char.class = anchor | local.base.char.classlocal.docinfo.char.class = notAlloweddocinfo.char.class = author | authorinitials | corpauthor | modespec | othercredit | productname | productnumber | revhistory | local.docinfo.char.classlocal.other.char.class = notAllowedother.char.class = remark | subscript | superscript | local.other.char.classlocal.inlineobj.char.class = notAllowedinlineobj.char.class = inlinegraphic | inlinemediaobject | inlineequation | local.inlineobj.char.class# ......................................................................# Entities for content models ..........................................formalobject.title.content = title, titleabbrev?# Redeclaration placeholder ............................................# For redeclaring entities that are declared after this point while# retaining their references to the entities that are declared before# this point# Object-level mixtures ................................................# list admn line synp para infm form cmpd gen desc# Component mixture X X X X X X X X X X# Sidebar mixture X X X X X X X a X# Footnote mixture X X X X X# Example mixture X X X X X# Highlights mixture X X X# Paragraph mixture X X X X# Admonition mixture X X X X X X b c# Figure mixture X X X# Table entry mixture X X X X d# Glossary def mixture X X X X X e# Legal notice mixture X X X X f# # a. Just Procedure; not Sidebar itself or MsgSet.# b. No MsgSet.# c. No Highlights.# d. Just Graphic; no other informal objects.# e. No Anchor, BridgeHead, or Highlights.# f. Just BlockQuote; no other informal objects.local.component.mix = notAllowedcomponent.mix = list.class | admon.class | linespecific.class | synop.class | para.class | informal.class | formal.class | compound.class | genobj.class | descobj.class | ndxterm.class | beginpage | local.component.mixlocal.sidebar.mix = notAllowedsidebar.mix = list.class | admon.class | linespecific.class | synop.class | para.class | informal.class | formal.class | procedure | genobj.class | ndxterm.class | beginpage | local.sidebar.mixlocal.qandaset.mix = notAllowedqandaset.mix = list.class | admon.class | linespecific.class | synop.class | para.class | informal.class | formal.class | procedure | genobj.class | ndxterm.class | local.qandaset.mixlocal.revdescription.mix = notAllowedrevdescription.mix = list.class | admon.class | linespecific.class | synop.class | para.class | informal.class | formal.class | procedure | genobj.class | ndxterm.class | local.revdescription.mixlocal.footnote.mix = notAllowedfootnote.mix = list.class | linespecific.class | synop.class | para.class | informal.class | local.footnote.mixlocal.example.mix = notAllowedexample.mix = list.class | linespecific.class | synop.class | para.class | informal.class | ndxterm.class | beginpage | local.example.mixlocal.highlights.mix = notAllowedhighlights.mix = list.class | admon.class | para.class | ndxterm.class | local.highlights.mix# %formal.class; is explicitly excluded from many contexts in which# paragraphs are usedlocal.para.mix = notAllowedpara.mix = list.class | admon.class | linespecific.class | informal.class | formal.class | local.para.mixlocal.admon.mix = notAllowedadmon.mix = list.class | linespecific.class | synop.class | para.class | informal.class | formal.class | procedure | sidebar | anchor | bridgehead | remark | ndxterm.class | beginpage | local.admon.mixlocal.figure.mix = notAllowedfigure.mix = linespecific.class | synop.class | informal.class | ndxterm.class | beginpage | local.figure.mixlocal.tabentry.mix = notAllowedtabentry.mix = list.class | admon.class | linespecific.class | para.class | graphic | mediaobject | local.tabentry.mixlocal.glossdef.mix = notAllowedglossdef.mix = list.class | linespecific.class | synop.class | para.class | informal.class | formal.class | remark | ndxterm.class | beginpage | local.glossdef.mixlocal.legalnotice.mix = notAllowedlegalnotice.mix = list.class | admon.class | linespecific.class | para.class | blockquote | ndxterm.class | beginpage | local.legalnotice.mixlocal.textobject.mix = notAllowedtextobject.mix = list.class | admon.class | linespecific.class | para.class | blockquote | local.textobject.mixlocal.mediaobject.mix = notAllowedmediaobject.mix = videoobject | audioobject | imageobject | textobject | local.mediaobject.mixlocal.listpreamble.mix = notAllowedlistpreamble.mix = admon.class | linespecific.class | synop.class | para.class | informal.class | genobj.class | descobj.class | ndxterm.class | beginpage | local.listpreamble.mix# Character-level mixtures .............................................# sgml.features# not [sgml.features[# ]] not sgml.features# #PCD xref word link cptr base dnfo othr inob (synop)# para.char.mix X X X X X X X X X# title.char.mix X X X X X X X X X# ndxterm.char.mix X X X X X X X X a# cptr.char.mix X X X X X a# smallcptr.char.mix X b a# word.char.mix X c X X X a# docinfo.char.mix X d X b X a# # a. Just InlineGraphic; no InlineEquation.# b. Just Replaceable; no other computer terms.# c. Just Emphasis and Trademark; no other word elements.# d. Just Acronym, Emphasis, and Trademark; no other word elements.# The DocBook TC may produce an official forms module for DocBook.# This PE provides the hook by which it can be inserted into the DTD.forminlines.hook = notAllowedlocal.para.char.mix = notAllowedpara.char.mix = text | xref.char.class | gen.char.class | link.char.class | tech.char.class | base.char.class | docinfo.char.class | other.char.class | inlineobj.char.class | synop.class | ndxterm.class | beginpage | forminlines.hook | local.para.char.mixlocal.title.char.mix = notAllowedtitle.char.mix = text | xref.char.class | gen.char.class | link.char.class | tech.char.class | base.char.class | docinfo.char.class | other.char.class | inlineobj.char.class | ndxterm.class | local.title.char.mixlocal.ndxterm.char.mix = notAllowedndxterm.char.mix = text | xref.char.class | gen.char.class | link.char.class | tech.char.class | base.char.class | docinfo.char.class | other.char.class | inlinegraphic | inlinemediaobject | local.ndxterm.char.mixlocal.cptr.char.mix = notAllowedcptr.char.mix = text | link.char.class | tech.char.class | base.char.class | other.char.class | inlinegraphic | inlinemediaobject | ndxterm.class | beginpage | local.cptr.char.mixlocal.smallcptr.char.mix = notAllowedsmallcptr.char.mix = text | replaceable | inlinegraphic | inlinemediaobject | ndxterm.class | beginpage | local.smallcptr.char.mixlocal.word.char.mix = notAllowedword.char.mix = text | acronym | emphasis | trademark | link.char.class | base.char.class | other.char.class | inlinegraphic | inlinemediaobject | ndxterm.class | beginpage | local.word.char.mixlocal.docinfo.char.mix = notAlloweddocinfo.char.mix = text | link.char.class | emphasis | trademark | replaceable | other.char.class | inlinegraphic | inlinemediaobject | ndxterm.class | local.docinfo.char.mix# ENTITY % bibliocomponent.mix (see Bibliographic section, below)# ENTITY % person.ident.mix (see Bibliographic section, below)# ......................................................................# Entities for attributes and attribute components .....................# Effectivity attributes ...............................................# Arch: Computer or chip architecture to which element applies; no# defaultarch.attrib = attribute arch { text }?# Condition: General-purpose effectivity attributecondition.attrib = attribute condition { text }?# Conformance: Standards conformance characteristicsconformance.attrib = attribute conformance { xsd:NMTOKENS }?# OS: Operating system to which element applies; no defaultos.attrib = attribute os { text }?# Revision: Editorial revision to which element belongs; no defaultrevision.attrib = attribute revision { text }?# Security: Security classification; no defaultsecurity.attrib = attribute security { text }?# UserLevel: Level of user experience to which element applies; no# defaultuserlevel.attrib = attribute userlevel { text }?# Vendor: Computer vendor to which element applies; no defaultvendor.attrib = attribute vendor { text }?local.effectivity.attrib = emptyeffectivity.attrib = arch.attrib, condition.attrib, conformance.attrib, os.attrib, revision.attrib, security.attrib, userlevel.attrib, vendor.attrib, local.effectivity.attrib# Common attributes ....................................................# Id: Unique identifier of element; no defaultid.attrib = attribute id { xsd:ID }?# Id: Unique identifier of element; a value must be supplied; no# defaultidreq.attrib = attribute id { xsd:ID }# Lang: Indicator of language in which element is written, for# translation, character set management, etc.; no defaultlang.attrib = attribute lang { text }?# Remap: Previous role of element before conversion; no defaultremap.attrib = attribute remap { text }?# Role: New role of element in local environment; no defaultrole.attrib = attribute role { text }?# XRefLabel: Alternate labeling string for XRef text generation;# default is usually title or other appropriate label text already# contained in elementxreflabel.attrib = attribute xreflabel { text }?# RevisionFlag: Revision status of element; default is that element# wasn't revisedrevisionflag.attrib = attribute revisionflag { "changed" | "added" | "deleted" | "off" }?local.common.attrib = empty# Role is included explicitly on each elementcommon.attrib = id.attrib, lang.attrib, remap.attrib, xreflabel.attrib, revisionflag.attrib, effectivity.attrib, local.common.attrib# Role is included explicitly on each elementidreq.common.attrib = idreq.attrib, lang.attrib, remap.attrib, xreflabel.attrib, revisionflag.attrib, effectivity.attrib, local.common.attrib# Semi-common attributes and other attribute entities ..................local.graphics.attrib = empty# EntityRef: Name of an external entity containing the content# of the graphic# FileRef: Filename, qualified by a pathname if desired,# designating the file containing the content of the graphic# Format: Notation of the element content, if any# SrcCredit: Information about the source of the Graphic# Width: Same as CALS reprowid (desired width)# Depth: Same as CALS reprodep (desired depth)# Align: Same as CALS hplace with 'none' removed; #IMPLIED means# application-specific# Scale: Conflation of CALS hscale and vscale# Scalefit: Same as CALS scalefitgraphics.attrib = attribute entityref { xsd:ENTITY }?, attribute fileref { text }?, attribute format { notation.class }?, attribute srccredit { text }?, attribute width { text }?, attribute contentwidth { text }?, attribute depth { text }?, attribute contentdepth { text }?, attribute align { "left" | "right" | "center" }?, attribute valign { "top" | "middle" | "bottom" }?, attribute scale { text }?, attribute scalefit { yesorno.attvals }?, local.graphics.attriblocal.keyaction.attrib = empty# Action: Key combination type; default is unspecified if one# child element, Simul if there is more than one; if value is# Other, the OtherAction attribute must have a nonempty value# OtherAction: User-defined key combination typekeyaction.attrib = attribute action { "click" | "double-click" | "press" | "seq" | "simul" | "other" }?, attribute otheraction { text }?, local.keyaction.attrib# Label: Identifying number or string; default is usually the# appropriate number or string autogenerated by a formatterlabel.attrib = attribute label { text }?# Format: whether element is assumed to contain significant white# spacelinespecific.attrib = [ a:defaultValue = "linespecific" ] attribute format { "linespecific" }?, attribute linenumbering { "numbered" | "unnumbered" }?# Linkend: link to related information; no defaultlinkend.attrib = attribute linkend { xsd:IDREF }?# Linkend: required link to related informationlinkendreq.attrib = attribute linkend { xsd:IDREF }# Linkends: link to one or more sets of related information; no# defaultlinkends.attrib = attribute linkends { xsd:IDREFS }?local.mark.attrib = emptymark.attrib = attribute mark { text }?, local.mark.attrib# MoreInfo: whether element's content has an associated RefEntrymoreinfo.attrib = [ a:defaultValue = "none" ] attribute moreinfo { "refentry" | "none" }?# Pagenum: number of page on which element appears; no defaultpagenum.attrib = attribute pagenum { text }?local.status.attrib = empty# Status: Editorial or publication status of the element# it applies to, such as "in review" or "approved for distribution"status.attrib = attribute status { text }?, local.status.attrib# Width: width of the longest line in the element to which it# pertains, in number of characterswidth.attrib = attribute width { text }?# ......................................................................# Title elements .......................................................local.title.attrib = emptytitle.role.attrib = role.attribtitle = element title { title.attlist, title.char.mix* }# end of title.elementtitle.attlist &= pagenum.attrib, common.attrib, title.role.attrib, local.title.attrib# end of title.attlist# end of title.modulelocal.titleabbrev.attrib = emptytitleabbrev.role.attrib = role.attribtitleabbrev = element titleabbrev { titleabbrev.attlist, title.char.mix* }# end of titleabbrev.elementtitleabbrev.attlist &= common.attrib, titleabbrev.role.attrib, local.titleabbrev.attrib# end of titleabbrev.attlist# end of titleabbrev.modulelocal.subtitle.attrib = emptysubtitle.role.attrib = role.attribsubtitle = element subtitle { subtitle.attlist, title.char.mix* }# end of subtitle.elementsubtitle.attlist &= common.attrib, subtitle.role.attrib, local.subtitle.attrib# end of subtitle.attlist# end of subtitle.module# ......................................................................# Bibliographic entities and elements ..................................# The bibliographic elements are typically used in the document# hierarchy. They do not appear in content models of information# pool elements. See also the document information elements,# below.local.person.ident.mix = notAllowedperson.ident.mix = honorific | firstname | surname | lineage | othername | affiliation | authorblurb | contrib | local.person.ident.mixlocal.bibliocomponent.mix = notAllowedbibliocomponent.mix = abbrev | abstract | address | artpagenums | author | authorgroup | authorinitials | bibliomisc | biblioset | collab | confgroup | contractnum | contractsponsor | copyright | corpauthor | corpname | date | edition | editor | invpartnumber | isbn | issn | issuenum | orgname | biblioid | citebiblioid | bibliosource | bibliorelation | bibliocoverage | othercredit | pagenums | printhistory | productname | productnumber | pubdate | publisher | publishername | pubsnumber | releaseinfo | revhistory | seriesvolnums | subtitle | title | titleabbrev | volumenum | citetitle | personname | person.ident.mix | ndxterm.class | local.bibliocomponent.mix# I don't think this is well placed, but it needs to be here because of# the reference to bibliocomponent.mixlocal.info.class = notAllowedinfo.class = graphic | mediaobject | legalnotice | modespec | subjectset | keywordset | itermset | bibliocomponent.mix | local.info.classlocal.biblioentry.attrib = emptybiblioentry.role.attrib = role.attribbiblioentry = element biblioentry { biblioentry.attlist, (articleinfo | bibliocomponent.mix)+ }# end of biblioentry.elementbiblioentry.attlist &= common.attrib, biblioentry.role.attrib, local.biblioentry.attrib# end of biblioentry.attlist# end of biblioentry.modulelocal.bibliomixed.attrib = emptybibliomixed.role.attrib = role.attribbibliomixed = element bibliomixed { bibliomixed.attlist, (text | bibliocomponent.mix | bibliomset)* }# end of bibliomixed.elementbibliomixed.attlist &= common.attrib, bibliomixed.role.attrib, local.bibliomixed.attrib# end of bibliomixed.attlist# end of bibliomixed.modulelocal.articleinfo.attrib = emptyarticleinfo.role.attrib = role.attribarticleinfo = element articleinfo { articleinfo.attlist, info.class+ }# end of articleinfo.elementarticleinfo.attlist &= common.attrib, articleinfo.role.attrib, local.articleinfo.attrib# end of articleinfo.attlist# end of articleinfo.modulelocal.biblioset.attrib = emptybiblioset.role.attrib = role.attribbiblioset = element biblioset { biblioset.attlist, bibliocomponent.mix+ }# end of biblioset.element# Relation: Relationship of elements contained within BiblioSetbiblioset.attlist &= attribute relation { text }?, common.attrib, biblioset.role.attrib, local.biblioset.attrib# end of biblioset.attlist# end of biblioset.modulebibliomset.role.attrib = role.attriblocal.bibliomset.attrib = emptybibliomset = element bibliomset { bibliomset.attlist, (text | bibliocomponent.mix | bibliomset)* }# end of bibliomset.element# Relation: Relationship of elements contained within BiblioMSetbibliomset.attlist &= attribute relation { text }?, common.attrib, bibliomset.role.attrib, local.bibliomset.attrib# end of bibliomset.attlist# end of bibliomset.modulelocal.bibliomisc.attrib = emptybibliomisc.role.attrib = role.attribbibliomisc = element bibliomisc { bibliomisc.attlist, para.char.mix* }# end of bibliomisc.elementbibliomisc.attlist &= common.attrib, bibliomisc.role.attrib, local.bibliomisc.attrib# end of bibliomisc.attlist# end of bibliomisc.module# ......................................................................# Subject, Keyword, and ITermSet elements ..............................local.subjectset.attrib = emptysubjectset.role.attrib = role.attribsubjectset = element subjectset { subjectset.attlist, subject+ }# end of subjectset.element# Scheme: Controlled vocabulary employed in SubjectTermssubjectset.attlist &= attribute scheme { xsd:NMTOKEN }?, common.attrib, subjectset.role.attrib, local.subjectset.attrib# end of subjectset.attlist# end of subjectset.modulelocal.subject.attrib = emptysubject.role.attrib = role.attribsubject = element subject { subject.attlist, subjectterm+ }# end of subject.element# Weight: Ranking of this group of SubjectTerms relative# to others, 0 is low, no highest value specifiedsubject.attlist &= attribute weight { text }?, common.attrib, subject.role.attrib, local.subject.attrib# end of subject.attlist# end of subject.modulelocal.subjectterm.attrib = emptysubjectterm.role.attrib = role.attribsubjectterm = element subjectterm { subjectterm.attlist, text }# end of subjectterm.elementsubjectterm.attlist &= common.attrib, subjectterm.role.attrib, local.subjectterm.attrib# end of subjectterm.attlist# end of subjectterm.module# end of subjectset.content.modulelocal.keywordset.attrib = emptykeywordset.role.attrib = role.attribkeywordset = element keywordset { keywordset.attlist, keyword+ }# end of keywordset.elementkeywordset.attlist &= common.attrib, keywordset.role.attrib, local.keywordset.attrib# end of keywordset.attlist# end of keywordset.modulelocal.keyword.attrib = emptykeyword.role.attrib = role.attribkeyword = element keyword { keyword.attlist, text }# end of keyword.elementkeyword.attlist &= common.attrib, keyword.role.attrib, local.keyword.attrib# end of keyword.attlist# end of keyword.module# end of keywordset.content.modulelocal.itermset.attrib = emptyitermset.role.attrib = role.attribitermset = element itermset { itermset.attlist, indexterm+ }# end of itermset.elementitermset.attlist &= common.attrib, itermset.role.attrib, local.itermset.attrib# end of itermset.attlist# end of itermset.module# Bibliographic info for "blocks"local.blockinfo.attrib = emptyblockinfo.role.attrib = role.attribblockinfo = element blockinfo { blockinfo.attlist, info.class+ }# end of blockinfo.elementblockinfo.attlist &= common.attrib, blockinfo.role.attrib, local.blockinfo.attrib# end of blockinfo.attlist# end of blockinfo.module# ......................................................................# Compound (section-ish) elements ......................................# Message set ......................local.msgset.attrib = emptymsgset.role.attrib = role.attribmsgset = element msgset { msgset.attlist, blockinfo?, formalobject.title.content?, (msgentry+ | simplemsgentry+) }# end of msgset.elementmsgset.attlist &= common.attrib, msgset.role.attrib, local.msgset.attrib# end of msgset.attlist# end of msgset.modulelocal.msgentry.attrib = emptymsgentry.role.attrib = role.attribmsgentry = element msgentry { msgentry.attlist, msg+, msginfo?, msgexplan* }# end of msgentry.elementmsgentry.attlist &= common.attrib, msgentry.role.attrib, local.msgentry.attrib# end of msgentry.attlist# end of msgentry.modulelocal.simplemsgentry.attrib = emptysimplemsgentry.role.attrib = role.attribsimplemsgentry = element simplemsgentry { simplemsgentry.attlist, msgtext, msgexplan+ }# end of simplemsgentry.elementsimplemsgentry.attlist &= attribute audience { text }?, attribute level { text }?, attribute origin { text }?, common.attrib, simplemsgentry.role.attrib, local.simplemsgentry.attrib# end of simplemsgentry.attlist# end of simplemsgentry.modulelocal.msg.attrib = emptymsg.role.attrib = role.attribmsg = element msg { msg.attlist, title?, msgmain, (msgsub | msgrel)* }# end of msg.elementmsg.attlist &= common.attrib, msg.role.attrib, local.msg.attrib# end of msg.attlist# end of msg.modulelocal.msgmain.attrib = emptymsgmain.role.attrib = role.attribmsgmain = element msgmain { msgmain.attlist, title?, msgtext }# end of msgmain.elementmsgmain.attlist &= common.attrib, msgmain.role.attrib, local.msgmain.attrib# end of msgmain.attlist# end of msgmain.modulelocal.msgsub.attrib = emptymsgsub.role.attrib = role.attribmsgsub = element msgsub { msgsub.attlist, title?, msgtext }# end of msgsub.elementmsgsub.attlist &= common.attrib, msgsub.role.attrib, local.msgsub.attrib# end of msgsub.attlist# end of msgsub.modulelocal.msgrel.attrib = emptymsgrel.role.attrib = role.attribmsgrel = element msgrel { msgrel.attlist, title?, msgtext }# end of msgrel.elementmsgrel.attlist &= common.attrib, msgrel.role.attrib, local.msgrel.attrib# end of msgrel.attlist# end of msgrel.module# MsgText (defined in the Inlines section, below)local.msginfo.attrib = emptymsginfo.role.attrib = role.attribmsginfo = element msginfo { msginfo.attlist, (msglevel | msgorig | msgaud)* }# end of msginfo.elementmsginfo.attlist &= common.attrib, msginfo.role.attrib, local.msginfo.attrib# end of msginfo.attlist# end of msginfo.modulelocal.msglevel.attrib = emptymsglevel.role.attrib = role.attribmsglevel = element msglevel { msglevel.attlist, smallcptr.char.mix* }# end of msglevel.elementmsglevel.attlist &= common.attrib, msglevel.role.attrib, local.msglevel.attrib# end of msglevel.attlist# end of msglevel.modulelocal.msgorig.attrib = emptymsgorig.role.attrib = role.attribmsgorig = element msgorig { msgorig.attlist, smallcptr.char.mix* }# end of msgorig.elementmsgorig.attlist &= common.attrib, msgorig.role.attrib, local.msgorig.attrib# end of msgorig.attlist# end of msgorig.modulelocal.msgaud.attrib = emptymsgaud.role.attrib = role.attribmsgaud = element msgaud { msgaud.attlist, para.char.mix* }# end of msgaud.elementmsgaud.attlist &= common.attrib, msgaud.role.attrib, local.msgaud.attrib# end of msgaud.attlist# end of msgaud.modulelocal.msgexplan.attrib = emptymsgexplan.role.attrib = role.attribmsgexplan = element msgexplan { msgexplan.attlist, title?, component.mix+ }# end of msgexplan.elementmsgexplan.attlist &= common.attrib, msgexplan.role.attrib, local.msgexplan.attrib# end of msgexplan.attlist# end of msgexplan.module# end of msgset.content.module# QandASet ........................local.qandaset.attrib = emptyqandaset.role.attrib = role.attribqandaset = element qandaset { qandaset.attlist, blockinfo?, formalobject.title.content?, qandaset.mix*, (qandadiv+ | qandaentry+) }# end of qandaset.elementqandaset.attlist &= attribute defaultlabel { "qanda" | "number" | "none" }?, common.attrib, qandaset.role.attrib, local.qandaset.attrib# end of qandaset.attlist# end of qandaset.modulelocal.qandadiv.attrib = emptyqandadiv.role.attrib = role.attribqandadiv = element qandadiv { qandadiv.attlist, blockinfo?, formalobject.title.content?, qandaset.mix*, (qandadiv+ | qandaentry+) }# end of qandadiv.elementqandadiv.attlist &= common.attrib, qandadiv.role.attrib, local.qandadiv.attrib# end of qandadiv.attlist# end of qandadiv.modulelocal.qandaentry.attrib = emptyqandaentry.role.attrib = role.attribqandaentry = element qandaentry { qandaentry.attlist, blockinfo?, revhistory?, question, answer* }# end of qandaentry.elementqandaentry.attlist &= common.attrib, qandaentry.role.attrib, local.qandaentry.attrib# end of qandaentry.attlist# end of qandaentry.modulelocal.question.attrib = emptyquestion.role.attrib = role.attribquestion = element question { question.attlist, label?, qandaset.mix+ }# end of question.elementquestion.attlist &= common.attrib, question.role.attrib, local.question.attrib# end of question.attlist# end of question.modulelocal.answer.attrib = emptyanswer.role.attrib = role.attribanswer = element answer { answer.attlist, label?, qandaset.mix*, qandaentry* }# end of answer.elementanswer.attlist &= common.attrib, answer.role.attrib, local.answer.attrib# end of answer.attlist# end of answer.modulelocal.label.attrib = emptylabel.role.attrib = role.attriblabel = element label { label.attlist, word.char.mix* }# end of label.elementlabel.attlist &= common.attrib, label.role.attrib, local.label.attrib# end of label.attlist# end of label.module# end of qandaset.content.module# Procedure ........................local.procedure.attrib = emptyprocedure.role.attrib = role.attribprocedure = element procedure { procedure.attlist, blockinfo?, formalobject.title.content?, component.mix*, step+ }# end of procedure.elementprocedure.attlist &= common.attrib, procedure.role.attrib, local.procedure.attrib# end of procedure.attlist# end of procedure.modulelocal.step.attrib = emptystep.role.attrib = role.attribstep = element step { step.attlist, title?, ((component.mix+, (substeps, component.mix*)?) | (substeps, component.mix*)) }# end of step.element# Performance: Whether the Step must be performed# not #REQUIRED!step.attlist &= [ a:defaultValue = "required" ] attribute performance { "optional" | "required" }?, common.attrib, step.role.attrib, local.step.attrib# end of step.attlist# end of step.modulelocal.substeps.attrib = emptysubsteps.role.attrib = role.attribsubsteps = element substeps { substeps.attlist, step+ }# end of substeps.element# Performance: whether entire set of substeps must be performed# not #REQUIRED!substeps.attlist &= [ a:defaultValue = "required" ] attribute performance { "optional" | "required" }?, common.attrib, substeps.role.attrib, local.substeps.attrib# end of substeps.attlist# end of substeps.module# end of procedure.content.module# Sidebar ..........................local.sidebarinfo.attrib = emptysidebarinfo.role.attrib = role.attribsidebarinfo = element sidebarinfo { sidebarinfo.attlist, info.class+ }# end of sidebarinfo.elementsidebarinfo.attlist &= common.attrib, sidebarinfo.role.attrib, local.sidebarinfo.attrib# end of sidebarinfo.attlist# end of sidebarinfo.modulelocal.sidebar.attrib = emptysidebar.role.attrib = role.attribsidebar = element sidebar { sidebar.attlist, sidebarinfo?, formalobject.title.content?, sidebar.mix+ }# end of sidebar.elementsidebar.attlist &= common.attrib, sidebar.role.attrib, local.sidebar.attrib# end of sidebar.attlist# end of sidebar.module# end of sidebar.content.model# ......................................................................# Paragraph-related elements ...........................................local.abstract.attrib = emptyabstract.role.attrib = role.attribabstract = element abstract { abstract.attlist, title?, para.class+ }# end of abstract.elementabstract.attlist &= common.attrib, abstract.role.attrib, local.abstract.attrib# end of abstract.attlist# end of abstract.modulelocal.authorblurb.attrib = emptyauthorblurb.role.attrib = role.attribauthorblurb = element authorblurb { authorblurb.attlist, title?, para.class+ }# end of authorblurb.elementauthorblurb.attlist &= common.attrib, authorblurb.role.attrib, local.authorblurb.attrib# end of authorblurb.attlist# end of authorblurb.modulelocal.personblurb.attrib = emptypersonblurb.role.attrib = role.attribpersonblurb = element personblurb { personblurb.attlist, title?, para.class+ }# end of personblurb.elementpersonblurb.attlist &= common.attrib, personblurb.role.attrib, local.personblurb.attrib# end of personblurb.attlist# end of personblurb.modulelocal.blockquote.attrib = emptyblockquote.role.attrib = role.attribblockquote = element blockquote { blockquote.attlist, title?, attribution?, component.mix+ }# end of blockquote.elementblockquote.attlist &= common.attrib, blockquote.role.attrib, local.blockquote.attrib# end of blockquote.attlist# end of blockquote.modulelocal.attribution.attrib = emptyattribution.role.attrib = role.attribattribution = element attribution { attribution.attlist, para.char.mix* }# end of attribution.elementattribution.attlist &= common.attrib, attribution.role.attrib, local.attribution.attrib# end of attribution.attlist# end of attribution.modulelocal.bridgehead.attrib = emptybridgehead.role.attrib = role.attribbridgehead = element bridgehead { bridgehead.attlist, title.char.mix* }# end of bridgehead.element# Renderas: Indicates the format in which the BridgeHead# should appearbridgehead.attlist &= attribute renderas { "other" | "sect1" | "sect2" | "sect3" | "sect4" | "sect5" }?, common.attrib, bridgehead.role.attrib, local.bridgehead.attrib# end of bridgehead.attlist# end of bridgehead.modulelocal.remark.attrib = emptyremark.role.attrib = role.attribremark = element remark { remark.attlist, para.char.mix* }# end of remark.elementremark.attlist &= common.attrib, remark.role.attrib, local.remark.attrib# end of remark.attlist# end of remark.modulelocal.epigraph.attrib = emptyepigraph.role.attrib = role.attribepigraph = element epigraph { epigraph.attlist, attribution?, (para.class | literallayout)+ }# end of epigraph.elementepigraph.attlist &= common.attrib, epigraph.role.attrib, local.epigraph.attrib# end of epigraph.attlist# Attribution (defined above)# end of epigraph.modulelocal.footnote.attrib = emptyfootnote.role.attrib = role.attribfootnote = element footnote { footnote.attlist, footnote.mix+ }# end of footnote.elementfootnote.attlist &= label.attrib, common.attrib, footnote.role.attrib, local.footnote.attrib# end of footnote.attlist# end of footnote.modulelocal.highlights.attrib = emptyhighlights.role.attrib = role.attribhighlights = element highlights { highlights.attlist, highlights.mix+ }# end of highlights.elementhighlights.attlist &= common.attrib, highlights.role.attrib, local.highlights.attrib# end of highlights.attlist# end of highlights.modulelocal.formalpara.attrib = emptyformalpara.role.attrib = role.attribformalpara = element formalpara { formalpara.attlist, title, ndxterm.class*, para }# end of formalpara.elementformalpara.attlist &= common.attrib, formalpara.role.attrib, local.formalpara.attrib# end of formalpara.attlist# end of formalpara.modulelocal.para.attrib = emptypara.role.attrib = role.attribpara = element para { para.attlist, (para.char.mix | para.mix)* }# end of para.elementpara.attlist &= common.attrib, para.role.attrib, local.para.attrib# end of para.attlist# end of para.modulelocal.simpara.attrib = emptysimpara.role.attrib = role.attribsimpara = element simpara { simpara.attlist, para.char.mix* }# end of simpara.elementsimpara.attlist &= common.attrib, simpara.role.attrib, local.simpara.attrib# end of simpara.attlist# end of simpara.modulelocal.admon.attrib = emptyadmon.role.attrib = role.attribcaution = element caution { caution.attlist, title?, admon.mix+ }# end of caution.elementcaution.attlist &= common.attrib, admon.role.attrib, local.admon.attrib# end of caution.attlistimportant = element important { important.attlist, title?, admon.mix+ }# end of important.elementimportant.attlist &= common.attrib, admon.role.attrib, local.admon.attrib# end of important.attlistnote = element note { note.attlist, title?, admon.mix+ }# end of note.elementnote.attlist &= common.attrib, admon.role.attrib, local.admon.attrib# end of note.attlisttip = element tip { tip.attlist, title?, admon.mix+ }# end of tip.elementtip.attlist &= common.attrib, admon.role.attrib, local.admon.attrib# end of tip.attlistwarning = element warning { warning.attlist, title?, admon.mix+ }# end of warning.elementwarning.attlist &= common.attrib, admon.role.attrib, local.admon.attrib# end of warning.attlist# end of admon.module# ......................................................................# Lists ................................................................# GlossList ........................local.glosslist.attrib = emptyglosslist.role.attrib = role.attribglosslist = element glosslist { glosslist.attlist, glossentry+ }# end of glosslist.elementglosslist.attlist &= common.attrib, glosslist.role.attrib, local.glosslist.attrib# end of glosslist.attlist# end of glosslist.modulelocal.glossentry.attrib = emptyglossentry.role.attrib = role.attribglossentry = element glossentry { glossentry.attlist, glossterm, acronym?, abbrev?, ndxterm.class*, revhistory?, (glosssee | glossdef+) }# end of glossentry.element# SortAs: String by which the GlossEntry is to be sorted# (alphabetized) in lieu of its proper contentglossentry.attlist &= attribute sortas { text }?, common.attrib, glossentry.role.attrib, local.glossentry.attrib# end of glossentry.attlist# end of glossentry.module# GlossTerm (defined in the Inlines section, below)local.glossdef.attrib = emptyglossdef.role.attrib = role.attribglossdef = element glossdef { glossdef.attlist, glossdef.mix+, glossseealso* }# end of glossdef.element# Subject: List of subjects; keywords for the definitionglossdef.attlist &= attribute subject { text }?, common.attrib, glossdef.role.attrib, local.glossdef.attrib# end of glossdef.attlist# end of glossdef.modulelocal.glosssee.attrib = emptyglosssee.role.attrib = role.attribglosssee = element glosssee { glosssee.attlist, para.char.mix* }# end of glosssee.element# OtherTerm: Reference to the GlossEntry whose GlossTerm# should be displayed at the point of the GlossSeeglosssee.attlist &= attribute otherterm { xsd:IDREF }?, common.attrib, glosssee.role.attrib, local.glosssee.attrib# end of glosssee.attlist# end of glosssee.modulelocal.glossseealso.attrib = emptyglossseealso.role.attrib = role.attribglossseealso = element glossseealso { glossseealso.attlist, para.char.mix* }# end of glossseealso.element# OtherTerm: Reference to the GlossEntry whose GlossTerm# should be displayed at the point of the GlossSeeAlsoglossseealso.attlist &= attribute otherterm { xsd:IDREF }?, common.attrib, glossseealso.role.attrib, local.glossseealso.attrib# end of glossseealso.attlist# end of glossseealso.module# end of glossentry.content.module# ItemizedList and OrderedList .....local.itemizedlist.attrib = emptyitemizedlist.role.attrib = role.attribitemizedlist = element itemizedlist { itemizedlist.attlist, blockinfo?, formalobject.title.content?, listpreamble.mix*, listitem+ }# end of itemizedlist.element# Spacing: Whether the vertical space in the list should be# compressed# Mark: Keyword, e.g., bullet, dash, checkbox, none;# list of keywords and defaults are implementation specificitemizedlist.attlist &= attribute spacing { "normal" | "compact" }?, mark.attrib, common.attrib, itemizedlist.role.attrib, local.itemizedlist.attrib# end of itemizedlist.attlist# end of itemizedlist.modulelocal.orderedlist.attrib = emptyorderedlist.role.attrib = role.attriborderedlist = element orderedlist { orderedlist.attlist, blockinfo?, formalobject.title.content?, listpreamble.mix*, listitem+ }# end of orderedlist.element# Numeration: Style of ListItem numbered; default is expected# to be Arabic# InheritNum: Specifies for a nested list that the numbering# of ListItems should include the number of the item# within which they are nested (e.g., 1a and 1b within 1,# rather than a and b)# Continuation: Where list numbering begins afresh (Restarts,# the default) or continues that of the immediately preceding# list (Continues)# Spacing: Whether the vertical space in the list should be# compressedorderedlist.attlist &= attribute numeration { "arabic" | "upperalpha" | "loweralpha" | "upperroman" | "lowerroman" }?, [ a:defaultValue = "ignore" ] attribute inheritnum { "inherit" | "ignore" }?, [ a:defaultValue = "restarts" ] attribute continuation { "continues" | "restarts" }?, attribute spacing { "normal" | "compact" }?, common.attrib, orderedlist.role.attrib, local.orderedlist.attrib# end of orderedlist.attlist# end of orderedlist.modulelocal.listitem.attrib = emptylistitem.role.attrib = role.attriblistitem = element listitem { listitem.attlist, component.mix+ }# end of listitem.element# Override: Indicates the mark to be used for this ListItem# instead of the default mark or the mark specified by# the Mark attribute on the enclosing ItemizedListlistitem.attlist &= attribute override { text }?, common.attrib, listitem.role.attrib, local.listitem.attrib# end of listitem.attlist# end of listitem.module# SegmentedList ....................local.segmentedlist.attrib = emptysegmentedlist.role.attrib = role.attribsegmentedlist = element segmentedlist { segmentedlist.attlist, formalobject.title.content?, segtitle+, seglistitem+ }# end of segmentedlist.elementsegmentedlist.attlist &= common.attrib, segmentedlist.role.attrib, local.segmentedlist.attrib# end of segmentedlist.attlist# end of segmentedlist.modulelocal.segtitle.attrib = emptysegtitle.role.attrib = role.attribsegtitle = element segtitle { segtitle.attlist, title.char.mix* }# end of segtitle.elementsegtitle.attlist &= common.attrib, segtitle.role.attrib, local.segtitle.attrib# end of segtitle.attlist# end of segtitle.modulelocal.seglistitem.attrib = emptyseglistitem.role.attrib = role.attribseglistitem = element seglistitem { seglistitem.attlist, seg+ }# end of seglistitem.elementseglistitem.attlist &= common.attrib, seglistitem.role.attrib, local.seglistitem.attrib# end of seglistitem.attlist# end of seglistitem.modulelocal.seg.attrib = emptyseg.role.attrib = role.attribseg = element seg { seg.attlist, para.char.mix* }# end of seg.elementseg.attlist &= common.attrib, seg.role.attrib, local.seg.attrib# end of seg.attlist# end of seg.module# end of segmentedlist.content.module# SimpleList .......................local.simplelist.attrib = emptysimplelist.role.attrib = role.attribsimplelist = element simplelist { simplelist.attlist, member+ }# end of simplelist.element# Columns: The number of columns the array should contain# Type: How the Members of the SimpleList should be# formatted: Inline (members separated with commas etc.# inline), Vert (top to bottom in n Columns), or Horiz (in# the direction of text flow) in n Columns. If Column# is 1 or implied, Type=Vert and Type=Horiz give the same# results.simplelist.attlist &= attribute columns { text }?, [ a:defaultValue = "vert" ] attribute type { "inline" | "vert" | "horiz" }?, common.attrib, simplelist.role.attrib, local.simplelist.attrib# end of simplelist.attlist# end of simplelist.modulelocal.member.attrib = emptymember.role.attrib = role.attribmember = element member { member.attlist, para.char.mix* }# end of member.elementmember.attlist &= common.attrib, member.role.attrib, local.member.attrib# end of member.attlist# end of member.module# end of simplelist.content.module# VariableList .....................local.variablelist.attrib = emptyvariablelist.role.attrib = role.attribvariablelist = element variablelist { variablelist.attlist, blockinfo?, formalobject.title.content?, listpreamble.mix*, varlistentry+ }# end of variablelist.element# TermLength: Length beyond which the presentation engine# may consider the Term too long and select an alternate# presentation of the Term and, or, its associated ListItem.variablelist.attlist &= attribute termlength { text }?, common.attrib, variablelist.role.attrib, local.variablelist.attrib# end of variablelist.attlist# end of variablelist.modulelocal.varlistentry.attrib = emptyvarlistentry.role.attrib = role.attribvarlistentry = element varlistentry { varlistentry.attlist, term+, listitem }# end of varlistentry.elementvarlistentry.attlist &= common.attrib, varlistentry.role.attrib, local.varlistentry.attrib# end of varlistentry.attlist# end of varlistentry.modulelocal.term.attrib = emptyterm.role.attrib = role.attribterm = element term { term.attlist, para.char.mix* }# end of term.elementterm.attlist &= common.attrib, term.role.attrib, local.term.attrib# end of term.attlist# end of term.module# ListItem (defined above)# end of variablelist.content.module# CalloutList ......................local.calloutlist.attrib = emptycalloutlist.role.attrib = role.attribcalloutlist = element calloutlist { calloutlist.attlist, formalobject.title.content?, callout+ }# end of calloutlist.elementcalloutlist.attlist &= common.attrib, calloutlist.role.attrib, local.calloutlist.attrib# end of calloutlist.attlist# end of calloutlist.modulelocal.callout.attrib = emptycallout.role.attrib = role.attribcallout = element callout { callout.attlist, component.mix+ }# end of callout.element# AreaRefs: IDs of one or more Areas or AreaSets described# by this Calloutcallout.attlist &= attribute arearefs { xsd:IDREFS }, common.attrib, callout.role.attrib, local.callout.attrib# end of callout.attlist# end of callout.module# end of calloutlist.content.module# ......................................................................# Objects ..............................................................# Examples etc. ....................local.example.attrib = emptyexample.role.attrib = role.attribexample = element example { example.attlist, blockinfo?, formalobject.title.content, example.mix+ }# end of example.elementexample.attlist &= label.attrib, width.attrib, common.attrib, example.role.attrib, local.example.attrib# end of example.attlist# end of example.modulelocal.informalexample.attrib = emptyinformalexample.role.attrib = role.attribinformalexample = element informalexample { informalexample.attlist, blockinfo?, example.mix+ }# end of informalexample.elementinformalexample.attlist &= width.attrib, common.attrib, informalexample.role.attrib, local.informalexample.attrib# end of informalexample.attlist# end of informalexample.modulelocal.programlistingco.attrib = emptyprogramlistingco.role.attrib = role.attribprogramlistingco = element programlistingco { programlistingco.attlist, areaspec, programlisting, calloutlist* }# end of programlistingco.elementprogramlistingco.attlist &= common.attrib, programlistingco.role.attrib, local.programlistingco.attrib# end of programlistingco.attlist# CalloutList (defined above in Lists)# end of informalexample.modulelocal.areaspec.attrib = emptyareaspec.role.attrib = role.attribareaspec = element areaspec { areaspec.attlist, (area | areaset)+ }# end of areaspec.element# Units: global unit of measure in which coordinates in# this spec are expressed:# # - CALSPair "x1,y1 x2,y2": lower-left and upper-right# coordinates in a rectangle describing repro area in which# graphic is placed, where X and Y dimensions are each some# number 0..10000 (taken from CALS graphic attributes)# # - LineColumn "line column": line number and column number# at which to start callout text in "linespecific" content# # - LineRange "startline endline": whole lines from startline# to endline in "linespecific" content# # - LineColumnPair "line1 col1 line2 col2": starting and ending# points of area in "linespecific" content that starts at# first position and ends at second position (including the# beginnings of any intervening lines)# # - Other: directive to look at value of OtherUnits attribute# to get implementation-specific keyword# # The default is implementation-specific; usually dependent on# the parent element (GraphicCO gets CALSPair, ProgramListingCO# and ScreenCO get LineColumn)# OtherUnits: User-defined unitsareaspec.attlist &= attribute units { "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other" }?, attribute otherunits { xsd:NMTOKEN }?, common.attrib, areaspec.role.attrib, local.areaspec.attrib# end of areaspec.attlist# end of areaspec.modulelocal.area.attrib = emptyarea.role.attrib = role.attribarea = element area { area.attlist, empty }# end of area.element# bug number/symbol override or initialization# to any related information# Units: unit of measure in which coordinates in this# area are expressed; inherits from AreaSet and AreaSpec# OtherUnits: User-defined unitsarea.attlist &= label.attrib, linkends.attrib, attribute units { "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other" }?, attribute otherunits { xsd:NMTOKEN }?, attribute coords { text }, idreq.common.attrib, area.role.attrib, local.area.attrib# end of area.attlist# end of area.modulelocal.areaset.attrib = emptyareaset.role.attrib = role.attribareaset = element areaset { areaset.attlist, area+ }# end of areaset.element# bug number/symbol override or initialization# Units: unit of measure in which coordinates in this# area are expressed; inherits from AreaSpecareaset.attlist &= label.attrib, attribute units { "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other" }?, attribute otherunits { xsd:NMTOKEN }?, attribute coords { text }, idreq.common.attrib, areaset.role.attrib, local.areaset.attrib# end of areaset.attlist# end of areaset.module# end of areaspec.content.modulelocal.programlisting.attrib = emptyprogramlisting.role.attrib = role.attribprogramlisting = element programlisting { programlisting.attlist, (para.char.mix | co | coref | lineannotation | textobject)* }# end of programlisting.elementprogramlisting.attlist &= width.attrib, linespecific.attrib, common.attrib, programlisting.role.attrib, local.programlisting.attrib# end of programlisting.attlist# end of programlisting.modulelocal.literallayout.attrib = emptyliterallayout.role.attrib = role.attribliterallayout = element literallayout { literallayout.attlist, (para.char.mix | co | coref | textobject | lineannotation)* }# end of literallayout.elementliterallayout.attlist &= width.attrib, linespecific.attrib, [ a:defaultValue = "normal" ] attribute class { "monospaced" | "normal" }?, common.attrib, literallayout.role.attrib, local.literallayout.attrib# end of literallayout.attlist# LineAnnotation (defined in the Inlines section, below)# end of literallayout.modulelocal.screenco.attrib = emptyscreenco.role.attrib = role.attribscreenco = element screenco { screenco.attlist, areaspec, screen, calloutlist* }# end of screenco.elementscreenco.attlist &= common.attrib, screenco.role.attrib, local.screenco.attrib# end of screenco.attlist# AreaSpec (defined above)# CalloutList (defined above in Lists)# end of screenco.modulelocal.screen.attrib = emptyscreen.role.attrib = role.attribscreen = element screen { screen.attlist, (para.char.mix | co | coref | textobject | lineannotation)* }# end of screen.elementscreen.attlist &= width.attrib, linespecific.attrib, common.attrib, screen.role.attrib, local.screen.attrib# end of screen.attlist# end of screen.modulelocal.screenshot.attrib = emptyscreenshot.role.attrib = role.attribscreenshot = element screenshot { screenshot.attlist, screeninfo?, (graphic | graphicco | mediaobject | mediaobjectco) }# end of screenshot.elementscreenshot.attlist &= common.attrib, screenshot.role.attrib, local.screenshot.attrib# end of screenshot.attlist# end of screenshot.modulelocal.screeninfo.attrib = emptyscreeninfo.role.attrib = role.attribscreeninfo = element screeninfo { screeninfo.attlist, para.char.mix* }# end of screeninfo.elementscreeninfo.attlist &= common.attrib, screeninfo.role.attrib, local.screeninfo.attrib# end of screeninfo.attlist# end of screeninfo.module# end of screenshot.content.module# Figures etc. .....................local.figure.attrib = emptyfigure.role.attrib = role.attribfigure = element figure { figure.attlist, blockinfo?, formalobject.title.content, (figure.mix | link.char.class)+ }# end of figure.element# Float: Whether the Figure is supposed to be rendered# where convenient (yes (1) value) or at the place it occurs# in the text (no (0) value, the default)figure.attlist &= [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?, attribute pgwide { yesorno.attvals }?, label.attrib, common.attrib, figure.role.attrib, local.figure.attrib# end of figure.attlist# end of figure.modulelocal.informalfigure.attrib = emptyinformalfigure.role.attrib = role.attribinformalfigure = element informalfigure { informalfigure.attlist, blockinfo?, (figure.mix | link.char.class)+ }# end of informalfigure.element# Float: Whether the Figure is supposed to be rendered# where convenient (yes (1) value) or at the place it occurs# in the text (no (0) value, the default)informalfigure.attlist &= [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?, attribute pgwide { yesorno.attvals }?, label.attrib, common.attrib, informalfigure.role.attrib, local.informalfigure.attrib# end of informalfigure.attlist# end of informalfigure.modulelocal.graphicco.attrib = emptygraphicco.role.attrib = role.attribgraphicco = element graphicco { graphicco.attlist, areaspec, graphic, calloutlist* }# end of graphicco.elementgraphicco.attlist &= common.attrib, graphicco.role.attrib, local.graphicco.attrib# end of graphicco.attlist# AreaSpec (defined above in Examples)# CalloutList (defined above in Lists)# end of graphicco.module# Graphical data can be the content of Graphic, or you can reference# an external file either as an entity (Entitref) or a filename# (Fileref).local.graphic.attrib = emptygraphic.role.attrib = role.attribgraphic = element graphic { graphic.attlist, empty }# end of graphic.elementgraphic.attlist &= graphics.attrib, common.attrib, graphic.role.attrib, local.graphic.attrib# end of graphic.attlist# end of graphic.modulelocal.inlinegraphic.attrib = emptyinlinegraphic.role.attrib = role.attribinlinegraphic = element inlinegraphic { inlinegraphic.attlist, empty }# end of inlinegraphic.elementinlinegraphic.attlist &= graphics.attrib, common.attrib, inlinegraphic.role.attrib, local.inlinegraphic.attrib# end of inlinegraphic.attlist# end of inlinegraphic.modulelocal.mediaobject.attrib = emptymediaobject.role.attrib = role.attribmediaobject = element mediaobject { mediaobject.attlist, objectinfo?, mediaobject.mix+, caption? }# end of mediaobject.elementmediaobject.attlist &= common.attrib, mediaobject.role.attrib, local.mediaobject.attrib# end of mediaobject.attlist# end of mediaobject.modulelocal.inlinemediaobject.attrib = emptyinlinemediaobject.role.attrib = role.attribinlinemediaobject = element inlinemediaobject { inlinemediaobject.attlist, objectinfo?, mediaobject.mix+ }# end of inlinemediaobject.elementinlinemediaobject.attlist &= common.attrib, inlinemediaobject.role.attrib, local.inlinemediaobject.attrib# end of inlinemediaobject.attlist# end of inlinemediaobject.modulelocal.videoobject.attrib = emptyvideoobject.role.attrib = role.attribvideoobject = element videoobject { videoobject.attlist, objectinfo?, videodata }# end of videoobject.elementvideoobject.attlist &= common.attrib, videoobject.role.attrib, local.videoobject.attrib# end of videoobject.attlist# end of videoobject.modulelocal.audioobject.attrib = emptyaudioobject.role.attrib = role.attribaudioobject = element audioobject { audioobject.attlist, objectinfo?, audiodata }# end of audioobject.elementaudioobject.attlist &= common.attrib, audioobject.role.attrib, local.audioobject.attrib# end of audioobject.attlist# end of audioobject.modulelocal.imageobject.attrib = emptyimageobject.role.attrib = role.attribimageobject = element imageobject { imageobject.attlist, objectinfo?, imagedata }# end of imageobject.elementimageobject.attlist &= common.attrib, imageobject.role.attrib, local.imageobject.attrib# end of imageobject.attlist# end of imageobject.modulelocal.textobject.attrib = emptytextobject.role.attrib = role.attribtextobject = element textobject { textobject.attlist, objectinfo?, (phrase | textdata | textobject.mix+) }# end of textobject.elementtextobject.attlist &= common.attrib, textobject.role.attrib, local.textobject.attrib# end of textobject.attlist# end of textobject.modulelocal.objectinfo.attrib = emptyobjectinfo.role.attrib = role.attribobjectinfo = element objectinfo { objectinfo.attlist, info.class+ }# end of objectinfo.elementobjectinfo.attlist &= common.attrib, objectinfo.role.attrib, local.objectinfo.attrib# end of objectinfo.attlist# end of objectinfo.module# EntityRef: Name of an external entity containing the content# of the object data# FileRef: Filename, qualified by a pathname if desired,# designating the file containing the content of the object data# Format: Notation of the element content, if any# SrcCredit: Information about the source of the imagelocal.objectdata.attrib = emptyobjectdata.attrib = attribute entityref { xsd:ENTITY }?, attribute fileref { text }?, attribute format { notation.class }?, attribute srccredit { text }?, local.objectdata.attriblocal.videodata.attrib = emptyvideodata.role.attrib = role.attribvideodata = element videodata { videodata.attlist, empty }# end of videodata.element# Width: Same as CALS reprowid (desired width)# Depth: Same as CALS reprodep (desired depth)# Align: Same as CALS hplace with 'none' removed; #IMPLIED means# application-specific# Scale: Conflation of CALS hscale and vscale# Scalefit: Same as CALS scalefitvideodata.attlist &= attribute width { text }?, attribute contentwidth { text }?, attribute depth { text }?, attribute contentdepth { text }?, attribute align { "left" | "right" | "center" }?, attribute valign { "top" | "middle" | "bottom" }?, attribute scale { text }?, attribute scalefit { yesorno.attvals }?, objectdata.attrib, common.attrib, videodata.role.attrib, local.videodata.attrib# end of videodata.attlist# end of videodata.modulelocal.audiodata.attrib = emptyaudiodata.role.attrib = role.attribaudiodata = element audiodata { audiodata.attlist, empty }# end of audiodata.elementaudiodata.attlist &= objectdata.attrib, common.attrib, audiodata.role.attrib, local.audiodata.attrib# end of audiodata.attlist# end of audiodata.modulelocal.imagedata.attrib = emptyimagedata.role.attrib = role.attribimagedata = element imagedata { imagedata.attlist, empty }# end of imagedata.element# Width: Same as CALS reprowid (desired width)# Depth: Same as CALS reprodep (desired depth)# Align: Same as CALS hplace with 'none' removed; #IMPLIED means# application-specific# Scale: Conflation of CALS hscale and vscale# Scalefit: Same as CALS scalefitimagedata.attlist &= attribute width { text }?, attribute contentwidth { text }?, attribute depth { text }?, attribute contentdepth { text }?, attribute align { "left" | "right" | "center" }?, attribute valign { "top" | "middle" | "bottom" }?, attribute scale { text }?, attribute scalefit { yesorno.attvals }?, objectdata.attrib, common.attrib, imagedata.role.attrib, local.imagedata.attrib# end of imagedata.attlist# end of imagedata.modulelocal.textdata.attrib = emptytextdata.role.attrib = role.attribtextdata = element textdata { textdata.attlist, empty }# end of textdata.elementtextdata.attlist &= attribute encoding { text }?, objectdata.attrib, common.attrib, textdata.role.attrib, local.textdata.attrib# end of textdata.attlist# end of textdata.modulelocal.caption.attrib = emptycaption.role.attrib = role.attribcaption = element caption { caption.attlist, textobject.mix* }# end of caption.elementcaption.attlist &= common.attrib, caption.role.attrib, local.caption.attrib# end of caption.attlist# end of caption.modulelocal.mediaobjectco.attrib = emptymediaobjectco.role.attrib = role.attribmediaobjectco = element mediaobjectco { mediaobjectco.attlist, objectinfo?, imageobjectco, (imageobjectco | textobject)* }# end of mediaobjectco.elementmediaobjectco.attlist &= common.attrib, mediaobjectco.role.attrib, local.mediaobjectco.attrib# end of mediaobjectco.attlist# end of mediaobjectco.modulelocal.imageobjectco.attrib = emptyimageobjectco.role.attrib = role.attribimageobjectco = element imageobjectco { imageobjectco.attlist, areaspec, imageobject, calloutlist* }# end of imageobjectco.elementimageobjectco.attlist &= common.attrib, imageobjectco.role.attrib, local.imageobjectco.attrib# end of imageobjectco.attlist# end of imageobjectco.module# end of mediaobject.content.module# Equations ........................# This PE provides a mechanism for replacing equation content,# perhaps adding a new or different model (e.g., MathML)equation.content = alt?, (graphic+ | mediaobject+)inlineequation.content = alt?, (graphic+ | inlinemediaobject+)local.equation.attrib = emptyequation.role.attrib = role.attribequation = element equation { equation.attlist, blockinfo?, formalobject.title.content?, (informalequation | equation.content) }# end of equation.elementequation.attlist &= label.attrib, common.attrib, equation.role.attrib, local.equation.attrib# end of equation.attlist# end of equation.modulelocal.informalequation.attrib = emptyinformalequation.role.attrib = role.attribinformalequation = element informalequation { informalequation.attlist, blockinfo?, equation.content }# end of informalequation.elementinformalequation.attlist &= common.attrib, informalequation.role.attrib, local.informalequation.attrib# end of informalequation.attlist# end of informalequation.modulelocal.inlineequation.attrib = emptyinlineequation.role.attrib = role.attribinlineequation = element inlineequation { inlineequation.attlist, inlineequation.content }# end of inlineequation.elementinlineequation.attlist &= common.attrib, inlineequation.role.attrib, local.inlineequation.attrib# end of inlineequation.attlist# end of inlineequation.modulelocal.alt.attrib = emptyalt.role.attrib = role.attribalt = element alt { alt.attlist, text }# end of alt.elementalt.attlist &= common.attrib, alt.role.attrib, local.alt.attrib# end of alt.attlist# end of alt.module# Tables ...........................tables.role.attrib = role.attrib# Note that InformalTable is dependent on some of the entity# declarations that customize Table.local.informaltable.attrib = emptyinformaltable = element informaltable { informaltable.attlist, blockinfo?, textobject*, (graphic+ | mediaobject+ | tgroup+) }# end of informaltable.element# Frame, Colsep, and Rowsep must be repeated because# they are not in entities in the table module.# includes TabStyle, ToCentry, ShortEntry,# Orient, PgWide# includes Label# includes common attributesinformaltable.attlist &= attribute frame { "top" | "bottom" | "topbot" | "all" | "sides" | "none" }?, attribute colsep { yesorno.attvals }?, attribute rowsep { yesorno.attvals }?, common.table.attribs, tbl.table.att, local.informaltable.attrib# end of informaltable.attlist# end of informaltable.module# ......................................................................# Synopses .............................................................# Synopsis .........................local.synopsis.attrib = emptysynopsis.role.attrib = role.attribsynopsis = element synopsis { synopsis.attlist, (para.char.mix | graphic | mediaobject | co | coref | textobject | lineannotation)* }# end of synopsis.elementsynopsis.attlist &= label.attrib, linespecific.attrib, common.attrib, synopsis.role.attrib, local.synopsis.attrib# end of synopsis.attlist# LineAnnotation (defined in the Inlines section, below)# end of synopsis.module# CmdSynopsis ......................local.cmdsynopsis.attrib = emptycmdsynopsis.role.attrib = role.attribcmdsynopsis = element cmdsynopsis { cmdsynopsis.attlist, (command | arg | group | sbr)+, synopfragment* }# end of cmdsynopsis.element# Sepchar: Character that should separate command and all# top-level arguments; alternate value might be e.g., Δcmdsynopsis.attlist &= label.attrib, [ a:defaultValue = " " ] attribute sepchar { text }?, attribute cmdlength { text }?, common.attrib, cmdsynopsis.role.attrib, local.cmdsynopsis.attrib# end of cmdsynopsis.attlist# end of cmdsynopsis.modulelocal.arg.attrib = emptyarg.role.attrib = role.attribarg = element arg { arg.attlist, (text | arg | group | option | synopfragmentref | replaceable | sbr)* }# end of arg.element# Choice: Whether Arg must be supplied: Opt (optional to# supply, e.g. [arg]; the default), Req (required to supply,# e.g. {arg}), or Plain (required to supply, e.g. arg)# Rep: whether Arg is repeatable: Norepeat (e.g. arg without# ellipsis; the default), or Repeat (e.g. arg...)arg.attlist &= [ a:defaultValue = "opt" ] attribute choice { "opt" | "req" | "plain" }?, [ a:defaultValue = "norepeat" ] attribute rep { "norepeat" | "repeat" }?, common.attrib, arg.role.attrib, local.arg.attrib# end of arg.attlist# end of arg.modulelocal.group.attrib = emptygroup.role.attrib = role.attribgroup = element group { group.attlist, (arg | group | option | synopfragmentref | replaceable | sbr)+ }# end of group.element# Choice: Whether Group must be supplied: Opt (optional to# supply, e.g. [g1|g2|g3]; the default), Req (required to# supply, e.g. {g1|g2|g3}), Plain (required to supply,# e.g. g1|g2|g3), OptMult (can supply zero or more, e.g.# [[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.# {{g1|g2|g3}})# Rep: whether Group is repeatable: Norepeat (e.g. group# without ellipsis; the default), or Repeat (e.g. group...)group.attlist &= [ a:defaultValue = "opt" ] attribute choice { "opt" | "req" | "plain" }?, [ a:defaultValue = "norepeat" ] attribute rep { "norepeat" | "repeat" }?, common.attrib, group.role.attrib, local.group.attrib# end of group.attlist# end of group.modulelocal.sbr.attrib = empty# Synopsis breaksbr.role.attrib = role.attribsbr = element sbr { sbr.attlist, empty }# end of sbr.elementsbr.attlist &= common.attrib, sbr.role.attrib, local.sbr.attrib# end of sbr.attlist# end of sbr.modulelocal.synopfragmentref.attrib = emptysynopfragmentref.role.attrib = role.attribsynopfragmentref = element synopfragmentref { synopfragmentref.attlist, text }# end of synopfragmentref.element# to SynopFragment of complex synopsis# material for separate referencingsynopfragmentref.attlist &= linkendreq.attrib, common.attrib, synopfragmentref.role.attrib, local.synopfragmentref.attrib# end of synopfragmentref.attlist# end of synopfragmentref.modulelocal.synopfragment.attrib = emptysynopfragment.role.attrib = role.attribsynopfragment = element synopfragment { synopfragment.attlist, (arg | group)+ }# end of synopfragment.elementsynopfragment.attlist &= idreq.common.attrib, synopfragment.role.attrib, local.synopfragment.attrib# end of synopfragment.attlist# end of synopfragment.module# Command (defined in the Inlines section, below)# Option (defined in the Inlines section, below)# Replaceable (defined in the Inlines section, below)# end of cmdsynopsis.content.module# FuncSynopsis .....................local.funcsynopsis.attrib = emptyfuncsynopsis.role.attrib = role.attribfuncsynopsis = element funcsynopsis { funcsynopsis.attlist, (funcsynopsisinfo | funcprototype)+ }# end of funcsynopsis.elementfuncsynopsis.attlist &= label.attrib, common.attrib, funcsynopsis.role.attrib, local.funcsynopsis.attrib# end of funcsynopsis.attlist# end of funcsynopsis.modulelocal.funcsynopsisinfo.attrib = emptyfuncsynopsisinfo.role.attrib = role.attribfuncsynopsisinfo = element funcsynopsisinfo { funcsynopsisinfo.attlist, (cptr.char.mix | textobject | lineannotation)* }# end of funcsynopsisinfo.elementfuncsynopsisinfo.attlist &= linespecific.attrib, common.attrib, funcsynopsisinfo.role.attrib, local.funcsynopsisinfo.attrib# end of funcsynopsisinfo.attlist# end of funcsynopsisinfo.modulelocal.funcprototype.attrib = emptyfuncprototype.role.attrib = role.attribfuncprototype = element funcprototype { funcprototype.attlist, funcdef, (void | varargs | paramdef+) }# end of funcprototype.elementfuncprototype.attlist &= common.attrib, funcprototype.role.attrib, local.funcprototype.attrib# end of funcprototype.attlist# end of funcprototype.modulelocal.funcdef.attrib = emptyfuncdef.role.attrib = role.attribfuncdef = element funcdef { funcdef.attlist, (text | type | replaceable | function)* }# end of funcdef.elementfuncdef.attlist &= common.attrib, funcdef.role.attrib, local.funcdef.attrib# end of funcdef.attlist# end of funcdef.modulelocal.void.attrib = emptyvoid.role.attrib = role.attribvoid = element void { void.attlist, empty }# end of void.elementvoid.attlist &= common.attrib, void.role.attrib, local.void.attrib# end of void.attlist# end of void.modulelocal.varargs.attrib = emptyvarargs.role.attrib = role.attribvarargs = element varargs { varargs.attlist, empty }# end of varargs.elementvarargs.attlist &= common.attrib, varargs.role.attrib, local.varargs.attrib# end of varargs.attlist# end of varargs.module# Processing assumes that only one Parameter will appear in a# ParamDef, and that FuncParams will be used at most once, for# providing information on the "inner parameters" for parameters that# are pointers to functions.local.paramdef.attrib = emptyparamdef.role.attrib = role.attribparamdef = element paramdef { paramdef.attlist, (text | type | replaceable | parameter | funcparams)* }# end of paramdef.elementparamdef.attlist &= common.attrib, paramdef.role.attrib, local.paramdef.attrib# end of paramdef.attlist# end of paramdef.modulelocal.funcparams.attrib = emptyfuncparams.role.attrib = role.attribfuncparams = element funcparams { funcparams.attlist, cptr.char.mix* }# end of funcparams.elementfuncparams.attlist &= common.attrib, funcparams.role.attrib, local.funcparams.attrib# end of funcparams.attlist# end of funcparams.module# LineAnnotation (defined in the Inlines section, below)# Replaceable (defined in the Inlines section, below)# Function (defined in the Inlines section, below)# Parameter (defined in the Inlines section, below)# end of funcsynopsis.content.module# ClassSynopsis .....................local.classsynopsis.attrib = emptyclasssynopsis.role.attrib = role.attribclasssynopsis = element classsynopsis { classsynopsis.attlist, (ooclass | oointerface | ooexception)+, (classsynopsisinfo | fieldsynopsis | method.synop.class)* }# end of classsynopsis.elementclasssynopsis.attlist &= attribute language { text }?, [ a:defaultValue = "class" ] attribute class { "class" | "interface" }?, common.attrib, classsynopsis.role.attrib, local.classsynopsis.attrib# end of classsynopsis.attlist# end of classsynopsis.modulelocal.classsynopsisinfo.attrib = emptyclasssynopsisinfo.role.attrib = role.attribclasssynopsisinfo = element classsynopsisinfo { classsynopsisinfo.attlist, (cptr.char.mix | textobject | lineannotation)* }# end of classsynopsisinfo.elementclasssynopsisinfo.attlist &= linespecific.attrib, common.attrib, classsynopsisinfo.role.attrib, local.classsynopsisinfo.attrib# end of classsynopsisinfo.attlist# end of classsynopsisinfo.modulelocal.ooclass.attrib = emptyooclass.role.attrib = role.attribooclass = element ooclass { ooclass.attlist, modifier*, classname }# end of ooclass.elementooclass.attlist &= common.attrib, ooclass.role.attrib, local.ooclass.attrib# end of ooclass.attlist# end of ooclass.modulelocal.oointerface.attrib = emptyoointerface.role.attrib = role.attriboointerface = element oointerface { oointerface.attlist, modifier*, interfacename }# end of oointerface.elementoointerface.attlist &= common.attrib, oointerface.role.attrib, local.oointerface.attrib# end of oointerface.attlist# end of oointerface.modulelocal.ooexception.attrib = emptyooexception.role.attrib = role.attribooexception = element ooexception { ooexception.attlist, modifier*, exceptionname }# end of ooexception.elementooexception.attlist &= common.attrib, ooexception.role.attrib, local.ooexception.attrib# end of ooexception.attlist# end of ooexception.modulelocal.modifier.attrib = emptymodifier.role.attrib = role.attribmodifier = element modifier { modifier.attlist, smallcptr.char.mix* }# end of modifier.elementmodifier.attlist &= common.attrib, modifier.role.attrib, local.modifier.attrib# end of modifier.attlist# end of modifier.modulelocal.interfacename.attrib = emptyinterfacename.role.attrib = role.attribinterfacename = element interfacename { interfacename.attlist, cptr.char.mix* }# end of interfacename.elementinterfacename.attlist &= common.attrib, interfacename.role.attrib, local.interfacename.attrib# end of interfacename.attlist# end of interfacename.modulelocal.exceptionname.attrib = emptyexceptionname.role.attrib = role.attribexceptionname = element exceptionname { exceptionname.attlist, smallcptr.char.mix* }# end of exceptionname.elementexceptionname.attlist &= common.attrib, exceptionname.role.attrib, local.exceptionname.attrib# end of exceptionname.attlist# end of exceptionname.modulelocal.fieldsynopsis.attrib = emptyfieldsynopsis.role.attrib = role.attribfieldsynopsis = element fieldsynopsis { fieldsynopsis.attlist, modifier*, type?, varname, initializer? }# end of fieldsynopsis.elementfieldsynopsis.attlist &= attribute language { text }?, common.attrib, fieldsynopsis.role.attrib, local.fieldsynopsis.attrib# end of fieldsynopsis.attlist# end of fieldsynopsis.modulelocal.initializer.attrib = emptyinitializer.role.attrib = role.attribinitializer = element initializer { initializer.attlist, smallcptr.char.mix* }# end of initializer.elementinitializer.attlist &= common.attrib, initializer.role.attrib, local.initializer.attrib# end of initializer.attlist# end of initializer.modulelocal.constructorsynopsis.attrib = emptyconstructorsynopsis.role.attrib = role.attribconstructorsynopsis = element constructorsynopsis { constructorsynopsis.attlist, modifier*, methodname?, (methodparam+ | void), exceptionname* }# end of constructorsynopsis.elementconstructorsynopsis.attlist &= attribute language { text }?, common.attrib, constructorsynopsis.role.attrib, local.constructorsynopsis.attrib# end of constructorsynopsis.attlist# end of constructorsynopsis.modulelocal.destructorsynopsis.attrib = emptydestructorsynopsis.role.attrib = role.attribdestructorsynopsis = element destructorsynopsis { destructorsynopsis.attlist, modifier*, methodname?, (methodparam+ | void), exceptionname* }# end of destructorsynopsis.elementdestructorsynopsis.attlist &= attribute language { text }?, common.attrib, destructorsynopsis.role.attrib, local.destructorsynopsis.attrib# end of destructorsynopsis.attlist# end of destructorsynopsis.modulelocal.methodsynopsis.attrib = emptymethodsynopsis.role.attrib = role.attribmethodsynopsis = element methodsynopsis { methodsynopsis.attlist, modifier*, (type | void)?, methodname, (methodparam+ | void), exceptionname*, modifier* }# end of methodsynopsis.elementmethodsynopsis.attlist &= attribute language { text }?, common.attrib, methodsynopsis.role.attrib, local.methodsynopsis.attrib# end of methodsynopsis.attlist# end of methodsynopsis.modulelocal.methodname.attrib = emptymethodname.role.attrib = role.attribmethodname = element methodname { methodname.attlist, smallcptr.char.mix* }# end of methodname.elementmethodname.attlist &= common.attrib, methodname.role.attrib, local.methodname.attrib# end of methodname.attlist# end of methodname.modulelocal.methodparam.attrib = emptymethodparam.role.attrib = role.attribmethodparam = element methodparam { methodparam.attlist, modifier*, type?, ((parameter, initializer?) | funcparams), modifier* }# end of methodparam.elementmethodparam.attlist &= [ a:defaultValue = "req" ] attribute choice { "opt" | "req" | "plain" }?, [ a:defaultValue = "norepeat" ] attribute rep { "norepeat" | "repeat" }?, common.attrib, methodparam.role.attrib, local.methodparam.attrib# end of methodparam.attlist# end of methodparam.module# end of classsynopsis.content.module# ......................................................................# Document information entities and elements ...........................# The document information elements include some elements that are# currently used only in the document hierarchy module. They are# defined here so that they will be available for use in customized# document hierarchies.# ..................................# Ackno ............................local.ackno.attrib = emptyackno.role.attrib = role.attribackno = element ackno { ackno.attlist, docinfo.char.mix* }# end of ackno.elementackno.attlist &= common.attrib, ackno.role.attrib, local.ackno.attrib# end of ackno.attlist# end of ackno.module# Address ..........................local.address.attrib = emptyaddress.role.attrib = role.attribaddress = element address { address.attlist, (text | personname | person.ident.mix | street | pob | postcode | city | state | country | phone | fax | email | otheraddr)* }# end of address.elementaddress.attlist &= linespecific.attrib, common.attrib, address.role.attrib, local.address.attrib# end of address.attlist# end of address.modulelocal.street.attrib = emptystreet.role.attrib = role.attribstreet = element street { street.attlist, docinfo.char.mix* }# end of street.elementstreet.attlist &= common.attrib, street.role.attrib, local.street.attrib# end of street.attlist# end of street.modulelocal.pob.attrib = emptypob.role.attrib = role.attribpob = element pob { pob.attlist, docinfo.char.mix* }# end of pob.elementpob.attlist &= common.attrib, pob.role.attrib, local.pob.attrib# end of pob.attlist# end of pob.modulelocal.postcode.attrib = emptypostcode.role.attrib = role.attribpostcode = element postcode { postcode.attlist, docinfo.char.mix* }# end of postcode.elementpostcode.attlist &= common.attrib, postcode.role.attrib, local.postcode.attrib# end of postcode.attlist# end of postcode.modulelocal.city.attrib = emptycity.role.attrib = role.attribcity = element city { city.attlist, docinfo.char.mix* }# end of city.elementcity.attlist &= common.attrib, city.role.attrib, local.city.attrib# end of city.attlist# end of city.modulelocal.state.attrib = emptystate.role.attrib = role.attribstate = element state { state.attlist, docinfo.char.mix* }# end of state.elementstate.attlist &= common.attrib, state.role.attrib, local.state.attrib# end of state.attlist# end of state.modulelocal.country.attrib = emptycountry.role.attrib = role.attribcountry = element country { country.attlist, docinfo.char.mix* }# end of country.elementcountry.attlist &= common.attrib, country.role.attrib, local.country.attrib# end of country.attlist# end of country.modulelocal.phone.attrib = emptyphone.role.attrib = role.attribphone = element phone { phone.attlist, docinfo.char.mix* }# end of phone.elementphone.attlist &= common.attrib, phone.role.attrib, local.phone.attrib# end of phone.attlist# end of phone.modulelocal.fax.attrib = emptyfax.role.attrib = role.attribfax = element fax { fax.attlist, docinfo.char.mix* }# end of fax.elementfax.attlist &= common.attrib, fax.role.attrib, local.fax.attrib# end of fax.attlist# end of fax.module# Email (defined in the Inlines section, below)local.otheraddr.attrib = emptyotheraddr.role.attrib = role.attribotheraddr = element otheraddr { otheraddr.attlist, docinfo.char.mix* }# end of otheraddr.elementotheraddr.attlist &= common.attrib, otheraddr.role.attrib, local.otheraddr.attrib# end of otheraddr.attlist# end of otheraddr.module# end of address.content.module# Affiliation ......................local.affiliation.attrib = emptyaffiliation.role.attrib = role.attribaffiliation = element affiliation { affiliation.attlist, shortaffil?, jobtitle*, orgname?, orgdiv*, address* }# end of affiliation.elementaffiliation.attlist &= common.attrib, affiliation.role.attrib, local.affiliation.attrib# end of affiliation.attlist# end of affiliation.modulelocal.shortaffil.attrib = emptyshortaffil.role.attrib = role.attribshortaffil = element shortaffil { shortaffil.attlist, docinfo.char.mix* }# end of shortaffil.elementshortaffil.attlist &= common.attrib, shortaffil.role.attrib, local.shortaffil.attrib# end of shortaffil.attlist# end of shortaffil.modulelocal.jobtitle.attrib = emptyjobtitle.role.attrib = role.attribjobtitle = element jobtitle { jobtitle.attlist, docinfo.char.mix* }# end of jobtitle.elementjobtitle.attlist &= common.attrib, jobtitle.role.attrib, local.jobtitle.attrib# end of jobtitle.attlist# end of jobtitle.module# OrgName (defined elsewhere in this section)local.orgdiv.attrib = emptyorgdiv.role.attrib = role.attriborgdiv = element orgdiv { orgdiv.attlist, docinfo.char.mix* }# end of orgdiv.elementorgdiv.attlist &= common.attrib, orgdiv.role.attrib, local.orgdiv.attrib# end of orgdiv.attlist# end of orgdiv.module# Address (defined elsewhere in this section)# end of affiliation.content.module# ArtPageNums ......................local.artpagenums.attrib = emptyartpagenums.role.attrib = role.attribartpagenums = element artpagenums { artpagenums.attlist, docinfo.char.mix* }# end of artpagenums.elementartpagenums.attlist &= common.attrib, artpagenums.role.attrib, local.artpagenums.attrib# end of artpagenums.attlist# end of artpagenums.module# PersonNamelocal.personname.attrib = emptypersonname.role.attrib = role.attribpersonname = element personname { personname.attlist, (honorific | firstname | surname | lineage | othername)+ }# end of personname.elementpersonname.attlist &= common.attrib, personname.role.attrib, local.personname.attrib# end of personname.attlist# end of personname.module# Author ...........................local.author.attrib = emptyauthor.role.attrib = role.attribauthor = element author { author.attlist, (personname | person.ident.mix+), (personblurb | email | address)* }# end of author.elementauthor.attlist &= common.attrib, author.role.attrib, local.author.attrib# end of author.attlist# (see "Personal identity elements" for %person.ident.mix;)# end of author.module# AuthorGroup ......................local.authorgroup.attrib = emptyauthorgroup.role.attrib = role.attribauthorgroup = element authorgroup { authorgroup.attlist, (author | editor | collab | corpauthor | othercredit)+ }# end of authorgroup.elementauthorgroup.attlist &= common.attrib, authorgroup.role.attrib, local.authorgroup.attrib# end of authorgroup.attlist# end of authorgroup.module# Author (defined elsewhere in this section)# Editor (defined elsewhere in this section)local.collab.attrib = emptycollab.role.attrib = role.attribcollab = element collab { collab.attlist, collabname, affiliation* }# end of collab.elementcollab.attlist &= common.attrib, collab.role.attrib, local.collab.attrib# end of collab.attlist# end of collab.modulelocal.collabname.attrib = emptycollabname.role.attrib = role.attribcollabname = element collabname { collabname.attlist, docinfo.char.mix* }# end of collabname.elementcollabname.attlist &= common.attrib, collabname.role.attrib, local.collabname.attrib# end of collabname.attlist# end of collabname.module# Affiliation (defined elsewhere in this section)# end of collab.content.module# CorpAuthor (defined elsewhere in this section)# OtherCredit (defined elsewhere in this section)# end of authorgroup.content.module# AuthorInitials ...................local.authorinitials.attrib = emptyauthorinitials.role.attrib = role.attribauthorinitials = element authorinitials { authorinitials.attlist, docinfo.char.mix* }# end of authorinitials.elementauthorinitials.attlist &= common.attrib, authorinitials.role.attrib, local.authorinitials.attrib# end of authorinitials.attlist# end of authorinitials.module# ConfGroup ........................local.confgroup.attrib = emptyconfgroup.role.attrib = role.attribconfgroup = element confgroup { confgroup.attlist, (confdates | conftitle | confnum | address | confsponsor)* }# end of confgroup.elementconfgroup.attlist &= common.attrib, confgroup.role.attrib, local.confgroup.attrib# end of confgroup.attlist# end of confgroup.modulelocal.confdates.attrib = emptyconfdates.role.attrib = role.attribconfdates = element confdates { confdates.attlist, docinfo.char.mix* }# end of confdates.elementconfdates.attlist &= common.attrib, confdates.role.attrib, local.confdates.attrib# end of confdates.attlist# end of confdates.modulelocal.conftitle.attrib = emptyconftitle.role.attrib = role.attribconftitle = element conftitle { conftitle.attlist, docinfo.char.mix* }# end of conftitle.elementconftitle.attlist &= common.attrib, conftitle.role.attrib, local.conftitle.attrib# end of conftitle.attlist# end of conftitle.modulelocal.confnum.attrib = emptyconfnum.role.attrib = role.attribconfnum = element confnum { confnum.attlist, docinfo.char.mix* }# end of confnum.elementconfnum.attlist &= common.attrib, confnum.role.attrib, local.confnum.attrib# end of confnum.attlist# end of confnum.module# Address (defined elsewhere in this section)local.confsponsor.attrib = emptyconfsponsor.role.attrib = role.attribconfsponsor = element confsponsor { confsponsor.attlist, docinfo.char.mix* }# end of confsponsor.elementconfsponsor.attlist &= common.attrib, confsponsor.role.attrib, local.confsponsor.attrib# end of confsponsor.attlist# end of confsponsor.module# end of confgroup.content.module# ContractNum ......................local.contractnum.attrib = emptycontractnum.role.attrib = role.attribcontractnum = element contractnum { contractnum.attlist, docinfo.char.mix* }# end of contractnum.elementcontractnum.attlist &= common.attrib, contractnum.role.attrib, local.contractnum.attrib# end of contractnum.attlist# end of contractnum.module# ContractSponsor ..................local.contractsponsor.attrib = emptycontractsponsor.role.attrib = role.attribcontractsponsor = element contractsponsor { contractsponsor.attlist, docinfo.char.mix* }# end of contractsponsor.elementcontractsponsor.attlist &= common.attrib, contractsponsor.role.attrib, local.contractsponsor.attrib# end of contractsponsor.attlist# end of contractsponsor.module# Copyright ........................local.copyright.attrib = emptycopyright.role.attrib = role.attribcopyright = element copyright { copyright.attlist, year+, holder* }# end of copyright.elementcopyright.attlist &= common.attrib, copyright.role.attrib, local.copyright.attrib# end of copyright.attlist# end of copyright.modulelocal.year.attrib = emptyyear.role.attrib = role.attribyear = element year { year.attlist, docinfo.char.mix* }# end of year.elementyear.attlist &= common.attrib, year.role.attrib, local.year.attrib# end of year.attlist# end of year.modulelocal.holder.attrib = emptyholder.role.attrib = role.attribholder = element holder { holder.attlist, docinfo.char.mix* }# end of holder.elementholder.attlist &= common.attrib, holder.role.attrib, local.holder.attrib# end of holder.attlist# end of holder.module# end of copyright.content.module# CorpAuthor .......................local.corpauthor.attrib = emptycorpauthor.role.attrib = role.attribcorpauthor = element corpauthor { corpauthor.attlist, docinfo.char.mix* }# end of corpauthor.elementcorpauthor.attlist &= common.attrib, corpauthor.role.attrib, local.corpauthor.attrib# end of corpauthor.attlist# end of corpauthor.module# CorpName .........................local.corpname.attrib = emptycorpname = element corpname { corpname.attlist, docinfo.char.mix* }# end of corpname.elementcorpname.role.attrib = role.attribcorpname.attlist &= common.attrib, corpname.role.attrib, local.corpname.attrib# end of corpname.attlist# end of corpname.module# Date .............................local.date.attrib = emptydate.role.attrib = role.attribdate = element date { date.attlist, docinfo.char.mix* }# end of date.elementdate.attlist &= common.attrib, date.role.attrib, local.date.attrib# end of date.attlist# end of date.module# Edition ..........................local.edition.attrib = emptyedition.role.attrib = role.attribedition = element edition { edition.attlist, docinfo.char.mix* }# end of edition.elementedition.attlist &= common.attrib, edition.role.attrib, local.edition.attrib# end of edition.attlist# end of edition.module# Editor ...........................local.editor.attrib = emptyeditor.role.attrib = role.attribeditor = element editor { editor.attlist, (personname | person.ident.mix+), (personblurb | email | address)* }# end of editor.elementeditor.attlist &= common.attrib, editor.role.attrib, local.editor.attrib# end of editor.attlist# (see "Personal identity elements" for %person.ident.mix;)# end of editor.module# ISBN .............................local.isbn.attrib = emptyisbn.role.attrib = role.attribisbn = element isbn { isbn.attlist, docinfo.char.mix* }# end of isbn.elementisbn.attlist &= common.attrib, isbn.role.attrib, local.isbn.attrib# end of isbn.attlist# end of isbn.module# ISSN .............................local.issn.attrib = emptyissn.role.attrib = role.attribissn = element issn { issn.attlist, docinfo.char.mix* }# end of issn.elementissn.attlist &= common.attrib, issn.role.attrib, local.issn.attrib# end of issn.attlist# end of issn.module# BiblioId .................biblio.class.attrib = attribute class { "uri" | "doi" | "isbn" | "issn" | "libraryofcongress" | "pubnumber" | "other" }?, attribute otherclass { text }?local.biblioid.attrib = emptybiblioid.role.attrib = role.attribbiblioid = element biblioid { biblioid.attlist, docinfo.char.mix* }# end of biblioid.elementbiblioid.attlist &= biblio.class.attrib, common.attrib, biblioid.role.attrib, local.biblioid.attrib# end of biblioid.attlist# end of biblioid.module# CiteBiblioId .................local.citebiblioid.attrib = emptycitebiblioid.role.attrib = role.attribcitebiblioid = element citebiblioid { citebiblioid.attlist, docinfo.char.mix* }# end of citebiblioid.elementcitebiblioid.attlist &= biblio.class.attrib, common.attrib, citebiblioid.role.attrib, local.citebiblioid.attrib# end of citebiblioid.attlist# end of citebiblioid.module# BiblioSource .................local.bibliosource.attrib = emptybibliosource.role.attrib = role.attribbibliosource = element bibliosource { bibliosource.attlist, docinfo.char.mix* }# end of bibliosource.elementbibliosource.attlist &= biblio.class.attrib, common.attrib, bibliosource.role.attrib, local.bibliosource.attrib# end of bibliosource.attlist# end of bibliosource.module# BiblioRelation .................local.bibliorelation.attrib = emptylocal.bibliorelation.types = notAllowedbibliorelation.type.attrib = attribute type { "isversionof" | "hasversion" | "isreplacedby" | "replaces" | "isrequiredby" | "requires" | "ispartof" | "haspart" | "isreferencedby" | "references" | "isformatof" | "hasformat" | "othertype" | local.bibliorelation.types }?, attribute othertype { text }?bibliorelation.role.attrib = role.attribbibliorelation = element bibliorelation { bibliorelation.attlist, docinfo.char.mix* }# end of bibliorelation.elementbibliorelation.attlist &= biblio.class.attrib, bibliorelation.type.attrib, common.attrib, bibliorelation.role.attrib, local.bibliorelation.attrib# end of bibliorelation.attlist# end of bibliorelation.module# BiblioCoverage .................local.bibliocoverage.attrib = emptybibliocoverage.role.attrib = role.attribbibliocoverage = element bibliocoverage { bibliocoverage.attlist, docinfo.char.mix* }# end of bibliocoverage.elementbibliocoverage.attlist &= attribute spatial { "dcmipoint" | "iso3166" | "dcmibox" | "tgn" | "otherspatial" }?, attribute otherspatial { text }?, attribute temporal { "dcmiperiod" | "w3c-dtf" | "othertemporal" }?, attribute othertemporal { text }?, common.attrib, bibliocoverage.role.attrib, local.bibliocoverage.attrib# end of bibliocoverage.attlist# end of bibliocoverage.module# InvPartNumber ....................local.invpartnumber.attrib = emptyinvpartnumber.role.attrib = role.attribinvpartnumber = element invpartnumber { invpartnumber.attlist, docinfo.char.mix* }# end of invpartnumber.elementinvpartnumber.attlist &= common.attrib, invpartnumber.role.attrib, local.invpartnumber.attrib# end of invpartnumber.attlist# end of invpartnumber.module# IssueNum .........................local.issuenum.attrib = emptyissuenum.role.attrib = role.attribissuenum = element issuenum { issuenum.attlist, docinfo.char.mix* }# end of issuenum.elementissuenum.attlist &= common.attrib, issuenum.role.attrib, local.issuenum.attrib# end of issuenum.attlist# end of issuenum.module# LegalNotice ......................local.legalnotice.attrib = emptylegalnotice.role.attrib = role.attriblegalnotice = element legalnotice { legalnotice.attlist, blockinfo?, title?, legalnotice.mix+ }# end of legalnotice.elementlegalnotice.attlist &= common.attrib, legalnotice.role.attrib, local.legalnotice.attrib# end of legalnotice.attlist# end of legalnotice.module# ModeSpec .........................local.modespec.attrib = emptymodespec.role.attrib = role.attribmodespec = element modespec { modespec.attlist, docinfo.char.mix* }# end of modespec.element# Application: Type of action required for completion# of the links to which the ModeSpec is relevant (e.g.,# retrieval query)modespec.attlist &= attribute application { notation.class }?, common.attrib, modespec.role.attrib, local.modespec.attrib# end of modespec.attlist# end of modespec.module# OrgName ..........................local.orgname.attrib = emptyorgname.role.attrib = role.attriborgname = element orgname { orgname.attlist, docinfo.char.mix* }# end of orgname.elementorgname.attlist &= common.attrib, attribute class { "corporation" | "nonprofit" | "consortium" | "informal" | "other" }?, attribute otherclass { text }?, orgname.role.attrib, local.orgname.attrib# end of orgname.attlist# end of orgname.module# OtherCredit ......................local.othercredit.attrib = emptyothercredit.role.attrib = role.attribothercredit = element othercredit { othercredit.attlist, (personname | person.ident.mix+), (personblurb | email | address)* }# end of othercredit.elementothercredit.attlist &= common.attrib, othercredit.role.attrib, local.othercredit.attrib# end of othercredit.attlist# (see "Personal identity elements" for %person.ident.mix;)# end of othercredit.module# PageNums .........................local.pagenums.attrib = emptypagenums.role.attrib = role.attribpagenums = element pagenums { pagenums.attlist, docinfo.char.mix* }# end of pagenums.elementpagenums.attlist &= common.attrib, pagenums.role.attrib, local.pagenums.attrib# end of pagenums.attlist# end of pagenums.module# Personal identity elements .......# These elements are used only within Author, Editor, and# OtherCredit.local.contrib.attrib = emptycontrib.role.attrib = role.attribcontrib = element contrib { contrib.attlist, docinfo.char.mix* }# end of contrib.elementcontrib.attlist &= common.attrib, contrib.role.attrib, local.contrib.attrib# end of contrib.attlist# end of contrib.modulelocal.firstname.attrib = emptyfirstname.role.attrib = role.attribfirstname = element firstname { firstname.attlist, docinfo.char.mix* }# end of firstname.elementfirstname.attlist &= common.attrib, firstname.role.attrib, local.firstname.attrib# end of firstname.attlist# end of firstname.modulelocal.honorific.attrib = emptyhonorific.role.attrib = role.attribhonorific = element honorific { honorific.attlist, docinfo.char.mix* }# end of honorific.elementhonorific.attlist &= common.attrib, honorific.role.attrib, local.honorific.attrib# end of honorific.attlist# end of honorific.modulelocal.lineage.attrib = emptylineage.role.attrib = role.attriblineage = element lineage { lineage.attlist, docinfo.char.mix* }# end of lineage.elementlineage.attlist &= common.attrib, lineage.role.attrib, local.lineage.attrib# end of lineage.attlist# end of lineage.modulelocal.othername.attrib = emptyothername.role.attrib = role.attribothername = element othername { othername.attlist, docinfo.char.mix* }# end of othername.elementothername.attlist &= common.attrib, othername.role.attrib, local.othername.attrib# end of othername.attlist# end of othername.modulelocal.surname.attrib = emptysurname.role.attrib = role.attribsurname = element surname { surname.attlist, docinfo.char.mix* }# end of surname.elementsurname.attlist &= common.attrib, surname.role.attrib, local.surname.attrib# end of surname.attlist# end of surname.module# end of person.ident.module# PrintHistory .....................local.printhistory.attrib = emptyprinthistory.role.attrib = role.attribprinthistory = element printhistory { printhistory.attlist, para.class+ }# end of printhistory.elementprinthistory.attlist &= common.attrib, printhistory.role.attrib, local.printhistory.attrib# end of printhistory.attlist# end of printhistory.module# ProductName ......................local.productname.attrib = emptyproductname.role.attrib = role.attribproductname = element productname { productname.attlist, para.char.mix* }# end of productname.element# Class: More precisely identifies the item the element namesproductname.attlist &= [ a:defaultValue = "trade" ] attribute class { "service" | "trade" | "registered" | "copyright" }?, common.attrib, productname.role.attrib, local.productname.attrib# end of productname.attlist# end of productname.module# ProductNumber ....................local.productnumber.attrib = emptyproductnumber.role.attrib = role.attribproductnumber = element productnumber { productnumber.attlist, docinfo.char.mix* }# end of productnumber.elementproductnumber.attlist &= common.attrib, productnumber.role.attrib, local.productnumber.attrib# end of productnumber.attlist# end of productnumber.module# PubDate ..........................local.pubdate.attrib = emptypubdate.role.attrib = role.attribpubdate = element pubdate { pubdate.attlist, docinfo.char.mix* }# end of pubdate.elementpubdate.attlist &= common.attrib, pubdate.role.attrib, local.pubdate.attrib# end of pubdate.attlist# end of pubdate.module# Publisher ........................local.publisher.attrib = emptypublisher.role.attrib = role.attribpublisher = element publisher { publisher.attlist, publishername, address* }# end of publisher.elementpublisher.attlist &= common.attrib, publisher.role.attrib, local.publisher.attrib# end of publisher.attlist# end of publisher.modulelocal.publishername.attrib = emptypublishername.role.attrib = role.attribpublishername = element publishername { publishername.attlist, docinfo.char.mix* }# end of publishername.elementpublishername.attlist &= common.attrib, publishername.role.attrib, local.publishername.attrib# end of publishername.attlist# end of publishername.module# Address (defined elsewhere in this section)# end of publisher.content.module# PubsNumber .......................local.pubsnumber.attrib = emptypubsnumber.role.attrib = role.attribpubsnumber = element pubsnumber { pubsnumber.attlist, docinfo.char.mix* }# end of pubsnumber.elementpubsnumber.attlist &= common.attrib, pubsnumber.role.attrib, local.pubsnumber.attrib# end of pubsnumber.attlist# end of pubsnumber.module# ReleaseInfo ......................local.releaseinfo.attrib = emptyreleaseinfo.role.attrib = role.attribreleaseinfo = element releaseinfo { releaseinfo.attlist, docinfo.char.mix* }# end of releaseinfo.elementreleaseinfo.attlist &= common.attrib, releaseinfo.role.attrib, local.releaseinfo.attrib# end of releaseinfo.attlist# end of releaseinfo.module# RevHistory .......................local.revhistory.attrib = emptyrevhistory.role.attrib = role.attribrevhistory = element revhistory { revhistory.attlist, revision+ }# end of revhistory.elementrevhistory.attlist &= common.attrib, revhistory.role.attrib, local.revhistory.attrib# end of revhistory.attlist# end of revhistory.modulelocal.revision.attrib = emptyrevision.role.attrib = role.attribrevision = element revision { revision.attlist, revnumber, date, authorinitials*, (revremark | revdescription)? }# end of revision.elementrevision.attlist &= common.attrib, revision.role.attrib, local.revision.attrib# end of revision.attlist# end of revision.modulelocal.revnumber.attrib = emptyrevnumber.role.attrib = role.attribrevnumber = element revnumber { revnumber.attlist, docinfo.char.mix* }# end of revnumber.elementrevnumber.attlist &= common.attrib, revnumber.role.attrib, local.revnumber.attrib# end of revnumber.attlist# end of revnumber.module# Date (defined elsewhere in this section)# AuthorInitials (defined elsewhere in this section)local.revremark.attrib = emptyrevremark.role.attrib = role.attribrevremark = element revremark { revremark.attlist, docinfo.char.mix* }# end of revremark.elementrevremark.attlist &= common.attrib, revremark.role.attrib, local.revremark.attrib# end of revremark.attlist# end of revremark.modulelocal.revdescription.attrib = emptyrevdescription.role.attrib = role.attribrevdescription = element revdescription { revdescription.attlist, revdescription.mix+ }# end of revdescription.elementrevdescription.attlist &= common.attrib, revdescription.role.attrib, local.revdescription.attrib# end of revdescription.attlist# end of revdescription.module# end of revhistory.content.module# SeriesVolNums ....................local.seriesvolnums.attrib = emptyseriesvolnums.role.attrib = role.attribseriesvolnums = element seriesvolnums { seriesvolnums.attlist, docinfo.char.mix* }# end of seriesvolnums.elementseriesvolnums.attlist &= common.attrib, seriesvolnums.role.attrib, local.seriesvolnums.attrib# end of seriesvolnums.attlist# end of seriesvolnums.module# VolumeNum ........................local.volumenum.attrib = emptyvolumenum.role.attrib = role.attribvolumenum = element volumenum { volumenum.attlist, docinfo.char.mix* }# end of volumenum.elementvolumenum.attlist &= common.attrib, volumenum.role.attrib, local.volumenum.attrib# end of volumenum.attlist# end of volumenum.module# ..................................# end of docinfo.content.module# ......................................................................# Inline, link, and ubiquitous elements ................................# Technical and computer terms .........................................local.accel.attrib = emptyaccel.role.attrib = role.attribaccel = element accel { accel.attlist, smallcptr.char.mix* }# end of accel.elementaccel.attlist &= common.attrib, accel.role.attrib, local.accel.attrib# end of accel.attlist# end of accel.modulelocal.action.attrib = emptyaction.role.attrib = role.attribaction = element action { action.attlist, cptr.char.mix* }# end of action.elementaction.attlist &= moreinfo.attrib, common.attrib, action.role.attrib, local.action.attrib# end of action.attlist# end of action.modulelocal.application.attrib = emptyapplication.role.attrib = role.attribapplication = element application { application.attlist, para.char.mix* }# end of application.elementapplication.attlist &= attribute class { "hardware" | "software" }?, moreinfo.attrib, common.attrib, application.role.attrib, local.application.attrib# end of application.attlist# end of application.modulelocal.classname.attrib = emptyclassname.role.attrib = role.attribclassname = element classname { classname.attlist, smallcptr.char.mix* }# end of classname.elementclassname.attlist &= common.attrib, classname.role.attrib, local.classname.attrib# end of classname.attlist# end of classname.modulelocal.co.attrib = empty# CO is a callout area of the LineColumn unit type (a single character# position); the position is directly indicated by the location of CO.co.role.attrib = role.attribco = element co { co.attlist, empty }# end of co.element# bug number/symbol override or initialization# to any related informationco.attlist &= label.attrib, linkends.attrib, idreq.common.attrib, co.role.attrib, local.co.attrib# end of co.attlist# end of co.modulelocal.coref.attrib = empty# COREF is a reference to a COcoref.role.attrib = role.attribcoref = element coref { coref.attlist, empty }# end of coref.element# bug number/symbol override or initialization# to any related informationcoref.attlist &= label.attrib, linkendreq.attrib, common.attrib, coref.role.attrib, local.coref.attrib# end of coref.attlist# end of coref.modulelocal.command.attrib = emptycommand.role.attrib = role.attribcommand = element command { command.attlist, cptr.char.mix* }# end of command.elementcommand.attlist &= moreinfo.attrib, common.attrib, command.role.attrib, local.command.attrib# end of command.attlist# end of command.modulelocal.computeroutput.attrib = emptycomputeroutput.role.attrib = role.attribcomputeroutput = element computeroutput { computeroutput.attlist, (cptr.char.mix | co)* }# end of computeroutput.elementcomputeroutput.attlist &= moreinfo.attrib, common.attrib, computeroutput.role.attrib, local.computeroutput.attrib# end of computeroutput.attlist# end of computeroutput.modulelocal.database.attrib = emptydatabase.role.attrib = role.attribdatabase = element database { database.attlist, cptr.char.mix* }# end of database.element# Class: Type of database the element names; no defaultdatabase.attlist &= attribute class { "name" | "table" | "field" | "key1" | "key2" | "record" }?, moreinfo.attrib, common.attrib, database.role.attrib, local.database.attrib# end of database.attlist# end of database.modulelocal.email.attrib = emptyemail.role.attrib = role.attribemail = element email { email.attlist, docinfo.char.mix* }# end of email.elementemail.attlist &= common.attrib, email.role.attrib, local.email.attrib# end of email.attlist# end of email.modulelocal.envar.attrib = emptyenvar.role.attrib = role.attribenvar = element envar { envar.attlist, smallcptr.char.mix* }# end of envar.elementenvar.attlist &= common.attrib, envar.role.attrib, local.envar.attrib# end of envar.attlist# end of envar.modulelocal.errorcode.attrib = emptyerrorcode.role.attrib = role.attriberrorcode = element errorcode { errorcode.attlist, smallcptr.char.mix* }# end of errorcode.elementerrorcode.attlist &= moreinfo.attrib, common.attrib, errorcode.role.attrib, local.errorcode.attrib# end of errorcode.attlist# end of errorcode.modulelocal.errorname.attrib = emptyerrorname.role.attrib = role.attriberrorname = element errorname { errorname.attlist, smallcptr.char.mix* }# end of errorname.elementerrorname.attlist &= common.attrib, errorname.role.attrib, local.errorname.attrib# end of errorname.attlist# end of errorname.modulelocal.errortext.attrib = emptyerrortext.role.attrib = role.attriberrortext = element errortext { errortext.attlist, smallcptr.char.mix* }# end of errortext.elementerrortext.attlist &= common.attrib, errortext.role.attrib, local.errortext.attrib# end of errortext.attlist# end of errortext.modulelocal.errortype.attrib = emptyerrortype.role.attrib = role.attriberrortype = element errortype { errortype.attlist, smallcptr.char.mix* }# end of errortype.elementerrortype.attlist &= common.attrib, errortype.role.attrib, local.errortype.attrib# end of errortype.attlist# end of errortype.modulelocal.filename.attrib = emptyfilename.role.attrib = role.attribfilename = element filename { filename.attlist, cptr.char.mix* }# end of filename.element# Class: Type of filename the element names; no default# Path: Search path (possibly system-specific) in which# file can be foundfilename.attlist &= attribute class { "headerfile" | "partition" | "devicefile" | "libraryfile" | "directory" | "extension" | "symlink" }?, attribute path { text }?, moreinfo.attrib, common.attrib, filename.role.attrib, local.filename.attrib# end of filename.attlist# end of filename.modulelocal.function.attrib = emptyfunction.role.attrib = role.attribfunction = element function { function.attlist, cptr.char.mix* }# end of function.elementfunction.attlist &= moreinfo.attrib, common.attrib, function.role.attrib, local.function.attrib# end of function.attlist# end of function.modulelocal.guibutton.attrib = emptyguibutton.role.attrib = role.attribguibutton = element guibutton { guibutton.attlist, (smallcptr.char.mix | accel)* }# end of guibutton.elementguibutton.attlist &= moreinfo.attrib, common.attrib, guibutton.role.attrib, local.guibutton.attrib# end of guibutton.attlist# end of guibutton.modulelocal.guiicon.attrib = emptyguiicon.role.attrib = role.attribguiicon = element guiicon { guiicon.attlist, (smallcptr.char.mix | accel)* }# end of guiicon.elementguiicon.attlist &= moreinfo.attrib, common.attrib, guiicon.role.attrib, local.guiicon.attrib# end of guiicon.attlist# end of guiicon.modulelocal.guilabel.attrib = emptyguilabel.role.attrib = role.attribguilabel = element guilabel { guilabel.attlist, (smallcptr.char.mix | accel)* }# end of guilabel.elementguilabel.attlist &= moreinfo.attrib, common.attrib, guilabel.role.attrib, local.guilabel.attrib# end of guilabel.attlist# end of guilabel.modulelocal.guimenu.attrib = emptyguimenu.role.attrib = role.attribguimenu = element guimenu { guimenu.attlist, (smallcptr.char.mix | accel)* }# end of guimenu.elementguimenu.attlist &= moreinfo.attrib, common.attrib, guimenu.role.attrib, local.guimenu.attrib# end of guimenu.attlist# end of guimenu.modulelocal.guimenuitem.attrib = emptyguimenuitem.role.attrib = role.attribguimenuitem = element guimenuitem { guimenuitem.attlist, (smallcptr.char.mix | accel)* }# end of guimenuitem.elementguimenuitem.attlist &= moreinfo.attrib, common.attrib, guimenuitem.role.attrib, local.guimenuitem.attrib# end of guimenuitem.attlist# end of guimenuitem.modulelocal.guisubmenu.attrib = emptyguisubmenu.role.attrib = role.attribguisubmenu = element guisubmenu { guisubmenu.attlist, (smallcptr.char.mix | accel)* }# end of guisubmenu.elementguisubmenu.attlist &= moreinfo.attrib, common.attrib, guisubmenu.role.attrib, local.guisubmenu.attrib# end of guisubmenu.attlist# end of guisubmenu.modulelocal.hardware.attrib = emptyhardware.role.attrib = role.attribhardware = element hardware { hardware.attlist, cptr.char.mix* }# end of hardware.elementhardware.attlist &= moreinfo.attrib, common.attrib, hardware.role.attrib, local.hardware.attrib# end of hardware.attlist# end of hardware.modulelocal.interface.attrib = emptyinterface.role.attrib = role.attribinterface = element interface { interface.attlist, (smallcptr.char.mix | accel)* }# end of interface.element# Class: Type of the Interface item; no defaultinterface.attlist &= moreinfo.attrib, common.attrib, interface.role.attrib, local.interface.attrib# end of interface.attlist# end of interface.modulelocal.keycap.attrib = emptykeycap.role.attrib = role.attribkeycap = element keycap { keycap.attlist, cptr.char.mix* }# end of keycap.elementkeycap.attlist &= moreinfo.attrib, common.attrib, keycap.role.attrib, local.keycap.attrib# end of keycap.attlist# end of keycap.modulelocal.keycode.attrib = emptykeycode.role.attrib = role.attribkeycode = element keycode { keycode.attlist, smallcptr.char.mix* }# end of keycode.elementkeycode.attlist &= common.attrib, keycode.role.attrib, local.keycode.attrib# end of keycode.attlist# end of keycode.modulelocal.keycombo.attrib = emptykeycombo.role.attrib = role.attribkeycombo = element keycombo { keycombo.attlist, (keycap | keycombo | keysym | mousebutton)+ }# end of keycombo.elementkeycombo.attlist &= keyaction.attrib, moreinfo.attrib, common.attrib, keycombo.role.attrib, local.keycombo.attrib# end of keycombo.attlist# end of keycombo.modulelocal.keysym.attrib = emptykeysysm.role.attrib = role.attribkeysym = element keysym { keysym.attlist, smallcptr.char.mix* }# end of keysym.elementkeysym.attlist &= common.attrib, keysysm.role.attrib, local.keysym.attrib# end of keysym.attlist# end of keysym.modulelocal.lineannotation.attrib = emptylineannotation.role.attrib = role.attriblineannotation = element lineannotation { lineannotation.attlist, para.char.mix* }# end of lineannotation.elementlineannotation.attlist &= common.attrib, lineannotation.role.attrib, local.lineannotation.attrib# end of lineannotation.attlist# end of lineannotation.modulelocal.literal.attrib = emptyliteral.role.attrib = role.attribliteral = element literal { literal.attlist, cptr.char.mix* }# end of literal.elementliteral.attlist &= moreinfo.attrib, common.attrib, literal.role.attrib, local.literal.attrib# end of literal.attlist# end of literal.modulelocal.constant.attrib = emptyconstant.role.attrib = role.attribconstant = element constant { constant.attlist, smallcptr.char.mix* }# end of constant.elementconstant.attlist &= attribute class { "limit" }?, common.attrib, constant.role.attrib, local.constant.attrib# end of constant.attlist# end of constant.modulelocal.varname.attrib = emptyvarname.role.attrib = role.attribvarname = element varname { varname.attlist, smallcptr.char.mix* }# end of varname.elementvarname.attlist &= common.attrib, varname.role.attrib, local.varname.attrib# end of varname.attlist# end of varname.modulelocal.markup.attrib = emptymarkup.role.attrib = role.attribmarkup = element markup { markup.attlist, smallcptr.char.mix* }# end of markup.elementmarkup.attlist &= common.attrib, markup.role.attrib, local.markup.attrib# end of markup.attlist# end of markup.modulelocal.medialabel.attrib = emptymedialabel.role.attrib = role.attribmedialabel = element medialabel { medialabel.attlist, smallcptr.char.mix* }# end of medialabel.element# Class: Type of medium named by the element; no defaultmedialabel.attlist &= attribute class { "cartridge" | "cdrom" | "disk" | "tape" }?, common.attrib, medialabel.role.attrib, local.medialabel.attrib# end of medialabel.attlist# end of medialabel.modulelocal.menuchoice.attrib = emptymenuchoice.role.attrib = role.attribmenuchoice = element menuchoice { menuchoice.attlist, shortcut?, (guibutton | guiicon | guilabel | guimenu | guimenuitem | guisubmenu | interface)+ }# end of menuchoice.elementmenuchoice.attlist &= moreinfo.attrib, common.attrib, menuchoice.role.attrib, local.menuchoice.attrib# end of menuchoice.attlist# end of menuchoice.module# See also KeyCombolocal.shortcut.attrib = emptyshortcut.role.attrib = role.attribshortcut = element shortcut { shortcut.attlist, (keycap | keycombo | keysym | mousebutton)+ }# end of shortcut.elementshortcut.attlist &= keyaction.attrib, moreinfo.attrib, common.attrib, shortcut.role.attrib, local.shortcut.attrib# end of shortcut.attlist# end of shortcut.module# end of menuchoice.content.modulelocal.mousebutton.attrib = emptymousebutton.role.attrib = role.attribmousebutton = element mousebutton { mousebutton.attlist, smallcptr.char.mix* }# end of mousebutton.elementmousebutton.attlist &= moreinfo.attrib, common.attrib, mousebutton.role.attrib, local.mousebutton.attrib# end of mousebutton.attlist# end of mousebutton.modulelocal.msgtext.attrib = emptymsgtext.role.attrib = role.attribmsgtext = element msgtext { msgtext.attlist, component.mix+ }# end of msgtext.elementmsgtext.attlist &= common.attrib, msgtext.role.attrib, local.msgtext.attrib# end of msgtext.attlist# end of msgtext.modulelocal.option.attrib = emptyoption.role.attrib = role.attriboption = element option { option.attlist, cptr.char.mix* }# end of option.elementoption.attlist &= common.attrib, option.role.attrib, local.option.attrib# end of option.attlist# end of option.modulelocal.optional.attrib = emptyoptional.role.attrib = role.attriboptional = element optional { optional.attlist, cptr.char.mix* }# end of optional.elementoptional.attlist &= common.attrib, optional.role.attrib, local.optional.attrib# end of optional.attlist# end of optional.modulelocal.parameter.attrib = emptyparameter.role.attrib = role.attribparameter = element parameter { parameter.attlist, cptr.char.mix* }# end of parameter.element# Class: Type of the Parameter; no defaultparameter.attlist &= attribute class { "command" | "function" | "option" }?, moreinfo.attrib, common.attrib, parameter.role.attrib, local.parameter.attrib# end of parameter.attlist# end of parameter.modulelocal.prompt.attrib = emptyprompt.role.attrib = role.attribprompt = element prompt { prompt.attlist, (smallcptr.char.mix | co)* }# end of prompt.elementprompt.attlist &= moreinfo.attrib, common.attrib, prompt.role.attrib, local.prompt.attrib# end of prompt.attlist# end of prompt.modulelocal.property.attrib = emptyproperty.role.attrib = role.attribproperty = element property { property.attlist, cptr.char.mix* }# end of property.elementproperty.attlist &= moreinfo.attrib, common.attrib, property.role.attrib, local.property.attrib# end of property.attlist# end of property.modulelocal.replaceable.attrib = emptyreplaceable.role.attrib = role.attribreplaceable = element replaceable { replaceable.attlist, (text | link.char.class | optional | base.char.class | other.char.class | inlinegraphic | inlinemediaobject | co)* }# end of replaceable.element# Class: Type of information the element represents; no# defaultreplaceable.attlist &= attribute class { "command" | "function" | "option" | "parameter" }?, common.attrib, replaceable.role.attrib, local.replaceable.attrib# end of replaceable.attlist# end of replaceable.modulelocal.returnvalue.attrib = emptyreturnvalue.role.attrib = role.attribreturnvalue = element returnvalue { returnvalue.attlist, smallcptr.char.mix* }# end of returnvalue.elementreturnvalue.attlist &= common.attrib, returnvalue.role.attrib, local.returnvalue.attrib# end of returnvalue.attlist# end of returnvalue.modulelocal.sgmltag.attrib = emptysgmltag.role.attrib = role.attribsgmltag = element sgmltag { sgmltag.attlist, smallcptr.char.mix* }# end of sgmltag.element# Class: Type of SGML construct the element names; no defaultsgmltag.attlist &= attribute class { "attribute" | "attvalue" | "element" | "endtag" | "emptytag" | "genentity" | "numcharref" | "paramentity" | "pi" | "xmlpi" | "starttag" | "sgmlcomment" }?, common.attrib, sgmltag.role.attrib, local.sgmltag.attrib# end of sgmltag.attlist# end of sgmltag.modulelocal.structfield.attrib = emptystructfield.role.attrib = role.attribstructfield = element structfield { structfield.attlist, smallcptr.char.mix* }# end of structfield.elementstructfield.attlist &= common.attrib, structfield.role.attrib, local.structfield.attrib# end of structfield.attlist# end of structfield.modulelocal.structname.attrib = emptystructname.role.attrib = role.attribstructname = element structname { structname.attlist, smallcptr.char.mix* }# end of structname.elementstructname.attlist &= common.attrib, structname.role.attrib, local.structname.attrib# end of structname.attlist# end of structname.modulelocal.symbol.attrib = emptysymbol.role.attrib = role.attribsymbol = element symbol { symbol.attlist, smallcptr.char.mix* }# end of symbol.element# Class: Type of symbol; no defaultsymbol.attlist &= attribute class { "limit" }?, common.attrib, symbol.role.attrib, local.symbol.attrib# end of symbol.attlist# end of symbol.modulelocal.systemitem.attrib = emptysystemitem.role.attrib = role.attribsystemitem = element systemitem { systemitem.attlist, (cptr.char.mix | acronym | co)* }# end of systemitem.element# Class: Type of system item the element names; no defaultsystemitem.attlist &= attribute class { "constant" | "event" | "eventhandler" | "domainname" | "fqdomainname" | "ipaddress" | "netmask" | "etheraddress" | "groupname" | "library" | "macro" | "osname" | "filesystem" | "resource" | "systemname" | "username" | "newsgroup" }?, moreinfo.attrib, common.attrib, systemitem.role.attrib, local.systemitem.attrib# end of systemitem.attlist# end of systemitem.modulelocal.token.attrib = emptytoken.role.attrib = role.attrib\token = element token { token.attlist, smallcptr.char.mix* }# end of token.elementtoken.attlist &= common.attrib, token.role.attrib, local.token.attrib# end of token.attlist# end of token.modulelocal.type.attrib = emptytype.role.attrib = role.attribtype = element type { type.attlist, smallcptr.char.mix* }# end of type.elementtype.attlist &= common.attrib, type.role.attrib, local.type.attrib# end of type.attlist# end of type.modulelocal.userinput.attrib = emptyuserinput.role.attrib = role.attribuserinput = element userinput { userinput.attlist, (cptr.char.mix | co)* }# end of userinput.elementuserinput.attlist &= moreinfo.attrib, common.attrib, userinput.role.attrib, local.userinput.attrib# end of userinput.attlist# end of userinput.module# General words and phrases ............................................local.abbrev.attrib = emptyabbrev.role.attrib = role.attribabbrev = element abbrev { abbrev.attlist, word.char.mix* }# end of abbrev.elementabbrev.attlist &= common.attrib, abbrev.role.attrib, local.abbrev.attrib# end of abbrev.attlist# end of abbrev.modulelocal.acronym.attrib = emptyacronym.role.attrib = role.attribacronym = element acronym { acronym.attlist, word.char.mix* }# end of acronym.elementacronym.attlist &= common.attrib, acronym.role.attrib, local.acronym.attrib# end of acronym.attlist# end of acronym.modulelocal.citation.attrib = emptycitation.role.attrib = role.attribcitation = element citation { citation.attlist, para.char.mix* }# end of citation.elementcitation.attlist &= common.attrib, citation.role.attrib, local.citation.attrib# end of citation.attlist# end of citation.modulelocal.citerefentry.attrib = emptyciterefentry.role.attrib = role.attribciterefentry = element citerefentry { citerefentry.attlist, refentrytitle, manvolnum? }# end of citerefentry.elementciterefentry.attlist &= common.attrib, citerefentry.role.attrib, local.citerefentry.attrib# end of citerefentry.attlist# end of citerefentry.modulelocal.refentrytitle.attrib = emptyrefentrytitle.role.attrib = role.attribrefentrytitle = element refentrytitle { refentrytitle.attlist, para.char.mix* }# end of refentrytitle.elementrefentrytitle.attlist &= common.attrib, refentrytitle.role.attrib, local.refentrytitle.attrib# end of refentrytitle.attlist# end of refentrytitle.modulelocal.manvolnum.attrib = emptynamvolnum.role.attrib = role.attribmanvolnum = element manvolnum { manvolnum.attlist, word.char.mix* }# end of manvolnum.elementmanvolnum.attlist &= common.attrib, namvolnum.role.attrib, local.manvolnum.attrib# end of manvolnum.attlist# end of manvolnum.modulelocal.citetitle.attrib = emptycitetitle.role.attrib = role.attribcitetitle = element citetitle { citetitle.attlist, para.char.mix* }# end of citetitle.element# Pubwork: Genre of published work cited; no defaultcitetitle.attlist &= attribute pubwork { "article" | "book" | "chapter" | "part" | "refentry" | "section" | "journal" | "series" | "set" | "manuscript" }?, common.attrib, citetitle.role.attrib, local.citetitle.attrib# end of citetitle.attlist# end of citetitle.modulelocal.emphasis.attrib = emptyemphasis.role.attrib = role.attribemphasis = element emphasis { emphasis.attlist, para.char.mix* }# end of emphasis.elementemphasis.attlist &= common.attrib, emphasis.role.attrib, local.emphasis.attrib# end of emphasis.attlist# end of emphasis.modulelocal.firstterm.attrib = emptyfirstterm.role.attrib = role.attribfirstterm = element firstterm { firstterm.attlist, word.char.mix* }# end of firstterm.element# to GlossEntry or other explanationfirstterm.attlist &= linkend.attrib, common.attrib, firstterm.role.attrib, local.firstterm.attrib# end of firstterm.attlist# end of firstterm.modulelocal.foreignphrase.attrib = emptyforeignphrase.role.attrib = role.attribforeignphrase = element foreignphrase { foreignphrase.attlist, para.char.mix* }# end of foreignphrase.elementforeignphrase.attlist &= common.attrib, foreignphrase.role.attrib, local.foreignphrase.attrib# end of foreignphrase.attlist# end of foreignphrase.modulelocal.glossterm.attrib = emptyglossterm.role.attrib = role.attribglossterm = element glossterm { glossterm.attlist, para.char.mix* }# end of glossterm.element# to GlossEntry if Glossterm used in text# BaseForm: Provides the form of GlossTerm to be used# for indexingglossterm.attlist &= linkend.attrib, attribute baseform { text }?, common.attrib, glossterm.role.attrib, local.glossterm.attrib# end of glossterm.attlist# end of glossterm.modulelocal.phrase.attrib = emptyphrase.role.attrib = role.attribphrase = element phrase { phrase.attlist, para.char.mix* }# end of phrase.elementphrase.attlist &= common.attrib, phrase.role.attrib, local.phrase.attrib# end of phrase.attlist# end of phrase.modulelocal.quote.attrib = emptyquote.role.attrib = role.attribquote = element quote { quote.attlist, para.char.mix* }# end of quote.elementquote.attlist &= common.attrib, quote.role.attrib, local.quote.attrib# end of quote.attlist# end of quote.modulelocal.ssscript.attrib = emptyssscript.role.attrib = role.attribsubscript = element subscript { subscript.attlist, (text | link.char.class | emphasis | replaceable | symbol | inlinegraphic | inlinemediaobject | base.char.class | other.char.class)* }# end of subscript.elementsubscript.attlist &= common.attrib, ssscript.role.attrib, local.ssscript.attrib# end of subscript.attlistsuperscript = element superscript { superscript.attlist, (text | link.char.class | emphasis | replaceable | symbol | inlinegraphic | inlinemediaobject | base.char.class | other.char.class)* }# end of superscript.elementsuperscript.attlist &= common.attrib, ssscript.role.attrib, local.ssscript.attrib# end of superscript.attlist# end of ssscript.modulelocal.trademark.attrib = emptytrademark.role.attrib = role.attribtrademark = element trademark { trademark.attlist, (text | link.char.class | tech.char.class | base.char.class | other.char.class | inlinegraphic | inlinemediaobject | emphasis)* }# end of trademark.element# Class: More precisely identifies the item the element namestrademark.attlist &= [ a:defaultValue = "trade" ] attribute class { "service" | "trade" | "registered" | "copyright" }?, common.attrib, trademark.role.attrib, local.trademark.attrib# end of trademark.attlist# end of trademark.modulelocal.wordasword.attrib = emptywordasword.role.attrib = role.attribwordasword = element wordasword { wordasword.attlist, word.char.mix* }# end of wordasword.elementwordasword.attlist &= common.attrib, wordasword.role.attrib, local.wordasword.attrib# end of wordasword.attlist# end of wordasword.module# Links and cross-references ...........................................local.link.attrib = emptylink.role.attrib = role.attriblink = element link { link.attlist, para.char.mix* }# end of link.element# Endterm: ID of element containing text that is to be# fetched from elsewhere in the document to appear as# the content of this element# to linked-to object# Type: Freely assignable parameterlink.attlist &= attribute endterm { xsd:IDREF }?, linkendreq.attrib, attribute type { text }?, common.attrib, link.role.attrib, local.link.attrib# end of link.attlist# end of link.modulelocal.olink.attrib = emptyolink.role.attrib = role.attribolink = element olink { olink.attlist, para.char.mix* }# end of olink.element# TargetDocEnt: Name of an entity to be the target of the link# LinkMode: ID of a ModeSpec containing instructions for# operating on the entity named by TargetDocEnt# LocalInfo: Information that may be passed to ModeSpec# Type: Freely assignable parameterolink.attlist &= attribute targetdocent { xsd:ENTITY }?, attribute linkmode { xsd:IDREF }?, attribute localinfo { text }?, attribute type { text }?, attribute targetdoc { text }?, attribute targetptr { text }?, common.attrib, olink.role.attrib, local.olink.attrib# end of olink.attlist# end of olink.modulelocal.ulink.attrib = emptyulink.role.attrib = role.attribulink = element ulink { ulink.attlist, para.char.mix* }# end of ulink.element# URL: uniform resource locator; the target of the ULink# Type: Freely assignable parameterulink.attlist &= attribute url { text }, attribute type { text }?, common.attrib, ulink.role.attrib, local.ulink.attrib# end of ulink.attlist# end of ulink.modulelocal.footnoteref.attrib = emptyfootnoteref.role.attrib = role.attribfootnoteref = element footnoteref { footnoteref.attlist, empty }# end of footnoteref.element# to footnote content supplied elsewherefootnoteref.attlist &= linkendreq.attrib, label.attrib, common.attrib, footnoteref.role.attrib, local.footnoteref.attrib# end of footnoteref.attlist# end of footnoteref.modulelocal.xref.attrib = emptyxref.role.attrib = role.attribxref = element xref { xref.attlist, empty }# end of xref.element# Endterm: ID of element containing text that is to be# fetched from elsewhere in the document to appear as# the content of this element# to linked-to objectxref.attlist &= attribute endterm { xsd:IDREF }?, linkendreq.attrib, common.attrib, xref.role.attrib, local.xref.attrib# end of xref.attlist# end of xref.module# Ubiquitous elements ..................................................local.anchor.attrib = emptyanchor.role.attrib = role.attribanchor = element anchor { anchor.attlist, empty }# end of anchor.element# required# replaces Langanchor.attlist &= idreq.attrib, pagenum.attrib, remap.attrib, xreflabel.attrib, revisionflag.attrib, effectivity.attrib, anchor.role.attrib, local.anchor.attrib# end of anchor.attlist# end of anchor.modulelocal.beginpage.attrib = emptybeginpage.role.attrib = role.attribbeginpage = element beginpage { beginpage.attlist, empty }# end of beginpage.element# PageNum: Number of page that begins at this pointbeginpage.attlist &= pagenum.attrib, common.attrib, beginpage.role.attrib, local.beginpage.attrib# end of beginpage.attlist# end of beginpage.module# IndexTerms appear in the text flow for generating or linking an# index.local.indexterm.attrib = emptyindexterm.role.attrib = role.attribindexterm = element indexterm { indexterm.attlist, primary?, ((secondary, ((tertiary, (see | seealso+)?) | see | seealso+)?) | see | seealso+)? }# end of indexterm.element# Scope: Indicates which generated indices the IndexTerm# should appear in: Global (whole document set), Local (this# document only), or All (both)# Significance: Whether this IndexTerm is the most pertinent# of its series (Preferred) or not (Normal, the default)# Class: Indicates type of IndexTerm; default is Singular,# or EndOfRange if StartRef is supplied; StartOfRange value# must be supplied explicitly on starts of ranges# StartRef: ID of the IndexTerm that starts the indexing# range ended by this IndexTerm# Zone: IDs of the elements to which the IndexTerm applies,# and indicates that the IndexTerm applies to those entire# elements rather than the point at which the IndexTerm# occursindexterm.attlist &= pagenum.attrib, attribute scope { "all" | "global" | "local" }?, [ a:defaultValue = "normal" ] attribute significance { "preferred" | "normal" }?, attribute class { "singular" | "startofrange" | "endofrange" }?, attribute startref { xsd:IDREF }?, attribute zone { xsd:IDREFS }?, common.attrib, indexterm.role.attrib, local.indexterm.attrib# end of indexterm.attlist# end of indexterm.modulelocal.primsecter.attrib = emptyprimsecter.role.attrib = role.attribprimary = element primary { primary.attlist, ndxterm.char.mix* }# end of primary.element# SortAs: Alternate sort string for index sorting, e.g.,# "fourteen" for an element containing "14"primary.attlist &= attribute sortas { text }?, common.attrib, primsecter.role.attrib, local.primsecter.attrib# end of primary.attlistsecondary = element secondary { secondary.attlist, ndxterm.char.mix* }# end of secondary.element# SortAs: Alternate sort string for index sorting, e.g.,# "fourteen" for an element containing "14"secondary.attlist &= attribute sortas { text }?, common.attrib, primsecter.role.attrib, local.primsecter.attrib# end of secondary.attlisttertiary = element tertiary { tertiary.attlist, ndxterm.char.mix* }# end of tertiary.element# SortAs: Alternate sort string for index sorting, e.g.,# "fourteen" for an element containing "14"tertiary.attlist &= attribute sortas { text }?, common.attrib, primsecter.role.attrib, local.primsecter.attrib# end of tertiary.attlist# end of primsecter.modulelocal.seeseealso.attrib = emptyseeseealso.role.attrib = role.attribsee = element see { see.attlist, ndxterm.char.mix* }# end of see.elementsee.attlist &= common.attrib, seeseealso.role.attrib, local.seeseealso.attrib# end of see.attlistseealso = element seealso { seealso.attlist, ndxterm.char.mix* }# end of seealso.elementseealso.attlist &= common.attrib, seeseealso.role.attrib, local.seeseealso.attrib# end of seealso.attlist# end of seeseealso.module# end of indexterm.content.module# End of DocBook XML information pool module V4.2 ......................# ......................................................................