Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
9705 lines (9685 sloc) 275 KB
<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
xmlns:s="http://www.ascc.net/xml/schematron"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<!-- ...................................................................... -->
<!-- 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.rng,v 1.4 2002/12/27 18:55:03 nwalsh 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 ................................... -->
<define name="yesorno.attvals">
<data type="string"/>
</define>
<!-- ...................................................................... -->
<!-- Entities for module inclusions ....................................... -->
<!-- ...................................................................... -->
<!-- Entities for element classes and mixtures ............................ -->
<!-- "Ubiquitous" classes: ndxterm.class and beginpage -->
<define name="local.ndxterm.class">
<notAllowed/>
</define>
<define name="ndxterm.class">
<choice>
<ref name="indexterm"/>
<ref name="local.ndxterm.class"/>
</choice>
</define>
<!-- Object-level classes ................................................. -->
<define name="local.list.class">
<notAllowed/>
</define>
<define name="list.class">
<choice>
<ref name="calloutlist"/>
<ref name="glosslist"/>
<ref name="itemizedlist"/>
<ref name="orderedlist"/>
<ref name="segmentedlist"/>
<ref name="simplelist"/>
<ref name="variablelist"/>
<ref name="local.list.class"/>
</choice>
</define>
<define name="local.admon.class">
<notAllowed/>
</define>
<define name="admon.class">
<choice>
<ref name="caution"/>
<ref name="important"/>
<ref name="note"/>
<ref name="tip"/>
<ref name="warning"/>
<ref name="local.admon.class"/>
</choice>
</define>
<define name="local.linespecific.class">
<notAllowed/>
</define>
<define name="linespecific.class">
<choice>
<ref name="literallayout"/>
<ref name="programlisting"/>
<ref name="programlistingco"/>
<ref name="screen"/>
<ref name="screenco"/>
<ref name="screenshot"/>
<ref name="local.linespecific.class"/>
</choice>
</define>
<define name="local.method.synop.class">
<notAllowed/>
</define>
<define name="method.synop.class">
<choice>
<ref name="constructorsynopsis"/>
<ref name="destructorsynopsis"/>
<ref name="methodsynopsis"/>
<ref name="local.method.synop.class"/>
</choice>
</define>
<define name="local.synop.class">
<notAllowed/>
</define>
<define name="synop.class">
<choice>
<ref name="synopsis"/>
<ref name="cmdsynopsis"/>
<ref name="funcsynopsis"/>
<ref name="classsynopsis"/>
<ref name="fieldsynopsis"/>
<ref name="method.synop.class"/>
<ref name="local.synop.class"/>
</choice>
</define>
<define name="local.para.class">
<notAllowed/>
</define>
<define name="para.class">
<choice>
<ref name="formalpara"/>
<ref name="para"/>
<ref name="simpara"/>
<ref name="local.para.class"/>
</choice>
</define>
<define name="local.informal.class">
<notAllowed/>
</define>
<define name="informal.class">
<choice>
<ref name="address"/>
<ref name="blockquote"/>
<ref name="graphic"/>
<ref name="graphicco"/>
<ref name="mediaobject"/>
<ref name="mediaobjectco"/>
<ref name="informalequation"/>
<ref name="informalexample"/>
<ref name="informalfigure"/>
<ref name="informaltable"/>
<ref name="local.informal.class"/>
</choice>
</define>
<define name="local.formal.class">
<notAllowed/>
</define>
<define name="formal.class">
<choice>
<ref name="equation"/>
<ref name="example"/>
<ref name="figure"/>
<ref name="table"/>
<ref name="local.formal.class"/>
</choice>
</define>
<!-- 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. -->
<define name="ebnf.block.hook">
<notAllowed/>
</define>
<define name="local.compound.class">
<notAllowed/>
</define>
<define name="compound.class">
<choice>
<ref name="msgset"/>
<ref name="procedure"/>
<ref name="sidebar"/>
<ref name="qandaset"/>
<ref name="ebnf.block.hook"/>
<ref name="local.compound.class"/>
</choice>
</define>
<define name="local.genobj.class">
<notAllowed/>
</define>
<define name="genobj.class">
<choice>
<ref name="anchor"/>
<ref name="bridgehead"/>
<ref name="remark"/>
<ref name="highlights"/>
<ref name="local.genobj.class"/>
</choice>
</define>
<define name="local.descobj.class">
<notAllowed/>
</define>
<define name="descobj.class">
<choice>
<ref name="abstract"/>
<ref name="authorblurb"/>
<ref name="epigraph"/>
<ref name="local.descobj.class"/>
</choice>
</define>
<!-- Character-level classes .............................................. -->
<define name="local.xref.char.class">
<notAllowed/>
</define>
<define name="xref.char.class">
<choice>
<ref name="footnoteref"/>
<ref name="xref"/>
<ref name="local.xref.char.class"/>
</choice>
</define>
<define name="local.gen.char.class">
<notAllowed/>
</define>
<define name="gen.char.class">
<choice>
<ref name="abbrev"/>
<ref name="acronym"/>
<ref name="citation"/>
<ref name="citerefentry"/>
<ref name="citetitle"/>
<ref name="emphasis"/>
<ref name="firstterm"/>
<ref name="foreignphrase"/>
<ref name="glossterm"/>
<ref name="footnote"/>
<ref name="phrase"/>
<ref name="quote"/>
<ref name="trademark"/>
<ref name="wordasword"/>
<ref name="personname"/>
<ref name="local.gen.char.class"/>
</choice>
</define>
<define name="local.link.char.class">
<notAllowed/>
</define>
<define name="link.char.class">
<choice>
<ref name="link"/>
<ref name="olink"/>
<ref name="ulink"/>
<ref name="local.link.char.class"/>
</choice>
</define>
<!-- 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. -->
<define name="ebnf.inline.hook">
<notAllowed/>
</define>
<define name="local.tech.char.class">
<notAllowed/>
</define>
<define name="tech.char.class">
<choice>
<ref name="action"/>
<ref name="application"/>
<ref name="classname"/>
<ref name="methodname"/>
<ref name="interfacename"/>
<ref name="exceptionname"/>
<ref name="ooclass"/>
<ref name="oointerface"/>
<ref name="ooexception"/>
<ref name="command"/>
<ref name="computeroutput"/>
<ref name="database"/>
<ref name="email"/>
<ref name="envar"/>
<ref name="errorcode"/>
<ref name="errorname"/>
<ref name="errortype"/>
<ref name="errortext"/>
<ref name="filename"/>
<ref name="function"/>
<ref name="guibutton"/>
<ref name="guiicon"/>
<ref name="guilabel"/>
<ref name="guimenu"/>
<ref name="guimenuitem"/>
<ref name="guisubmenu"/>
<ref name="hardware"/>
<ref name="interface"/>
<ref name="keycap"/>
<ref name="keycode"/>
<ref name="keycombo"/>
<ref name="keysym"/>
<ref name="literal"/>
<ref name="constant"/>
<ref name="markup"/>
<ref name="medialabel"/>
<ref name="menuchoice"/>
<ref name="mousebutton"/>
<ref name="option"/>
<ref name="optional"/>
<ref name="parameter"/>
<ref name="prompt"/>
<ref name="property"/>
<ref name="replaceable"/>
<ref name="returnvalue"/>
<ref name="sgmltag"/>
<ref name="structfield"/>
<ref name="structname"/>
<ref name="symbol"/>
<ref name="systemitem"/>
<ref name="token"/>
<ref name="type"/>
<ref name="userinput"/>
<ref name="varname"/>
<ref name="ebnf.inline.hook"/>
<ref name="local.tech.char.class"/>
</choice>
</define>
<define name="local.base.char.class">
<notAllowed/>
</define>
<define name="base.char.class">
<choice>
<ref name="anchor"/>
<ref name="local.base.char.class"/>
</choice>
</define>
<define name="local.docinfo.char.class">
<notAllowed/>
</define>
<define name="docinfo.char.class">
<choice>
<ref name="author"/>
<ref name="authorinitials"/>
<ref name="corpauthor"/>
<ref name="modespec"/>
<ref name="othercredit"/>
<ref name="productname"/>
<ref name="productnumber"/>
<ref name="revhistory"/>
<ref name="local.docinfo.char.class"/>
</choice>
</define>
<define name="local.other.char.class">
<notAllowed/>
</define>
<define name="other.char.class">
<choice>
<ref name="remark"/>
<ref name="subscript"/>
<ref name="superscript"/>
<ref name="local.other.char.class"/>
</choice>
</define>
<define name="local.inlineobj.char.class">
<notAllowed/>
</define>
<define name="inlineobj.char.class">
<choice>
<ref name="inlinegraphic"/>
<ref name="inlinemediaobject"/>
<ref name="inlineequation"/>
<ref name="local.inlineobj.char.class"/>
</choice>
</define>
<!-- ...................................................................... -->
<!-- Entities for content models .......................................... -->
<define name="formalobject.title.content">
<ref name="title"/>
<optional>
<ref name="titleabbrev"/>
</optional>
</define>
<!-- 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.
-->
<define name="local.component.mix">
<notAllowed/>
</define>
<define name="component.mix">
<choice>
<ref name="list.class"/>
<ref name="admon.class"/>
<ref name="linespecific.class"/>
<ref name="synop.class"/>
<ref name="para.class"/>
<ref name="informal.class"/>
<ref name="formal.class"/>
<ref name="compound.class"/>
<ref name="genobj.class"/>
<ref name="descobj.class"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.component.mix"/>
</choice>
</define>
<define name="local.sidebar.mix">
<notAllowed/>
</define>
<define name="sidebar.mix">
<choice>
<ref name="list.class"/>
<ref name="admon.class"/>
<ref name="linespecific.class"/>
<ref name="synop.class"/>
<ref name="para.class"/>
<ref name="informal.class"/>
<ref name="formal.class"/>
<ref name="procedure"/>
<ref name="genobj.class"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.sidebar.mix"/>
</choice>
</define>
<define name="local.qandaset.mix">
<notAllowed/>
</define>
<define name="qandaset.mix">
<choice>
<ref name="list.class"/>
<ref name="admon.class"/>
<ref name="linespecific.class"/>
<ref name="synop.class"/>
<ref name="para.class"/>
<ref name="informal.class"/>
<ref name="formal.class"/>
<ref name="procedure"/>
<ref name="genobj.class"/>
<ref name="ndxterm.class"/>
<ref name="local.qandaset.mix"/>
</choice>
</define>
<define name="local.revdescription.mix">
<notAllowed/>
</define>
<define name="revdescription.mix">
<choice>
<ref name="list.class"/>
<ref name="admon.class"/>
<ref name="linespecific.class"/>
<ref name="synop.class"/>
<ref name="para.class"/>
<ref name="informal.class"/>
<ref name="formal.class"/>
<ref name="procedure"/>
<ref name="genobj.class"/>
<ref name="ndxterm.class"/>
<ref name="local.revdescription.mix"/>
</choice>
</define>
<define name="local.footnote.mix">
<notAllowed/>
</define>
<define name="footnote.mix">
<choice>
<ref name="list.class"/>
<ref name="linespecific.class"/>
<ref name="synop.class"/>
<ref name="para.class"/>
<ref name="informal.class"/>
<ref name="local.footnote.mix"/>
</choice>
</define>
<define name="local.example.mix">
<notAllowed/>
</define>
<define name="example.mix">
<choice>
<ref name="list.class"/>
<ref name="linespecific.class"/>
<ref name="synop.class"/>
<ref name="para.class"/>
<ref name="informal.class"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.example.mix"/>
</choice>
</define>
<define name="local.highlights.mix">
<notAllowed/>
</define>
<define name="highlights.mix">
<choice>
<ref name="list.class"/>
<ref name="admon.class"/>
<ref name="para.class"/>
<ref name="ndxterm.class"/>
<ref name="local.highlights.mix"/>
</choice>
</define>
<!-- %formal.class; is explicitly excluded from many contexts in which
paragraphs are used -->
<define name="local.para.mix">
<notAllowed/>
</define>
<define name="para.mix">
<choice>
<ref name="list.class"/>
<ref name="admon.class"/>
<ref name="linespecific.class"/>
<ref name="informal.class"/>
<ref name="formal.class"/>
<ref name="local.para.mix"/>
</choice>
</define>
<define name="local.admon.mix">
<notAllowed/>
</define>
<define name="admon.mix">
<choice>
<ref name="list.class"/>
<ref name="linespecific.class"/>
<ref name="synop.class"/>
<ref name="para.class"/>
<ref name="informal.class"/>
<ref name="formal.class"/>
<ref name="procedure"/>
<ref name="sidebar"/>
<ref name="anchor"/>
<ref name="bridgehead"/>
<ref name="remark"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.admon.mix"/>
</choice>
</define>
<define name="local.figure.mix">
<notAllowed/>
</define>
<define name="figure.mix">
<choice>
<ref name="linespecific.class"/>
<ref name="synop.class"/>
<ref name="informal.class"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.figure.mix"/>
</choice>
</define>
<define name="local.tabentry.mix">
<notAllowed/>
</define>
<define name="tabentry.mix">
<choice>
<ref name="list.class"/>
<ref name="admon.class"/>
<ref name="linespecific.class"/>
<ref name="para.class"/>
<ref name="graphic"/>
<ref name="mediaobject"/>
<ref name="local.tabentry.mix"/>
</choice>
</define>
<define name="local.glossdef.mix">
<notAllowed/>
</define>
<define name="glossdef.mix">
<choice>
<ref name="list.class"/>
<ref name="linespecific.class"/>
<ref name="synop.class"/>
<ref name="para.class"/>
<ref name="informal.class"/>
<ref name="formal.class"/>
<ref name="remark"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.glossdef.mix"/>
</choice>
</define>
<define name="local.legalnotice.mix">
<notAllowed/>
</define>
<define name="legalnotice.mix">
<choice>
<ref name="list.class"/>
<ref name="admon.class"/>
<ref name="linespecific.class"/>
<ref name="para.class"/>
<ref name="blockquote"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.legalnotice.mix"/>
</choice>
</define>
<define name="local.textobject.mix">
<notAllowed/>
</define>
<define name="textobject.mix">
<choice>
<ref name="list.class"/>
<ref name="admon.class"/>
<ref name="linespecific.class"/>
<ref name="para.class"/>
<ref name="blockquote"/>
<ref name="local.textobject.mix"/>
</choice>
</define>
<define name="local.mediaobject.mix">
<notAllowed/>
</define>
<define name="mediaobject.mix">
<choice>
<ref name="videoobject"/>
<ref name="audioobject"/>
<ref name="imageobject"/>
<ref name="textobject"/>
<ref name="local.mediaobject.mix"/>
</choice>
</define>
<define name="local.listpreamble.mix">
<notAllowed/>
</define>
<define name="listpreamble.mix">
<choice>
<ref name="admon.class"/>
<ref name="linespecific.class"/>
<ref name="synop.class"/>
<ref name="para.class"/>
<ref name="informal.class"/>
<ref name="genobj.class"/>
<ref name="descobj.class"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.listpreamble.mix"/>
</choice>
</define>
<!-- 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. -->
<define name="forminlines.hook">
<notAllowed/>
</define>
<define name="local.para.char.mix">
<notAllowed/>
</define>
<define name="para.char.mix">
<choice>
<text/>
<ref name="xref.char.class"/>
<ref name="gen.char.class"/>
<ref name="link.char.class"/>
<ref name="tech.char.class"/>
<ref name="base.char.class"/>
<ref name="docinfo.char.class"/>
<ref name="other.char.class"/>
<ref name="inlineobj.char.class"/>
<ref name="synop.class"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="forminlines.hook"/>
<ref name="local.para.char.mix"/>
</choice>
</define>
<define name="local.title.char.mix">
<notAllowed/>
</define>
<define name="title.char.mix">
<choice>
<text/>
<ref name="xref.char.class"/>
<ref name="gen.char.class"/>
<ref name="link.char.class"/>
<ref name="tech.char.class"/>
<ref name="base.char.class"/>
<ref name="docinfo.char.class"/>
<ref name="other.char.class"/>
<ref name="inlineobj.char.class"/>
<ref name="ndxterm.class"/>
<ref name="local.title.char.mix"/>
</choice>
</define>
<define name="local.ndxterm.char.mix">
<notAllowed/>
</define>
<define name="ndxterm.char.mix">
<choice>
<text/>
<ref name="xref.char.class"/>
<ref name="gen.char.class"/>
<ref name="link.char.class"/>
<ref name="tech.char.class"/>
<ref name="base.char.class"/>
<ref name="docinfo.char.class"/>
<ref name="other.char.class"/>
<ref name="inlinegraphic"/>
<ref name="inlinemediaobject"/>
<ref name="local.ndxterm.char.mix"/>
</choice>
</define>
<define name="local.cptr.char.mix">
<notAllowed/>
</define>
<define name="cptr.char.mix">
<choice>
<text/>
<ref name="link.char.class"/>
<ref name="tech.char.class"/>
<ref name="base.char.class"/>
<ref name="other.char.class"/>
<ref name="inlinegraphic"/>
<ref name="inlinemediaobject"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.cptr.char.mix"/>
</choice>
</define>
<define name="local.smallcptr.char.mix">
<notAllowed/>
</define>
<define name="smallcptr.char.mix">
<choice>
<text/>
<ref name="replaceable"/>
<ref name="inlinegraphic"/>
<ref name="inlinemediaobject"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.smallcptr.char.mix"/>
</choice>
</define>
<define name="local.word.char.mix">
<notAllowed/>
</define>
<define name="word.char.mix">
<choice>
<text/>
<ref name="acronym"/>
<ref name="emphasis"/>
<ref name="trademark"/>
<ref name="link.char.class"/>
<ref name="base.char.class"/>
<ref name="other.char.class"/>
<ref name="inlinegraphic"/>
<ref name="inlinemediaobject"/>
<ref name="ndxterm.class"/>
<ref name="beginpage"/>
<ref name="local.word.char.mix"/>
</choice>
</define>
<define name="local.docinfo.char.mix">
<notAllowed/>
</define>
<define name="docinfo.char.mix">
<choice>
<text/>
<ref name="link.char.class"/>
<ref name="emphasis"/>
<ref name="trademark"/>
<ref name="replaceable"/>
<ref name="other.char.class"/>
<ref name="inlinegraphic"/>
<ref name="inlinemediaobject"/>
<ref name="ndxterm.class"/>
<ref name="local.docinfo.char.mix"/>
</choice>
</define>
<!--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
default -->
<define name="arch.attrib">
<optional>
<attribute name="arch"/>
</optional>
</define>
<!-- Condition: General-purpose effectivity attribute -->
<define name="condition.attrib">
<optional>
<attribute name="condition"/>
</optional>
</define>
<!-- Conformance: Standards conformance characteristics -->
<define name="conformance.attrib">
<optional>
<attribute name="conformance">
<data type="NMTOKENS"/>
</attribute>
</optional>
</define>
<!-- OS: Operating system to which element applies; no default -->
<define name="os.attrib">
<optional>
<attribute name="os"/>
</optional>
</define>
<!-- Revision: Editorial revision to which element belongs; no default -->
<define name="revision.attrib">
<optional>
<attribute name="revision"/>
</optional>
</define>
<!-- Security: Security classification; no default -->
<define name="security.attrib">
<optional>
<attribute name="security"/>
</optional>
</define>
<!-- UserLevel: Level of user experience to which element applies; no
default -->
<define name="userlevel.attrib">
<optional>
<attribute name="userlevel"/>
</optional>
</define>
<!-- Vendor: Computer vendor to which element applies; no default -->
<define name="vendor.attrib">
<optional>
<attribute name="vendor"/>
</optional>
</define>
<define name="local.effectivity.attrib">
<empty/>
</define>
<define name="effectivity.attrib">
<ref name="arch.attrib"/>
<ref name="condition.attrib"/>
<ref name="conformance.attrib"/>
<ref name="os.attrib"/>
<ref name="revision.attrib"/>
<ref name="security.attrib"/>
<ref name="userlevel.attrib"/>
<ref name="vendor.attrib"/>
<ref name="local.effectivity.attrib"/>
</define>
<!-- Common attributes .................................................... -->
<!-- Id: Unique identifier of element; no default -->
<define name="id.attrib">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
</define>
<!-- Id: Unique identifier of element; a value must be supplied; no
default -->
<define name="idreq.attrib">
<attribute name="id">
<data type="ID"/>
</attribute>
</define>
<!-- Lang: Indicator of language in which element is written, for
translation, character set management, etc.; no default -->
<define name="lang.attrib">
<optional>
<attribute name="lang"/>
</optional>
</define>
<!-- Remap: Previous role of element before conversion; no default -->
<define name="remap.attrib">
<optional>
<attribute name="remap"/>
</optional>
</define>
<!-- Role: New role of element in local environment; no default -->
<define name="role.attrib">
<optional>
<attribute name="role"/>
</optional>
</define>
<!-- XRefLabel: Alternate labeling string for XRef text generation;
default is usually title or other appropriate label text already
contained in element -->
<define name="xreflabel.attrib">
<optional>
<attribute name="xreflabel"/>
</optional>
</define>
<!-- RevisionFlag: Revision status of element; default is that element
wasn't revised -->
<define name="revisionflag.attrib">
<optional>
<attribute name="revisionflag">
<choice>
<value>changed</value>
<value>added</value>
<value>deleted</value>
<value>off</value>
</choice>
</attribute>
</optional>
</define>
<define name="local.common.attrib">
<empty/>
</define>
<!-- Role is included explicitly on each element -->
<define name="common.attrib">
<ref name="id.attrib"/>
<ref name="lang.attrib"/>
<ref name="remap.attrib"/>
<ref name="xreflabel.attrib"/>
<ref name="revisionflag.attrib"/>
<ref name="effectivity.attrib"/>
<ref name="local.common.attrib"/>
</define>
<!-- Role is included explicitly on each element -->
<define name="idreq.common.attrib">
<ref name="idreq.attrib"/>
<ref name="lang.attrib"/>
<ref name="remap.attrib"/>
<ref name="xreflabel.attrib"/>
<ref name="revisionflag.attrib"/>
<ref name="effectivity.attrib"/>
<ref name="local.common.attrib"/>
</define>
<!-- Semi-common attributes and other attribute entities .................. -->
<define name="local.graphics.attrib">
<empty/>
</define>
<!-- 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 scalefit -->
<define name="graphics.attrib">
<optional>
<attribute name="entityref">
<data type="ENTITY"/>
</attribute>
</optional>
<optional>
<attribute name="fileref"/>
</optional>
<optional>
<attribute name="format">
<choice>
<ref name="notation.class"/>
</choice>
</attribute>
</optional>
<optional>
<attribute name="srccredit"/>
</optional>
<optional>
<attribute name="width"/>
</optional>
<optional>
<attribute name="contentwidth"/>
</optional>
<optional>
<attribute name="depth"/>
</optional>
<optional>
<attribute name="contentdepth"/>
</optional>
<optional>
<attribute name="align">
<choice>
<value>left</value>
<value>right</value>
<value>center</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="valign">
<choice>
<value>top</value>
<value>middle</value>
<value>bottom</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="scale"/>
</optional>
<optional>
<attribute name="scalefit">
<ref name="yesorno.attvals"/>
</attribute>
</optional>
<ref name="local.graphics.attrib"/>
</define>
<define name="local.keyaction.attrib">
<empty/>
</define>
<!-- 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 type -->
<define name="keyaction.attrib">
<optional>
<attribute name="action">
<choice>
<value>click</value>
<value>double-click</value>
<value>press</value>
<value>seq</value>
<value>simul</value>
<value>other</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="otheraction"/>
</optional>
<ref name="local.keyaction.attrib"/>
</define>
<!-- Label: Identifying number or string; default is usually the
appropriate number or string autogenerated by a formatter -->
<define name="label.attrib">
<optional>
<attribute name="label"/>
</optional>
</define>
<!-- Format: whether element is assumed to contain significant white
space -->
<define name="linespecific.attrib">
<optional>
<attribute name="format" a:defaultValue="linespecific">
<choice>
<value>linespecific</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="linenumbering">
<choice>
<value>numbered</value>
<value>unnumbered</value>
</choice>
</attribute>
</optional>
</define>
<!-- Linkend: link to related information; no default -->
<define name="linkend.attrib">
<optional>
<attribute name="linkend">
<data type="IDREF"/>
</attribute>
</optional>
</define>
<!-- Linkend: required link to related information -->
<define name="linkendreq.attrib">
<attribute name="linkend">
<data type="IDREF"/>
</attribute>
</define>
<!-- Linkends: link to one or more sets of related information; no
default -->
<define name="linkends.attrib">
<optional>
<attribute name="linkends">
<data type="IDREFS"/>
</attribute>
</optional>
</define>
<define name="local.mark.attrib">
<empty/>
</define>
<define name="mark.attrib">
<optional>
<attribute name="mark"/>
</optional>
<ref name="local.mark.attrib"/>
</define>
<!-- MoreInfo: whether element's content has an associated RefEntry -->
<define name="moreinfo.attrib">
<optional>
<attribute name="moreinfo" a:defaultValue="none">
<choice>
<value>refentry</value>
<value>none</value>
</choice>
</attribute>
</optional>
</define>
<!-- Pagenum: number of page on which element appears; no default -->
<define name="pagenum.attrib">
<optional>
<attribute name="pagenum"/>
</optional>
</define>
<define name="local.status.attrib">
<empty/>
</define>
<!-- Status: Editorial or publication status of the element
it applies to, such as "in review" or "approved for distribution" -->
<define name="status.attrib">
<optional>
<attribute name="status"/>
</optional>
<ref name="local.status.attrib"/>
</define>
<!-- Width: width of the longest line in the element to which it
pertains, in number of characters -->
<define name="width.attrib">
<optional>
<attribute name="width"/>
</optional>
</define>
<!-- ...................................................................... -->
<!-- Title elements ....................................................... -->
<define name="local.title.attrib">
<empty/>
</define>
<define name="title.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="title">
<element name="title">
<ref name="title.attlist"/>
<zeroOrMore>
<ref name="title.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of title.element-->
<define name="title.attlist" combine="interleave">
<ref name="pagenum.attrib"/>
<ref name="common.attrib"/>
<ref name="title.role.attrib"/>
<ref name="local.title.attrib"/>
</define>
<!--end of title.attlist-->
<!--end of title.module-->
<define name="local.titleabbrev.attrib">
<empty/>
</define>
<define name="titleabbrev.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="titleabbrev">
<element name="titleabbrev">
<ref name="titleabbrev.attlist"/>
<zeroOrMore>
<ref name="title.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of titleabbrev.element-->
<define name="titleabbrev.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="titleabbrev.role.attrib"/>
<ref name="local.titleabbrev.attrib"/>
</define>
<!--end of titleabbrev.attlist-->
<!--end of titleabbrev.module-->
<define name="local.subtitle.attrib">
<empty/>
</define>
<define name="subtitle.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="subtitle">
<element name="subtitle">
<ref name="subtitle.attlist"/>
<zeroOrMore>
<ref name="title.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of subtitle.element-->
<define name="subtitle.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="subtitle.role.attrib"/>
<ref name="local.subtitle.attrib"/>
</define>
<!--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. -->
<define name="local.person.ident.mix">
<notAllowed/>
</define>
<define name="person.ident.mix">
<choice>
<ref name="honorific"/>
<ref name="firstname"/>
<ref name="surname"/>
<ref name="lineage"/>
<ref name="othername"/>
<ref name="affiliation"/>
<ref name="authorblurb"/>
<ref name="contrib"/>
<ref name="local.person.ident.mix"/>
</choice>
</define>
<define name="local.bibliocomponent.mix">
<notAllowed/>
</define>
<define name="bibliocomponent.mix">
<choice>
<ref name="abbrev"/>
<ref name="abstract"/>
<ref name="address"/>
<ref name="artpagenums"/>
<ref name="author"/>
<ref name="authorgroup"/>
<ref name="authorinitials"/>
<ref name="bibliomisc"/>
<ref name="biblioset"/>
<ref name="collab"/>
<ref name="confgroup"/>
<ref name="contractnum"/>
<ref name="contractsponsor"/>
<ref name="copyright"/>
<ref name="corpauthor"/>
<ref name="corpname"/>
<ref name="date"/>
<ref name="edition"/>
<ref name="editor"/>
<ref name="invpartnumber"/>
<ref name="isbn"/>
<ref name="issn"/>
<ref name="issuenum"/>
<ref name="orgname"/>
<ref name="biblioid"/>
<ref name="citebiblioid"/>
<ref name="bibliosource"/>
<ref name="bibliorelation"/>
<ref name="bibliocoverage"/>
<ref name="othercredit"/>
<ref name="pagenums"/>
<ref name="printhistory"/>
<ref name="productname"/>
<ref name="productnumber"/>
<ref name="pubdate"/>
<ref name="publisher"/>
<ref name="publishername"/>
<ref name="pubsnumber"/>
<ref name="releaseinfo"/>
<ref name="revhistory"/>
<ref name="seriesvolnums"/>
<ref name="subtitle"/>
<ref name="title"/>
<ref name="titleabbrev"/>
<ref name="volumenum"/>
<ref name="citetitle"/>
<ref name="personname"/>
<ref name="person.ident.mix"/>
<ref name="ndxterm.class"/>
<ref name="local.bibliocomponent.mix"/>
</choice>
</define>
<!-- I don't think this is well placed, but it needs to be here because of -->
<!-- the reference to bibliocomponent.mix -->
<define name="local.info.class">
<notAllowed/>
</define>
<define name="info.class">
<choice>
<ref name="graphic"/>
<ref name="mediaobject"/>
<ref name="legalnotice"/>
<ref name="modespec"/>
<ref name="subjectset"/>
<ref name="keywordset"/>
<ref name="itermset"/>
<ref name="bibliocomponent.mix"/>
<ref name="local.info.class"/>
</choice>
</define>
<define name="local.biblioentry.attrib">
<empty/>
</define>
<define name="biblioentry.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="biblioentry">
<element name="biblioentry">
<ref name="biblioentry.attlist"/>
<oneOrMore>
<choice>
<ref name="articleinfo"/>
<ref name="bibliocomponent.mix"/>
</choice>
</oneOrMore>
</element>
</define>
<!--end of biblioentry.element-->
<define name="biblioentry.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="biblioentry.role.attrib"/>
<ref name="local.biblioentry.attrib"/>
</define>
<!--end of biblioentry.attlist-->
<!--end of biblioentry.module-->
<define name="local.bibliomixed.attrib">
<empty/>
</define>
<define name="bibliomixed.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="bibliomixed">
<element name="bibliomixed">
<ref name="bibliomixed.attlist"/>
<zeroOrMore>
<choice>
<text/>
<ref name="bibliocomponent.mix"/>
<ref name="bibliomset"/>
</choice>
</zeroOrMore>
</element>
</define>
<!--end of bibliomixed.element-->
<define name="bibliomixed.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="bibliomixed.role.attrib"/>
<ref name="local.bibliomixed.attrib"/>
</define>
<!--end of bibliomixed.attlist-->
<!--end of bibliomixed.module-->
<define name="local.articleinfo.attrib">
<empty/>
</define>
<define name="articleinfo.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="articleinfo">
<element name="articleinfo">
<ref name="articleinfo.attlist"/>
<oneOrMore>
<ref name="info.class"/>
</oneOrMore>
</element>
</define>
<!--end of articleinfo.element-->
<define name="articleinfo.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="articleinfo.role.attrib"/>
<ref name="local.articleinfo.attrib"/>
</define>
<!--end of articleinfo.attlist-->
<!--end of articleinfo.module-->
<define name="local.biblioset.attrib">
<empty/>
</define>
<define name="biblioset.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="biblioset">
<element name="biblioset">
<ref name="biblioset.attlist"/>
<oneOrMore>
<ref name="bibliocomponent.mix"/>
</oneOrMore>
</element>
</define>
<!--end of biblioset.element-->
<!-- Relation: Relationship of elements contained within BiblioSet -->
<define name="biblioset.attlist" combine="interleave">
<optional>
<attribute name="relation"/>
</optional>
<ref name="common.attrib"/>
<ref name="biblioset.role.attrib"/>
<ref name="local.biblioset.attrib"/>
</define>
<!--end of biblioset.attlist-->
<!--end of biblioset.module-->
<define name="bibliomset.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="local.bibliomset.attrib">
<empty/>
</define>
<define name="bibliomset">
<element name="bibliomset">
<ref name="bibliomset.attlist"/>
<zeroOrMore>
<choice>
<text/>
<ref name="bibliocomponent.mix"/>
<ref name="bibliomset"/>
</choice>
</zeroOrMore>
</element>
</define>
<!--end of bibliomset.element-->
<!-- Relation: Relationship of elements contained within BiblioMSet -->
<define name="bibliomset.attlist" combine="interleave">
<optional>
<attribute name="relation"/>
</optional>
<ref name="common.attrib"/>
<ref name="bibliomset.role.attrib"/>
<ref name="local.bibliomset.attrib"/>
</define>
<!--end of bibliomset.attlist-->
<!--end of bibliomset.module-->
<define name="local.bibliomisc.attrib">
<empty/>
</define>
<define name="bibliomisc.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="bibliomisc">
<element name="bibliomisc">
<ref name="bibliomisc.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of bibliomisc.element-->
<define name="bibliomisc.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="bibliomisc.role.attrib"/>
<ref name="local.bibliomisc.attrib"/>
</define>
<!--end of bibliomisc.attlist-->
<!--end of bibliomisc.module-->
<!-- ...................................................................... -->
<!-- Subject, Keyword, and ITermSet elements .............................. -->
<define name="local.subjectset.attrib">
<empty/>
</define>
<define name="subjectset.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="subjectset">
<element name="subjectset">
<ref name="subjectset.attlist"/>
<oneOrMore>
<ref name="subject"/>
</oneOrMore>
</element>
</define>
<!--end of subjectset.element-->
<!-- Scheme: Controlled vocabulary employed in SubjectTerms -->
<define name="subjectset.attlist" combine="interleave">
<optional>
<attribute name="scheme">
<data type="NMTOKEN"/>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="subjectset.role.attrib"/>
<ref name="local.subjectset.attrib"/>
</define>
<!--end of subjectset.attlist-->
<!--end of subjectset.module-->
<define name="local.subject.attrib">
<empty/>
</define>
<define name="subject.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="subject">
<element name="subject">
<ref name="subject.attlist"/>
<oneOrMore>
<ref name="subjectterm"/>
</oneOrMore>
</element>
</define>
<!--end of subject.element-->
<!-- Weight: Ranking of this group of SubjectTerms relative
to others, 0 is low, no highest value specified -->
<define name="subject.attlist" combine="interleave">
<optional>
<attribute name="weight"/>
</optional>
<ref name="common.attrib"/>
<ref name="subject.role.attrib"/>
<ref name="local.subject.attrib"/>
</define>
<!--end of subject.attlist-->
<!--end of subject.module-->
<define name="local.subjectterm.attrib">
<empty/>
</define>
<define name="subjectterm.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="subjectterm">
<element name="subjectterm">
<ref name="subjectterm.attlist"/>
<text/>
</element>
</define>
<!--end of subjectterm.element-->
<define name="subjectterm.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="subjectterm.role.attrib"/>
<ref name="local.subjectterm.attrib"/>
</define>
<!--end of subjectterm.attlist-->
<!--end of subjectterm.module-->
<!--end of subjectset.content.module-->
<define name="local.keywordset.attrib">
<empty/>
</define>
<define name="keywordset.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="keywordset">
<element name="keywordset">
<ref name="keywordset.attlist"/>
<oneOrMore>
<ref name="keyword"/>
</oneOrMore>
</element>
</define>
<!--end of keywordset.element-->
<define name="keywordset.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="keywordset.role.attrib"/>
<ref name="local.keywordset.attrib"/>
</define>
<!--end of keywordset.attlist-->
<!--end of keywordset.module-->
<define name="local.keyword.attrib">
<empty/>
</define>
<define name="keyword.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="keyword">
<element name="keyword">
<ref name="keyword.attlist"/>
<text/>
</element>
</define>
<!--end of keyword.element-->
<define name="keyword.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="keyword.role.attrib"/>
<ref name="local.keyword.attrib"/>
</define>
<!--end of keyword.attlist-->
<!--end of keyword.module-->
<!--end of keywordset.content.module-->
<define name="local.itermset.attrib">
<empty/>
</define>
<define name="itermset.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="itermset">
<element name="itermset">
<ref name="itermset.attlist"/>
<oneOrMore>
<ref name="indexterm"/>
</oneOrMore>
</element>
</define>
<!--end of itermset.element-->
<define name="itermset.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="itermset.role.attrib"/>
<ref name="local.itermset.attrib"/>
</define>
<!--end of itermset.attlist-->
<!--end of itermset.module-->
<!-- Bibliographic info for "blocks" -->
<define name="local.blockinfo.attrib">
<empty/>
</define>
<define name="blockinfo.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="blockinfo">
<element name="blockinfo">
<ref name="blockinfo.attlist"/>
<oneOrMore>
<ref name="info.class"/>
</oneOrMore>
</element>
</define>
<!--end of blockinfo.element-->
<define name="blockinfo.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="blockinfo.role.attrib"/>
<ref name="local.blockinfo.attrib"/>
</define>
<!--end of blockinfo.attlist-->
<!--end of blockinfo.module-->
<!-- ...................................................................... -->
<!-- Compound (section-ish) elements ...................................... -->
<!-- Message set ...................... -->
<define name="local.msgset.attrib">
<empty/>
</define>
<define name="msgset.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msgset">
<element name="msgset">
<ref name="msgset.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<choice>
<oneOrMore>
<ref name="msgentry"/>
</oneOrMore>
<oneOrMore>
<ref name="simplemsgentry"/>
</oneOrMore>
</choice>
</element>
</define>
<!--end of msgset.element-->
<define name="msgset.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msgset.role.attrib"/>
<ref name="local.msgset.attrib"/>
</define>
<!--end of msgset.attlist-->
<!--end of msgset.module-->
<define name="local.msgentry.attrib">
<empty/>
</define>
<define name="msgentry.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msgentry">
<element name="msgentry">
<ref name="msgentry.attlist"/>
<oneOrMore>
<ref name="msg"/>
</oneOrMore>
<optional>
<ref name="msginfo"/>
</optional>
<zeroOrMore>
<ref name="msgexplan"/>
</zeroOrMore>
</element>
</define>
<!--end of msgentry.element-->
<define name="msgentry.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msgentry.role.attrib"/>
<ref name="local.msgentry.attrib"/>
</define>
<!--end of msgentry.attlist-->
<!--end of msgentry.module-->
<define name="local.simplemsgentry.attrib">
<empty/>
</define>
<define name="simplemsgentry.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="simplemsgentry">
<element name="simplemsgentry">
<ref name="simplemsgentry.attlist"/>
<ref name="msgtext"/>
<oneOrMore>
<ref name="msgexplan"/>
</oneOrMore>
</element>
</define>
<!--end of simplemsgentry.element-->
<define name="simplemsgentry.attlist" combine="interleave">
<optional>
<attribute name="audience"/>
</optional>
<optional>
<attribute name="level"/>
</optional>
<optional>
<attribute name="origin"/>
</optional>
<ref name="common.attrib"/>
<ref name="simplemsgentry.role.attrib"/>
<ref name="local.simplemsgentry.attrib"/>
</define>
<!--end of simplemsgentry.attlist-->
<!--end of simplemsgentry.module-->
<define name="local.msg.attrib">
<empty/>
</define>
<define name="msg.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msg">
<element name="msg">
<ref name="msg.attlist"/>
<optional>
<ref name="title"/>
</optional>
<ref name="msgmain"/>
<zeroOrMore>
<choice>
<ref name="msgsub"/>
<ref name="msgrel"/>
</choice>
</zeroOrMore>
</element>
</define>
<!--end of msg.element-->
<define name="msg.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msg.role.attrib"/>
<ref name="local.msg.attrib"/>
</define>
<!--end of msg.attlist-->
<!--end of msg.module-->
<define name="local.msgmain.attrib">
<empty/>
</define>
<define name="msgmain.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msgmain">
<element name="msgmain">
<ref name="msgmain.attlist"/>
<optional>
<ref name="title"/>
</optional>
<ref name="msgtext"/>
</element>
</define>
<!--end of msgmain.element-->
<define name="msgmain.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msgmain.role.attrib"/>
<ref name="local.msgmain.attrib"/>
</define>
<!--end of msgmain.attlist-->
<!--end of msgmain.module-->
<define name="local.msgsub.attrib">
<empty/>
</define>
<define name="msgsub.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msgsub">
<element name="msgsub">
<ref name="msgsub.attlist"/>
<optional>
<ref name="title"/>
</optional>
<ref name="msgtext"/>
</element>
</define>
<!--end of msgsub.element-->
<define name="msgsub.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msgsub.role.attrib"/>
<ref name="local.msgsub.attrib"/>
</define>
<!--end of msgsub.attlist-->
<!--end of msgsub.module-->
<define name="local.msgrel.attrib">
<empty/>
</define>
<define name="msgrel.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msgrel">
<element name="msgrel">
<ref name="msgrel.attlist"/>
<optional>
<ref name="title"/>
</optional>
<ref name="msgtext"/>
</element>
</define>
<!--end of msgrel.element-->
<define name="msgrel.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msgrel.role.attrib"/>
<ref name="local.msgrel.attrib"/>
</define>
<!--end of msgrel.attlist-->
<!--end of msgrel.module-->
<!-- MsgText (defined in the Inlines section, below)-->
<define name="local.msginfo.attrib">
<empty/>
</define>
<define name="msginfo.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msginfo">
<element name="msginfo">
<ref name="msginfo.attlist"/>
<zeroOrMore>
<choice>
<ref name="msglevel"/>
<ref name="msgorig"/>
<ref name="msgaud"/>
</choice>
</zeroOrMore>
</element>
</define>
<!--end of msginfo.element-->
<define name="msginfo.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msginfo.role.attrib"/>
<ref name="local.msginfo.attrib"/>
</define>
<!--end of msginfo.attlist-->
<!--end of msginfo.module-->
<define name="local.msglevel.attrib">
<empty/>
</define>
<define name="msglevel.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msglevel">
<element name="msglevel">
<ref name="msglevel.attlist"/>
<zeroOrMore>
<ref name="smallcptr.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of msglevel.element-->
<define name="msglevel.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msglevel.role.attrib"/>
<ref name="local.msglevel.attrib"/>
</define>
<!--end of msglevel.attlist-->
<!--end of msglevel.module-->
<define name="local.msgorig.attrib">
<empty/>
</define>
<define name="msgorig.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msgorig">
<element name="msgorig">
<ref name="msgorig.attlist"/>
<zeroOrMore>
<ref name="smallcptr.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of msgorig.element-->
<define name="msgorig.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msgorig.role.attrib"/>
<ref name="local.msgorig.attrib"/>
</define>
<!--end of msgorig.attlist-->
<!--end of msgorig.module-->
<define name="local.msgaud.attrib">
<empty/>
</define>
<define name="msgaud.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msgaud">
<element name="msgaud">
<ref name="msgaud.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of msgaud.element-->
<define name="msgaud.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msgaud.role.attrib"/>
<ref name="local.msgaud.attrib"/>
</define>
<!--end of msgaud.attlist-->
<!--end of msgaud.module-->
<define name="local.msgexplan.attrib">
<empty/>
</define>
<define name="msgexplan.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="msgexplan">
<element name="msgexplan">
<ref name="msgexplan.attlist"/>
<optional>
<ref name="title"/>
</optional>
<oneOrMore>
<ref name="component.mix"/>
</oneOrMore>
</element>
</define>
<!--end of msgexplan.element-->
<define name="msgexplan.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="msgexplan.role.attrib"/>
<ref name="local.msgexplan.attrib"/>
</define>
<!--end of msgexplan.attlist-->
<!--end of msgexplan.module-->
<!--end of msgset.content.module-->
<!-- QandASet ........................ -->
<define name="local.qandaset.attrib">
<empty/>
</define>
<define name="qandaset.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="qandaset">
<element name="qandaset">
<ref name="qandaset.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<zeroOrMore>
<ref name="qandaset.mix"/>
</zeroOrMore>
<choice>
<oneOrMore>
<ref name="qandadiv"/>
</oneOrMore>
<oneOrMore>
<ref name="qandaentry"/>
</oneOrMore>
</choice>
</element>
</define>
<!--end of qandaset.element-->
<define name="qandaset.attlist" combine="interleave">
<optional>
<attribute name="defaultlabel">
<choice>
<value>qanda</value>
<value>number</value>
<value>none</value>
</choice>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="qandaset.role.attrib"/>
<ref name="local.qandaset.attrib"/>
</define>
<!--end of qandaset.attlist-->
<!--end of qandaset.module-->
<define name="local.qandadiv.attrib">
<empty/>
</define>
<define name="qandadiv.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="qandadiv">
<element name="qandadiv">
<ref name="qandadiv.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<zeroOrMore>
<ref name="qandaset.mix"/>
</zeroOrMore>
<choice>
<oneOrMore>
<ref name="qandadiv"/>
</oneOrMore>
<oneOrMore>
<ref name="qandaentry"/>
</oneOrMore>
</choice>
</element>
</define>
<!--end of qandadiv.element-->
<define name="qandadiv.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="qandadiv.role.attrib"/>
<ref name="local.qandadiv.attrib"/>
</define>
<!--end of qandadiv.attlist-->
<!--end of qandadiv.module-->
<define name="local.qandaentry.attrib">
<empty/>
</define>
<define name="qandaentry.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="qandaentry">
<element name="qandaentry">
<ref name="qandaentry.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<optional>
<ref name="revhistory"/>
</optional>
<ref name="question"/>
<zeroOrMore>
<ref name="answer"/>
</zeroOrMore>
</element>
</define>
<!--end of qandaentry.element-->
<define name="qandaentry.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="qandaentry.role.attrib"/>
<ref name="local.qandaentry.attrib"/>
</define>
<!--end of qandaentry.attlist-->
<!--end of qandaentry.module-->
<define name="local.question.attrib">
<empty/>
</define>
<define name="question.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="question">
<element name="question">
<ref name="question.attlist"/>
<optional>
<ref name="label"/>
</optional>
<oneOrMore>
<ref name="qandaset.mix"/>
</oneOrMore>
</element>
</define>
<!--end of question.element-->
<define name="question.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="question.role.attrib"/>
<ref name="local.question.attrib"/>
</define>
<!--end of question.attlist-->
<!--end of question.module-->
<define name="local.answer.attrib">
<empty/>
</define>
<define name="answer.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="answer">
<element name="answer">
<ref name="answer.attlist"/>
<optional>
<ref name="label"/>
</optional>
<zeroOrMore>
<ref name="qandaset.mix"/>
</zeroOrMore>
<zeroOrMore>
<ref name="qandaentry"/>
</zeroOrMore>
</element>
</define>
<!--end of answer.element-->
<define name="answer.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="answer.role.attrib"/>
<ref name="local.answer.attrib"/>
</define>
<!--end of answer.attlist-->
<!--end of answer.module-->
<define name="local.label.attrib">
<empty/>
</define>
<define name="label.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="label">
<element name="label">
<ref name="label.attlist"/>
<zeroOrMore>
<ref name="word.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of label.element-->
<define name="label.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="label.role.attrib"/>
<ref name="local.label.attrib"/>
</define>
<!--end of label.attlist-->
<!--end of label.module-->
<!--end of qandaset.content.module-->
<!-- Procedure ........................ -->
<define name="local.procedure.attrib">
<empty/>
</define>
<define name="procedure.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="procedure">
<element name="procedure">
<ref name="procedure.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<zeroOrMore>
<ref name="component.mix"/>
</zeroOrMore>
<oneOrMore>
<ref name="step"/>
</oneOrMore>
</element>
</define>
<!--end of procedure.element-->
<define name="procedure.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="procedure.role.attrib"/>
<ref name="local.procedure.attrib"/>
</define>
<!--end of procedure.attlist-->
<!--end of procedure.module-->
<define name="local.step.attrib">
<empty/>
</define>
<define name="step.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="step">
<element name="step">
<ref name="step.attlist"/>
<optional>
<ref name="title"/>
</optional>
<choice>
<group>
<oneOrMore>
<ref name="component.mix"/>
</oneOrMore>
<optional>
<ref name="substeps"/>
<zeroOrMore>
<ref name="component.mix"/>
</zeroOrMore>
</optional>
</group>
<group>
<ref name="substeps"/>
<zeroOrMore>
<ref name="component.mix"/>
</zeroOrMore>
</group>
</choice>
</element>
</define>
<!--end of step.element-->
<!-- Performance: Whether the Step must be performed -->
<!-- not #REQUIRED! -->
<define name="step.attlist" combine="interleave">
<optional>
<attribute name="performance" a:defaultValue="required">
<choice>
<value>optional</value>
<value>required</value>
</choice>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="step.role.attrib"/>
<ref name="local.step.attrib"/>
</define>
<!--end of step.attlist-->
<!--end of step.module-->
<define name="local.substeps.attrib">
<empty/>
</define>
<define name="substeps.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="substeps">
<element name="substeps">
<ref name="substeps.attlist"/>
<oneOrMore>
<ref name="step"/>
</oneOrMore>
</element>
</define>
<!--end of substeps.element-->
<!-- Performance: whether entire set of substeps must be performed -->
<!-- not #REQUIRED! -->
<define name="substeps.attlist" combine="interleave">
<optional>
<attribute name="performance" a:defaultValue="required">
<choice>
<value>optional</value>
<value>required</value>
</choice>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="substeps.role.attrib"/>
<ref name="local.substeps.attrib"/>
</define>
<!--end of substeps.attlist-->
<!--end of substeps.module-->
<!--end of procedure.content.module-->
<!-- Sidebar .......................... -->
<define name="local.sidebarinfo.attrib">
<empty/>
</define>
<define name="sidebarinfo.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="sidebarinfo">
<element name="sidebarinfo">
<ref name="sidebarinfo.attlist"/>
<oneOrMore>
<ref name="info.class"/>
</oneOrMore>
</element>
</define>
<!--end of sidebarinfo.element-->
<define name="sidebarinfo.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="sidebarinfo.role.attrib"/>
<ref name="local.sidebarinfo.attrib"/>
</define>
<!--end of sidebarinfo.attlist-->
<!--end of sidebarinfo.module-->
<define name="local.sidebar.attrib">
<empty/>
</define>
<define name="sidebar.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="sidebar">
<element name="sidebar">
<ref name="sidebar.attlist"/>
<optional>
<ref name="sidebarinfo"/>
</optional>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<oneOrMore>
<ref name="sidebar.mix"/>
</oneOrMore>
</element>
</define>
<!--end of sidebar.element-->
<define name="sidebar.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="sidebar.role.attrib"/>
<ref name="local.sidebar.attrib"/>
</define>
<!--end of sidebar.attlist-->
<!--end of sidebar.module-->
<!--end of sidebar.content.model-->
<!-- ...................................................................... -->
<!-- Paragraph-related elements ........................................... -->
<define name="local.abstract.attrib">
<empty/>
</define>
<define name="abstract.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="abstract">
<element name="abstract">
<ref name="abstract.attlist"/>
<optional>
<ref name="title"/>
</optional>
<oneOrMore>
<ref name="para.class"/>
</oneOrMore>
</element>
</define>
<!--end of abstract.element-->
<define name="abstract.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="abstract.role.attrib"/>
<ref name="local.abstract.attrib"/>
</define>
<!--end of abstract.attlist-->
<!--end of abstract.module-->
<define name="local.authorblurb.attrib">
<empty/>
</define>
<define name="authorblurb.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="authorblurb">
<element name="authorblurb">
<ref name="authorblurb.attlist"/>
<optional>
<ref name="title"/>
</optional>
<oneOrMore>
<ref name="para.class"/>
</oneOrMore>
</element>
</define>
<!--end of authorblurb.element-->
<define name="authorblurb.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="authorblurb.role.attrib"/>
<ref name="local.authorblurb.attrib"/>
</define>
<!--end of authorblurb.attlist-->
<!--end of authorblurb.module-->
<define name="local.personblurb.attrib">
<empty/>
</define>
<define name="personblurb.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="personblurb">
<element name="personblurb">
<ref name="personblurb.attlist"/>
<optional>
<ref name="title"/>
</optional>
<oneOrMore>
<ref name="para.class"/>
</oneOrMore>
</element>
</define>
<!--end of personblurb.element-->
<define name="personblurb.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="personblurb.role.attrib"/>
<ref name="local.personblurb.attrib"/>
</define>
<!--end of personblurb.attlist-->
<!--end of personblurb.module-->
<define name="local.blockquote.attrib">
<empty/>
</define>
<define name="blockquote.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="blockquote">
<element name="blockquote">
<ref name="blockquote.attlist"/>
<optional>
<ref name="title"/>
</optional>
<optional>
<ref name="attribution"/>
</optional>
<oneOrMore>
<ref name="component.mix"/>
</oneOrMore>
</element>
</define>
<!--end of blockquote.element-->
<define name="blockquote.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="blockquote.role.attrib"/>
<ref name="local.blockquote.attrib"/>
</define>
<!--end of blockquote.attlist-->
<!--end of blockquote.module-->
<define name="local.attribution.attrib">
<empty/>
</define>
<define name="attribution.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="attribution">
<element name="attribution">
<ref name="attribution.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of attribution.element-->
<define name="attribution.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="attribution.role.attrib"/>
<ref name="local.attribution.attrib"/>
</define>
<!--end of attribution.attlist-->
<!--end of attribution.module-->
<define name="local.bridgehead.attrib">
<empty/>
</define>
<define name="bridgehead.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="bridgehead">
<element name="bridgehead">
<ref name="bridgehead.attlist"/>
<zeroOrMore>
<ref name="title.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of bridgehead.element-->
<!-- Renderas: Indicates the format in which the BridgeHead
should appear -->
<define name="bridgehead.attlist" combine="interleave">
<optional>
<attribute name="renderas">
<choice>
<value>other</value>
<value>sect1</value>
<value>sect2</value>
<value>sect3</value>
<value>sect4</value>
<value>sect5</value>
</choice>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="bridgehead.role.attrib"/>
<ref name="local.bridgehead.attrib"/>
</define>
<!--end of bridgehead.attlist-->
<!--end of bridgehead.module-->
<define name="local.remark.attrib">
<empty/>
</define>
<define name="remark.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="remark">
<element name="remark">
<ref name="remark.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of remark.element-->
<define name="remark.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="remark.role.attrib"/>
<ref name="local.remark.attrib"/>
</define>
<!--end of remark.attlist-->
<!--end of remark.module-->
<define name="local.epigraph.attrib">
<empty/>
</define>
<define name="epigraph.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="epigraph">
<element name="epigraph">
<ref name="epigraph.attlist"/>
<optional>
<ref name="attribution"/>
</optional>
<oneOrMore>
<choice>
<ref name="para.class"/>
<ref name="literallayout"/>
</choice>
</oneOrMore>
</element>
</define>
<!--end of epigraph.element-->
<define name="epigraph.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="epigraph.role.attrib"/>
<ref name="local.epigraph.attrib"/>
</define>
<!--end of epigraph.attlist-->
<!-- Attribution (defined above)-->
<!--end of epigraph.module-->
<define name="local.footnote.attrib">
<empty/>
</define>
<define name="footnote.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="footnote">
<element name="footnote">
<ref name="footnote.attlist"/>
<oneOrMore>
<ref name="footnote.mix"/>
</oneOrMore>
<s:assert test="count(.//footnote) = 0"/>
</element>
</define>
<!--end of footnote.element-->
<define name="footnote.attlist" combine="interleave">
<ref name="label.attrib"/>
<ref name="common.attrib"/>
<ref name="footnote.role.attrib"/>
<ref name="local.footnote.attrib"/>
</define>
<!--end of footnote.attlist-->
<!--end of footnote.module-->
<define name="local.highlights.attrib">
<empty/>
</define>
<define name="highlights.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="highlights">
<element name="highlights">
<ref name="highlights.attlist"/>
<oneOrMore>
<ref name="highlights.mix"/>
</oneOrMore>
</element>
</define>
<!--end of highlights.element-->
<define name="highlights.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="highlights.role.attrib"/>
<ref name="local.highlights.attrib"/>
</define>
<!--end of highlights.attlist-->
<!--end of highlights.module-->
<define name="local.formalpara.attrib">
<empty/>
</define>
<define name="formalpara.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="formalpara">
<element name="formalpara">
<ref name="formalpara.attlist"/>
<ref name="title"/>
<zeroOrMore>
<ref name="ndxterm.class"/>
</zeroOrMore>
<ref name="para"/>
</element>
</define>
<!--end of formalpara.element-->
<define name="formalpara.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="formalpara.role.attrib"/>
<ref name="local.formalpara.attrib"/>
</define>
<!--end of formalpara.attlist-->
<!--end of formalpara.module-->
<define name="local.para.attrib">
<empty/>
</define>
<define name="para.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="para">
<element name="para">
<ref name="para.attlist"/>
<zeroOrMore>
<choice>
<ref name="para.char.mix"/>
<ref name="para.mix"/>
</choice>
</zeroOrMore>
</element>
</define>
<!--end of para.element-->
<define name="para.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="para.role.attrib"/>
<ref name="local.para.attrib"/>
</define>
<!--end of para.attlist-->
<!--end of para.module-->
<define name="local.simpara.attrib">
<empty/>
</define>
<define name="simpara.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="simpara">
<element name="simpara">
<ref name="simpara.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of simpara.element-->
<define name="simpara.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="simpara.role.attrib"/>
<ref name="local.simpara.attrib"/>
</define>
<!--end of simpara.attlist-->
<!--end of simpara.module-->
<define name="local.admon.attrib">
<empty/>
</define>
<define name="admon.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="caution">
<element name="caution">
<ref name="caution.attlist"/>
<optional>
<ref name="title"/>
</optional>
<oneOrMore>
<ref name="admon.mix"/>
</oneOrMore>
</element>
</define>
<!--end of caution.element-->
<define name="caution.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="admon.role.attrib"/>
<ref name="local.admon.attrib"/>
</define>
<!--end of caution.attlist-->
<define name="important">
<element name="important">
<ref name="important.attlist"/>
<optional>
<ref name="title"/>
</optional>
<oneOrMore>
<ref name="admon.mix"/>
</oneOrMore>
</element>
</define>
<!--end of important.element-->
<define name="important.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="admon.role.attrib"/>
<ref name="local.admon.attrib"/>
</define>
<!--end of important.attlist-->
<define name="note">
<element name="note">
<ref name="note.attlist"/>
<optional>
<ref name="title"/>
</optional>
<oneOrMore>
<ref name="admon.mix"/>
</oneOrMore>
</element>
</define>
<!--end of note.element-->
<define name="note.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="admon.role.attrib"/>
<ref name="local.admon.attrib"/>
</define>
<!--end of note.attlist-->
<define name="tip">
<element name="tip">
<ref name="tip.attlist"/>
<optional>
<ref name="title"/>
</optional>
<oneOrMore>
<ref name="admon.mix"/>
</oneOrMore>
</element>
</define>
<!--end of tip.element-->
<define name="tip.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="admon.role.attrib"/>
<ref name="local.admon.attrib"/>
</define>
<!--end of tip.attlist-->
<define name="warning">
<element name="warning">
<ref name="warning.attlist"/>
<optional>
<ref name="title"/>
</optional>
<oneOrMore>
<ref name="admon.mix"/>
</oneOrMore>
</element>
</define>
<!--end of warning.element-->
<define name="warning.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="admon.role.attrib"/>
<ref name="local.admon.attrib"/>
</define>
<!--end of warning.attlist-->
<!--end of admon.module-->
<!-- ...................................................................... -->
<!-- Lists ................................................................ -->
<!-- GlossList ........................ -->
<define name="local.glosslist.attrib">
<empty/>
</define>
<define name="glosslist.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="glosslist">
<element name="glosslist">
<ref name="glosslist.attlist"/>
<oneOrMore>
<ref name="glossentry"/>
</oneOrMore>
</element>
</define>
<!--end of glosslist.element-->
<define name="glosslist.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="glosslist.role.attrib"/>
<ref name="local.glosslist.attrib"/>
</define>
<!--end of glosslist.attlist-->
<!--end of glosslist.module-->
<define name="local.glossentry.attrib">
<empty/>
</define>
<define name="glossentry.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="glossentry">
<element name="glossentry">
<ref name="glossentry.attlist"/>
<ref name="glossterm"/>
<optional>
<ref name="acronym"/>
</optional>
<optional>
<ref name="abbrev"/>
</optional>
<zeroOrMore>
<ref name="ndxterm.class"/>
</zeroOrMore>
<optional>
<ref name="revhistory"/>
</optional>
<choice>
<ref name="glosssee"/>
<oneOrMore>
<ref name="glossdef"/>
</oneOrMore>
</choice>
</element>
</define>
<!--end of glossentry.element-->
<!-- SortAs: String by which the GlossEntry is to be sorted
(alphabetized) in lieu of its proper content -->
<define name="glossentry.attlist" combine="interleave">
<optional>
<attribute name="sortas"/>
</optional>
<ref name="common.attrib"/>
<ref name="glossentry.role.attrib"/>
<ref name="local.glossentry.attrib"/>
</define>
<!--end of glossentry.attlist-->
<!--end of glossentry.module-->
<!-- GlossTerm (defined in the Inlines section, below)-->
<define name="local.glossdef.attrib">
<empty/>
</define>
<define name="glossdef.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="glossdef">
<element name="glossdef">
<ref name="glossdef.attlist"/>
<oneOrMore>
<ref name="glossdef.mix"/>
</oneOrMore>
<zeroOrMore>
<ref name="glossseealso"/>
</zeroOrMore>
</element>
</define>
<!--end of glossdef.element-->
<!-- Subject: List of subjects; keywords for the definition -->
<define name="glossdef.attlist" combine="interleave">
<optional>
<attribute name="subject"/>
</optional>
<ref name="common.attrib"/>
<ref name="glossdef.role.attrib"/>
<ref name="local.glossdef.attrib"/>
</define>
<!--end of glossdef.attlist-->
<!--end of glossdef.module-->
<define name="local.glosssee.attrib">
<empty/>
</define>
<define name="glosssee.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="glosssee">
<element name="glosssee">
<ref name="glosssee.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of glosssee.element-->
<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
should be displayed at the point of the GlossSee -->
<define name="glosssee.attlist" combine="interleave">
<optional>
<attribute name="otherterm">
<data type="IDREF"/>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="glosssee.role.attrib"/>
<ref name="local.glosssee.attrib"/>
</define>
<!--end of glosssee.attlist-->
<!--end of glosssee.module-->
<define name="local.glossseealso.attrib">
<empty/>
</define>
<define name="glossseealso.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="glossseealso">
<element name="glossseealso">
<ref name="glossseealso.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of glossseealso.element-->
<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
should be displayed at the point of the GlossSeeAlso -->
<define name="glossseealso.attlist" combine="interleave">
<optional>
<attribute name="otherterm">
<data type="IDREF"/>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="glossseealso.role.attrib"/>
<ref name="local.glossseealso.attrib"/>
</define>
<!--end of glossseealso.attlist-->
<!--end of glossseealso.module-->
<!--end of glossentry.content.module-->
<!-- ItemizedList and OrderedList ..... -->
<define name="local.itemizedlist.attrib">
<empty/>
</define>
<define name="itemizedlist.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="itemizedlist">
<element name="itemizedlist">
<ref name="itemizedlist.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<zeroOrMore>
<ref name="listpreamble.mix"/>
</zeroOrMore>
<oneOrMore>
<ref name="listitem"/>
</oneOrMore>
</element>
</define>
<!--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 specific -->
<define name="itemizedlist.attlist" combine="interleave">
<optional>
<attribute name="spacing">
<choice>
<value>normal</value>
<value>compact</value>
</choice>
</attribute>
</optional>
<ref name="mark.attrib"/>
<ref name="common.attrib"/>
<ref name="itemizedlist.role.attrib"/>
<ref name="local.itemizedlist.attrib"/>
</define>
<!--end of itemizedlist.attlist-->
<!--end of itemizedlist.module-->
<define name="local.orderedlist.attrib">
<empty/>
</define>
<define name="orderedlist.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="orderedlist">
<element name="orderedlist">
<ref name="orderedlist.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<zeroOrMore>
<ref name="listpreamble.mix"/>
</zeroOrMore>
<oneOrMore>
<ref name="listitem"/>
</oneOrMore>
</element>
</define>
<!--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
compressed -->
<define name="orderedlist.attlist" combine="interleave">
<optional>
<attribute name="numeration">
<choice>
<value>arabic</value>
<value>upperalpha</value>
<value>loweralpha</value>
<value>upperroman</value>
<value>lowerroman</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="inheritnum" a:defaultValue="ignore">
<choice>
<value>inherit</value>
<value>ignore</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="continuation" a:defaultValue="restarts">
<choice>
<value>continues</value>
<value>restarts</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="spacing">
<choice>
<value>normal</value>
<value>compact</value>
</choice>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="orderedlist.role.attrib"/>
<ref name="local.orderedlist.attrib"/>
</define>
<!--end of orderedlist.attlist-->
<!--end of orderedlist.module-->
<define name="local.listitem.attrib">
<empty/>
</define>
<define name="listitem.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="listitem">
<element name="listitem">
<ref name="listitem.attlist"/>
<oneOrMore>
<ref name="component.mix"/>
</oneOrMore>
</element>
</define>
<!--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 ItemizedList -->
<define name="listitem.attlist" combine="interleave">
<optional>
<attribute name="override"/>
</optional>
<ref name="common.attrib"/>
<ref name="listitem.role.attrib"/>
<ref name="local.listitem.attrib"/>
</define>
<!--end of listitem.attlist-->
<!--end of listitem.module-->
<!-- SegmentedList .................... -->
<define name="local.segmentedlist.attrib">
<empty/>
</define>
<define name="segmentedlist.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="segmentedlist">
<element name="segmentedlist">
<ref name="segmentedlist.attlist"/>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<oneOrMore>
<ref name="segtitle"/>
</oneOrMore>
<oneOrMore>
<ref name="seglistitem"/>
</oneOrMore>
</element>
</define>
<!--end of segmentedlist.element-->
<define name="segmentedlist.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="segmentedlist.role.attrib"/>
<ref name="local.segmentedlist.attrib"/>
</define>
<!--end of segmentedlist.attlist-->
<!--end of segmentedlist.module-->
<define name="local.segtitle.attrib">
<empty/>
</define>
<define name="segtitle.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="segtitle">
<element name="segtitle">
<ref name="segtitle.attlist"/>
<zeroOrMore>
<ref name="title.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of segtitle.element-->
<define name="segtitle.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="segtitle.role.attrib"/>
<ref name="local.segtitle.attrib"/>
</define>
<!--end of segtitle.attlist-->
<!--end of segtitle.module-->
<define name="local.seglistitem.attrib">
<empty/>
</define>
<define name="seglistitem.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="seglistitem">
<element name="seglistitem">
<ref name="seglistitem.attlist"/>
<oneOrMore>
<ref name="seg"/>
</oneOrMore>
</element>
</define>
<!--end of seglistitem.element-->
<define name="seglistitem.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="seglistitem.role.attrib"/>
<ref name="local.seglistitem.attrib"/>
</define>
<!--end of seglistitem.attlist-->
<!--end of seglistitem.module-->
<define name="local.seg.attrib">
<empty/>
</define>
<define name="seg.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="seg">
<element name="seg">
<ref name="seg.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of seg.element-->
<define name="seg.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="seg.role.attrib"/>
<ref name="local.seg.attrib"/>
</define>
<!--end of seg.attlist-->
<!--end of seg.module-->
<!--end of segmentedlist.content.module-->
<!-- SimpleList ....................... -->
<define name="local.simplelist.attrib">
<empty/>
</define>
<define name="simplelist.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="simplelist">
<element name="simplelist">
<ref name="simplelist.attlist"/>
<oneOrMore>
<ref name="member"/>
</oneOrMore>
</element>
</define>
<!--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. -->
<define name="simplelist.attlist" combine="interleave">
<optional>
<attribute name="columns"/>
</optional>
<optional>
<attribute name="type" a:defaultValue="vert">
<choice>
<value>inline</value>
<value>vert</value>
<value>horiz</value>
</choice>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="simplelist.role.attrib"/>
<ref name="local.simplelist.attrib"/>
</define>
<!--end of simplelist.attlist-->
<!--end of simplelist.module-->
<define name="local.member.attrib">
<empty/>
</define>
<define name="member.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="member">
<element name="member">
<ref name="member.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of member.element-->
<define name="member.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="member.role.attrib"/>
<ref name="local.member.attrib"/>
</define>
<!--end of member.attlist-->
<!--end of member.module-->
<!--end of simplelist.content.module-->
<!-- VariableList ..................... -->
<define name="local.variablelist.attrib">
<empty/>
</define>
<define name="variablelist.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="variablelist">
<element name="variablelist">
<ref name="variablelist.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<zeroOrMore>
<ref name="listpreamble.mix"/>
</zeroOrMore>
<oneOrMore>
<ref name="varlistentry"/>
</oneOrMore>
</element>
</define>
<!--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. -->
<define name="variablelist.attlist" combine="interleave">
<optional>
<attribute name="termlength"/>
</optional>
<ref name="common.attrib"/>
<ref name="variablelist.role.attrib"/>
<ref name="local.variablelist.attrib"/>
</define>
<!--end of variablelist.attlist-->
<!--end of variablelist.module-->
<define name="local.varlistentry.attrib">
<empty/>
</define>
<define name="varlistentry.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="varlistentry">
<element name="varlistentry">
<ref name="varlistentry.attlist"/>
<oneOrMore>
<ref name="term"/>
</oneOrMore>
<ref name="listitem"/>
</element>
</define>
<!--end of varlistentry.element-->
<define name="varlistentry.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="varlistentry.role.attrib"/>
<ref name="local.varlistentry.attrib"/>
</define>
<!--end of varlistentry.attlist-->
<!--end of varlistentry.module-->
<define name="local.term.attrib">
<empty/>
</define>
<define name="term.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="term">
<element name="term">
<ref name="term.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of term.element-->
<define name="term.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="term.role.attrib"/>
<ref name="local.term.attrib"/>
</define>
<!--end of term.attlist-->
<!--end of term.module-->
<!-- ListItem (defined above)-->
<!--end of variablelist.content.module-->
<!-- CalloutList ...................... -->
<define name="local.calloutlist.attrib">
<empty/>
</define>
<define name="calloutlist.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="calloutlist">
<element name="calloutlist">
<ref name="calloutlist.attlist"/>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<oneOrMore>
<ref name="callout"/>
</oneOrMore>
</element>
</define>
<!--end of calloutlist.element-->
<define name="calloutlist.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="calloutlist.role.attrib"/>
<ref name="local.calloutlist.attrib"/>
</define>
<!--end of calloutlist.attlist-->
<!--end of calloutlist.module-->
<define name="local.callout.attrib">
<empty/>
</define>
<define name="callout.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="callout">
<element name="callout">
<ref name="callout.attlist"/>
<oneOrMore>
<ref name="component.mix"/>
</oneOrMore>
</element>
</define>
<!--end of callout.element-->
<!-- AreaRefs: IDs of one or more Areas or AreaSets described
by this Callout -->
<define name="callout.attlist" combine="interleave">
<attribute name="arearefs">
<data type="IDREFS"/>
</attribute>
<ref name="common.attrib"/>
<ref name="callout.role.attrib"/>
<ref name="local.callout.attrib"/>
</define>
<!--end of callout.attlist-->
<!--end of callout.module-->
<!--end of calloutlist.content.module-->
<!-- ...................................................................... -->
<!-- Objects .............................................................. -->
<!-- Examples etc. .................... -->
<define name="local.example.attrib">
<empty/>
</define>
<define name="example.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="example">
<element name="example">
<ref name="example.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<ref name="formalobject.title.content"/>
<oneOrMore>
<ref name="example.mix"/>
</oneOrMore>
</element>
</define>
<!--end of example.element-->
<define name="example.attlist" combine="interleave">
<ref name="label.attrib"/>
<ref name="width.attrib"/>
<ref name="common.attrib"/>
<ref name="example.role.attrib"/>
<ref name="local.example.attrib"/>
</define>
<!--end of example.attlist-->
<!--end of example.module-->
<define name="local.informalexample.attrib">
<empty/>
</define>
<define name="informalexample.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="informalexample">
<element name="informalexample">
<ref name="informalexample.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<oneOrMore>
<ref name="example.mix"/>
</oneOrMore>
</element>
</define>
<!--end of informalexample.element-->
<define name="informalexample.attlist" combine="interleave">
<ref name="width.attrib"/>
<ref name="common.attrib"/>
<ref name="informalexample.role.attrib"/>
<ref name="local.informalexample.attrib"/>
</define>
<!--end of informalexample.attlist-->
<!--end of informalexample.module-->
<define name="local.programlistingco.attrib">
<empty/>
</define>
<define name="programlistingco.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="programlistingco">
<element name="programlistingco">
<ref name="programlistingco.attlist"/>
<ref name="areaspec"/>
<ref name="programlisting"/>
<zeroOrMore>
<ref name="calloutlist"/>
</zeroOrMore>
</element>
</define>
<!--end of programlistingco.element-->
<define name="programlistingco.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="programlistingco.role.attrib"/>
<ref name="local.programlistingco.attrib"/>
</define>
<!--end of programlistingco.attlist-->
<!-- CalloutList (defined above in Lists)-->
<!--end of informalexample.module-->
<define name="local.areaspec.attrib">
<empty/>
</define>
<define name="areaspec.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="areaspec">
<element name="areaspec">
<ref name="areaspec.attlist"/>
<oneOrMore>
<choice>
<ref name="area"/>
<ref name="areaset"/>
</choice>
</oneOrMore>
</element>
</define>
<!--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 units -->
<define name="areaspec.attlist" combine="interleave">
<optional>
<attribute name="units">
<choice>
<value>calspair</value>
<value>linecolumn</value>
<value>linerange</value>
<value>linecolumnpair</value>
<value>other</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="otherunits">
<data type="NMTOKEN"/>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="areaspec.role.attrib"/>
<ref name="local.areaspec.attrib"/>
</define>
<!--end of areaspec.attlist-->
<!--end of areaspec.module-->
<define name="local.area.attrib">
<empty/>
</define>
<define name="area.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="area">
<element name="area">
<ref name="area.attlist"/>
<empty/>
</element>
</define>
<!--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 units -->
<define name="area.attlist" combine="interleave">
<ref name="label.attrib"/>
<ref name="linkends.attrib"/>
<optional>
<attribute name="units">
<choice>
<value>calspair</value>
<value>linecolumn</value>
<value>linerange</value>
<value>linecolumnpair</value>
<value>other</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="otherunits">
<data type="NMTOKEN"/>
</attribute>
</optional>
<attribute name="coords"/>
<ref name="idreq.common.attrib"/>
<ref name="area.role.attrib"/>
<ref name="local.area.attrib"/>
</define>
<!--end of area.attlist-->
<!--end of area.module-->
<define name="local.areaset.attrib">
<empty/>
</define>
<define name="areaset.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="areaset">
<element name="areaset">
<ref name="areaset.attlist"/>
<oneOrMore>
<ref name="area"/>
</oneOrMore>
</element>
</define>
<!--end of areaset.element-->
<!-- bug number/symbol override or initialization -->
<!-- Units: unit of measure in which coordinates in this
area are expressed; inherits from AreaSpec -->
<define name="areaset.attlist" combine="interleave">
<ref name="label.attrib"/>
<optional>
<attribute name="units">
<choice>
<value>calspair</value>
<value>linecolumn</value>
<value>linerange</value>
<value>linecolumnpair</value>
<value>other</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="otherunits">
<data type="NMTOKEN"/>
</attribute>
</optional>
<attribute name="coords"/>
<ref name="idreq.common.attrib"/>
<ref name="areaset.role.attrib"/>
<ref name="local.areaset.attrib"/>
</define>
<!--end of areaset.attlist-->
<!--end of areaset.module-->
<!--end of areaspec.content.module-->
<define name="local.programlisting.attrib">
<empty/>
</define>
<define name="programlisting.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="programlisting">
<element name="programlisting">
<ref name="programlisting.attlist"/>
<zeroOrMore>
<choice>
<ref name="para.char.mix"/>
<ref name="co"/>
<ref name="coref"/>
<ref name="lineannotation"/>
<ref name="textobject"/>
</choice>
</zeroOrMore>
</element>
</define>
<!--end of programlisting.element-->
<define name="programlisting.attlist" combine="interleave">
<ref name="width.attrib"/>
<ref name="linespecific.attrib"/>
<ref name="common.attrib"/>
<ref name="programlisting.role.attrib"/>
<ref name="local.programlisting.attrib"/>
</define>
<!--end of programlisting.attlist-->
<!--end of programlisting.module-->
<define name="local.literallayout.attrib">
<empty/>
</define>
<define name="literallayout.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="literallayout">
<element name="literallayout">
<ref name="literallayout.attlist"/>
<zeroOrMore>
<choice>
<ref name="para.char.mix"/>
<ref name="co"/>
<ref name="coref"/>
<ref name="textobject"/>
<ref name="lineannotation"/>
</choice>
</zeroOrMore>
</element>
</define>
<!--end of literallayout.element-->
<define name="literallayout.attlist" combine="interleave">
<ref name="width.attrib"/>
<ref name="linespecific.attrib"/>
<optional>
<attribute name="class" a:defaultValue="normal">
<choice>
<value>monospaced</value>
<value>normal</value>
</choice>
</attribute>
</optional>
<ref name="common.attrib"/>
<ref name="literallayout.role.attrib"/>
<ref name="local.literallayout.attrib"/>
</define>
<!--end of literallayout.attlist-->
<!-- LineAnnotation (defined in the Inlines section, below)-->
<!--end of literallayout.module-->
<define name="local.screenco.attrib">
<empty/>
</define>
<define name="screenco.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="screenco">
<element name="screenco">
<ref name="screenco.attlist"/>
<ref name="areaspec"/>
<ref name="screen"/>
<zeroOrMore>
<ref name="calloutlist"/>
</zeroOrMore>
</element>
</define>
<!--end of screenco.element-->
<define name="screenco.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="screenco.role.attrib"/>
<ref name="local.screenco.attrib"/>
</define>
<!--end of screenco.attlist-->
<!-- AreaSpec (defined above)-->
<!-- CalloutList (defined above in Lists)-->
<!--end of screenco.module-->
<define name="local.screen.attrib">
<empty/>
</define>
<define name="screen.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="screen">
<element name="screen">
<ref name="screen.attlist"/>
<zeroOrMore>
<choice>
<ref name="para.char.mix"/>
<ref name="co"/>
<ref name="coref"/>
<ref name="textobject"/>
<ref name="lineannotation"/>
</choice>
</zeroOrMore>
</element>
</define>
<!--end of screen.element-->
<define name="screen.attlist" combine="interleave">
<ref name="width.attrib"/>
<ref name="linespecific.attrib"/>
<ref name="common.attrib"/>
<ref name="screen.role.attrib"/>
<ref name="local.screen.attrib"/>
</define>
<!--end of screen.attlist-->
<!--end of screen.module-->
<define name="local.screenshot.attrib">
<empty/>
</define>
<define name="screenshot.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="screenshot">
<element name="screenshot">
<ref name="screenshot.attlist"/>
<optional>
<ref name="screeninfo"/>
</optional>
<choice>
<ref name="graphic"/>
<ref name="graphicco"/>
<ref name="mediaobject"/>
<ref name="mediaobjectco"/>
</choice>
</element>
</define>
<!--end of screenshot.element-->
<define name="screenshot.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="screenshot.role.attrib"/>
<ref name="local.screenshot.attrib"/>
</define>
<!--end of screenshot.attlist-->
<!--end of screenshot.module-->
<define name="local.screeninfo.attrib">
<empty/>
</define>
<define name="screeninfo.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="screeninfo">
<element name="screeninfo">
<ref name="screeninfo.attlist"/>
<zeroOrMore>
<ref name="para.char.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of screeninfo.element-->
<define name="screeninfo.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="screeninfo.role.attrib"/>
<ref name="local.screeninfo.attrib"/>
</define>
<!--end of screeninfo.attlist-->
<!--end of screeninfo.module-->
<!--end of screenshot.content.module-->
<!-- Figures etc. ..................... -->
<define name="local.figure.attrib">
<empty/>
</define>
<define name="figure.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="figure">
<element name="figure">
<ref name="figure.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<ref name="formalobject.title.content"/>
<oneOrMore>
<choice>
<ref name="figure.mix"/>
<ref name="link.char.class"/>
</choice>
</oneOrMore>
</element>
</define>
<!--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) -->
<define name="figure.attlist" combine="interleave">
<optional>
<attribute name="float" a:defaultValue="0">
<ref name="yesorno.attvals"/>
</attribute>
</optional>
<optional>
<attribute name="pgwide">
<ref name="yesorno.attvals"/>
</attribute>
</optional>
<ref name="label.attrib"/>
<ref name="common.attrib"/>
<ref name="figure.role.attrib"/>
<ref name="local.figure.attrib"/>
</define>
<!--end of figure.attlist-->
<!--end of figure.module-->
<define name="local.informalfigure.attrib">
<empty/>
</define>
<define name="informalfigure.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="informalfigure">
<element name="informalfigure">
<ref name="informalfigure.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<oneOrMore>
<choice>
<ref name="figure.mix"/>
<ref name="link.char.class"/>
</choice>
</oneOrMore>
</element>
</define>
<!--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)
-->
<define name="informalfigure.attlist" combine="interleave">
<optional>
<attribute name="float" a:defaultValue="0">
<ref name="yesorno.attvals"/>
</attribute>
</optional>
<optional>
<attribute name="pgwide">
<ref name="yesorno.attvals"/>
</attribute>
</optional>
<ref name="label.attrib"/>
<ref name="common.attrib"/>
<ref name="informalfigure.role.attrib"/>
<ref name="local.informalfigure.attrib"/>
</define>
<!--end of informalfigure.attlist-->
<!--end of informalfigure.module-->
<define name="local.graphicco.attrib">
<empty/>
</define>
<define name="graphicco.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="graphicco">
<element name="graphicco">
<ref name="graphicco.attlist"/>
<ref name="areaspec"/>
<ref name="graphic"/>
<zeroOrMore>
<ref name="calloutlist"/>
</zeroOrMore>
</element>
</define>
<!--end of graphicco.element-->
<define name="graphicco.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="graphicco.role.attrib"/>
<ref name="local.graphicco.attrib"/>
</define>
<!--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). -->
<define name="local.graphic.attrib">
<empty/>
</define>
<define name="graphic.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="graphic">
<element name="graphic">
<ref name="graphic.attlist"/>
<empty/>
</element>
</define>
<!--end of graphic.element-->
<define name="graphic.attlist" combine="interleave">
<ref name="graphics.attrib"/>
<ref name="common.attrib"/>
<ref name="graphic.role.attrib"/>
<ref name="local.graphic.attrib"/>
</define>
<!--end of graphic.attlist-->
<!--end of graphic.module-->
<define name="local.inlinegraphic.attrib">
<empty/>
</define>
<define name="inlinegraphic.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="inlinegraphic">
<element name="inlinegraphic">
<ref name="inlinegraphic.attlist"/>
<empty/>
</element>
</define>
<!--end of inlinegraphic.element-->
<define name="inlinegraphic.attlist" combine="interleave">
<ref name="graphics.attrib"/>
<ref name="common.attrib"/>
<ref name="inlinegraphic.role.attrib"/>
<ref name="local.inlinegraphic.attrib"/>
</define>
<!--end of inlinegraphic.attlist-->
<!--end of inlinegraphic.module-->
<define name="local.mediaobject.attrib">
<empty/>
</define>
<define name="mediaobject.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="mediaobject">
<element name="mediaobject">
<ref name="mediaobject.attlist"/>
<optional>
<ref name="objectinfo"/>
</optional>
<oneOrMore>
<ref name="mediaobject.mix"/>
</oneOrMore>
<optional>
<ref name="caption"/>
</optional>
</element>
</define>
<!--end of mediaobject.element-->
<define name="mediaobject.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="mediaobject.role.attrib"/>
<ref name="local.mediaobject.attrib"/>
</define>
<!--end of mediaobject.attlist-->
<!--end of mediaobject.module-->
<define name="local.inlinemediaobject.attrib">
<empty/>
</define>
<define name="inlinemediaobject.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="inlinemediaobject">
<element name="inlinemediaobject">
<ref name="inlinemediaobject.attlist"/>
<optional>
<ref name="objectinfo"/>
</optional>
<oneOrMore>
<ref name="mediaobject.mix"/>
</oneOrMore>
</element>
</define>
<!--end of inlinemediaobject.element-->
<define name="inlinemediaobject.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="inlinemediaobject.role.attrib"/>
<ref name="local.inlinemediaobject.attrib"/>
</define>
<!--end of inlinemediaobject.attlist-->
<!--end of inlinemediaobject.module-->
<define name="local.videoobject.attrib">
<empty/>
</define>
<define name="videoobject.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="videoobject">
<element name="videoobject">
<ref name="videoobject.attlist"/>
<optional>
<ref name="objectinfo"/>
</optional>
<ref name="videodata"/>
</element>
</define>
<!--end of videoobject.element-->
<define name="videoobject.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="videoobject.role.attrib"/>
<ref name="local.videoobject.attrib"/>
</define>
<!--end of videoobject.attlist-->
<!--end of videoobject.module-->
<define name="local.audioobject.attrib">
<empty/>
</define>
<define name="audioobject.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="audioobject">
<element name="audioobject">
<ref name="audioobject.attlist"/>
<optional>
<ref name="objectinfo"/>
</optional>
<ref name="audiodata"/>
</element>
</define>
<!--end of audioobject.element-->
<define name="audioobject.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="audioobject.role.attrib"/>
<ref name="local.audioobject.attrib"/>
</define>
<!--end of audioobject.attlist-->
<!--end of audioobject.module-->
<define name="local.imageobject.attrib">
<empty/>
</define>
<define name="imageobject.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="imageobject">
<element name="imageobject">
<ref name="imageobject.attlist"/>
<optional>
<ref name="objectinfo"/>
</optional>
<ref name="imagedata"/>
</element>
</define>
<!--end of imageobject.element-->
<define name="imageobject.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="imageobject.role.attrib"/>
<ref name="local.imageobject.attrib"/>
</define>
<!--end of imageobject.attlist-->
<!--end of imageobject.module-->
<define name="local.textobject.attrib">
<empty/>
</define>
<define name="textobject.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="textobject">
<element name="textobject">
<ref name="textobject.attlist"/>
<optional>
<ref name="objectinfo"/>
</optional>
<choice>
<ref name="phrase"/>
<ref name="textdata"/>
<oneOrMore>
<ref name="textobject.mix"/>
</oneOrMore>
</choice>
</element>
</define>
<!--end of textobject.element-->
<define name="textobject.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="textobject.role.attrib"/>
<ref name="local.textobject.attrib"/>
</define>
<!--end of textobject.attlist-->
<!--end of textobject.module-->
<define name="local.objectinfo.attrib">
<empty/>
</define>
<define name="objectinfo.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="objectinfo">
<element name="objectinfo">
<ref name="objectinfo.attlist"/>
<oneOrMore>
<ref name="info.class"/>
</oneOrMore>
</element>
</define>
<!--end of objectinfo.element-->
<define name="objectinfo.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="objectinfo.role.attrib"/>
<ref name="local.objectinfo.attrib"/>
</define>
<!--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 image-->
<define name="local.objectdata.attrib">
<empty/>
</define>
<define name="objectdata.attrib">
<optional>
<attribute name="entityref">
<data type="ENTITY"/>
</attribute>
</optional>
<optional>
<attribute name="fileref"/>
</optional>
<optional>
<attribute name="format">
<choice>
<ref name="notation.class"/>
</choice>
</attribute>
</optional>
<optional>
<attribute name="srccredit"/>
</optional>
<ref name="local.objectdata.attrib"/>
</define>
<define name="local.videodata.attrib">
<empty/>
</define>
<define name="videodata.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="videodata">
<element name="videodata">
<ref name="videodata.attlist"/>
<empty/>
</element>
</define>
<!--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 scalefit-->
<define name="videodata.attlist" combine="interleave">
<optional>
<attribute name="width"/>
</optional>
<optional>
<attribute name="contentwidth"/>
</optional>
<optional>
<attribute name="depth"/>
</optional>
<optional>
<attribute name="contentdepth"/>
</optional>
<optional>
<attribute name="align">
<choice>
<value>left</value>
<value>right</value>
<value>center</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="valign">
<choice>
<value>top</value>
<value>middle</value>
<value>bottom</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="scale"/>
</optional>
<optional>
<attribute name="scalefit">
<ref name="yesorno.attvals"/>
</attribute>
</optional>
<ref name="objectdata.attrib"/>
<ref name="common.attrib"/>
<ref name="videodata.role.attrib"/>
<ref name="local.videodata.attrib"/>
</define>
<!--end of videodata.attlist-->
<!--end of videodata.module-->
<define name="local.audiodata.attrib">
<empty/>
</define>
<define name="audiodata.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="audiodata">
<element name="audiodata">
<ref name="audiodata.attlist"/>
<empty/>
</element>
</define>
<!--end of audiodata.element-->
<define name="audiodata.attlist" combine="interleave">
<ref name="objectdata.attrib"/>
<ref name="common.attrib"/>
<ref name="audiodata.role.attrib"/>
<ref name="local.audiodata.attrib"/>
</define>
<!--end of audiodata.attlist-->
<!--end of audiodata.module-->
<define name="local.imagedata.attrib">
<empty/>
</define>
<define name="imagedata.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="imagedata">
<element name="imagedata">
<ref name="imagedata.attlist"/>
<empty/>
</element>
</define>
<!--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 scalefit-->
<define name="imagedata.attlist" combine="interleave">
<optional>
<attribute name="width"/>
</optional>
<optional>
<attribute name="contentwidth"/>
</optional>
<optional>
<attribute name="depth"/>
</optional>
<optional>
<attribute name="contentdepth"/>
</optional>
<optional>
<attribute name="align">
<choice>
<value>left</value>
<value>right</value>
<value>center</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="valign">
<choice>
<value>top</value>
<value>middle</value>
<value>bottom</value>
</choice>
</attribute>
</optional>
<optional>
<attribute name="scale"/>
</optional>
<optional>
<attribute name="scalefit">
<ref name="yesorno.attvals"/>
</attribute>
</optional>
<ref name="objectdata.attrib"/>
<ref name="common.attrib"/>
<ref name="imagedata.role.attrib"/>
<ref name="local.imagedata.attrib"/>
</define>
<!--end of imagedata.attlist-->
<!--end of imagedata.module-->
<define name="local.textdata.attrib">
<empty/>
</define>
<define name="textdata.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="textdata">
<element name="textdata">
<ref name="textdata.attlist"/>
<empty/>
</element>
</define>
<!--end of textdata.element-->
<define name="textdata.attlist" combine="interleave">
<optional>
<attribute name="encoding"/>
</optional>
<ref name="objectdata.attrib"/>
<ref name="common.attrib"/>
<ref name="textdata.role.attrib"/>
<ref name="local.textdata.attrib"/>
</define>
<!--end of textdata.attlist-->
<!--end of textdata.module-->
<define name="local.caption.attrib">
<empty/>
</define>
<define name="caption.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="caption">
<element name="caption">
<ref name="caption.attlist"/>
<zeroOrMore>
<ref name="textobject.mix"/>
</zeroOrMore>
</element>
</define>
<!--end of caption.element-->
<define name="caption.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="caption.role.attrib"/>
<ref name="local.caption.attrib"/>
</define>
<!--end of caption.attlist-->
<!--end of caption.module-->
<define name="local.mediaobjectco.attrib">
<empty/>
</define>
<define name="mediaobjectco.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="mediaobjectco">
<element name="mediaobjectco">
<ref name="mediaobjectco.attlist"/>
<optional>
<ref name="objectinfo"/>
</optional>
<ref name="imageobjectco"/>
<zeroOrMore>
<choice>
<ref name="imageobjectco"/>
<ref name="textobject"/>
</choice>
</zeroOrMore>
</element>
</define>
<!--end of mediaobjectco.element-->
<define name="mediaobjectco.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="mediaobjectco.role.attrib"/>
<ref name="local.mediaobjectco.attrib"/>
</define>
<!--end of mediaobjectco.attlist-->
<!--end of mediaobjectco.module-->
<define name="local.imageobjectco.attrib">
<empty/>
</define>
<define name="imageobjectco.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="imageobjectco">
<element name="imageobjectco">
<ref name="imageobjectco.attlist"/>
<ref name="areaspec"/>
<ref name="imageobject"/>
<zeroOrMore>
<ref name="calloutlist"/>
</zeroOrMore>
</element>
</define>
<!--end of imageobjectco.element-->
<define name="imageobjectco.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="imageobjectco.role.attrib"/>
<ref name="local.imageobjectco.attrib"/>
</define>
<!--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) -->
<define name="equation.content">
<optional>
<ref name="alt"/>
</optional>
<choice>
<oneOrMore>
<ref name="graphic"/>
</oneOrMore>
<oneOrMore>
<ref name="mediaobject"/>
</oneOrMore>
</choice>
</define>
<define name="inlineequation.content">
<optional>
<ref name="alt"/>
</optional>
<choice>
<oneOrMore>
<ref name="graphic"/>
</oneOrMore>
<oneOrMore>
<ref name="inlinemediaobject"/>
</oneOrMore>
</choice>
</define>
<define name="local.equation.attrib">
<empty/>
</define>
<define name="equation.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="equation">
<element name="equation">
<ref name="equation.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<optional>
<ref name="formalobject.title.content"/>
</optional>
<choice>
<ref name="informalequation"/>
<ref name="equation.content"/>
</choice>
</element>
</define>
<!--end of equation.element-->
<define name="equation.attlist" combine="interleave">
<ref name="label.attrib"/>
<ref name="common.attrib"/>
<ref name="equation.role.attrib"/>
<ref name="local.equation.attrib"/>
</define>
<!--end of equation.attlist-->
<!--end of equation.module-->
<define name="local.informalequation.attrib">
<empty/>
</define>
<define name="informalequation.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="informalequation">
<element name="informalequation">
<ref name="informalequation.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<ref name="equation.content"/>
</element>
</define>
<!--end of informalequation.element-->
<define name="informalequation.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="informalequation.role.attrib"/>
<ref name="local.informalequation.attrib"/>
</define>
<!--end of informalequation.attlist-->
<!--end of informalequation.module-->
<define name="local.inlineequation.attrib">
<empty/>
</define>
<define name="inlineequation.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="inlineequation">
<element name="inlineequation">
<ref name="inlineequation.attlist"/>
<ref name="inlineequation.content"/>
</element>
</define>
<!--end of inlineequation.element-->
<define name="inlineequation.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="inlineequation.role.attrib"/>
<ref name="local.inlineequation.attrib"/>
</define>
<!--end of inlineequation.attlist-->
<!--end of inlineequation.module-->
<define name="local.alt.attrib">
<empty/>
</define>
<define name="alt.role.attrib">
<ref name="role.attrib"/>
</define>
<define name="alt">
<element name="alt">
<ref name="alt.attlist"/>
<text/>
</element>
</define>
<!--end of alt.element-->
<define name="alt.attlist" combine="interleave">
<ref name="common.attrib"/>
<ref name="alt.role.attrib"/>
<ref name="local.alt.attrib"/>
</define>
<!--end of alt.attlist-->
<!--end of alt.module-->
<!-- Tables ........................... -->
<!-- Choose a table model. CALS or OASIS XML Exchange -->
<define name="tables.role.attrib">
<ref name="role.attrib"/>
</define>
<!-- Add label and role attributes to table and informaltable -->
<define name="bodyatt">
<ref name="label.attrib"/>
</define>
<!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
EntryTbl, and Entry (and InformalTable element). -->
<define name="secur">
<ref name="common.attrib"/>
<ref name="tables.role.attrib"/>
</define>
<define name="common.table.attribs">
<ref name="bodyatt"/>
<ref name="secur"/>
</define>
<!-- Content model for Table. -->
<define name="tbl.table.mdl">
<optional>
<ref name="blockinfo"/>
</optional>
<ref name="formalobject.title.content"/>
<zeroOrMore>
<ref name="ndxterm.class"/>
</zeroOrMore>
<zeroOrMore>
<ref name="textobject"/>
</zeroOrMore>
<choice>
<oneOrMore>
<ref name="graphic"/>
</oneOrMore>
<oneOrMore>
<ref name="mediaobject"/>
</oneOrMore>
<oneOrMore>
<ref name="tgroup"/>
</oneOrMore>
</choice>
</define>
<!-- Allow either objects or inlines; beware of REs between elements. -->
<define name="tbl.entry.mdl">
<choice>
<ref name="para.char.mix"/>
<ref name="tabentry.mix"/>
</choice>
</define>
<!-- Reference CALS Table Model -->
<include href="calstbl.rng"/>
<!--end of table.module-->
<!-- Note that InformalTable is dependent on some of the entity
declarations that customize Table. -->
<define name="local.informaltable.attrib">
<empty/>
</define>
<define name="informaltable">
<element name="informaltable">
<ref name="informaltable.attlist"/>
<optional>
<ref name="blockinfo"/>
</optional>
<zeroOrMore>
<ref name="textobject"/>
</zeroOrMore>
<choice>
<oneOrMore>
<ref name="graphic"/>
</oneOrMore>
<oneOrMore>
<ref name="mediaobject"/>
</oneOrMore>
<oneOrMore>
<ref name="tgroup"/>
</oneOrMore>
</choice>
</element>
</define>
<!--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 attributes -->