Current File : //usr/share/lib/sgml/locale/C/dtds/solbookv2/solbook.dtd
<!-- ...................................................................... -->
<!-- DocBook DTD V3.0-Based SolBook Subset V2.0 ........................... -->
<!-- File solbook.dtd ..................................................... -->

<!-- This is SolBook 2.0, a subset of DocBook V3.0.
     Copyright 1999 Sun Microsystems, Inc., All rights reserved.
     $Id: solbook.dtd 1.34 99/06/25 SMI $

     v.09232010

     DocBook V3.0
     Copyright 1992, 1993, 1994, 1995, 1996 HaL Computer Systems, Inc.,
     O'Reilly & Associates, Inc., ArborText, Inc., and Fujitsu Software Corp.

     Permission to use, copy, modify and distribute the DocBook 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.
-->

<!-- ...................................................................... -->
<!--
     This is the driver file for Version 2.0 of the SolBook DTD.
     Please use the following formal public identifier to identify it:

     "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN"

     For example, if your document's top-level element is Book, and
     you are using SolBook directly, use the FPI in the DOCTYPE
     declaration:

     <!DOCTYPE Book PUBLIC
         "-//Sun Microsystems//DTD DocBook V3.0-Based SolBook Subset V2.0//EN">

     The SolBook DTD is accompanied by an SGML declaration.

#               SolBook 3.0 Revision History:
# file: solbook.dtd

     For detailed revision information, try: % grep '^#' solbook.dtd
-->

<!-- ...................................................................... -->
<!-- Notation declarations ................................................ -->

<!ENTITY % local.notation.class "">
<!ENTITY % notation.class
                "AU | BMP | CGM-CHAR | CGM-BINARY | CGM-CLEAR | DITROFF | DVI
                | EPS | EQN | FAX | GIF | GIF87a | GIF89a | IGES | JPEG
                | PCX | PIC | PS | SGML | SMCL | TBL | TEX | TIFF | WMF | WPG
                | linespecific
                %local.notation.class;">

<!NOTATION AU                PUBLIC
  "-//Sun Microsystems//NOTATION Sun Audio File format//EN">
<!NOTATION BMP               PUBLIC
  "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows bitmap//EN">
<!NOTATION CGM-CHAR          PUBLIC "ISO 8632/2//NOTATION Character encoding//EN">
<!NOTATION CGM-BINARY        PUBLIC "ISO 8632/3//NOTATION Binary encoding//EN">
<!NOTATION CGM-CLEAR         PUBLIC "ISO 8632/4//NOTATION Clear text encoding//EN">
<!NOTATION DITROFF           SYSTEM "DITROFF">
<!NOTATION DVI               SYSTEM "DVI">
<!NOTATION EPS               PUBLIC 
  "+//ISBN 0-201-18127-4::Adobe//NOTATION PostScript Language Ref. Manual//EN">
<!-- EQN was SYSTEM "-//AT&T//NOTATION EQN-1//EN" -->
<!NOTATION EQN               SYSTEM "">
<!NOTATION FAX               PUBLIC 
  "-//USA-DOD//NOTATION CCITT Group 4 Facsimile Type 1 Untiled Raster//EN">
<!NOTATION GIF               SYSTEM "GIF">
<!NOTATION GIF87a            PUBLIC
  "-//CompuServe//NOTATION Graphics Interchange Format 87a//EN">
<!NOTATION GIF89a            PUBLIC
  "-//CompuServe//NOTATION Graphics Interchange Format 89a//EN">
<!NOTATION IGES              PUBLIC 
  "-//USA-DOD//NOTATION (ASME/ANSI Y14.26M-1987) Initial Graphics Exchange Specification//EN">
<!NOTATION JPEG              PUBLIC 
  "ISO/IEC 10918:1993//NOTATION Digital Compression and Coding of Continuous-tone Still Images (JPEG)//EN">
<!NOTATION PCX               PUBLIC 
  "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION ZSoft PCX bitmap//EN">
<!-- PIC was SYSTEM "-//AT&T//NOTATION EQN-1//EN" -->
<!NOTATION PIC               SYSTEM "">
<!NOTATION PS                SYSTEM "PS">
<!NOTATION SGML              PUBLIC 
  "ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN">
<!NOTATION SMCL              PUBLIC
  "-//Sun Microsystems//NOTATION Sun Media Center Lite video format//EN">
<!-- TBL was SYSTEM "-//AT&T//NOTATION EQN-1//EN" -->
<!NOTATION TBL               SYSTEM "">
<!NOTATION TEX               PUBLIC 
  "+//ISBN 0-201-13448-9::Knuth//NOTATION The TeXbook//EN">
<!NOTATION TIFF              SYSTEM "TIFF">
<!NOTATION WMF               PUBLIC 
  "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Microsoft Windows Metafile//EN">
<!NOTATION WPG               SYSTEM "WPG" --WordPerfect Graphic format-->
<!NOTATION linespecific      SYSTEM 
  "line ends and leading white space must be preserved in output">

<!-- ...................................................................... -->
<!-- DTD modules .......................................................... -->

<!-- Character Mnemonic Entities ... -->

<!ENTITY % charents PUBLIC
  "-//Sun Microsystems//ENTITIES SolBook V2.0 Character Mnemonics//EN">
<!-- ...................................................................... -->
<!-- SolBook V2.0 Character Mnemonics Module .............................. -->
<!-- File charents.mod .................................................... -->

<!-- This is SolBook 2.0, a subset of DocBook V3.0.
     Copyright 1999 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)charents.mod 1.9 99/06/18 SMI $

     DocBook V3.0
     Copyright 1992, 1993, 1994, 1995, 1996 HaL Computer Systems, Inc.,
     O'Reilly & Associates, Inc., ArborText, Inc., and Fujitsu Software Corp.

     Permission to use, copy, modify and distribute the DocBook 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.
-->

<!-- This module contains the definitions for the character mnemonic entities
     used by SolBook documents. This module references the commonly used set
     of ISO character entities as declared and used in DocBook V3.0.

     In DTD driver files referring to this module, please use an entity
     declaration that uses the public identifier shown below:

     <!ENTITY % charents PUBLIC
       "-//Sun Microsystems//ENTITIES SolBook V2.0 Character Mnemonics//EN">
     %charents;
-->

<!-- <<<<<<<<<<<<<<<     SolBook variation(s) from DocBook     >>>>>>>>>>>>>>>>
# 1998-02-02        IGNORE all ISO entity sets; declare single 'SunISO' module
-->

<!-- ...................................................................... -->
<!-- Sun character entity sets ............................................ -->

<!ENTITY % SunIso.module "INCLUDE">
<![ %SunIso.module; [
<!ENTITY % SunIso PUBLIC
    "-//Sun Microsystems//ENTITIES SolBook ISO 8879:1986 Subset//EN">
%SunIso;
<!--end of SunIso.module-->]]>


<!-- ...................................................................... -->
<!-- ISO character entity sets ............................................ -->

<!ENTITY % ISOamsa.module "IGNORE">
<![ %ISOamsa.module; [
<!ENTITY % ISOamsa PUBLIC
  "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN">
%ISOamsa;
<!--end of ISOamsa.module-->]]>

<!ENTITY % ISOamsb.module "IGNORE">
<![ %ISOamsb.module; [
<!ENTITY % ISOamsb PUBLIC
  "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN">
%ISOamsb;
<!--end of ISOamsb.module-->]]>

<!ENTITY % ISOamsc.module "IGNORE">
<![ %ISOamsc.module; [
<!ENTITY % ISOamsc PUBLIC
  "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN">
%ISOamsc;
<!--end of ISOamsc.module-->]]>

<!ENTITY % ISOamsn.module "IGNORE">
<![ %ISOamsn.module; [
<!ENTITY % ISOamsn PUBLIC
  "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN">
%ISOamsn;
<!--end of ISOamsn.module-->]]>

<!ENTITY % ISOamso.module "IGNORE">
<![ %ISOamso.module; [
<!ENTITY % ISOamso PUBLIC
  "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN">
%ISOamso;
<!--end of ISOamso.module-->]]>

<!ENTITY % ISOamsr.module "IGNORE">
<![ %ISOamsr.module; [
<!ENTITY % ISOamsr PUBLIC
  "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN">
%ISOamsr;
<!--end of ISOamsr.module-->]]>

<!ENTITY % ISObox.module "IGNORE">
<![ %ISObox.module; [
<!ENTITY % ISObox PUBLIC
  "ISO 8879:1986//ENTITIES Box and Line Drawing//EN">
%ISObox;
<!--end of ISObox.module-->]]>

<!ENTITY % ISOcyr1.module "IGNORE">
<![ %ISOcyr1.module; [
<!ENTITY % ISOcyr1 PUBLIC
  "ISO 8879:1986//ENTITIES Russian Cyrillic//EN">
%ISOcyr1;
<!--end of ISOcyr1.module-->]]>

<!ENTITY % ISOcyr2.module "IGNORE">
<![ %ISOcyr2.module; [
<!ENTITY % ISOcyr2 PUBLIC
  "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN">
%ISOcyr2;
<!--end of ISOcyr2.module-->]]>

<!ENTITY % ISOdia.module "IGNORE">
<![ %ISOdia.module; [
<!ENTITY % ISOdia PUBLIC
  "ISO 8879:1986//ENTITIES Diacritical Marks//EN">
%ISOdia;
<!--end of ISOdia.module-->]]>

<!ENTITY % ISOgrk1.module "IGNORE">
<![ %ISOgrk1.module; [
<!ENTITY % ISOgrk1 PUBLIC
  "ISO 8879:1986//ENTITIES Greek Letters//EN">
%ISOgrk1;
<!--end of ISOgrk1.module-->]]>

<!ENTITY % ISOgrk2.module "IGNORE">
<![ %ISOgrk2.module; [
<!ENTITY % ISOgrk2 PUBLIC
  "ISO 8879:1986//ENTITIES Monotoniko Greek//EN">
%ISOgrk2;
<!--end of ISOgrk2.module-->]]>

<!ENTITY % ISOgrk3.module "IGNORE">
<![ %ISOgrk3.module; [
<!ENTITY % ISOgrk3 PUBLIC
  "ISO 8879:1986//ENTITIES Greek Symbols//EN">
%ISOgrk3;
<!--end of ISOgrk3.module-->]]>

<!ENTITY % ISOgrk4.module "IGNORE">
<![ %ISOgrk4.module; [
<!ENTITY % ISOgrk4 PUBLIC
  "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN">
%ISOgrk4;
<!--end of ISOgrk4.module-->]]>

<!ENTITY % ISOlat1.module "IGNORE">
<![ %ISOlat1.module; [
<!ENTITY % ISOlat1 PUBLIC
  "ISO 8879:1986//ENTITIES Added Latin 1//EN">
%ISOlat1;
<!--end of ISOlat1.module-->]]>

<!ENTITY % ISOlat2.module "IGNORE">
<![ %ISOlat2.module; [
<!ENTITY % ISOlat2 PUBLIC
  "ISO 8879:1986//ENTITIES Added Latin 2//EN">
%ISOlat2;
<!--end of ISOlat2.module-->]]>

<!ENTITY % ISOnum.module "IGNORE">
<![ %ISOnum.module; [
<!ENTITY % ISOnum PUBLIC
  "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN">
%ISOnum;
<!--end of ISOnum.module-->]]>

<!ENTITY % ISOpub.module "IGNORE">
<![ %ISOpub.module; [
<!ENTITY % ISOpub PUBLIC
  "ISO 8879:1986//ENTITIES Publishing//EN">
%ISOpub;
<!--end of ISOpub.module-->]]>

<!ENTITY % ISOtech.module "IGNORE">
<![ %ISOtech.module; [
<!ENTITY % ISOtech PUBLIC
  "ISO 8879:1986//ENTITIES General Technical//EN">
%ISOtech;
<!--end of ISOtech.module-->]]>

<!-- End of SolBook V2.0 Character Mnemonics Module ....................... -->
<!-- ...................................................................... -->

<!-- Information pool .............. -->

<!-- Entities for module inclusions ....................................... -->

<!ENTITY % include.extensions "INCLUDE">
<![ %include.extensions; [
<!ENTITY % SUNEXTENSIONS PUBLIC
  "-//Sun Microsystems//ENTITIES SolBook V2.0 Extensions to DocBook V3.0//EN" >
<!-- ...................................................................... -->
<!-- SolBook V2.0 extensions to dbpool.mod entities ....................... -->
<!-- File sunents.mod ..................................................... -->

<!-- This is SolBook 2.0, a subset of DocBook V3.0.
     Copyright 1999 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)sunents.mod 1.17 99/06/18 SMI $

     Permission to use, copy, modify and distribute the DocBook 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.
-->

<!-- ...................................................................... -->
<!-- General-purpose semantics entities ................................... -->

<!ENTITY % yesorno.attvals      "NUMBER">
<!ENTITY % yes.attval           "1">
<!ENTITY % no.attval            "0">

<!-- ...................................................................... -->
<!-- Entities for element classes and mixtures ............................ -->

<!-- Object-level classes ................................................. -->

<!ENTITY % local.list.class "">
<!ENTITY % list.class
                "GlossList|ItemizedList|OrderedList|SegmentedList
                |SimpleList|VariableList %local.list.class;">

<!ENTITY % local.admon.class "">
<!ENTITY % admon.class
                "Warning %local.admon.class;">

<!ENTITY % local.linespecific.class "">
<!ENTITY % linespecific.class
                "LiteralLayout|ProgramListing|Screen
                |ScreenShot %local.linespecific.class;">

<!ENTITY % local.synop.class "">
<!ENTITY % synop.class
                "Synopsis|CmdSynopsis|FuncSynopsis %local.synop.class;">

<!ENTITY % local.para.class "">
<!ENTITY % para.class
                "Para  %local.para.class;">

<!ENTITY % local.informal.class "">
<!ENTITY % informal.class
                "BlockQuote|Graphic|InformalEquation
                |InformalExample|InformalTable %local.informal.class;">

<!ENTITY % local.formal.class "">
<!ENTITY % formal.class
                "Equation|Example|Figure|Table %local.formal.class;">

<!ENTITY % local.compound.class "">
<!ENTITY % compound.class
                "MsgSet|Procedure %local.compound.class;">

<!ENTITY % local.genobj.class "">
<!ENTITY % genobj.class
                "BridgeHead|Comment|Highlights
                %local.genobj.class;">

<!-- Character-level classes .............................................. -->

<!ENTITY % local.ndxterm.class "">
<!ENTITY % ndxterm.class
                "IndexTerm %local.ndxterm.class;">

<!ENTITY % local.xref.char.class "">
<!ENTITY % xref.char.class
                "FootnoteRef|XRef %local.xref.char.class;">

<!ENTITY % local.word.char.class "">
<!ENTITY % word.char.class
                "Acronym|CiteRefEntry|CiteTitle|Emphasis
                |FirstTerm|GlossTerm|Footnote|Phrase
                |Quote|Trademark %local.word.char.class;">

<!ENTITY % local.link.char.class "">
<!ENTITY % link.char.class
                "Link|OLink|ULink %local.link.char.class;">

<!ENTITY % local.cptr.char.class "">
<!ENTITY % cptr.char.class
                "Application|ClassName|Command|ComputerOutput
                |EnVar|ErrorCode|ErrorName|ErrorType|Filename|Function
                |KeySym|Literal|MediaLabel
                |MsgText|Option|Optional|Parameter|Property|Prompt
                |Replaceable|ReturnValue|StructField|StructName
                |Symbol|SystemItem|Type|UserInput
                %local.cptr.char.class;">

<!-- 
<!ENTITY % local.base.char.class "">
<!ENTITY % base.char.class
                "Anchor %local.base.char.class;">
-->

<!ENTITY % local.docinfo.char.class "">
<!ENTITY % docinfo.char.class
                "Author|AuthorInitials|CorpAuthor|ModeSpec|OtherCredit
                |ProductName|ProductNumber|RevHistory
                %local.docinfo.char.class;">

<!ENTITY % local.other.char.class "">
<!ENTITY % other.char.class
                "Comment|Subscript|Superscript %local.other.char.class;">

<!ENTITY % local.inlineobj.char.class "">
<!ENTITY % inlineobj.char.class
                "InlineGraphic|InlineEquation %local.inlineobj.char.class;">

<!-- 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.
-->

<!ENTITY % local.component.mix "">
<!ENTITY % component.mix
                "%list.class;                |%admon.class;
                |%linespecific.class;        |%synop.class;
                |%para.class;                |%informal.class;
                |%formal.class;                |%compound.class;
                |%genobj.class;                |Caution        
                |Note        |Tip        %local.component.mix;">

<!--
<!ENTITY % local.sidebar.mix "">
<!ENTITY % sidebar.mix
                "%list.class;                |%admon.class;
                |%linespecific.class;        |%synop.class;
                |%para.class;                |%informal.class;
                |%formal.class;                |Procedure
                |%genobj.class;         |Caution
                |Note        |Tip        %local.sidebar.mix;">
-->

<!ENTITY % local.footnote.mix "">
<!ENTITY % footnote.mix
                "%list.class;
                |%linespecific.class;        |%synop.class;
                |%para.class;                |%informal.class;
                %local.footnote.mix;">

<!ENTITY % local.example.mix "">
<!ENTITY % example.mix
                "%list.class;
                |%linespecific.class;        |%synop.class;
                |%para.class;                |%informal.class;
                %local.example.mix;">

<!ENTITY % local.highlights.mix "">
<!ENTITY % highlights.mix
                "%list.class;        
                |%para.class;
                %local.highlights.mix;">

<!-- %synop.class; is already included in para.char.mix because synopses
     used inside paragraph-like contexts are "inline" synopses -->
<!-- %formal.class; is explicitly excluded from many contexts in which
     paragraphs are used -->
<!--BETA Removed admon.class and formal.class -->
<!ENTITY % local.para.mix "">
<!ENTITY % para.mix
                "%list.class;           
                |%linespecific.class;
                |%informal.class;
                %local.para.mix;">

<!ENTITY % local.admon.mix "">
<!ENTITY % admon.mix
                "%list.class;
                |%linespecific.class;        |%synop.class;
                |%para.class;                |%informal.class;
                |Procedure
                |Comment
                %local.admon.mix;">

<!ENTITY % local.figure.mix "">
<!ENTITY % figure.mix
                "%linespecific.class;        |%synop.class;
                                        |%informal.class;
                %local.figure.mix;">

<!ENTITY % local.tabentry.mix "">
<!ENTITY % tabentry.mix
                "%list.class;                |%admon.class;
                |%linespecific.class;
                |%para.class;                |Graphic        |Caution
                |Note        |Tip        %local.tabentry.mix;">

<!--Removed formal.class from glossdef.mix-->
<!ENTITY % local.glossdef.mix "">
<!ENTITY % glossdef.mix
                "%list.class;
                |%linespecific.class;        |%synop.class;
                |%para.class;                |%informal.class;
                |Comment
                %local.glossdef.mix;">
<!--Removed BlockQuote from legalnotice.mix-to conform to solbook1-->
<!ENTITY % local.legalnotice.mix "">
<!ENTITY % legalnotice.mix
                "%list.class;                |%admon.class;
                |%linespecific.class;
                |%para.class;        |Caution
                |Note        |Tip        %local.legalnotice.mix;">

<!-- Character-level mixtures ............................................. -->

<!ENTITY % local.ubiq.mix "">
<!ENTITY % ubiq.mix
                "%ndxterm.class;|BeginPage">

<!--
                    #PCD xref word link cptr base dnfo othr inob (synop)
para.char.mix         X    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         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.
-->

<!-- Note that synop.class is not usually used for *.char.mixes,
     but is used here because synopses used inside paragraph
     contexts are "inline" synopses -->

<!ENTITY % local.para.char.mix "">
<!ENTITY % para.char.mix
                "#PCDATA
                |%xref.char.class;      |%word.char.class;
                |%link.char.class;      |%cptr.char.class;
                |%docinfo.char.class;   |%synop.class; 
                |%other.char.class;        |%inlineobj.char.class;
                %local.para.char.mix;">

<!--the small.para.char.mix is a solbook2.0 construct to limit the
        programlisting and screen content models.  they originally
        contained para.char.mix
-->
<!ENTITY % small.para.char.mix   
                "#PCDATA
                |%xref.char.class;      |%word.char.class;
                |%link.char.class;      |%cptr.char.class;
                |%docinfo.char.class;   
                |%other.char.class;     
                %local.para.char.mix;">


<!--BETA Removed inlineobj.char.class from title.char.mix-->
<!ENTITY % local.title.char.mix "">
<!ENTITY % title.char.mix
                "#PCDATA
                |%xref.char.class;      |%word.char.class;
                |%link.char.class;      |%cptr.char.class;
                |%docinfo.char.class;  
                |%other.char.class; 
                %local.title.char.mix;">

<!--Removed InlineGraphic from ndxterm.char.mix for solbook2 -->
<!ENTITY % local.ndxterm.char.mix "">
<!ENTITY % ndxterm.char.mix
                "#PCDATA
                |%xref.char.class;        |%word.char.class;
                |%link.char.class;        |%cptr.char.class;
                |%docinfo.char.class;   
                |%other.char.class;
                %local.ndxterm.char.mix;">

<!ENTITY % local.cptr.char.mix "">
<!ENTITY % cptr.char.mix
                "#PCDATA
                |%link.char.class;        |%cptr.char.class;
                |%other.char.class;
                %local.cptr.char.mix;">

<!ENTITY % local.smallcptr.char.mix "">
<!ENTITY % smallcptr.char.mix
                "#PCDATA
                                        |Replaceable
                                        |InlineGraphic
                %local.smallcptr.char.mix;">

<!ENTITY % local.word.char.mix "">
<!ENTITY % word.char.mix
                "#PCDATA
                                        |Acronym|Emphasis|Trademark
                |%link.char.class;
                |%other.char.class;        |InlineGraphic
                %local.word.char.mix;">

<!ENTITY % local.docinfo.char.mix "">
<!ENTITY % docinfo.char.mix
                "#PCDATA
                                        |Emphasis|Trademark
                                        |Replaceable
                |%other.char.class;        |InlineGraphic
                %local.docinfo.char.mix;">
<!--ENTITY % bibliocomponent.mix (see Bibliographic section, below)-->
<!--ENTITY % person.ident.mix (see Bibliographic section, below)-->

<!-- ...................................................................... -->
<!-- Entities for content models .......................................... -->

<!ENTITY % formalobject.title.content "Title, TitleAbbrev?">

<!ENTITY % equation.content "(Graphic+)">

<!ENTITY % inlineequation.content "(Graphic+)">

<!ENTITY % programlisting.content "LineAnnotation | %small.para.char.mix;">

<!ENTITY % screen.content "LineAnnotation | %small.para.char.mix;">

<!-- ...................................................................... -->
<!-- Entities for attributes and attribute components ..................... -->

<!-- Effectivity attributes ............................................... -->

<!ENTITY % arch.attrib
        --Arch: computer or chip architecture to which element applies; no default--
        "Arch            (SPARC | X86 | POWERPC | IA)           #IMPLIED">

<!ENTITY % conformance.attrib
        --Conformance: standards conformance characteristics--
        "Conformance     NMTOKENS           #IMPLIED">

<!ENTITY % os.attrib
        --OS: operating system to which element applies; no default--
        "OS              (SOLARIS | SOLARIS32 | SOLARIS64 | HP-UX)    #IMPLIED">

<!ENTITY % revision.attrib
        --Revision: editorial revision to which element belongs; no default--
        "Revision        CDATA              #IMPLIED">

<!ENTITY % userlevel.attrib
        -- UserLevel: level of user experience to which element applies; 
        no default --
        "UserLevel (ADMIN | USER | DEVELOPER | USER-ADMIN | USER-DEVELOPER 
         | ADMIN-DEVELOPER | ALL-AUDIENCES) #IMPLIED" >

<!ENTITY % vendor.attrib
        --Vendor: computer vendor to which element applies; no default--
        "Vendor                CDATA                #IMPLIED">

<!ENTITY % local.effectivity.attrib "">
<!ENTITY % effectivity.attrib
        "%arch.attrib;
        %conformance.attrib;
        %os.attrib;
        %revision.attrib;
        %userlevel.attrib;
        %vendor.attrib;
        %local.effectivity.attrib;"
>

<!-- Common attributes .................................................... -->

<!ENTITY % id.attrib
        --Id: unique identifier of element; no default--
        "Id                ID                #IMPLIED">

<!ENTITY % idreq.attrib
        --Id: unique identifier of element; a value must be supplied; no 
        default--
        "Id                ID                #REQUIRED">

<!ENTITY % lang.attrib
        --Lang: indicator of language in which element is written, for
        translation, character set management, etc.; no default--
        "Lang        (ca | de | en | es | fr | it | ja | ko | pl | ru | sv | zh | zh_TW ) en">

<!ENTITY % remap.attrib
        --Remap: previous role of element before conversion; no default--
        "Remap                CDATA                #IMPLIED">

<!ENTITY % role.attrib
        --Role: new role of element in local environment; no default--
        "Role                CDATA                #IMPLIED">

<!ENTITY % xreflabel.attrib
        --XRefLabel: alternate labeling string for XRef text generation;
        default is usually title or other appropriate label text already
        contained in element--
        "XRefLabel        CDATA                #IMPLIED">

<!ENTITY % revisionflag.attrib
        --RevisionFlag: revision status of element; default is that element
        wasn't revised--
        "RevisionFlag        (Changed
                        |Added
                        |Deleted
                        |Off)                #IMPLIED">

<!ENTITY % local.common.attrib "">
<!ENTITY % common.attrib
        "%id.attrib;
        %lang.attrib;
        %remap.attrib;
        --Role is included explicitly on each element--
        %xreflabel.attrib;
        %revisionflag.attrib;
        %effectivity.attrib;"
>

<!ENTITY % idreq.common.attrib
        "%idreq.attrib;
        %lang.attrib;
        %remap.attrib;
        --Role is included explicitly on each element--
        %xreflabel.attrib;
        %revisionflag.attrib;
        %effectivity.attrib;
        %local.common.attrib;"
>

<!-- Semi-common attributes and other attribute entities .................. -->

<!ENTITY % local.graphics.attrib "">
<!ENTITY % graphics.attrib
        "Entityref        ENTITY                #IMPLIED
        Fileref         CDATA                #IMPLIED
        Format                NOTATION
                        (%notation.class;)
                                        #IMPLIED
        SrcCredit        CDATA                #IMPLIED
        --Width = CALS reprowid (desired width)--
        Width                NUTOKEN                #IMPLIED
        --Depth = CALS reprodep (desired depth)--
        Depth                NUTOKEN                #IMPLIED
        --Align = CALS hplace with 'none' removed;
        #IMPLIED means application-specific--
        Align                (Left
                        |Right 
                        |Center)        #IMPLIED
        --Scale = conflation of CALS hscale and vscale--
        Scale                NUMBER                #IMPLIED
        --Scalefit = CALS scalefit--
        Scalefit        %yesorno.attvals;
                                        #IMPLIED
        %local.graphics.attrib;"
>

<!ENTITY % local.keyaction.attrib "">
<!ENTITY % keyaction.attrib
        --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--
        "Action                (Click
                        |Double-Click
                        |Press
                        |Seq
                        |Simul
                        |Other)                #IMPLIED
        OtherAction        CDATA                #IMPLIED"
>

<!ENTITY % label.attrib
        --Label: number or identifying string; default is usually the
        appropriate number or string autogenerated by a formatter--
        "Label                CDATA                #IMPLIED">

<!ENTITY % linespecific.attrib
        --Format: whether element is assumed to contain significant white
        space--
        "Format                NOTATION
                        (linespecific)        linespecific">

<!ENTITY % linkend.attrib
        --Linkend: link to related information; no default--
        "Linkend        IDREF                #IMPLIED">

<!ENTITY % linkendreq.attrib
        --Linkend: required link to related information--
        "Linkend        IDREF                #REQUIRED">

<!ENTITY % linkends.attrib
        --Linkends: link to one or more sets of related information; no 
        default--
        "Linkends        IDREFS                #IMPLIED">

<!ENTITY % linkendsreq.attrib
        --Linkends: required link to one or more sets of related information--
        "Linkends        IDREFS                #REQUIRED">

<!ENTITY % local.mark.attrib "">
<!ENTITY % mark.attrib
        "Mark                CDATA                #IMPLIED
        %local.mark.attrib;"
>

<!ENTITY % moreinfo.attrib
        --MoreInfo: whether element's content has an associated RefEntry--
        "MoreInfo        (RefEntry|None)        None">

<!ENTITY % pagenum.attrib
        --Pagenum: number of page on which element appears; no default--
        "Pagenum        CDATA                #IMPLIED">

<!ENTITY % local.status.attrib "">
<!ENTITY % status.attrib
        --Status: Editorial or publication status of the element
        it applies to, such as "in review" or "approved for distribution"--
        "Status                CDATA                #IMPLIED
        %local.status.attrib;"
>

<!ENTITY % width.attrib
        --Width: width in characters (if intended display is to be in a
        monospaced font) or in ens (if intended display is to be in a
        variable-width font)--
        "Width                NUMBER                #IMPLIED">
 
<!-- End of SolBook V2.0 extensions to dbpool.mod ......................... -->
<!-- ...................................................................... -->

]]>

<!ENTITY % dbpool PUBLIC 
  "-//Sun Microsystems//ELEMENTS DocBook Information Pool V3.0-Based SolBook Subset V2.0//EN">
<!-- ...................................................................... -->
<!-- SolBook V2.0 information pool module ................................. -->
<!-- File dbpool.mod ...................................................... -->

<!-- This is SolBook 2.0, a subset of DocBook V3.0.
     Copyright 1999 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)dbpool.mod 1.25 99/06/18 SMI $

     DocBook V3.0
     Copyright 1992, 1993, 1994, 1995, 1996 HaL Computer Systems, Inc.,
     O'Reilly & Associates, Inc., ArborText, Inc., and Fujitsu Software Corp.

     Permission to use, copy, modify and distribute the DocBook 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.
-->

<!-- ...................................................................... -->

<!-- This module contains the definitions for the objects, inline
     elements, and so on that are available to be used as the main
     content of SolBook 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
     "-//Sun Microsystems//ELEMENTS DocBook Information Pool V3.0-Based SolBook Subset V2.0//EN">
     %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.

#file: dbpool.mod
-->

<!-- ...................................................................... -->
<!-- Title elements ....................................................... -->

<!ENTITY % title.module "INCLUDE">
<![ %title.module; [
<!ENTITY % local.title.attrib "">
<!ENTITY % title.role.attrib "%role.attrib;">
<!ELEMENT Title - O ((%title.char.mix;)+)>
<!ATTLIST Title
                %pagenum.attrib;
                %common.attrib;
>
<!--end of title.module-->]]>

<!ENTITY % titleabbrev.module "INCLUDE">
<![ %titleabbrev.module; [
<!ENTITY % local.titleabbrev.attrib "">
<!ENTITY % titleabbrev.role.attrib "%role.attrib;">
<!ELEMENT TitleAbbrev - O ((%title.char.mix;)+)>
<!ATTLIST TitleAbbrev
                %common.attrib;
>
<!--end of titleabbrev.module-->]]>

<!ENTITY % subtitle.module "INCLUDE">
<![ %subtitle.module; [
<!ENTITY % local.subtitle.attrib "">
<!ENTITY % subtitle.role.attrib "%role.attrib;">
<!ELEMENT Subtitle - O ((%title.char.mix;)+)>
<!ATTLIST Subtitle
                %common.attrib;
>
<!--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. -->

<!ENTITY % local.person.ident.mix "">
<!ENTITY % person.ident.mix
                "FirstName|Surname|OtherName?
                |Contrib? %local.person.ident.mix;">


<!ENTITY % biblioentry.module "INCLUDE">
<![ %biblioentry.module; [
<!ENTITY % local.biblioentry.attrib "">

<!ENTITY % biblioentry.role.attrib "%role.attrib;">
<!ELEMENT BiblioEntry - O (BookBiblio)>
<!ATTLIST BiblioEntry
                %common.attrib;
>
<!--end of biblioentry.module-->]]>

<!ENTITY % bookbiblio.module "INCLUDE">
<![ %bookbiblio.module; [
<!ENTITY % local.bookbiblio.attrib "">
<!ENTITY % bookbiblio.role.attrib "%role.attrib;">
<!ELEMENT BookBiblio - - (Title, TitleAbbrev?, Subtitle?, Edition?,
                           AuthorGroup, (ISBN, VolumeNum?), ProductNumber?,
                           ProductName?, PubsNumber, ReleaseInfo?, PubDate,
                           Publisher*, (Copyright)+, Abstract?,
                           RevHistory?) -(%ubiq.mix;)
>
<!--end of bookbiblio.module-->]]>

<!-- ...................................................................... -->
<!-- Subject, Keyword, and ITermSet elements .............................. -->

<!ENTITY % subjectset.content.module "INCLUDE">
<![ %subjectset.content.module; [
<!ENTITY % subjectset.module "INCLUDE">
<![ %subjectset.module; [
<!ENTITY % local.subjectset.attrib "">
<!ENTITY % subjectset.role.attrib "%role.attrib;">
<!ELEMENT SubjectSet - - (Subject+)>
<!ATTLIST SubjectSet
                --Scheme: External set of subject terms employed in
                SubjectTerms--
                Scheme          NAME            #IMPLIED
                %common.attrib;
                %subjectset.role.attrib;
                %local.subjectset.attrib;
>
<!--end of subjectset.module-->]]>

<!ENTITY % subject.module "INCLUDE">
<![ %subject.module; [
<!ENTITY % local.subject.attrib "">
<!ENTITY % subject.role.attrib "%role.attrib;">
<!ELEMENT Subject - - (SubjectTerm+)>
<!ATTLIST Subject
                --Weight: Ranking of this group of SubjectTerms relative
                to others, 0 is low, no highest value specified--
                Weight          NUMBER          #IMPLIED
                %common.attrib;
                %subject.role.attrib;
                %local.subject.attrib;
>
<!--end of subject.module-->]]>

<!ENTITY % subjectterm.module "INCLUDE">
<![ %subjectterm.module; [
<!ENTITY % local.subjectterm.attrib "">
<!ENTITY % subjectterm.role.attrib "%role.attrib;">
<!ELEMENT SubjectTerm - - (#PCDATA)>
<!ATTLIST SubjectTerm
                %common.attrib;
                %subjectterm.role.attrib;
                %local.subjectterm.attrib;
>
<!--end of subjectterm.module-->]]>
<!--end of subjectset.content.module-->]]>

<!ENTITY % keywordset.content.module "INCLUDE">
<![ %keywordset.content.module; [
<!ENTITY % local.keywordset.attrib "">
<!ENTITY % keywordset.module "INCLUDE">
<![ %keywordset.module; [
<!ENTITY % local.keywordset.attrib "">
<!ENTITY % keywordset.role.attrib "%role.attrib;">
<!ELEMENT KeywordSet - - (Keyword+)>
<!ATTLIST KeywordSet
                %common.attrib;
                %keywordset.role.attrib;
                %local.keywordset.attrib;
>
<!--end of keywordset.module-->]]>

<!ENTITY % keyword.module "INCLUDE">
<![ %keyword.module; [
<!ENTITY % local.keyword.attrib "">
<!ENTITY % keyword.role.attrib "%role.attrib;">
<!ELEMENT Keyword - - (#PCDATA)>
<!ATTLIST Keyword
                %common.attrib;
                %keyword.role.attrib;
                %local.keyword.attrib;
>
<!--end of keyword.module-->]]>
<!--end of keywordset.content.module-->]]>

<!-- ...................................................................... -->
<!-- Compound (section-ish) elements ...................................... -->

<!-- Message set ...................... -->

<!ENTITY % msgset.content.module "INCLUDE">
<![ %msgset.content.module; [
<!ENTITY % msgset.module "INCLUDE">
<![ %msgset.module; [
<!ENTITY % local.msgset.attrib "">
<!ENTITY % msgset.role.attrib "%role.attrib;">
<!ELEMENT MsgSet - - (MsgEntry+)>
<!ATTLIST MsgSet
                %common.attrib;
>
<!--end of msgset.module-->]]>

<!ENTITY % msgentry.module "INCLUDE">
<![ %msgentry.module; [
<!ENTITY % local.msgentry.attrib "">
<!ENTITY % msgentry.role.attrib "%role.attrib;">
<!ELEMENT MsgEntry - O (Msg+, MsgExplan*)>
<!ATTLIST MsgEntry
                %common.attrib;
>
<!--end of msgentry.module-->]]>

<!ENTITY % msg.module "INCLUDE">
<![ %msg.module; [
<!ENTITY % local.msg.attrib "">
<!ENTITY % msg.role.attrib "%role.attrib;">
<!ELEMENT Msg - O (Title?, MsgMain, (MsgSub)*)>
<!ATTLIST Msg
                %common.attrib;
>
<!--end of msg.module-->]]>

<!ENTITY % msgmain.module "INCLUDE">
<![ %msgmain.module; [
<!ENTITY % local.msgmain.attrib "">
<!ENTITY % msgmain.role.attrib "%role.attrib;">
<!ELEMENT MsgMain - - (Title?, MsgText)>
<!ATTLIST MsgMain
                %common.attrib;
>
<!--end of msgmain.module-->]]>

<!ENTITY % msgsub.module "INCLUDE">
<![ %msgsub.module; [
<!ENTITY % local.msgsub.attrib "">
<!ENTITY % msgsub.role.attrib "%role.attrib;">
<!ELEMENT MsgSub - - (MsgText)>
<!ATTLIST MsgSub
                %common.attrib;
>
<!--end of msgsub.module-->]]>

<!ENTITY % msgexplan.module "INCLUDE">
<![ %msgexplan.module; [
<!ENTITY % local.msgexplan.attrib "">
<!ENTITY % msgexplan.role.attrib "%role.attrib;">
<!ELEMENT MsgExplan - - (Title?, (%component.mix;)+)>
<!ATTLIST MsgExplan
                %common.attrib;
        Role         (Description | Cause | Solution | Example)  #IMPLIED        
>
<!--end of msgexplan.module-->]]>
<!--end of msgset.content.module-->]]>

<!-- Procedure ........................ -->

<!ENTITY % procedure.content.module "INCLUDE">
<![ %procedure.content.module; [
<!ENTITY % procedure.module "INCLUDE">
<![ %procedure.module; [
<!ENTITY % local.procedure.attrib "">
<!ENTITY % procedure.role.attrib "%role.attrib;">
<!ELEMENT Procedure - - ((%formalobject.title.content;)?,
        (%component.mix;)*, Step+)>
<!ATTLIST Procedure
                %common.attrib;
        Role    (SINGLE-STEP)           #IMPLIED
>
<!--end of procedure.module-->]]>

<!ENTITY % step.module "INCLUDE">
<![ %step.module; [
<!ENTITY % local.step.attrib "">
<!ENTITY % step.role.attrib "%role.attrib;">
<!ELEMENT Step - O (Title?, (((%component.mix;)+, (SubSteps,
                (%component.mix;)*)?) | (SubSteps, (%component.mix;)*)))>
<!ATTLIST Step
                --Performance: whether step must be performed--
                Performance        (Optional
                                |Required)        Required -- not #REQUIRED! --
                %common.attrib;
>
<!--end of step.module-->]]>

<!ENTITY % substeps.module "INCLUDE">
<![ %substeps.module; [
<!ENTITY % local.substeps.attrib "">
<!ENTITY % substeps.role.attrib "%role.attrib;">
<!ELEMENT SubSteps - - (Step+)>
<!ATTLIST SubSteps
                --Performance: whether whole set of substeps must be
                performed--
                Performance        (Optional
                                |Required)        Required -- not #REQUIRED! --
                %common.attrib;
>
<!--end of substeps.module-->]]>
<!--end of procedure.content.module-->]]>

<!-- Sidebar .......................... -->

<!-- ...................................................................... -->
<!-- Paragraph-related elements ........................................... -->

<!ENTITY % abstract.module "INCLUDE">
<![ %abstract.module; [
<!ENTITY % local.abstract.attrib "">
<!ENTITY % abstract.role.attrib "%role.attrib;">
<!ELEMENT Abstract - - (Title?, (%para.class;)+)>
<!ATTLIST Abstract
                %common.attrib;
>
<!--end of abstract.module-->]]>


<!ENTITY % blockquote.module "INCLUDE">
<![ %blockquote.module; [
<!ENTITY % local.blockquote.attrib "">
<!ENTITY % blockquote.role.attrib "%role.attrib;">
<!ELEMENT BlockQuote - - ((%component.mix;)+)>
<!ATTLIST BlockQuote
        %common.attrib;
        Role    (Alt)  #IMPLIED
>
<!--end of blockquote.module-->]]>

<!ENTITY % bridgehead.module "INCLUDE">
<![ %bridgehead.module; [
<!ENTITY % local.bridgehead.attrib "">
<!ENTITY % bridgehead.role.attrib "%role.attrib;">
<!ELEMENT BridgeHead - - ((%title.char.mix;)+)>
<!ATTLIST BridgeHead
        %common.attrib;
>
<!--end of bridgehead.module-->]]>

<!ENTITY % comment.module "INCLUDE">
<![ %comment.module; [
<!ENTITY % local.comment.attrib "">
<!ENTITY % comment.role.attrib "%role.attrib;">
<!ELEMENT Comment - - ((%para.char.mix;)+) -(%ubiq.mix;)>
<!ATTLIST Comment
                %common.attrib;
>
<!--end of comment.module-->]]>

<!ENTITY % footnote.module "INCLUDE">
<![ %footnote.module; [
<!ENTITY % local.footnote.attrib "">
<!ENTITY % footnote.role.attrib "%role.attrib;">
<!ELEMENT Footnote - - ((%footnote.mix;)+) -(Footnote|%formal.class;)>
<!ATTLIST Footnote
                %common.attrib;
                %footnote.role.attrib;
>
<!--end of footnote.module-->]]>

<!ENTITY % highlights.module "INCLUDE">
<![ %highlights.module; [
<!ENTITY % local.highlights.attrib "">
<!ENTITY % highlights.role.attrib "%role.attrib;">
<!ELEMENT Highlights - - ((%highlights.mix; | (Caution | Note | Tip | Warning))+)
          -(%ubiq.mix;|%formal.class;)>
<!ATTLIST Highlights
                %common.attrib;
>
<!--end of highlights.module-->]]>

<!ENTITY % para.module "INCLUDE">
<![ %para.module; [
<!ENTITY % local.para.attrib "">
<!ENTITY % para.role.attrib "%role.attrib;">
<!ELEMENT Para - O ((%para.char.mix; | %para.mix;)+)>
<!ATTLIST Para
                %common.attrib;
>
<!--end of para.module-->]]>

<!ENTITY % admon.module "INCLUDE">
<![ %admon.module; [
<!ENTITY % local.admon.attrib "">
<!ENTITY % admon.role.attrib "%role.attrib;">
<!ELEMENT (%admon.class;) - - (%admon.mix;)+ -(Caution|Note|Tip|%admon.class;)>
<!ATTLIST (%admon.class;)
                %common.attrib;
>
<!--end of admon.module-->]]>

<!ENTITY % note.module "INCLUDE">
<![ %note.module; [
<!ELEMENT Note - - (%admon.mix;)+ -(Note|Tip|Caution|%admon.class;)>
<!ATTLIST Note
        %common.attrib;
        Role        (Note | MarginNote)         Note
>
<!--end of note.module-->]]>
 
<!ENTITY % tip.module "INCLUDE">
<![ %tip.module; [
<!ELEMENT Tip - - (BridgeHead | %admon.mix;)+
                        -(Note|Tip|Caution|%admon.class;)>
<!ATTLIST Tip
        %common.attrib;
>
<!--end of tip.module-->]]>

<!ENTITY % caution.module "INCLUDE">
<![ %caution.module; [
<!ELEMENT Caution - - (BridgeHead | %admon.mix;)+
                        -(Note|Tip|Caution|%admon.class;)>
<!ATTLIST Caution
        %common.attrib;
                Role (Hot | Electrical | Caution) Caution
>
<!--end of caution.module-->]]>

<!-- ...................................................................... -->
<!-- Lists ................................................................ -->

<!-- GlossList ........................ -->

<!ENTITY % glosslist.module "INCLUDE">
<![ %glosslist.module; [
<!ENTITY % local.glosslist.attrib "">
<!ENTITY % glosslist.role.attrib "%role.attrib;">
<!ELEMENT GlossList - - (GlossEntry+)>
<!ATTLIST GlossList
                %common.attrib;
>
<!--end of glosslist.module-->]]>

<!ENTITY % glossentry.content.module "INCLUDE">
<![ %glossentry.content.module; [
<!ENTITY % glossentry.module "INCLUDE">
<![ %glossentry.module; [
<!ENTITY % local.glossentry.attrib "">
<!ENTITY % glossentry.role.attrib "%role.attrib;">
<!ELEMENT GlossEntry - O (GlossTerm, Acronym?, (GlossSee|GlossDef+))>
<!ATTLIST GlossEntry
                --SortAs: alternate sort string for automatically
                alphabetized set of glossary entries--
                SortAs                CDATA                #IMPLIED
                %common.attrib;
>
<!--end of glossentry.module-->]]>

<!--ELEMENT GlossTerm (defined in the Inlines section, below)-->
<!ENTITY % glossdef.module "INCLUDE">
<![ %glossdef.module; [
<!ENTITY % local.glossdef.attrib "">
<!ELEMENT GlossDef - O ((%glossdef.mix;)+, GlossSeeAlso*)>
<!ATTLIST GlossDef
                %common.attrib;
                %local.glossdef.attrib;
>
<!--end of glossdef.module-->]]>

<!ENTITY % glosssee.module "INCLUDE">
<![ %glosssee.module; [
<!ENTITY % local.glosssee.attrib "">
<!ENTITY % glosssee.role.attrib "%role.attrib;">
<!ELEMENT GlossSee - O ((%para.char.mix;)+)>
<!ATTLIST GlossSee
                --OtherTerm: link to GlossEntry of real term to look up--
                OtherTerm        IDREF                #CONREF
                %common.attrib;
>
<!--end of glosssee.module-->]]>

<!ENTITY % glossseealso.module "INCLUDE">
<![ %glossseealso.module; [
<!ENTITY % local.glossseealso.attrib "">
<!ENTITY % glossseealso.role.attrib "%role.attrib;">
<!ELEMENT GlossSeeAlso - O ((%para.char.mix;)+)>
<!ATTLIST GlossSeeAlso
                --OtherTerm: link to GlossEntry of related term--
                OtherTerm        IDREF                #CONREF
                %common.attrib;
>
<!--end of glossseealso.module-->]]>
<!--end of glossentry.content.module-->]]>

<!-- ItemizedList and OrderedList ..... -->

<!ENTITY % itemizedlist.module "INCLUDE">
<![ %itemizedlist.module; [
<!ENTITY % local.itemizedlist.attrib "">
<!ENTITY % itemizedlist.role.attrib "%role.attrib;">
<!ELEMENT ItemizedList - - (ListItem+)>
<!ATTLIST ItemizedList        
        %common.attrib;
        Mark        (Bullet | Dash | Checkbox | Checkmark | None)  Bullet
        --Spacing: relative desired compactness of list, in author's
                judgment--
        Spacing        (Normal | Compact)       #IMPLIED
>
<!--end of itemizedlist.module-->]]>

<!ENTITY % orderedlist.module "INCLUDE">
<![ %orderedlist.module; [
<!ENTITY % local.orderedlist.attrib "">
<!ENTITY % orderedlist.role.attrib "%role.attrib;">
<!ELEMENT OrderedList - - (ListItem+)>
<!ATTLIST OrderedList
        --Continuation: whether numbers are reset from previous list--
        Continuation        (Continues | Restarts)         Restarts
        --Spacing: relative desired compactness of list, in author's  
                judgment--     
        Spacing (Normal | Compact)       #IMPLIED
                %common.attrib;
>
<!--end of orderedlist.module-->]]>

<!ENTITY % listitem.module "INCLUDE">
<![ %listitem.module; [
<!ENTITY % local.listitem.attrib "">
<!ENTITY % listitem.role.attrib "%role.attrib;">
<!ELEMENT ListItem - O ((%component.mix;)+) -(Procedure,Bridgehead,Highlights)>
<!ATTLIST ListItem
        Override    (Bullet | Dash | Checkbox | Checkmark | None) #IMPLIED
                %common.attrib;
>
<!--end of listitem.module-->]]>

<!-- SegmentedList .................... -->
<!ENTITY % segmentedlist.content.module "INCLUDE">
<![ %segmentedlist.content.module; [
<!ENTITY % segmentedlist.module "INCLUDE">
<![ %segmentedlist.module; [
<!ENTITY % local.segmentedlist.attrib "">
<!ENTITY % segmentedlist.role.attrib "%role.attrib;">
<!ELEMENT SegmentedList - - ((%formalobject.title.content;)?, SegTitle*,
                SegListItem+)>
<!ATTLIST SegmentedList
                %common.attrib;
>
<!--end of segmentedlist.module-->]]>

<!ENTITY % segtitle.module "INCLUDE">
<![ %segtitle.module; [
<!ENTITY % local.segtitle.attrib "">
<!ENTITY % segtitle.role.attrib "%role.attrib;">
<!ELEMENT SegTitle - O ((%title.char.mix;)+)>
<!ATTLIST SegTitle
                %common.attrib;
>
<!--end of segtitle.module-->]]>

<!ENTITY % seglistitem.module "INCLUDE">
<![ %seglistitem.module; [
<!ENTITY % local.seglistitem.attrib "">
<!ENTITY % seglistitem.role.attrib "%role.attrib;">
<!ELEMENT SegListItem - O (Seg, Seg+)>
<!ATTLIST SegListItem
                %common.attrib;
>
<!--end of seglistitem.module-->]]>

<!ENTITY % seg.module "INCLUDE">
<![ %seg.module; [
<!ENTITY % local.seg.attrib "">
<!ENTITY % seg.role.attrib "%role.attrib;">
<!ELEMENT Seg - O ((%small.para.char.mix;)+)>
<!ATTLIST Seg
                %common.attrib;
>
<!--end of seg.module-->]]>
<!--end of segmentedlist.content.module-->]]>

<!-- SimpleList ....................... -->

<!ENTITY % simplelist.content.module "INCLUDE">
<![ %simplelist.content.module; [
<!ENTITY % simplelist.module "INCLUDE">
<![ %simplelist.module; [
<!ENTITY % local.simplelist.attrib "">
<!ENTITY % simplelist.role.attrib "%role.attrib;">
<!ELEMENT SimpleList - - (Member+)>
<!ATTLIST SimpleList
                --Columns: number of columns--
                Columns                NUMBER                #IMPLIED

                --Type: Inline: members separated with commas etc. inline
                        Vert: members top to bottom in n Columns
                        Horiz: members left to right in n Columns
                If Column=1 or implied, Vert and Horiz are the same--
                Type                (Inline
                                |Vert
                                |Horiz)                Vert
                %common.attrib;
>
<!--end of simplelist.module-->]]>

<!--Changed para.char.mix to small.para.char.mix for Member-->
<!ENTITY % member.module "INCLUDE">
<![ %member.module; [
<!ENTITY % local.member.attrib "">
<!ENTITY % member.role.attrib "%role.attrib;">
<!ELEMENT Member - O ((%small.para.char.mix;)+)>
<!ATTLIST Member
                %common.attrib;
>
<!--end of member.module-->]]>
<!--end of simplelist.content.module-->]]>

<!-- VariableList ..................... -->

<!ENTITY % variablelist.content.module "INCLUDE">
<![ %variablelist.content.module; [
<!ENTITY % variablelist.module "INCLUDE">
<![ %variablelist.module; [
<!ENTITY % local.variablelist.attrib "">
<!ENTITY % variablelist.role.attrib "%role.attrib;">
<!ELEMENT VariableList - - ((%formalobject.title.content;)?, VarListEntry+)>
<!ATTLIST VariableList
        --TermLength: approximate length of term content that should 
        fit onto one line, in same units that table ColWidth accepts--
        TermLength   (xtranarrow | narrow | medium | wide | xtrawide | wholeline) medium
        %common.attrib;
>
<!--end of variablelist.module-->]]>

<!ENTITY % varlistentry.module "INCLUDE">
<![ %varlistentry.module; [
<!ENTITY % local.varlistentry.attrib "">
<!ENTITY % varlistentry.role.attrib "%role.attrib;">
<!ELEMENT VarListEntry - O (Term+, ListItem)>
<!ATTLIST VarListEntry
                %common.attrib;
>
<!--end of varlistentry.module-->]]>

<!--Changed para.char.mix to small.para.char.list for Term-->
<!ENTITY % term.module "INCLUDE">
<![ %term.module; [
<!ENTITY % local.term.attrib "">
<!ENTITY % term.role.attrib "%role.attrib;">
<!ELEMENT Term - O ((%small.para.char.mix;)+)>
<!ATTLIST Term
                %common.attrib;
>
<!--end of term.module-->]]>

<!--ELEMENT ListItem (defined above)-->
<!--end of variablelist.content.module-->]]>

<!-- ...................................................................... -->
<!-- Objects .............................................................. -->

<!-- Examples etc. .................... -->

<!ENTITY % example.module "INCLUDE">
<![ %example.module; [
<!ENTITY % local.example.attrib "">
<!ENTITY % example.role.attrib "%role.attrib;">
<!ELEMENT Example - - ((%formalobject.title.content;), (%example.mix;)+)
                -(%formal.class;)>
<!ATTLIST Example
        %label.attrib;
        --Width: The numbers equal inches--
        Width         (50|70|100)         #IMPLIED
        Role        (Example | Code)         Code
        %common.attrib;
>
<!--end of example.module-->]]>

<!ENTITY % informalexample.module "INCLUDE">
<![ %informalexample.module; [
<!ENTITY % local.informalexample.attrib "">
<!ENTITY % informalexample.role.attrib "%role.attrib;">
<!ELEMENT InformalExample - - ((%example.mix;)+)>
<!ATTLIST InformalExample
        --Width: The numbers equal inches--
        Width   (50|70|100)     #IMPLIED
        %common.attrib;
>
<!--end of informalexample.module-->]]>

<!ENTITY % programlisting.module "INCLUDE">
<![ %programlisting.module; [
<!ENTITY % local.programlisting.attrib "">
<!ENTITY % programlisting.role.attrib "%role.attrib;">
<!ELEMENT ProgramListing - - ((%programlisting.content;)+)>
<!ATTLIST ProgramListing
        --Width: The numbers equal percentage values --
        Width   (50|70|100|8050|8070|80100)     #IMPLIED                
        %linespecific.attrib;
                %common.attrib;
        Role        (Complete | Fragment)        Fragment
>
<!--end of programlisting.module-->]]>
<!ENTITY % literallayout.module "INCLUDE">
<![ %literallayout.module; [
<!ENTITY % local.literallayout.attrib "">
<!ENTITY % literallayout.role.attrib "%role.attrib;">
<!ELEMENT LiteralLayout - - ((LineAnnotation | %small.para.char.mix;)+)>
<!ATTLIST LiteralLayout
        --Width: The numbers equal inches--
        Width   (50|70|100)     #IMPLIED                
        %linespecific.attrib;
        %common.attrib;
>
<!--ELEMENT LineAnnotation (defined in the Inlines section, below)-->
<!--end of literallayout.module-->]]>

<!ENTITY % screen.module "INCLUDE">
<![ %screen.module; [
<!ENTITY % local.screen.attrib "">
<!ENTITY % screen.role.attrib "%role.attrib;">
<!ELEMENT Screen - - ((%screen.content;)+)>
<!ATTLIST Screen
        --Width: The numbers equal percentage values --
        Width   (50|70|100|8050|8070|80100)     #IMPLIED                
        %linespecific.attrib;
        %common.attrib;
>
<!--end of screen.module-->]]>

<!ENTITY % screenshot.content.module "INCLUDE">
<![ %screenshot.content.module; [
<!ENTITY % screenshot.module "INCLUDE">
<![ %screenshot.module; [
<!ENTITY % local.screenshot.attrib "">
<!ENTITY % screenshot.role.attrib "%role.attrib;">
<!ELEMENT ScreenShot - - (ScreenInfo?, Graphic)>
<!ATTLIST ScreenShot
                %common.attrib;
>
<!--end of screenshot.module-->]]>

<!ENTITY % screeninfo.module "INCLUDE">
<![ %screeninfo.module; [
<!ENTITY % local.screeninfo.attrib "">
<!ENTITY % screeninfo.role.attrib "%role.attrib;">
<!ELEMENT ScreenInfo - O ((%docinfo.char.mix;)+) -(%ubiq.mix;)>
<!ATTLIST ScreenInfo
                %common.attrib;
>
<!--end of screeninfo.module-->]]>
<!--end of screenshot.content.module-->]]>

<!-- Figures etc. ..................... -->

<!ENTITY % figure.module "INCLUDE">
<![ %figure.module; [
<!ENTITY % local.figure.attrib "">
<!ENTITY % figure.role.attrib "%role.attrib;">
<!ELEMENT Figure - - (%formalobject.title.content;, (%figure.mix; |
                %link.char.class;)+)>
<!ATTLIST Figure
                --Float: whether figure can float in output--
                Float                %yesorno.attvals;        %no.attval;
                %label.attrib;
                %common.attrib;
>
<!--end of figure.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). -->

<!ENTITY % graphic.module "INCLUDE">
<![ %graphic.module; [
<!ENTITY % local.graphic.attrib "">
<!ENTITY % graphic.role.attrib "%role.attrib;">
<!ELEMENT Graphic - - CDATA>
<!ATTLIST Graphic
                %graphics.attrib;
                %common.attrib;
>
<!--end of graphic.module-->]]>

<!ENTITY % inlinegraphic.module "INCLUDE">
<![ %inlinegraphic.module; [
<!ENTITY % local.inlinegraphic.attrib "">
<!ENTITY % inlinegraphic.role.attrib "%role.attrib;">
<!ELEMENT InlineGraphic - - CDATA>
<!ATTLIST InlineGraphic
                %graphics.attrib;
                %common.attrib;
>
<!--end of inlinegraphic.module-->]]>

<!-- Equations ........................ -->

<!ENTITY % equation.content "(Graphic+)">

<!ENTITY % equation.module "INCLUDE">
<![ %equation.module; [
<!ENTITY % local.equation.attrib "">
<!ENTITY % equation.role.attrib "%role.attrib;">
<!ELEMENT Equation - - ((%formalobject.title.content;)?, (InformalEquation |
                (Alt?, %equation.content;)))>
<!ATTLIST Equation
                %label.attrib;
                 %common.attrib;
>
<!--end of equation.module-->]]>

<!ENTITY % informalequation.module "INCLUDE">
<![ %informalequation.module; [
<!ENTITY % local.informalequation.attrib "">
<!ENTITY % informalequation.role.attrib "%role.attrib;">
<!ELEMENT InformalEquation - - ((Graphic)+)>
<!ATTLIST InformalEquation
                %common.attrib;
>
<!--end of informalequation.module-->]]>

<!ENTITY % alt.module "INCLUDE">
<![ %alt.module; [
<!ENTITY % local.alt.attrib "">
<!ENTITY % alt.role.attrib "%role.attrib;">
<!ELEMENT Alt - - (#PCDATA)>
<!ATTLIST Alt
                %common.attrib;
                %alt.role.attrib;
                %local.alt.attrib;
>
<!--end of alt.module-->]]>

<!ENTITY % inlineequation.module "INCLUDE">
<![ %inlineequation.module; [
<!ENTITY % local.inlineequation.attrib "">
<!ENTITY % inlineequation.role.attrib "%role.attrib;">
<!ELEMENT InlineEquation - - ((Graphic)+)>
<!ATTLIST InlineEquation
                %common.attrib;
>
<!--end of inlineequation.module-->]]>

<!-- Tables ........................... -->

<!ENTITY % table.module "INCLUDE">
<![ %table.module; [

<!ENTITY % tables.role.attrib "%role.attrib;">

<!-- Add Label attribute to Table element (and InformalTable element). -->
<!ENTITY % bodyatt "%label.attrib;">

<!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, 
     EntryTbl, and Entry (and InformalTable element). -->
<!ENTITY % secur
        "%common.attrib; ">

<!-- Remove Chart. -->
<!ENTITY % tbl.table.name "Table">

<!-- Content model for Table. -->
<!ENTITY % tbl.table.mdl
        "((%formalobject.title.content;), (Graphic+|TGroup+))">

<!-- Exclude all DocBook tables and formal objects. -->
<!ENTITY % tbl.table.excep "-(InformalTable|%formal.class;)">

<!-- Remove pgbrk exception on Row. -->
<!ENTITY % tbl.row.excep "">

<!-- Allow either objects or inlines; beware of REs between elements. -->
<!ENTITY % tbl.entry.mdl "((%tabentry.mix;)+ | (%para.char.mix;)+)">

<!-- Remove pgbrk exception on Entry. -->
<!ENTITY % tbl.entry.excep "">

<!-- Remove pgbrk exception on EntryTbl. -->
<!ENTITY % tbl.entrytbl.excep "">

<!-- Reference CALS table module. -->
<!ENTITY % calstbls PUBLIC "-//USA-DOD//DTD Table Model 951010//EN">
<!-- CALS TABLE MODEL DECLARATION MODULE -->

<!-- This set of declarations defines the CALS Table Model as of the
     date shown in the Formal Public Identifier (FPI) for this entity.

     This set of declarations may be referred to using a public external
     entity declaration and reference as shown in the following two lines:

<!ENTITY % calstbls PUBLIC "-//USA-DOD//DTD Table Model 951010//EN">
%calstbls;

     If various parameter entities used within this set of declarations
     are to be given non-default values, the appropriate declarations
     should be given before calling in this package (i.e., before the
     "%calstbls;" reference).

     NOTE:  This set of declarations assumes a NAMELEN of 32 as is used in
     the standard CALS defined SGML declaration.
-->

<!-- This entity includes a set of element and attribute declarations
     that partially defines the CALS table model.  However, the model
     is not well-defined without the accompanying natural language
     description of the semantics (meanings) of these various elements,
     attributes, and attribute values.  The semantic writeup, available
     as a separate entity, should be used in conjunction with this entity.
-->

<!-- In order to use the CALS table model, various parameter entity
     declarations are required.  A brief description is as follows:

     ENTITY NAME      WHERE USED              WHAT IT IS

     %bodyatt         In ATTLIST of:          Additional (non-table related)
                      table element(s)        attributes on the overall
                                              (wrapper) table element(s)

     %secur           In ATTLIST of:          Additional (non-table related)
                      table element(s)        attributes on all the listed
                      <tgroup>                elements
                      <tbody>
                      table head and foot element(s)
                      <row>
                      <entrytbl>
                      <entry>

     %yesorno         In ATTLIST of:          An attribute declared value
                      almost all elements     for a "boolean" attribute

     %titles          In content model of:    The "title" part of the model
                      table element(s)        group for the table element(s)

     %paracon         In content model of:    The "text" (data content) part
                      <entry>                 of the model group for <entry>

     %tbl.table.name  In declaration of:      The name(s) of the "table"
                      table element(s)        element(s)

     %tbl.table-titles.mdl In content model of: The model group for the title
                      table elements(s)       part of the content model for 
                                              table element(s)

     %tbl.table-main.mdl In content model of: The model group for the main part
                      table elements(s)       (not including titles) of the
                                              content model for table element(s)

     %tbl.table.mdl   In content model of:    The model group for the content
                      table elements(s)       model for table element(s),
                                              often (and by default) defined
                                              in terms of %tbl.table-titles.mdl
                                              and %tbl.table-main.mdl

     %tbl.table.excep In content model of:    The exceptions for the content
                      table element(s)        model for table element(s)

     %tbl.table.att   In ATTLIST of:          Additional attributes on the
                      table element(s)        table element(s)

     %tbl.tgroup.mdl  In content model of:    The model group for the content
                      <tgroup>                model for <tgroup>

     %tbl.tgroup.att  In ATTLIST of:          Additional attributes on the
                      <tgroup>                <tgroup> and <entrytbl> elements
                      <entrytbl>

     %tbl.hdft.name   In declaration of:      The name(s) of the table
                      head/foot element(s)    head and foot element(s)

     %tbl.hdft.mdl    In content model of:    The model group for the content
                      head/foot element(s)    model for head/foot element(s)

     %tbl.hdft.excep  In content model of:    The exceptions for the content
                      head/foot element(s)    model for head/foot element(s)

     %tbl.row.mdl     In content model of:    The model group for the content
                      <row>                   model for <row>

     %tbl.row.excep   In content model of:    The exceptions for the content
                      <row>                   model for <row>

     %tbl.entrytbl.mdl In content model of:   The model group for the content
                      <entrytbl>              model for <entrytbl>

     %tbl.entrytbl.excep In content model of: The exceptions for the content
                      <entrytbl>              model for <entrytbl>

     %tbl.entry.mdl   In content model of:    The model group for the content
                      <entry>                 model for <entry>

     %tbl.entry.excep In content model of:    The exceptions for the content
                      <entry>                 model for <entry>

     If any of these parameter entities are not declared before this set of
     declarations is referenced, this set of declarations will make the
     following default definitions for all of these have parameter entities.
-->

<!-- These definitions are not directly related to the table model, but are 
     used in the default CALS table model and are usually defined elsewhere 
     (and prior to the inclusion of this table module) in a CALS DTD. -->

<!ENTITY % bodyatt "">
<!ENTITY % secur "">
<!ENTITY % yesorno 'NUMBER'  -- no if zero(s),
                                yes if any other digits value -->
<!ENTITY % titles  'title?'>
<!ENTITY % paracon '#PCDATA' -- default for use in entry content -->

<!--
The parameter entities as defined below provide the CALS table model
as published (as part of the Example DTD) in MIL-HDBK-28001.

These following declarations provide the CALS-compliant default definitions
for these entities.  However, these entities can and should be redefined
(by giving the appropriate parameter entity declaration(s) prior to the
reference to this Table Model declaration set entity) to fit the needs
of the current application.
-->

<!ENTITY % tbl.table.name       "(table|chart)">
<!ENTITY % tbl.table-titles.mdl "%titles,">
<!ENTITY % tbl.table-main.mdl   "(tgroup+|graphic+)">
<!ENTITY % tbl.table.mdl        "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
<!ENTITY % tbl.table.excep      "-(table|chart|figure)">
<!ENTITY % tbl.table.att        '
    tabstyle    NMTOKEN         #IMPLIED
    tocentry    %yesorno;       #IMPLIED
    shortentry  %yesorno;       #IMPLIED
    orient      (port|land)     #IMPLIED
    pgwide      %yesorno;       #IMPLIED '>
<!ENTITY % tbl.tgroup.mdl       "colspec*,spanspec*,thead?,tfoot?,tbody">
<!ENTITY % tbl.tgroup.att       '
    tgroupstyle NMTOKEN         #IMPLIED '>
<!ENTITY % tbl.hdft.name        "(thead|tfoot)">
<!ENTITY % tbl.hdft.mdl         "colspec*,row+">
<!ENTITY % tbl.hdft.excep       "-(entrytbl)">
<!ENTITY % tbl.row.mdl          "(entry|entrytbl)+">
<!ENTITY % tbl.row.excep        "-(pgbrk)">
<!ENTITY % tbl.entrytbl.mdl     "colspec*,spanspec*,thead?,tbody">
<!ENTITY % tbl.entrytbl.excep   "-(entrytbl|pgbrk)">
<!ENTITY % tbl.entry.mdl        "(para|warning|caution|note|legend|%paracon;)*">
<!ENTITY % tbl.entry.excep      "-(pgbrk)">

<!-- =====  Element and attribute declarations follow. =====  -->

<!--
     Default declarations previously defined in this entity and
     referenced below include:
     ENTITY % tbl.table.name       "(table|chart)"
     ENTITY % tbl.table-titles.mdl "%titles,"
     ENTITY % tbl.table-main.mdl   "(tgroup+|graphic+)"
     ENTITY % tbl.table.mdl        "%tbl.table-titles; %tbl.table-main.mdl;"
     ENTITY % tbl.table.excep      "-(table|chart|figure)"
     ENTITY % tbl.table.att        '
                        tabstyle        NMTOKEN         #IMPLIED
                        tocentry        %yesorno;       #IMPLIED
                        shortentry      %yesorno;       #IMPLIED
                        orient          (port|land)     #IMPLIED
                        pgwide          %yesorno;       #IMPLIED '
-->

<!ELEMENT %tbl.table.name; - - (%tbl.table.mdl;) %tbl.table.excep; >

<!ATTLIST table
        frame           (top|bottom|topbot|all|sides|none)      #IMPLIED
        colsep          %yesorno;                               #IMPLIED
        rowsep          %yesorno;                               #IMPLIED
        %tbl.table.att;
        %bodyatt;
        %secur;
>

<!--
     Default declarations previously defined in this entity and
     referenced below include:
     ENTITY % tbl.tgroup.mdl    "colspec*,spanspec*,thead?,tfoot?,tbody"
     ENTITY % tbl.tgroup.att    '
                        tgroupstyle     NMTOKEN         #IMPLIED '
-->

<!ELEMENT tgroup - O (%tbl.tgroup.mdl;) >

<!ATTLIST tgroup
        cols            NUMBER                                  #REQUIRED
        %tbl.tgroup.att;
        colsep          %yesorno;                               #IMPLIED
        rowsep          %yesorno;                               #IMPLIED
        align           (left|right|center|justify|char)        #IMPLIED
        char            CDATA                                   #IMPLIED
        charoff         NUTOKEN                                 #IMPLIED
        %secur;
>

<!ELEMENT colspec - O EMPTY >

<!ATTLIST colspec
        colnum          NUMBER                                  #IMPLIED
        colname         NMTOKEN                                 #IMPLIED
        colwidth        CDATA                                   #IMPLIED
        colsep          %yesorno;                               #IMPLIED
        rowsep          %yesorno;                               #IMPLIED
        align           (left|right|center|justify|char)        #IMPLIED
        char            CDATA                                   #IMPLIED
        charoff         NUTOKEN                                 #IMPLIED
>

<!ELEMENT spanspec - O EMPTY >

<!ATTLIST spanspec
        namest          NMTOKEN                                 #REQUIRED
        nameend         NMTOKEN                                 #REQUIRED
        spanname        NMTOKEN                                 #REQUIRED
        colsep          %yesorno;                               #IMPLIED
        rowsep          %yesorno;                               #IMPLIED
        align           (left|right|center|justify|char)        #IMPLIED
        char            CDATA                                   #IMPLIED
        charoff         NUTOKEN                                 #IMPLIED
>


<!--
     Default declarations previously defined in this entity and
     referenced below include:
     ENTITY % tbl.hdft.name     "(thead|tfoot)"
     ENTITY % tbl.hdft.mdl      "colspec*,row+"
     ENTITY % tbl.hdft.excep    "-(entrytbl)"
-->

<!ELEMENT %tbl.hdft.name; - O (%tbl.hdft.mdl;)  %tbl.hdft.excep;>

<!ATTLIST %tbl.hdft.name;
        valign          (top|middle|bottom)                     #IMPLIED
        %secur;
>


<!ELEMENT tbody - O (row+)>

<!ATTLIST tbody
        valign          (top|middle|bottom)                     #IMPLIED
        %secur;
>

<!--
     Default declarations previously defined in this entity and
     referenced below include:
     ENTITY % tbl.row.mdl       "(entry|entrytbl)+"
     ENTITY % tbl.row.excep     "-(pgbrk)"
-->

<!ELEMENT row - O (%tbl.row.mdl;) %tbl.row.excep;>

<!ATTLIST row
        rowsep          %yesorno;                               #IMPLIED
        valign          (top|middle|bottom)                     #IMPLIED
        %secur;
>

<!--
     Default declarations previously defined in this entity and
     referenced below include:
     ENTITY % tbl.entrytbl.mdl  "colspec*,spanspec*,thead?,tbody"
     ENTITY % tbl.entrytbl.excep "-(entrytbl|pgbrk)"
     ENTITY % tbl.tgroup.att    '
                        tgroupstyle     NMTOKEN         #IMPLIED '
-->

<!ELEMENT entrytbl - - (%tbl.entrytbl.mdl) %tbl.entrytbl.excep; >

<!ATTLIST entrytbl
        cols            NUMBER                                  #REQUIRED
        %tbl.tgroup.att;
        colname         NMTOKEN                                 #IMPLIED
        spanname        NMTOKEN                                 #IMPLIED
        namest          NMTOKEN                                 #IMPLIED
        nameend         NMTOKEN                                 #IMPLIED
        colsep          %yesorno;                               #IMPLIED
        rowsep          %yesorno;                               #IMPLIED
        align           (left|right|center|justify|char)        #IMPLIED
        char            CDATA                                   #IMPLIED
        charoff         NUTOKEN                                 #IMPLIED
        %secur;
>


<!--
     Default declarations previously defined in this entity and
     referenced below include:
     ENTITY % paracon           "#PCDATA"
     ENTITY % tbl.entry.mdl     "(para|warning|caution|note|legend|%paracon;)*"
     ENTITY % tbl.entry.excep   "-(pgbrk)"
-->

<!ELEMENT entry - O (%tbl.entry.mdl;) %tbl.entry.excep; >

<!ATTLIST entry
        colname         NMTOKEN                                 #IMPLIED
        namest          NMTOKEN                                 #IMPLIED
        nameend         NMTOKEN                                 #IMPLIED
        spanname        NMTOKEN                                 #IMPLIED
        morerows        NUMBER                                  #IMPLIED
        colsep          %yesorno;                               #IMPLIED
        rowsep          %yesorno;                               #IMPLIED
        align           (left|right|center|justify|char)        #IMPLIED
        char            CDATA                                   #IMPLIED
        charoff         NUTOKEN                                 #IMPLIED
        rotate          %yesorno;                               #IMPLIED
        valign          (top|middle|bottom)                     #IMPLIED
        %secur;
>


<!--end of table.module-->]]>

<!ENTITY % informaltable.module "INCLUDE">
<![ %informaltable.module; [

<!-- Note that InformalTable is dependent on some of the entity
     declarations that customize Table. -->

<!ENTITY % local.informaltable.attrib "">
<!ELEMENT InformalTable - - (Graphic+|TGroup+) %tbl.table.excep;>
<!ATTLIST InformalTable
                -- Frame, Colsep, and Rowsep must be repeated because
                they are not in entities in the table module. --
                Frame                (Top
                                |Bottom
                                |Topbot
                                |All
                                |Sides
                                |None)                        #IMPLIED
                Colsep                %yesorno.attvals;        #IMPLIED
                Rowsep                %yesorno.attvals;        #IMPLIED
                -- tbl.table.att includes TabStyle, ToCentry, ShortEntry, 
                Orient, and PgWide. --
                %tbl.table.att;
                -- bodyatt includes Label. --
                %bodyatt;
                -- secur includes common attributes. --
                %secur;
                %local.informaltable.attrib;
>
<!--end of informaltable.module-->]]>

<!-- ...................................................................... -->
<!-- Synopses ............................................................. -->

<!-- Synopsis ......................... -->

<!ENTITY % synopsis.module "INCLUDE">
<![ %synopsis.module; [
<!ENTITY % local.synopsis.attrib "">
<!ENTITY % synopsis.role.attrib "%role.attrib;">
<!ELEMENT Synopsis - - ((LineAnnotation | %small.para.char.mix; | Graphic)+)>
<!ATTLIST Synopsis
                %linespecific.attrib;
                %common.attrib;
--        Role    (Solaris | XPG4 | POSIX)        #IMPLIED --
-- temporarily removed from Synopsis till OS/Role conflict resolved 1/25/96 --
                %local.synopsis.attrib;
>

<!--ELEMENT LineAnnotation (defined in the Inlines section, below)-->
<!--end of synopsis.module-->]]>

<!-- CmdSynopsis ...................... -->

<!ENTITY % cmdsynopsis.content.module "INCLUDE">
<![ %cmdsynopsis.content.module; [
<!ENTITY % cmdsynopsis.module "INCLUDE">
<![ %cmdsynopsis.module; [
<!ENTITY % local.cmdsynopsis.attrib "">
<!ENTITY % cmdsynopsis.role.attrib "%role.attrib;">
<!ELEMENT CmdSynopsis - - ((Command | Arg | Group)+, SynopFragment*)>
<!ATTLIST CmdSynopsis
        %common.attrib;
--        Role        (Solaris | XPG4 | POSIX)        #IMPLIED --        
        -- THE ABOVE LIST OF PRODUCT NAMES WILL GROW --
>
<!--end of cmdsynopsis.module-->]]>

<!ENTITY % arg.module "INCLUDE">
<![ %arg.module; [
<!ENTITY % local.arg.attrib "">
<!ENTITY % arg.role.attrib "%role.attrib;">
<!ELEMENT Arg - - ((#PCDATA 
                | Arg 
                | Group 
                | Option 
                | SynopFragmentRef 
                | Replaceable)+)>
 <!ATTLIST Arg
                --Choice: whether Arg must be supplied:
                        Opt: optional to supply (e.g. [arg])
                        Req: required to supply (e.g. {arg})
                        Plain: required to supply (e.g. arg)--
                Choice                (Opt
                                |Req
                                |Plain)                Opt

                --Rep: whether Arg is repeatable:
                        Norepeat: no (e.g. arg without ellipsis)
                        Repeat: yes (e.g. arg...)--
                Rep                (Norepeat
                                |Repeat)        Norepeat
                %common.attrib;
                Role (Startline) #IMPLIED
>
<!--end of arg.module-->]]>

<!ENTITY % group.module "INCLUDE">
<![ %group.module; [
<!ENTITY % local.group.attrib "">
<!ENTITY % group.role.attrib "%role.attrib;">
<!ELEMENT Group - - ((Arg | Group | Option | SynopFragmentRef 
                | Replaceable)+)>
<!ATTLIST Group
                -- Choice: whether Group must be supplied:
                        Opt: optional to supply (e.g. [g1|g2|g3])
                        Req: required to supply (e.g. {g1|g2|g3})
                        Plain: required to supply (e.g. g1|g2|g3) --
                Choice                (Opt
                                |Req
                                |Plain)         Opt

                -- Rep: whether Group is repeatable:
                        Norepeat: no (e.g. group without ellipsis)
                        Repeat: yes (e.g. group...) --
                Rep                (Norepeat
                                |Repeat)        Norepeat
                %common.attrib;
>
<!--end of group.module-->]]>

<!ENTITY % synopfragmentref.module "INCLUDE">
<![ %synopfragmentref.module; [
<!ENTITY % local.synopfragmentref.attrib "">
<!ENTITY % synopfragmentref.role.attrib "%role.attrib;">
<!ELEMENT SynopFragmentRef - - RCDATA >
<!ATTLIST SynopFragmentRef
                %linkendreq.attrib; --to SynopFragment of complex synopsis
                material for separate referencing--
                %common.attrib;
>
<!--end of synopfragmentref.module-->]]>

<!ENTITY % synopfragment.module "INCLUDE">
<![ %synopfragment.module; [
<!ENTITY % local.synopfragment.attrib "">
<!ENTITY % synopfragment.role.attrib "%role.attrib;">
<!ELEMENT SynopFragment - - ((Arg | Group)+)>
<!ATTLIST SynopFragment
                %idreq.common.attrib;
                %synopfragment.role.attrib;
>
<!--end of synopfragment.module-->]]>

<!--ELEMENT Command (defined in the Inlines section, below)-->
<!--ELEMENT Option (defined in the Inlines section, below)-->
<!--ELEMENT Replaceable (defined in the Inlines section, below)-->
<!--end of cmdsynopsis.content.module-->]]>

<!-- FuncSynopsis ..................... -->

<!ENTITY % funcsynopsis.content.module "INCLUDE">
<![ %funcsynopsis.content.module; [
<!ENTITY % funcsynopsis.module "INCLUDE">
<![ %funcsynopsis.module; [

<!ENTITY % local.funcsynopsis.attrib "">
<!ENTITY % funcsynopsis.role.attrib "%role.attrib;">
<!ELEMENT FuncSynopsis - - (FuncSynopsisInfo?, (FuncPrototype+ |
                (FuncDef, (Void | VarArgs | ParamDef+))+), FuncSynopsisInfo?)>
<!ATTLIST FuncSynopsis
                %common.attrib;
--        Role        (Solaris | XPG4 | POSIX)         #IMPLIED        --
>
<!--end of funcsynopsis.module-->]]>

<!ENTITY % funcsynopsisinfo.module "INCLUDE">
<![ %funcsynopsisinfo.module; [
<!ENTITY % local.funcsynopsisinfo.attrib "">
<!ENTITY % funcsynopsisinfo.role.attrib "%role.attrib;">
<!ELEMENT FuncSynopsisInfo - O ((LineAnnotation | %cptr.char.mix;)* )>
<!ATTLIST FuncSynopsisInfo
                %linespecific.attrib;
                %common.attrib;
>
<!--end of funcsynopsisinfo.module-->]]>

<!ENTITY % funcprototype.module "INCLUDE">
<![ %funcprototype.module; [
<!ENTITY % local.funcprototype.attrib "">
<!ENTITY % funcprototype.role.attrib "%role.attrib;">
<!ELEMENT FuncPrototype - O (FuncDef, (Void | VarArgs | ParamDef+))>
<!ATTLIST FuncPrototype
                %common.attrib;
>
<!--end of funcprototype.module-->]]>

<!ENTITY % funcdef.module "INCLUDE">
<![ %funcdef.module; [
<!ENTITY % local.funcdef.attrib "">
<!ENTITY % funcdef.role.attrib "%role.attrib;">
<!ELEMENT FuncDef - - ((#PCDATA 
                | Replaceable 
                | Function)*)>
<!ATTLIST FuncDef
                %common.attrib;
>
<!--end of funcdef.module-->]]>

<!ENTITY % void.module "INCLUDE">
<![ %void.module; [
<!ENTITY % local.void.attrib "">
<!ENTITY % void.role.attrib "%role.attrib;">
<!ELEMENT Void - O EMPTY>
<!ATTLIST Void
                %common.attrib;
>
<!--end of void.module-->]]>

<!ENTITY % varargs.module "INCLUDE">
<![ %varargs.module; [
<!ENTITY % local.varargs.attrib "">
<!ENTITY % varargs.role.attrib "%role.attrib;">
<!ELEMENT VarArgs - O EMPTY>
<!ATTLIST VarArgs
                %common.attrib;
>
<!--end of varargs.module-->]]>

<!-- Processing assumes that only one Parameter will appear in a
     ParamDef, and that FuncParams will be used at most once, for
     providing information on the "inner parameters" for parameters that
     are pointers to functions. -->

<!ENTITY % paramdef.module "INCLUDE">
<![ %paramdef.module; [
<!ENTITY % local.paramdef.attrib "">
<!ENTITY % paramdef.role.attrib "%role.attrib;">
<!ELEMENT ParamDef - - ((#PCDATA 
                | Replaceable 
                | Parameter 
                | FuncParams)*)>
<!ATTLIST ParamDef
                %common.attrib;
>
<!--end of paramdef.module-->]]>

<!ENTITY % funcparams.module "INCLUDE">
<![ %funcparams.module; [
<!ENTITY % local.funcparams.attrib "">
<!ENTITY % funcparams.role.attrib "%role.attrib;">
<!ELEMENT FuncParams - - ((%cptr.char.mix;)*)>
<!ATTLIST FuncParams
                %common.attrib;
>
<!--end of funcparams.module-->]]>

<!--ELEMENT LineAnnotation (defined in the Inlines section, below)-->
<!--ELEMENT Replaceable (defined in the Inlines section, below)-->
<!--ELEMENT Function (defined in the Inlines section, below)-->
<!--ELEMENT Parameter (defined in the Inlines section, below)-->
<!--end of funcsynopsis.content.module-->]]>

<!-- ...................................................................... -->
<!-- Document information entities and elements ........................... -->

<!-- The document information elements include some elements that are
     currently used only in the document hierarchy module. They are
     defined here so that they will be available for use in customized
     document hierarchies. -->

<!-- .................................. -->

<!ENTITY % docinfo.content.module "INCLUDE">
<![ %docinfo.content.module; [

<!-- Address .......................... -->

<!ENTITY % address.content.module "INCLUDE">
<![ %address.content.module; [
<!ENTITY % address.module "INCLUDE">
<![ %address.module; [
<!ENTITY % local.address.attrib "">
<!ENTITY % address.role.attrib "%role.attrib;">
<!ELEMENT Address - - (Street|POB|Postcode|City|State|Country|Phone
                |Fax|Email|OtherAddr)*>
<!ATTLIST Address
                %common.attrib;
>
<!--end of address.module-->]]>

  <!ENTITY % street.module "INCLUDE">
  <![ %street.module; [
 <!ENTITY % local.street.attrib "">
  <!ENTITY % street.role.attrib "%role.attrib;">
  <!ELEMENT Street - - ((%docinfo.char.mix;)+)>
  <!ATTLIST Street
                %common.attrib;
>
  <!--end of street.module-->]]>

  <!ENTITY % pob.module "INCLUDE">
  <![ %pob.module; [
  <!ENTITY % local.pob.attrib "">
  <!ENTITY % pob.role.attrib "%role.attrib;">
  <!ELEMENT POB - - ((%docinfo.char.mix;)+)>
  <!ATTLIST POB
                %common.attrib;
>
  <!--end of pob.module-->]]>

  <!ENTITY % postcode.module "INCLUDE">
  <![ %postcode.module; [
  <!ENTITY % local.postcode.attrib "">
  <!ENTITY % postcode.role.attrib "%role.attrib;">
  <!ELEMENT Postcode - - ((%docinfo.char.mix;)+)>
  <!ATTLIST Postcode
                %common.attrib;
>
  <!--end of postcode.module-->]]>

  <!ENTITY % city.module "INCLUDE">
  <![ %city.module; [
  <!ENTITY % local.city.attrib "">
  <!ENTITY % city.role.attrib "%role.attrib;">
  <!ELEMENT City - - ((%docinfo.char.mix;)+)>
  <!ATTLIST City
                %common.attrib;
>
  <!--end of city.module-->]]>

  <!ENTITY % state.module "INCLUDE">
  <![ %state.module; [
  <!ENTITY % local.state.attrib "">
  <!ENTITY % state.role.attrib "%role.attrib;">
  <!ELEMENT State - - ((%docinfo.char.mix;)+)>
  <!ATTLIST State
                %common.attrib;
>
  <!--end of state.module-->]]>

  <!ENTITY % country.module "INCLUDE">
  <![ %country.module; [
  <!ENTITY % local.country.attrib "">
  <!ENTITY % country.role.attrib "%role.attrib;">
  <!ELEMENT Country - - ((%docinfo.char.mix;)+)>
  <!ATTLIST Country
                %common.attrib;
>
  <!--end of country.module-->]]>

  <!ENTITY % phone.module "INCLUDE">
  <![ %phone.module; [
  <!ENTITY % local.phone.attrib "">
  <!ENTITY % phone.role.attrib "%role.attrib;">
  <!ELEMENT Phone - - ((%docinfo.char.mix;)+)>
  <!ATTLIST Phone
                %common.attrib;
>
  <!--end of phone.module-->]]>

  <!ENTITY % fax.module "INCLUDE">
  <![ %fax.module; [
  <!ENTITY % local.fax.attrib "">
  <!ENTITY % fax.role.attrib "%role.attrib;">
  <!ELEMENT Fax - - ((%docinfo.char.mix;)+)>
  <!ATTLIST Fax
                %common.attrib;
>
  <!--end of fax.module-->]]>

  <!--ELEMENT Email (defined in the Inlines section, below)-->

  <!ENTITY % otheraddr.module "INCLUDE">
  <![ %otheraddr.module; [
  <!ENTITY % local.otheraddr.attrib "">
  <!ENTITY % otheraddr.role.attrib "%role.attrib;">
  <!ELEMENT OtherAddr - - ((%docinfo.char.mix;)+)>
  <!ATTLIST OtherAddr
                %common.attrib;
>
  <!--end of otheraddr.module-->]]>
<!--end of address.content.module-->]]>

<!-- Affiliation ...................... -->

<!ENTITY % affiliation.content.module "INCLUDE">
<![ %affiliation.content.module; [
<!ENTITY % affiliation.module "INCLUDE">
<![ %affiliation.module; [
<!ENTITY % local.affiliation.attrib "">
<!ENTITY % affilication.role.attrib "%role.attrib;">
<!ELEMENT Affiliation - - (ShortAffil?, JobTitle*, OrgName?, OrgDiv*,
                Address*)>
<!ATTLIST Affiliation 
                %common.attrib;  
>
<!--end of affiliation.module-->]]>

<!ENTITY % shortaffil.module "INCLUDE">
<![ %shortaffil.module; [
<!ENTITY % local.shortaffil.attrib "">
<!ENTITY % shortaffil.role.attrib "%role.attrib;">
<!ELEMENT ShortAffil - - ((%docinfo.char.mix;)+)>
<!ATTLIST ShortAffil
                %common.attrib;
>
<!--end of shortaffil.module-->]]>

<!ENTITY % jobtitle.module "INCLUDE">
<![ %jobtitle.module; [
<!ENTITY % local.jobtitle.attrib "">
<!ENTITY % jobtitle.role.attrib "%role.attrib;">
<!ELEMENT JobTitle - - ((%docinfo.char.mix;)+)>
<!--end of jobtitle.module-->]]>

<!--ELEMENT OrgName (defined elsewhere in this section)-->

<!ENTITY % orgdiv.module "INCLUDE">
<![ %orgdiv.module; [
<!ENTITY % local.orgdiv.attrib "">
<!ELEMENT OrgDiv - - ((%docinfo.char.mix;)+)>
<!ATTLIST OrgDiv
                %common.attrib;
                %local.orgdiv.attrib;
>
  <!--end of orgdiv.module-->]]>

  <!--ELEMENT Address (defined elsewhere in this section)-->
<!--end of affiliation.content.module-->]]>

<!-- ArtPageNums ...................... -->

<!-- Author ........................... -->

<!ENTITY % author.module "INCLUDE">
<![ %author.module; [
<!ENTITY % local.author.attrib "">
<!ENTITY % author.role.attrib "%role.attrib;">
<!ELEMENT Author - - ((%person.ident.mix;)+)>
<!--(see "Personal identity elements" for %person.ident.mix;)-->
<!ATTLIST Author 
                %common.attrib;   
>
<!--end of author.module-->]]>
<!-- AuthorGroup ...................... -->

<!ENTITY % authorgroup.content.module "INCLUDE">
<![ %authorgroup.content.module; [
<!ENTITY % authorgroup.module "INCLUDE">
<![ %authorgroup.module; [
<!ENTITY % local.authorgroup.attrib "">
<!ENTITY % authorgroup.role.attrib "%role.attrib;">
<!ELEMENT AuthorGroup - - ((Author|Editor|Collab)+)>
<!ATTLIST AuthorGroup
                %common.attrib;
>
<!--end of authorgroup.module-->]]>

  <!--ELEMENT Author (defined elsewhere in this section)-->
  <!--ELEMENT Editor (defined elsewhere in this section)-->

  <!ENTITY % collab.content.module "INCLUDE">
  <![ %collab.content.module; [
  <!ENTITY % collab.module "INCLUDE">
  <![ %collab.module; [
  <!ENTITY % local.collab.attrib "">
  <!ENTITY % collab.role.attrib "%role.attrib;">
  <!ELEMENT Collab - - (CollabName, Affiliation*)>
  <!ATTLIST Collab
                %common.attrib;
>
  <!--end of collab.module-->]]>

    <!ENTITY % collabname.module "INCLUDE">
  <![ %collabname.module; [
  <!ENTITY % local.collabname.attrib "">
  <!ENTITY % collabname.role.attrib "%role.attrib;">
    <!ELEMENT CollabName - - ((%docinfo.char.mix;)+)>
    <!ATTLIST CollabName
                %common.attrib;
>
    <!--end of collabname.module-->]]>

    <!--ELEMENT Affiliation (defined elsewhere in this section)-->
  <!--end of collab.content.module-->]]>

  <!--ELEMENT CorpAuthor (defined elsewhere in this section)-->
  <!--ELEMENT OtherCredit (defined elsewhere in this section)-->

<!--end of authorgroup.content.module-->]]>

<!-- AuthorInitials ................... -->

<!ENTITY % authorinitials.module "INCLUDE">
<![ %authorinitials.module; [
<!ENTITY % local.authorinitials.attrib "">
<!ENTITY % authorinitials.role.attrib "%role.attrib;">
<!ELEMENT AuthorInitials - - ((%docinfo.char.mix;)+)>
<!ATTLIST AuthorInitials 
                %common.attrib;   
>
<!--end of authorinitials.module-->]]>

<!-- Copyright ........................ -->

<!ENTITY % copyright.content.module "INCLUDE">
<![ %copyright.content.module; [
<!ENTITY % copyright.module "INCLUDE">
<![ %copyright.module; [
<!ENTITY % local.copyright.attrib "">
<!ENTITY % copyright.role.attrib "%role.attrib;">
<!ELEMENT Copyright - - (Year+, Holder*)>
<!ATTLIST Copyright 
                %common.attrib;   
>
<!--end of copyright.module-->]]>

<!ENTITY % year.module "INCLUDE">
<![ %year.module; [
<!ENTITY % local.year.attrib "">
<!ENTITY % year.role.attrib "%role.attrib;">
<!ELEMENT Year - - ((%docinfo.char.mix;)+)>
<!ATTLIST Year 
                %common.attrib;   
>
<!--end of year.module-->]]>

<!ENTITY % holder.module "INCLUDE">
<![ %holder.module; [
<!ENTITY % local.holder.attrib "">
<!ENTITY % holder.role.attrib "%role.attrib;">
<!ELEMENT Holder - - ((%docinfo.char.mix;)+)>
<!ATTLIST Holder 
                %common.attrib;   
>  
<!--end of holder.module-->]]>
<!--end of copyright.content.module-->]]>

<!-- CorpAuthor ....................... -->

<!ENTITY % corpauthor.module "INCLUDE">
<![ %corpauthor.module; [
<!ENTITY % local.corpauthor.attrib "">
<!ENTITY % corpauthor.role.attrib "%role.attrib;">
<!ELEMENT CorpAuthor - - ((%docinfo.char.mix;)+)>
<!ATTLIST CorpAuthor 
                %common.attrib;   
>
<!--end of corpauthor.module-->]]>

<!-- CorpName ......................... -->

<!ENTITY % corpname.module "INCLUDE">
<![ %corpname.module; [
<!ENTITY % local.corpname.attrib "">
<!ELEMENT CorpName - - ((%docinfo.char.mix;)+)>
<!ENTITY % corpname.role.attrib "%role.attrib;">
<!ATTLIST CorpName 
                %common.attrib;   
>
<!--end of corpname.module-->]]>

<!-- Date ............................. -->

<!ENTITY % date.module "INCLUDE">
<![ %date.module; [
<!ENTITY % local.date.attrib "">
<!ENTITY % date.role.attrib "%role.attrib;">
<!ELEMENT Date - - ((%docinfo.char.mix;)+)>
<!ATTLIST Date 
                %common.attrib;   
>
<!--end of date.module-->]]>

<!-- Edition .......................... -->

<!ENTITY % edition.module "INCLUDE">
<![ %edition.module; [
<!ENTITY % local.edition.attrib "">
<!ENTITY % edition.role.attrib "%role.attrib;">
<!ELEMENT Edition - - ((%docinfo.char.mix;)+)>
<!ATTLIST Edition 
                %common.attrib;   
>
<!--end of edition.module-->]]>

<!-- Editor ........................... -->

<!ENTITY % editor.module "INCLUDE">
<![ %editor.module; [
<!ENTITY % local.editor.attrib "">
<!ENTITY % editor.role.attrib "%role.attrib;">
<!ELEMENT Editor - - ((%person.ident.mix;)+)>
  <!--(see "Personal identity elements" for %person.ident.mix;)-->
<!ATTLIST Editor 
                %common.attrib;   
>
<!--end of editor.module-->]]>

<!-- ISBN ............................. -->

<!ENTITY % isbn.module "INCLUDE">
<![ %isbn.module; [
<!ENTITY % local.isbn.attrib "">
<!ENTITY % isbn.role.attrib "%role.attrib;">
<!ELEMENT ISBN - - ((%docinfo.char.mix;)+)>
<!ATTLIST ISBN 
                %common.attrib;   
>
<!--end of isbn.module-->]]>

<!-- IssueNum ......................... -->

<!ENTITY % issuenum.module "INCLUDE">
<![ %issuenum.module; [
<!ENTITY % local.issuenum.attrib "">
<!ELEMENT IssueNum - - ((%docinfo.char.mix;)+)>
<!ATTLIST IssueNum
                %common.attrib;
                %local.issuenum.attrib;
>
<!--end of issuenum.module-->]]>

<!-- LegalNotice ...................... -->

<!ENTITY % legalnotice.module "INCLUDE">
<![ %legalnotice.module; [
<!ENTITY % local.legalnotice.attrib "">
<!ENTITY % legalnotice.role.attrib "%role.attrib;">
<!ELEMENT LegalNotice - - ((%legalnotice.mix;)+) -(%formal.class;)>
<!ATTLIST LegalNotice
                %common.attrib;
                Role        (EVEN | ODD)         #IMPLIED
                %local.legalnotice.attrib;
>

<!--end of legalnotice.module-->]]>

<!-- ModeSpec ......................... -->

<!ENTITY % modespec.module "INCLUDE">
<![ %modespec.module; [
<!ENTITY % local.modespec.attrib "">
<!ENTITY % modespec.role.attrib "%role.attrib;">
<!ELEMENT ModeSpec - - ((%docinfo.char.mix;)+) -(%ubiq.mix;)>
<!ATTLIST ModeSpec
                --Application: type of retrieval query--
                Application        NOTATION
                                (%notation.class;)        #IMPLIED
                %common.attrib;
>
<!--end of modespec.module-->]]>

<!-- OrgName .......................... -->

<!ENTITY % orgname.module "INCLUDE">
<![ %orgname.module; [
<!ENTITY % local.orgname.attrib "">
<!ELEMENT OrgName - - ((%docinfo.char.mix;)+)>
<!ATTLIST OrgName
                %common.attrib;
                %local.orgname.attrib;
>
<!--end of orgname.module-->]]>

<!-- OtherCredit ...................... -->

<!ENTITY % othercredit.module "INCLUDE">
<![ %othercredit.module; [
<!ENTITY % local.othercredit.attrib "">
<!ENTITY % othercredit.role.attrib "%role.attrib;">
<!ELEMENT OtherCredit - - ((%person.ident.mix;)+)>
  <!--(see "Personal identity elements" for %person.ident.mix;)-->
<!--end of othercredit.module-->]]>

<!-- PageNums ......................... -->

<!-- Personal identity elements ....... -->

<!-- These elements are used only within Author, Editor, and 
OtherCredit. -->

<!ENTITY % person.ident.module "INCLUDE">
<![ %person.ident.module; [
<!ENTITY % contrib.module "INCLUDE">
<![ %contrib.module; [
<!ENTITY % local.contrib.attrib "">
<!ENTITY % contrib.role.attrib "%role.attrib;">
<!ELEMENT Contrib - - ((%docinfo.char.mix;)+)>
<!ATTLIST Contrib 
                %common.attrib;   
>  
<!--end of contrib.module-->]]>

<!ENTITY % firstname.module "INCLUDE">
<![ %firstname.module; [
<!ENTITY % local.firstname.attrib "">
<!ENTITY % firstname.role.attrib "%role.attrib;">
<!ELEMENT FirstName - - ((%docinfo.char.mix;)+)>
<!ATTLIST FirstName 
                %common.attrib;   
>
<!--end of firstname.module-->]]>

<!ENTITY % othername.module "INCLUDE">
<![ %othername.module; [
<!ENTITY % local.othername.attrib "">
<!ENTITY % othername.role.attrib "%role.attrib;">
<!ELEMENT OtherName - - ((%docinfo.char.mix;)+)>
<!ATTLIST OtherName 
                %common.attrib;   
> 
<!--end of othername.module-->]]>

<!ENTITY % surname.module "INCLUDE">
<![ %surname.module; [
<!ENTITY % local.surname.attrib "">
<!ENTITY % surname.role.attrib "%role.attrib;">
<!ELEMENT Surname - - ((%docinfo.char.mix;)+)>
<!ATTLIST Surname 
                %common.attrib;   
>
<!--end of surname.module-->]]>
<!--end of person.ident.module-->]]>

<!-- ProductName ...................... -->

<!ENTITY % productname.module "INCLUDE">
<![ %productname.module; [
<!ENTITY % local.productname.attrib "">
<!ENTITY % productname.role.attrib "%role.attrib;">
<!ELEMENT ProductName - - ((%small.para.char.mix;)+)>
<!ATTLIST ProductName
                Class                (Service
                                |Trade
                                |Registered
                                |Copyright)        Trade
                %common.attrib;
>
<!--end of productname.module-->]]>

<!-- ProductNumber .................... -->

<!ENTITY % productnumber.module "INCLUDE">
<![ %productnumber.module; [
<!ENTITY % local.productnumber.attrib "">
<!ENTITY % productnumber.role.attrib "%role.attrib;">
<!ELEMENT ProductNumber - - ((%docinfo.char.mix;)+)>
<!ATTLIST ProductNumber 
                %common.attrib;   
>
<!--end of productnumber.module-->]]>

<!-- PubDate .......................... -->

<!ENTITY % pubdate.module "INCLUDE">
<![ %pubdate.module; [
<!ENTITY % local.pubdate.attrib "">
<!ENTITY % pubdate.role.attrib "%role.attrib;">
<!ELEMENT PubDate - - ((%docinfo.char.mix;)+)>
<!ATTLIST PubDate
                %common.attrib;
>
<!--end of pubdate.module-->]]>

<!-- Publisher ........................ -->

<!ENTITY % publisher.content.module "INCLUDE">
<![ %publisher.content.module; [
<!ENTITY % publisher.module "INCLUDE">
<![ %publisher.module; [
<!ENTITY % local.publisher.attrib "">
<!ENTITY % publisher.role.attrib "%role.attrib;">
<!ELEMENT Publisher - - (PublisherName, Address*)>
<!ATTLIST Publisher
                %common.attrib;
>
<!--end of publisher.module-->]]>

  <!ENTITY % publishername.module "INCLUDE">
  <![ %publishername.module; [
  <!ENTITY % local.publishername.attrib "">
  <!ENTITY % publishername.role.attrib "%role.attrib;">
  <!ELEMENT PublisherName - - ((%docinfo.char.mix;)+)>
  <!ATTLIST PublisherName
                %common.attrib;
>
  <!--end of publishername.module-->]]>

  <!--ELEMENT Address (defined elsewhere in this section)-->
<!--end of publisher.content.module-->]]>

<!-- PubsNumber ....................... -->

<!ENTITY % pubsnumber.module "INCLUDE">
<![ %pubsnumber.module; [
<!ENTITY % local.pubsnumber.attrib "">
<!ENTITY % pubsnumber.role.attrib "%role.attrib;">
<!ELEMENT PubsNumber - - ((%docinfo.char.mix;)+)>
<!ATTLIST PubsNumber
                %common.attrib;
>
<!--end of pubsnumber.module-->]]>

<!-- ReleaseInfo ...................... -->

<!ENTITY % releaseinfo.module "INCLUDE">
<![ %releaseinfo.module; [
<!ENTITY % local.releaseinfo.attrib "">
<!ENTITY % releaseinfo.role.attrib "%role.attrib;">
<!ELEMENT ReleaseInfo - - ((%docinfo.char.mix;)+)>
<!ATTLIST ReleaseInfo
        %common.attrib;
        Role        (CONFIDENTIAL | NEED-TO-KNOW | REGISTERED) #IMPLIED        
>
<!--end of releaseinfo.module-->]]>

<!-- RevHistory ....................... -->

<!ENTITY % revhistory.content.module "INCLUDE">
<![ %revhistory.content.module; [
<!ENTITY % revhistory.module "INCLUDE">
<![ %revhistory.module; [
<!ENTITY % local.revhistory.attrib "">
<!ENTITY % revhistory.role.attrib "%role.attrib;">
<!ELEMENT RevHistory - - (Revision+)>
<!ATTLIST RevHistory
                %common.attrib;  
>

<!--end of revhistory.module-->]]>

<!ENTITY % revision.module "INCLUDE">
<![ %revision.module; [
<!ENTITY % local.revision.attrib "">
<!ENTITY % revision.role.attrib "%role.attrib;">
<!ELEMENT Revision - - (RevNumber, Date, AuthorInitials+, RevRemark?)>
<!ATTLIST Revision
                %common.attrib;
>
<!--end of revision.module-->]]>

<!ENTITY % revnumber.module "INCLUDE">
<![ %revnumber.module; [
<!ENTITY % local.revnumber.attrib "">
<!ENTITY % revnumber.role.attrib "%role.attrib;">
<!ELEMENT RevNumber - - ((%docinfo.char.mix;)+)>
<!ATTLIST RevNumber 
                %common.attrib;   
> 
<!--end of revnumber.module-->]]>

<!--ELEMENT Date (defined elsewhere in this section)-->
<!--ELEMENT AuthorInitials (defined elsewhere in this section)-->

<!ENTITY % revremark.module "INCLUDE">
<![ %revremark.module; [
<!ENTITY % local.revremark.attrib "">
<!ENTITY % revremark.role.attrib "%role.attrib;">
<!ELEMENT RevRemark - - ((%docinfo.char.mix;)+)>
<!ATTLIST RevRemark 
                %common.attrib;   
>
<!--end of revremark.module-->]]>
<!--end of revhistory.content.module-->]]>

<!-- VolumeNum ........................ -->

<!ENTITY % volumenum.module "INCLUDE">
<![ %volumenum.module; [
<!ENTITY % local.volumenum.attrib "">
<!ENTITY % volumenum.role.attrib "%role.attrib;">
<!ELEMENT VolumeNum - - ((%docinfo.char.mix;)+)>
<!ATTLIST VolumeNum
                %common.attrib;
>
<!--end of volumenum.module-->]]>

<!--end of docinfo.content.module-->]]>

<!-- ...................................................................... -->
<!-- Inline, link, and ubiquitous elements ................................ -->

<!-- Computer terms ....................................................... -->

<!ENTITY % application.module "INCLUDE">
<![ %application.module; [
<!ENTITY % local.application.attrib "">
<!ENTITY % application.role.attrib "%role.attrib;">
<!ELEMENT Application - - ((%small.para.char.mix;)+)>
<!ATTLIST Application
        Class                 (Hardware | Software)        #IMPLIED
        MoreInfo        (RefEntry | None)         None
        %common.attrib;
>
<!--end of application.module-->]]>

<!ENTITY % classname.module "INCLUDE">
<![ %classname.module; [
<!ENTITY % local.classname.attrib "">
<!ENTITY % classname.role.attrib "%role.attrib;">
<!ELEMENT ClassName - - ((%smallcptr.char.mix;)+)>
<!ATTLIST ClassName
                %common.attrib;
                %local.classname.attrib;
>
<!--end of classname.module-->]]>

<!ENTITY % command.module "INCLUDE">
<![ %command.module; [
<!ENTITY % local.command.attrib "">
<!ENTITY % command.role.attrib "%role.attrib;">
<!ELEMENT Command - - ((%cptr.char.mix;)+)>
<!ATTLIST Command
        MoreInfo        (RefEntry | None)        None        
        %common.attrib;
>
<!--end of command.module-->]]>

<!ENTITY % computeroutput.module "INCLUDE">
<![ %computeroutput.module; [
<!ENTITY % local.computeroutput.attrib "">
<!ENTITY % computeroutput.role.attrib "%role.attrib;">
<!ELEMENT ComputerOutput - - ((%cptr.char.mix;)+)>
<!ATTLIST ComputerOutput
        MoreInfo        (RefEntry | None)         None
        %common.attrib;
>
<!--end of computeroutput.module-->]]>

<!ENTITY % email.module "INCLUDE">
<![ %email.module; [
<!ENTITY % local.email.attrib "">
<!ELEMENT Email - - ((%docinfo.char.mix;)+)>
<!ATTLIST Email
                %common.attrib;
                %local.email.attrib;
>
<!--end of email.module-->]]>

<!ENTITY % envar.module "INCLUDE">
<![ %envar.module; [
<!ENTITY % local.envar.attrib "">
<!ENTITY % envar.role.attrib "%role.attrib;">
<!ELEMENT EnVar - - ((%smallcptr.char.mix;)+)>
<!ATTLIST EnVar
                %common.attrib;
                %envar.role.attrib;
                %local.envar.attrib;
>
<!--end of envar.module-->]]>

<!ENTITY % errorcode.module "INCLUDE">
<![ %errorcode.module; [
<!ENTITY % local.errorcode.attrib "">
<!ENTITY % errorcode.role.attrib "%role.attrib;">
<!ELEMENT ErrorCode - - ((%smallcptr.char.mix;)+)>
<!ATTLIST ErrorCode
                %moreinfo.attrib;
                %common.attrib;
                %errorcode.role.attrib;
                %local.errorcode.attrib;
>
<!--end of errorcode.module-->]]>

<!ENTITY % errorname.module "INCLUDE">
<![ %errorname.module; [
<!ENTITY % local.errorname.attrib "">
<!ENTITY % errorname.role.attrib "%role.attrib;">
<!ELEMENT ErrorName - - ((%smallcptr.char.mix;)+)>
<!ATTLIST ErrorName
                %common.attrib;
>
<!--end of errorname.module-->]]>

<!ENTITY % errortype.module "INCLUDE">
<![ %errortype.module; [
<!ENTITY % local.errortype.attrib "">
<!ENTITY % errortype.role.attrib "%role.attrib;">
<!ELEMENT ErrorType - - ((%smallcptr.char.mix;)+)>
<!ATTLIST ErrorType
                %common.attrib;
>
<!--end of errortype.module-->]]>

<!ENTITY % filename.module "INCLUDE">
<![ %filename.module; [
<!ENTITY % local.filename.attrib "">
<!ENTITY % filename.role.attrib "%role.attrib;">
<!ELEMENT Filename - - ((%cptr.char.mix;)+)>
<!ATTLIST Filename
        Class                (HeaderFile | SymLink | Directory)        #IMPLIED

        --Path: search path (possibly system-specific) in which 
        file can be found--
        Path                CDATA                #IMPLIED
        MoreInfo        (RefEntry | None)         None        
                %common.attrib;
>
<!--end of filename.module-->]]>

<!ENTITY % function.module "INCLUDE">
<![ %function.module; [
<!ENTITY % local.function.attrib "">
<!ENTITY % function.role.attrib "%role.attrib;">
<!ELEMENT Function - - ((%cptr.char.mix;)+)>
<!ATTLIST Function
        MoreInfo        (RefEntry | None)         None        
        %common.attrib;
>
<!--end of function.module-->]]>

<!ENTITY % keysym.module "INCLUDE">
<![ %keysym.module; [
<!ENTITY % local.keysym.attrib "">
<!ENTITY % keysysm.role.attrib "%role.attrib;">
<!ELEMENT KeySym - - ((%smallcptr.char.mix;)+)>
<!ATTLIST KeySym
                %common.attrib;
>
<!--end of keysym.module-->]]>

<!ENTITY % lineannotation.module "INCLUDE">
<![ %lineannotation.module; [
<!ENTITY % local.lineannotation.attrib "">
<!ENTITY % lineannotation.role.attrib "%role.attrib;">
<!ELEMENT LineAnnotation - - ((%docinfo.char.mix;)+)>
<!ATTLIST LineAnnotation
                %common.attrib;
>
<!--end of lineannotation.module-->]]>

<!ENTITY % literal.module "INCLUDE">
<![ %literal.module; [
<!ENTITY % local.literal.attrib "">
<!ENTITY % literal.role.attrib "%role.attrib;">
<!ELEMENT Literal - - ((%cptr.char.mix;)+)>
<!ATTLIST Literal
        MoreInfo        (RefEntry | None)        None
        %common.attrib;
>
<!--end of literal.module-->]]>

<!ENTITY % medialabel.module "INCLUDE">
<![ %medialabel.module; [
<!ENTITY % local.medialabel.attrib "">
<!ENTITY % medialabel.role.attrib "%role.attrib;">
<!ELEMENT MediaLabel - - (#PCDATA) >
<!ATTLIST MediaLabel
                Class                 (Cartridge
                                |CDRom
                                |Disk
                                |Tape)                #IMPLIED
                %common.attrib;
>
<!--end of medialabel.module-->]]>

<!ENTITY % msgtext.module "INCLUDE">
<![ %msgtext.module; [
<!ENTITY % local.msgtext.attrib "">
<!ENTITY % msgtext.role.attrib "%role.attrib;">
<!ELEMENT MsgText - - ((%component.mix;)+)>
<!ATTLIST MsgText
                %common.attrib;
>
<!--end of msgtext.module-->]]>

<!ENTITY % option.module "INCLUDE">
<![ %option.module; [
<!ENTITY % local.option.attrib "">
<!ENTITY % option.role.attrib "%role.attrib;">
<!ELEMENT Option - - ((%cptr.char.mix;)+)>
<!ATTLIST Option
        Role        (nodash | plus)                #IMPLIED
        %common.attrib;
>
<!--end of option.module-->]]>

<!ENTITY % optional.module "INCLUDE">
<![ %optional.module; [
<!ENTITY % local.optional.attrib "">
<!ENTITY % optional.role.attrib "%role.attrib;">
<!ELEMENT Optional - - ((%cptr.char.mix;)+)>
<!ATTLIST Optional
                %common.attrib;
>
<!--end of optional.module-->]]>

<!ENTITY % parameter.module "INCLUDE">
<![ %parameter.module; [
<!ENTITY % local.parameter.attrib "">
<!ENTITY % parameter.role.attrib "%role.attrib;">
<!ELEMENT Parameter - - ((%cptr.char.mix;)+)>
<!ATTLIST Parameter
        Class                (Command | Function | Option)        #IMPLIED
        MoreInfo        (RefEntry | None)        None        
        %common.attrib;
>
<!--end of parameter.module-->]]>

<!ENTITY % prompt.module "INCLUDE">
<![ %prompt.module; [
<!ENTITY % local.prompt.attrib "">
<!ENTITY % prompt.role.attrib "%role.attrib;">
<!ELEMENT Prompt - - ((%smallcptr.char.mix;)+)>
<!ATTLIST Prompt
                %moreinfo.attrib;
                %common.attrib;
                %prompt.role.attrib;
                %local.prompt.attrib;
>
<!--end of prompt.module-->]]>

<!ENTITY % property.module "INCLUDE">
<![ %property.module; [
<!ENTITY % local.property.attrib "">
<!ENTITY % property.role.attrib "%role.attrib;">
<!ELEMENT Property - - ((%cptr.char.mix;)+)>
<!ATTLIST Property
        MoreInfo        (RefEntry | None)         None        
        %common.attrib;
>
<!--end of property.module-->]]>

<!ENTITY % replaceable.module "INCLUDE">
<![ %replaceable.module; [
<!ENTITY % local.replaceable.attrib "">
<!ENTITY % replaceable.role.attrib "%role.attrib;">
<!ELEMENT Replaceable - - ((#PCDATA 
                | %link.char.class; 
                | %other.char.class; )+)>
<!ATTLIST Replaceable
                Class                (Command
                                |Function
                                |Option
                                |Parameter)        #IMPLIED
                %common.attrib;
>
<!--end of replaceable.module-->]]>

<!ENTITY % returnvalue.module "INCLUDE">
<![ %returnvalue.module; [
<!ENTITY % local.returnvalue.attrib "">
<!ENTITY % returnvalue.role.attrib "%role.attrib;">
<!ELEMENT ReturnValue - - ((%smallcptr.char.mix;)+)>
<!ATTLIST ReturnValue
                %common.attrib;
>
<!--end of returnvalue.module-->]]>

<!ENTITY % structfield.module "INCLUDE">
<![ %structfield.module; [
<!ENTITY % local.structfield.attrib "">
<!ENTITY % structfield.role.attrib "%role.attrib;">
<!ELEMENT StructField - - ((%smallcptr.char.mix;)+)>
<!ATTLIST StructField
                %common.attrib;
>
<!--end of structfield.module-->]]>

<!ENTITY % structname.module "INCLUDE">
<![ %structname.module; [
<!ENTITY % local.structname.attrib "">
<!ENTITY % structname.role.attrib "%role.attrib;">
<!ELEMENT StructName - - ((%smallcptr.char.mix;)+)>
<!ATTLIST StructName
                %common.attrib;
>
<!--end of structname.module-->]]>

<!ENTITY % symbol.module "INCLUDE">
<![ %symbol.module; [
<!ENTITY % local.symbol.attrib "">
<!ENTITY % symbol.role.attrib "%role.attrib;">
<!ELEMENT Symbol - - ((%smallcptr.char.mix;)+)>
<!ATTLIST Symbol
                Class                (Limit)                #IMPLIED
                %common.attrib;
>
<!--end of symbol.module-->]]>

<!ENTITY % systemitem.module "INCLUDE">
<![ %systemitem.module; [
<!ENTITY % local.systemitem.attrib "">
<!ENTITY % systemitem.role.attrib "%role.attrib;">
<!ELEMENT SystemItem - - ((%cptr.char.mix; | Acronym)+)>
<!ATTLIST SystemItem
        Class      (Constant | EnvironVar | Macro | OSname
                   |Prompt | Resource | SystemName)        #IMPLIED
        MoreInfo   (RefEntry | None)         None        
                   %common.attrib;
>
<!--end of systemitem.module-->]]>

<!ENTITY % type.module "INCLUDE">
<![ %type.module; [
<!ENTITY % local.type.attrib "">
<!ENTITY % type.role.attrib "%role.attrib;">
<!ELEMENT Type - - ((%smallcptr.char.mix;)+)>
<!ATTLIST Type
                %common.attrib;
>
<!--end of type.module-->]]>

<!ENTITY % userinput.module "INCLUDE">
<![ %userinput.module; [
<!ENTITY % local.userinput.attrib "">
<!ENTITY % userinput.role.attrib "%role.attrib;">
<!ELEMENT UserInput - - ((%cptr.char.mix;)+)>
<!ATTLIST UserInput
        MoreInfo        (RefEntry | None)         None        
        %common.attrib;
>
<!--end of userinput.module-->]]>

<!-- Words ................................................................ -->

<!ENTITY % acronym.module "INCLUDE">
<![ %acronym.module; [
<!ENTITY % local.acronym.attrib "">
<!ENTITY % acronym.role.attrib "%role.attrib;">
<!ELEMENT Acronym - - ((%word.char.mix;)+) -(Acronym)>
<!ATTLIST Acronym
                %common.attrib;
>
<!--end of acronym.module-->]]>

<!ENTITY % citerefentry.module "INCLUDE">
<![ %citerefentry.module; [
<!ENTITY % local.citerefentry.attrib "">
<!ENTITY % citerefentry.role.attrib "%role.attrib;">
<!ELEMENT CiteRefEntry - - (RefEntryTitle, ManVolNum?)>
<!ATTLIST CiteRefEntry
                %common.attrib;
>
<!--end of citerefentry.module-->]]>

<!ENTITY % refentrytitle.module "INCLUDE">
<![ %refentrytitle.module; [
<!ENTITY % local.refentrytitle.attrib "">
<!ENTITY % refentrytitle.role.attrib "%role.attrib;">
<!ELEMENT RefEntryTitle - O ((%small.para.char.mix;)+)>
<!ATTLIST RefEntryTitle
                %common.attrib;
>
<!--end of refentrytitle.module-->]]>

<!ENTITY % manvolnum.module "INCLUDE">
<![ %manvolnum.module; [
<!ENTITY % local.manvolnum.attrib "">
<!ENTITY % namvolnum.role.attrib "%role.attrib;">
<!ELEMENT ManVolNum - O ((%word.char.mix;)+)>
<!ATTLIST ManVolNum
                %common.attrib;
>
<!--end of manvolnum.module-->]]>

<!ENTITY % citetitle.module "INCLUDE">
<![ %citetitle.module; [
<!ENTITY % local.citetitle.attrib "">
<!ENTITY % citetitle.role.attrib "%role.attrib;">
<!ELEMENT CiteTitle - - ((%small.para.char.mix;)+)>
<!ATTLIST CiteTitle
                --Pubwork: type of published work being cited--
                Pubwork                (Article | Book)  #IMPLIED
                %common.attrib;
>
<!--end of citetitle.module-->]]>

<!ENTITY % emphasis.module "INCLUDE">
<![ %emphasis.module; [
<!ENTITY % local.emphasis.attrib "">
<!ENTITY % emphasis.role.attrib "%role.attrib;">
<!ELEMENT Emphasis - - ((%docinfo.char.mix;)+)>
<!ATTLIST Emphasis
        %common.attrib;
        Role        (Strong)        #IMPLIED        
        %local.emphasis.attrib;
>
<!--end of emphasis.module-->]]>

<!ENTITY % firstterm.module "INCLUDE">
<![ %firstterm.module; [
<!ENTITY % local.firstterm.attrib "">
<!ENTITY % firstterm.role.attrib "%role.attrib;">
<!ELEMENT FirstTerm - - ((%word.char.mix;)+)>
<!ATTLIST FirstTerm
                %linkend.attrib; --to GlossEntry or other explanation--
                %common.attrib;
>
<!--end of firstterm.module-->]]>

<!ENTITY % glossterm.module "INCLUDE">
<![ %glossterm.module; [
<!ENTITY % local.glossterm.attrib "">
<!ENTITY % glossterm.role.attrib "%role.attrib;">
<!ELEMENT GlossTerm - O ((%para.char.mix;)+)>
<!ATTLIST GlossTerm
                %linkend.attrib; --to GlossEntry if Glossterm used in text--

                --BaseForm: the form of the term in GlossEntry when this
                GlossTerm is used in text in alternate form (e.g. plural),
                for doing automatic linking--
                BaseForm        CDATA                #IMPLIED
                %common.attrib;
>
<!--end of glossterm.module-->]]>

<!ENTITY % phrase.module "INCLUDE">
<![ %phrase.module; [
<!ENTITY % local.phrase.attrib "">
<!ENTITY % phrase.role.attrib "%role.attrib;">
<!ELEMENT Phrase - - ((%docinfo.char.mix;)+)>
<!ATTLIST Phrase
                %common.attrib;
>
<!--end of phrase.module-->]]>

<!ENTITY % quote.module "INCLUDE">
<![ %quote.module; [
<!ENTITY % local.quote.attrib "">
<!ENTITY % quote.role.attrib "%role.attrib;">
<!ELEMENT Quote - - ((%small.para.char.mix;)+)>
<!ATTLIST Quote
                %common.attrib;
>
<!--end of quote.module-->]]>

<!ENTITY % ssscript.module "INCLUDE">
<![ %ssscript.module; [
<!ENTITY % local.ssscript.attrib "">
<!ENTITY % ssscript.role.attrib "%role.attrib;">
<!ELEMENT (Subscript | Superscript) - - ((#PCDATA 
                | %link.char.class;
                | Replaceable 
                | Symbol 
                | %other.char.class;)+)
                -(%ubiq.mix;)>
<!ATTLIST (Subscript | Superscript)
                %common.attrib;
>
<!--end of ssscript.module-->]]>

<!ENTITY % trademark.module "INCLUDE">
<![ %trademark.module; [
<!ENTITY % local.trademark.attrib "">
<!ENTITY % trademark.role.attrib "%role.attrib;">
<!ELEMENT Trademark - - ((#PCDATA 
                | %link.char.class; 
                | %cptr.char.class;
                | %other.char.class;)+)> 
<!ATTLIST Trademark
                Class                (Service
                                |Trade
                                |Registered
                                |Copyright)        Trade
                %common.attrib;
>
<!--end of trademark.module-->]]>

<!-- Links and cross-references ........................................... -->

<!ENTITY % link.module "INCLUDE">
<![ %link.module; [
<!ENTITY % local.link.attrib "">
<!ELEMENT Link - - ((%small.para.char.mix;)+)>
<!ATTLIST Link
                --Endterm: pointer to description of linked-to object--
                Endterm                IDREF                #IMPLIED

                %linkendreq.attrib; --to linked-to object--

                --Type: user-defined role of link--
                Type                CDATA                #IMPLIED
                %common.attrib;
                %local.link.attrib;
>
<!--end of link.module-->]]>

<!ENTITY % olink.module "INCLUDE">
<![ %olink.module; [
<!ENTITY % local.olink.attrib "">
<!ENTITY % olink.role.attrib "%role.attrib;">
<!ELEMENT OLink - - ((%para.char.mix;)+)>
<!ATTLIST OLink
        --TargetDocEnt: HyTimeish Docorsub pointer--
        TargetDocEnt        ENTITY                 #REQUIRED

        --LinkMode: points to a ModeSpec containing app-specific info--
        LinkMode        IDREF                #IMPLIED
        LocalInfo         CDATA                #IMPLIED

        --Type: user-defined role of link--
        --CHANGED OLink attribute Type from CDATA to
          (V-ONLY | V-ANY).  This allows writers in the future
          to determine whether a given link should go to the
          current target only (that is, only that version of the
          target) or whether the user should be given a list of
          possible other versions if the target specified by the
          olink cannot be found.--
        --ADDED V-LAST: (V-ONLY | V-ANY | V-LAST), this will permit
          to determine whether a given links should go to the last
          available version of the target --
        Type            (V-ONLY | V-ANY | V-LAST)       #IMPLIED
>
<!--end of olink.module-->]]>

<!ENTITY % ulink.module "INCLUDE">
<![ %ulink.module; [
<!ENTITY % local.ulink.attrib "">
<!ENTITY % ulink.role.attrib "%role.attrib;">
<!ELEMENT ULink - - ((%small.para.char.mix;)+)>
<!ATTLIST ULink
                --URL: uniform resource locator--
                URL                CDATA                #REQUIRED

                --Type: user-defined role of link--
                Type                CDATA                #IMPLIED
>
<!--end of ulink.module-->]]>

<!ENTITY % footnoteref.module "INCLUDE">
<![ %footnoteref.module; [
<!ENTITY % local.footnoteref.attrib "">
<!ENTITY % footnoteref.role.attrib "%role.attrib;">
<!ELEMENT FootnoteRef - O EMPTY>
<!ATTLIST FootnoteRef
                %linkendreq.attrib; --to footnote content already supplied--
                --Label: symbol (e.g. dagger) for use in pointing to
                footnote in text; default is whatever was used
                in original footnote being referenced--
                Label                CDATA                #IMPLIED
                id                ID                #IMPLIED
>
<!--end of footnoteref.module-->]]>

<!ENTITY % xref.module "INCLUDE">
<![ %xref.module; [
<!ENTITY % local.xref.attrib "">
<!ENTITY % xref.role.attrib "%role.attrib;">
<!ELEMENT XRef - O EMPTY>
<!ATTLIST XRef
                --Endterm: pointer to description of linked-to object--
                Endterm                IDREF                #IMPLIED

                %linkendreq.attrib; --to linked-to object--
>
<!--end of xref.module-->]]>

<!-- Ubiquitous elements .................................................. -->

<!ENTITY % beginpage.module "INCLUDE">
<![ %beginpage.module; [
<!ENTITY % local.beginpage.attrib "">
<!ENTITY % beginpage.role.attrib "%role.attrib;">
<!ELEMENT BeginPage - O EMPTY>
<!ATTLIST BeginPage
                --PageNum: number of page that begins at this point--
                %pagenum.attrib;
                %common.attrib;
                %beginpage.role.attrib;
                %local.beginpage.attrib;
>
<!--end of beginpage.module-->]]>

<!-- IndexTerms appear in the text flow for generating or linking an
     index. -->

<!ENTITY % indexterm.content.module "INCLUDE">
<![ %indexterm.content.module; [
<!ENTITY % indexterm.module "INCLUDE">
<![ %indexterm.module; [
<!ENTITY % local.indexterm.attrib "">
<!ELEMENT IndexTerm - O (Primary, ((Secondary, ((Tertiary, (See|SeeAlso+)?)
                | See | SeeAlso+)?) | See | SeeAlso+)?) -(%ubiq.mix;)>
<!ATTLIST IndexTerm
                %pagenum.attrib;

                --Scope: indexing applies to this doc (Local), whole doc
                set (Global), or both (All)--
                Scope                (All
                                |Global
                                |Local)                #IMPLIED

                --Significance: whether term is best source of info for
                this topic (Preferred) or not (Normal)--
                Significance        (Preferred
                                |Normal)        Normal

                --Class: indicates type of IndexTerm; default is Singular, 
                or EndOfRange if StartRef is supplied; StartOfRange value 
                must be supplied explicitly on starts of ranges--

                Class                (Singular
                                |StartOfRange
                                |EndOfRange)        #IMPLIED

                --StartRef: points to the IndexTerm that starts
                the indexing range ended by this IndexTerm--

                StartRef                IDREF                #CONREF

                --Zone: points to elements where IndexTerms originated;
                for use if IndexTerms are assembled together in source
                instance--

                Zone                IDREFS                #IMPLIED
                %common.attrib;
                %local.indexterm.attrib;
>
<!--end of indexterm.module-->]]>

<!ENTITY % primsecter.module "INCLUDE">
<![ %primsecter.module; [
<!ENTITY % local.primsecter.attrib "">
<!ENTITY % primsecter.role.attrib "%role.attrib;">
<!ELEMENT (Primary | Secondary | Tertiary) - O ((%ndxterm.char.mix;)+)>
<!ATTLIST (Primary | Secondary | Tertiary)
                --SortAs: alternate sort string for index sorting--
                SortAs                CDATA                #IMPLIED
                %common.attrib;
>
<!--end of primsecter.module-->]]>

<!ENTITY % seeseealso.module "INCLUDE">
<![ %seeseealso.module; [
<!ENTITY % local.seeseealso.attrib "">
<!ENTITY % seeseealso.role.attrib "%role.attrib;">
<!ELEMENT (See | SeeAlso) - O ((%ndxterm.char.mix;)+)>
<!ATTLIST (See | SeeAlso)
                %common.attrib;
>
<!--end of seeseealso.module-->]]>
<!--end of indexterm.content.module-->]]>

<!-- End of SolBook V2.0 information pool module .......................... -->
<!-- ...................................................................... -->


<!-- Redeclaration placeholder ..... -->

<!ENTITY % intermod.redecl.module "IGNORE">
<![ %intermod.redecl.module; [
%rdbmods;
<!--end of intermod.redecl.module-->]]>

<!-- Document hierarchy ............ -->

<!ENTITY % dbhier PUBLIC 
  "-//Sun Microsystems//ELEMENTS DocBook Document Hierarchy V3.0-Based SolBook Subset V2.0//EN" >
<!-- ...................................................................... -->
<!-- SolBook V2.0 document hierarchy module ............................... -->
<!-- File dbhier.mod ...................................................... -->

<!-- This is SolBook 2.0, a subset of DocBook V3.0.
     Copyright 1999 Sun Microsystems, Inc., All rights reserved.
     $Id: @(#)dbhier.mod 1.12 99/06/18 SMI $

     DocBook V3.0
     Copyright 1992,1993,1994,1995,1996 HaL Computer Systems, Inc.,
     O'Reilly & Associates, Inc., ArborText, Inc., and Fujitsu Software Corp.

     Permission to use, copy, modify and distribute the DocBook 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.
-->

<!-- ...................................................................... -->

<!-- This module contains the definitions for the overall document
     hierarchies of SolBook documents. It covers computer documentation
     manuals and manual fragments, as well as reference entries (such as
     man pages) and technical journals or anthologies containing articles.

     This module depends on the SolBook information pool module.  All
     elements and entities referenced but not defined here are assumed
     to be defined in the information pool module.

     In DTD driver files referring to this module, please use an entity
     declaration that uses the public identifier shown below:

     <!ENTITY % dbhier PUBLIC
       "-//Sun Microsystems//ELEMENTS DocBook Document Hierarchy V3.0-Based SolBook Subset V2.0//EN">
     %dbhier;

     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.

#file: dbhier.mod
-->

<!-- ...................................................................... -->
<!-- Entities for module inclusions ....................................... -->

<!ENTITY % dbhier.redecl.module         "IGNORE">
<!ENTITY % dbhier.redecl2.module        "IGNORE">

<!-- ...................................................................... -->
<!-- Entities for element classes ......................................... -->

<!ENTITY % local.appendix.class "">
<!ENTITY % appendix.class        "Appendix %local.appendix.class;">

<!--
<!ENTITY % local.article.class "">
<!ENTITY % article.class        "Article %local.article.class">
 -->

<!ENTITY % local.book.class "">
<!ENTITY % book.class           "Book %local.book.class;">

<!ENTITY % local.chapter.class "">
<!ENTITY % chapter.class        "Chapter %local.chapter.class;">

<!ENTITY % local.index.class "">
<!ENTITY % index.class          "Index %local.index.class;">

<!--
<!ENTITY % local.info.class "">
<!ENTITY % info.class           "DocInfo|Sect1Info|Sect2Info|Sect3Info
                                |Sect4Info|Sect5Info %local.index.class;">
 -->

<!ENTITY % local.refentry.class "">
<!ENTITY % refentry.class       "RefEntry %local.refentry.class;">

<!ENTITY % local.nav.class "">
<!ENTITY % nav.class            "ToC|Index|Glossary|Bibliography 
                                %local.nav.class;">

<!-- Redeclaration placeholder ............................................ -->

<!-- For redeclaring entities that are declared after this point while
     retaining their references to the entities that are declared before
     this point -->

<![ %dbhier.redecl.module; [
%rdbhier;
<!--end of dbhier.redecl.module-->]]>

<!-- ...................................................................... -->
<!-- Entities for element mixtures ........................................ -->
<!--BETA Removed descobj.class from divcomponent.mix-->

<!ENTITY % local.divcomponent.mix "">
<!ENTITY % divcomponent.mix
                "%list.class;            |%admon.class;
                |%linespecific.class;    |%synop.class;
                |%para.class;            |%informal.class;
                |%formal.class;          |%compound.class;
                |%genobj.class           |Caution
                |Note        |Tip        %local.divcomponent.mix;">

<!--BETA Removed descobj.class from refcomponent.mix-->
<!ENTITY % local.refcomponent.mix "">
<!ENTITY % refcomponent.mix
                "%list.class;            |%admon.class;
                |%linespecific.class;    |%synop.class;
                |%para.class;            |%informal.class;
                |%formal.class;          |%compound.class;
                |%genobj.class;          |Caution        
                |Note        |Tip        %local.refcomponent.mix;">

<!ENTITY % local.indexdivcomponent.mix "">
<!ENTITY % indexdivcomponent.mix
                "ItemizedList|OrderedList|VariableList
                |%linespecific.class;    |%synop.class;
                |%para.class;            |%informal.class;
                |Comment
                |%link.char.class;
                %local.indexdivcomponent.mix;">

<!ENTITY % local.refname.char.mix "">
<!ENTITY % refname.char.mix
                "#PCDATA
                |%cptr.char.class;
                %local.refname.char.mix;">

<!ENTITY % local.partcontent.mix "">
<!ENTITY % partcontent.mix
                "%appendix.class;|%chapter.class;|%nav.class;
                |Preface|%refentry.class;|Reference %local.partcontent.mix;">

<!ENTITY % local.refinline.char.mix "">
<!ENTITY % refinline.char.mix
                "#PCDATA
                |%xref.char.class;        |%word.char.class;
                |%link.char.class;        |%cptr.char.class;
                |%docinfo.char.class;
                |%other.char.class;
                %local.refinline.char.mix;">

<!ENTITY % local.refclass.char.mix "">
<!ENTITY % refclass.char.mix
                "#PCDATA
                |Application
                %local.refclass.char.mix;">

<!ENTITY % local.setinfo.char.mix "">
<!ENTITY % setinfo.char.mix
                "#PCDATA
                |%docinfo.char.class;|Title|Copyright|CorpName|Date|Editor
                |Edition|ISBN|LegalNotice|OrgName|PrintHistory|Publisher
                |PubsNumber|ReleaseInfo|Subtitle|VolumeNum
                %local.setinfo.char.mix;">

<!-- Redeclaration placeholder 2 .......................................... -->

<!-- For redeclaring entities that are declared after this point while
     retaining their references to the entities that are declared before
     this point -->

<![ %dbhier.redecl2.module; [
%rdbhier2;
<!--end of dbhier.redecl2.module-->]]>

<!-- ...................................................................... -->
<!-- Entities for content models .......................................... -->

<!ENTITY % div.title.content
        "Title, TitleAbbrev?">

<!ENTITY % bookcomponent.title.content
        "Title, TitleAbbrev?">

<!ENTITY % sect.title.content
        "Title, TitleAbbrev?">

<!ENTITY % refsect.title.content
        "Title, TitleAbbrev?">

<!ENTITY % bookcomponent.content
        "((%divcomponent.mix;)+, 
        (Sect1*|(%refentry.class;)*))
        | (Sect1+|(%refentry.class;)+)">

<!-- ...................................................................... -->

<!-- ...................................................................... -->
<!-- Book and BookInfo .................................................... -->

<!ENTITY % book.content.module "INCLUDE">
<![ %book.content.module; [
<!ENTITY % book.module "INCLUDE">
<![ %book.module; [
<!ENTITY % local.book.attrib "">
<!ENTITY % book.role.attrib "%role.attrib;">
<!ELEMENT Book - O ((%div.title.content;), BookInfo, ToC?, Preface*,
                (((%chapter.class;)+, Reference*) | (Part,Part+) | Reference+), 
                (%appendix.class;)*, Glossary?, Bibliography?, 
                (%index.class;)*)
                +(%ubiq.mix;)>
<!ATTLIST Book        
                --FPI: Preferred formal public ID of book--
                FPI                CDATA                #IMPLIED
                Role    (SINGLE | NUMBERED | NUMBERED-NonConsecutivePg | 
                        UNNUMBERED | UNNUMBERED-NonConsecutivePg )  #IMPLIED
                Label         (ALPHA | BETA | PRE-FCS | FCS)          #IMPLIED
                %common.attrib;                
>
<!--end of book.module-->]]>

<!ENTITY % bookinfo.module "INCLUDE">
<![ %bookinfo.module; [
<!ENTITY % local.bookinfo.attrib "">
<!ENTITY % bookinfo.role.attrib "%role.attrib;">
<!ELEMENT BookInfo - - (BookBiblio, (LegalNotice)+,
        SubjectSet* , KeywordSet*, ModeSpec*)
        -(IssueNum, %ubiq.mix;)>
<!ATTLIST BookInfo
        -- Contents: points to the IDs of the book pieces
           in the order of their appearance--
        Contents        IDREFS                #IMPLIED
        Role ( None | All | LOT | LOF | LOC 
               | LOT-LOF | LOT-LOC |  LOC-LOF) #IMPLIED
>
<!--end of bookinfo.module-->]]>
<!--end of book.content.module-->]]>

<!-- ...................................................................... -->
<!-- Dedication, ToC, and LoT ............................................. -->

<!ENTITY % toc.content.module "INCLUDE">
<![ %toc.content.module; [
<!ENTITY % toc.module "INCLUDE">
<![ %toc.module; [
<!ENTITY % local.toc.attrib "">
<!ENTITY % toc.role.attrib "%role.attrib;">
<!ELEMENT ToC - O (ToCfront*)>
<!--end of toc.module-->]]>

<!--Changed para.char.mix to small.para.char.mix-->
<!ENTITY % tocfront.module "INCLUDE">
<![ %tocfront.module; [
<!ENTITY % local.tocfront.attrib "">
<!ENTITY % tocfront.role.attrib "%role.attrib;">
<!ELEMENT ToCfront - O ((%small.para.char.mix;)+)>
<!ATTLIST ToCfront
                %label.attrib;
                %pagenum.attrib;
                %common.attrib;
>
<!--end of tocfront.module-->]]>

<!--end of toc.content.module-->]]>

<!-- ...................................................................... -->
<!-- Appendix, Chapter, Part, Preface, Reference, PartIntro ............... -->

<!ENTITY % appendix.module "INCLUDE">
<![ %appendix.module; [
<!ENTITY % local.appendix.attrib "">
<!ENTITY % appendix.role.attrib "%role.attrib;">
<!ELEMENT Appendix - O ((%bookcomponent.title.content;), 
                (%bookcomponent.content;)) +(%ubiq.mix;)>
<!ATTLIST Appendix
        %common.attrib;
        Label           CDATA           #IMPLIED
        Role            (MANPAGES)      #IMPLIED

>
<!--end of appendix.module-->]]>

<!ENTITY % chapter.module "INCLUDE">
<![ %chapter.module; [
<!ENTITY % local.chapter.attrib "">
<!ENTITY % chapter.role.attrib "%role.attrib;">
<!ELEMENT Chapter - O ((%bookcomponent.title.content;),
                (%bookcomponent.content;), (Glossary | Bibliography)*)
                +(%ubiq.mix;)>
<!ATTLIST Chapter
        %common.attrib;
         Label           CDATA           #IMPLIED
        Role            (MANPAGES)      #IMPLIED

>
<!--end of chapter.module-->]]>

<!ENTITY % part.module "INCLUDE">
<![ %part.module; [
<!ENTITY % local.part.attrib "">
<!ENTITY % part.role.attrib "%role.attrib;">
<!ELEMENT Part - - ((%bookcomponent.title.content;), PartIntro?,
                (((Bibliography | %chapter.class; | Glossary | Reference)+ ) |
                  (%appendix.class;)+ )) +(%ubiq.mix;)>
<!ATTLIST Part
                %common.attrib;
>
<!--ELEMENT PartIntro (defined below)-->
<!--end of part.module-->]]>

<!ENTITY % preface.module "INCLUDE">
<![ %preface.module; [
<!ENTITY % local.preface.attrib "">
<!ENTITY % preface.role.attrib "%role.attrib;">
<!ELEMENT Preface - O ((%bookcomponent.title.content;), 
                (%bookcomponent.content;)) +(%ubiq.mix;)>
<!ATTLIST Preface
        %common.attrib;
        Role    (PREFACE | INTRODUCTION) PREFACE
>
<!--end of preface.module-->]]>

<!ENTITY % reference.module "INCLUDE">
<![ %reference.module; [
<!ENTITY % local.reference.attrib "">
<!ENTITY % reference.role.attrib "%role.attrib;">
<!ELEMENT Reference - O ((%bookcomponent.title.content;), PartIntro?,
                (%refentry.class;)+) +(%ubiq.mix;)>
<!ATTLIST Reference
        %common.attrib;
        Label                CDATA                #IMPLIED        
>
<!--ELEMENT PartIntro (defined below)-->
<!--end of reference.module-->]]>

<!ENTITY % partintro.module "INCLUDE">
<![ %partintro.module; [
<!ENTITY % local.partintro.attrib "">
<!ENTITY % partintro.role.attrib "%role.attrib;">
<!ELEMENT PartIntro - O (%bookcomponent.content;) +(%ubiq.mix;)>
<!ATTLIST PartIntro        
        %common.attrib;
        Role    (MANPAGES | NO-MANPAGES) NO-MANPAGES        
>
<!--end of partintro.module-->]]>

<!-- ...................................................................... -->
<!-- Info elements ........................................................ -->


<!-- ...................................................................... -->
<!-- Sect1, Sect2, Sect3, Sect4, Sect5 .................................... -->

<!ENTITY % sect1.module "INCLUDE">
<![ %sect1.module; [
<!ENTITY % local.sect1.attrib "">
<!ENTITY % sect1.role.attrib "%role.attrib;">
<!ELEMENT Sect1 - O ((%sect.title.content;), (((%divcomponent.mix;)+, 
                ((%refentry.class;)* | Sect2*))
                | (%refentry.class;)+ | Sect2+)) +(%ubiq.mix;)>
<!ATTLIST Sect1
                %label.attrib;
                %common.attrib;
>
<!--end of sect1.module-->]]>

<!ENTITY % sect2.module "INCLUDE">
<![ %sect2.module; [
<!ENTITY % local.sect2.attrib "">
<!ENTITY % sect2.role.attrib "%role.attrib;">
<!ELEMENT Sect2 - O ((%sect.title.content;), (((%divcomponent.mix;)+, 
                ((%refentry.class;)* | Sect3*)) | (%refentry.class;)+ 
                | Sect3+))>
<!ATTLIST Sect2
        %label.attrib;
        %common.attrib;
        Role                (PROCEDURE)                #IMPLIED        
>
<!--end of sect2.module-->]]>

<!ENTITY % sect3.module "INCLUDE">
<![ %sect3.module; [
<!ENTITY % local.sect3.attrib "">
<!ENTITY % sect3.role.attrib "%role.attrib;">
<!ELEMENT Sect3 - O ((%sect.title.content;), (((%divcomponent.mix;)+, 
                ((%refentry.class;)* | Sect4*)) | (%refentry.class;)+ 
                | Sect4+))>
<!ATTLIST Sect3
                %label.attrib;
                %common.attrib;
        Role                (PROCEDURE)                #IMPLIED
>
<!--end of sect3.module-->]]>

<!ENTITY % sect4.module "INCLUDE">
<![ %sect4.module; [
<!ENTITY % local.sect4.attrib "">
<!ENTITY % sect4.role.attrib "%role.attrib;">
<!ELEMENT Sect4 - O ((%sect.title.content;), ((%divcomponent.mix;)+)) > 
<!ATTLIST Sect4
                %label.attrib;
                %common.attrib;
>
<!--end of sect4.module-->]]>



<!-- ...................................................................... -->
<!-- Bibliography ......................................................... -->

<!ENTITY % bibliography.content.module "INCLUDE">
<![ %bibliography.content.module; [
<!ENTITY % bibliography.module "INCLUDE">
<![ %bibliography.module; [
<!ENTITY % local.bibliography.attrib "">
<!ENTITY % bibliography.role.attrib "%role.attrib;">
<!ELEMENT Bibliography - O ((%bookcomponent.title.content;),
                (%component.mix;)*, 
                (BiblioDiv+ | (BiblioEntry)+))>
<!ATTLIST Bibliography
                %status.attrib;
                %common.attrib;
>
<!--end of bibliography.module-->]]>

<!ENTITY % bibliodiv.module "INCLUDE">
<![ %bibliodiv.module; [
<!ENTITY % local.bibliodiv.attrib "">
<!ENTITY % bibliodiv.role.attrib "%role.attrib;">
<!ELEMENT BiblioDiv - O ((%sect.title.content;), (%component.mix;)*,
                (BiblioEntry)+)>
<!ATTLIST BiblioDiv
                %status.attrib;
                %common.attrib;
>
<!--end of bibliodiv.module-->]]>
<!--end of bibliography.content.module-->]]>

<!-- ...................................................................... -->
<!-- Glossary ............................................................. -->

<!ENTITY % glossary.content.module "INCLUDE">
<![ %glossary.content.module; [
<!ENTITY % glossary.module "INCLUDE">
<![ %glossary.module; [
<!ENTITY % local.glossary.attrib "">
<!ENTITY % glossary.role.attrib "%role.attrib;">
<!ELEMENT Glossary - O ((%bookcomponent.title.content;)?, (%component.mix;)*,
                (GlossDiv+ | GlossEntry+), Bibliography?)>
<!ATTLIST Glossary
                %status.attrib;
                %common.attrib;
>
<!--end of glossary.module-->]]>

<!ENTITY % glossdiv.module "INCLUDE">
<![ %glossdiv.module; [
<!ENTITY % local.glossdiv.attrib "">
<!ENTITY % glossdiv.role.attrib "%role.attrib;">
<!ELEMENT GlossDiv - O ((%sect.title.content;), (%component.mix;)*,
                GlossEntry+)>
<!ATTLIST GlossDiv
                %status.attrib;
                %common.attrib;
>
<!--end of glossdiv.module-->]]>
<!--end of glossary.content.module-->]]>

<!-- ...................................................................... -->
<!-- Index and SetIndex ................................................... -->

<!ENTITY % index.content.module "INCLUDE">
<![ %index.content.module; [
<!ENTITY % indexes.module "INCLUDE">
<![ %indexes.module; [
<!ENTITY % local.indexes.attrib "">
<!ENTITY % indexes.role.attrib "%role.attrib;">
<!ELEMENT (%index.class;) - O ((%bookcomponent.title.content;)?,
                (%component.mix;)*, (IndexDiv+ | IndexEntry+))
                -(%ndxterm.class;)>
<!ATTLIST (%index.class;)
                %common.attrib;
>
<!--end of indexes.module-->]]>

<!ENTITY % indexdiv.module "INCLUDE">
<![ %indexdiv.module; [

<!-- SegmentedList in this content is useful for marking up permuted
     indices. -->

<!ENTITY % local.indexdiv.attrib "">
<!ENTITY % indexdiv.role.attrib "%role.attrib;">
<!ELEMENT IndexDiv - O ((%sect.title.content;)?, ((%indexdivcomponent.mix;)*,
                (IndexEntry+ | SegmentedList)))>
<!ATTLIST IndexDiv
                %common.attrib;
>
<!--end of indexdiv.module-->]]>

<!ENTITY % indexentry.module "INCLUDE">
<![ %indexentry.module; [
<!-- Index entries appear in the index, not the text. -->

<!ENTITY % local.indexentry.attrib "">
<!ENTITY % indexentry.role.attrib "%role.attrib;">
<!ELEMENT IndexEntry - O (PrimaryIE, (SeeIE|SeeAlsoIE)*,
                (SecondaryIE, (SeeIE|SeeAlsoIE|TertiaryIE)*)*)>
<!ATTLIST IndexEntry
                %common.attrib;
>
<!--end of indexentry.module-->]]>

<!ENTITY % primsecterie.module "INCLUDE">
<![ %primsecterie.module; [
<!ENTITY % local.primsecterie.attrib "">
<!ENTITY % primsecterie.role.attrib "%role.attrib;">
<!ELEMENT (PrimaryIE | SecondaryIE | TertiaryIE) - O ((%ndxterm.char.mix;)+)>
<!ATTLIST (PrimaryIE | SecondaryIE | TertiaryIE)
                %linkends.attrib; --to IndexTerms that these entries represent--
                %common.attrib;
>
<!--end of primsecterie.module-->]]>
        
<!ENTITY % seeie.module "INCLUDE">
<![ %seeie.module; [
<!ENTITY % local.seeie.attrib "">
<!ENTITY % seeie.role.attrib "%role.attrib;">
<!ELEMENT SeeIE - O ((%ndxterm.char.mix;)+)>
<!ATTLIST SeeIE
                %linkend.attrib; --to IndexEntry to look up--
                %common.attrib;
>
<!--end of seeie.module-->]]>

<!ENTITY % seealsoie.module "INCLUDE">
<![ %seealsoie.module; [
<!ENTITY % local.seealsoie.attrib "">
<!ENTITY % seealsoie.role.attrib "%role.attrib;">
<!ELEMENT SeeAlsoIE - O ((%ndxterm.char.mix;)+)>
<!ATTLIST SeeAlsoIE
                %linkends.attrib; --to related IndexEntries--
                %common.attrib;
>
<!--end of seealsoie.module-->]]>
<!--end of index.content.module-->]]>

<!-- ...................................................................... -->
<!-- RefEntry ............................................................. -->

<!ENTITY % refentry.content.module "INCLUDE">
<![ %refentry.content.module; [
<!ENTITY % refentry.module "INCLUDE">
<![ %refentry.module; [
<!ENTITY % local.refentry.attrib "">
<!ENTITY % refentry.role.attrib "%role.attrib;">
<!ELEMENT RefEntry - O (RefMeta, (Comment|%link.char.class;)*,
                RefNameDiv, RefSynopsisDiv?, RefSect1+) +(%ubiq.mix;)>
<!ATTLIST RefEntry
                %status.attrib;
                %common.attrib;
>
<!--end of refentry.module-->]]>

<!ENTITY % refmeta.module "INCLUDE">
<![ %refmeta.module; [
<!ENTITY % local.refmeta.attrib "">
<!ENTITY % refmeta.role.attrib "%role.attrib;">
<!ELEMENT RefMeta - - (RefEntryTitle, ManVolNum?, (RefMiscInfo,
                RefMiscInfo, RefMiscInfo, RefMiscInfo, RefMiscInfo),
                RefMiscInfo*) -(BeginPage)>
<!ATTLIST RefMeta
                %common.attrib;
>
<!--end of refmeta.module-->]]>

<!ENTITY % refmiscinfo.module "INCLUDE">
<![ %refmiscinfo.module; [
<!ENTITY % local.refmiscinfo.attrib "">
<!ENTITY % refmiscinfo.role.attrib "%role.attrib;">
<!ELEMENT RefMiscInfo - - ((%docinfo.char.mix;)+)>
<!ATTLIST RefMiscInfo
        Class        (Date | SectDesc | Software | Arch | Copyright)        #REQUIRED
                %common.attrib;
>
<!--end of refmiscinfo.module-->]]>

<!ENTITY % refnamediv.module "INCLUDE">
<![ %refnamediv.module; [
<!ENTITY % local.refnamediv.attrib "">
<!ENTITY % refnamediv.role.attrib "%role.attrib;">
<!ELEMENT RefNameDiv - O (RefDescriptor?, RefName+, RefPurpose,
                (Comment|%link.char.class;)*)>
<!ATTLIST RefNameDiv
                %common.attrib;
>
<!--end of refnamediv.module-->]]>

<!ENTITY % refdescriptor.module "INCLUDE">
<![ %refdescriptor.module; [
<!ENTITY % local.refdescriptor.attrib "">
<!ENTITY % refdescriptor.role.attrib "%role.attrib;">
<!ELEMENT RefDescriptor - O ((%refname.char.mix;)+)>
<!ATTLIST RefDescriptor
                %common.attrib;
>
<!--end of refdescriptor.module-->]]>

<!ENTITY % refname.module "INCLUDE">
<![ %refname.module; [
<!ENTITY % local.refname.attrib "">
<!ENTITY % refname.role.attrib "%role.attrib;">
<!ELEMENT RefName - O ((%refname.char.mix;)+)>
<!ATTLIST RefName
                %common.attrib;
>
<!--end of refname.module-->]]>

<!ENTITY % refpurpose.module "INCLUDE">
<![ %refpurpose.module; [
<!ENTITY % local.refpurpose.attrib "">
<!ENTITY % refpurpose.role.attrib "%role.attrib;">
<!ELEMENT RefPurpose - O ((%refinline.char.mix;)+)>
<!ATTLIST RefPurpose
                %common.attrib;
>
<!--end of refpurpose.module-->]]>

<!ENTITY % refsynopsisdiv.module "INCLUDE">
<![ %refsynopsisdiv.module; [
<!ENTITY % local.refsynopsisdiv.attrib "">
<!ENTITY % refsynopsisdiv.role.attrib "%role.attrib;">
<!ELEMENT RefSynopsisDiv - O ((%refsect.title.content;)?,
                (((Synopsis | CmdSynopsis | FuncSynopsis)+, RefSect2*) 
                | (RefSect2+)))>
<!ATTLIST RefSynopsisDiv
                %common.attrib;
>
<!--end of refsynopsisdiv.module-->]]>

<!ENTITY % refsect1.module "INCLUDE">
<![ %refsect1.module; [
<!ENTITY % local.refsect1.attrib "">
<!ENTITY % refsect1.role.attrib "%role.attrib;">
<!ELEMENT RefSect1 - O ((%refsect.title.content;),
                (((%refcomponent.mix;)+, RefSect2*) | RefSect2+))>
<!ATTLIST RefSect1
                %status.attrib;
                %common.attrib;
>
<!--end of refsect1.module-->]]>

<!ENTITY % refsect2.module "INCLUDE">
<![ %refsect2.module; [
<!ENTITY % local.refsect2.attrib "">
<!ENTITY % refsect2.role.attrib "%role.attrib;">
<!ELEMENT RefSect2 - O ((%refsect.title.content;),
                (((%refcomponent.mix;)+, RefSect3*) | RefSect3+))>
<!ATTLIST RefSect2
                %status.attrib;
                %common.attrib;
>
<!--end of refsect2.module-->]]>

<!ENTITY % refsect3.module "INCLUDE">
<![ %refsect3.module; [
<!ENTITY % local.refsect3.attrib "">
<!ENTITY % refsect3.role.attrib "%role.attrib;">
<!ELEMENT RefSect3 - O ((%refsect.title.content;), (%refcomponent.mix;)+)>
<!ATTLIST RefSect3
                %status.attrib;
                %common.attrib;
>
<!--end of refsect3.module-->]]>
<!--end of refentry.content.module-->]]>

<!-- ...................................................................... -->
<!-- Article .............................................................. -->

<!-- End of SolBook V2.0 document hierarchy module ........................ -->
<!-- ...................................................................... -->

<!-- End of DocBook DTD V3.0-Based SolBook Subset V2.0 .................... -->
<!-- ...................................................................... -->