<!-- RefEntry DTD -->
<!-- Subset of DocBook RefEntry for WebMan project -->
<!-- -->
<!-- Copyright 2002 Mark Craig -->
<!-- -->
<!-- -->
<!-- A command argument for use in command synopses -->
<!ELEMENT arg (#PCDATA | replaceable)* >
<!ATTLIST arg
choice (opt|plain|required) #IMPLIED
rep (norepeat|repeat) #IMPLIED >
<!-- -->
<!-- Whom to attribute a block quote -->
<!ELEMENT attribution (#PCDATA)* >
<!-- -->
<!-- An extended quote, formatted as a block element -->
<!ELEMENT blockquote (attribution, para+) >
<!-- -->
<!-- A reference to another RefEntry document -->
<!ELEMENT citerefentry (refentrytitle, manvolnum) >
<!-- -->
<!-- A reference to another document -->
<!ELEMENT citetitle (#PCDATA)* >
<!-- -->
<!-- An object class name -->
<!ELEMENT classname (#PCDATA)* >
<!-- -->
<!-- A class synopsis for the synopsis section, block element -->
<!ELEMENT classsynopsis ((ooclass | oointerface | ooexception)+,
(classsynopsisinfo | constructorsynopsis |
destructorsynopsis | fieldsynopsis |
methodsynopsis)*) >
<!-- -->
<!-- Information about an object class -->
<!ELEMENT classsynopsisinfo (#PCDATA)* >
<!-- -->
<!-- An command synopsis for the synopsis section, block element -->
<!ELEMENT cmdsynopsis (arg | command | group | sbr)+ >
<!-- -->
<!-- An command either as part of a synopsis or in another section -->
<!ELEMENT command (#PCDATA)* >
<!-- -->
<!-- Output displayed on a computer terminal screen -->
<!ELEMENT computeroutput (#PCDATA | replaceable)* >
<!-- -->
<!-- Synopsis for an object constructor -->
<!ELEMENT constructorsynopsis (modifier*, methodname?,
(methodparam+ | void), exceptionname*) >
<!-- -->
<!-- Synopsis for an object destructor -->
<!ELEMENT destructorsynopsis (modifier*, methodname?,
(methodparam+ | void), exceptionname*) >
<!-- -->
<!-- An inline, emphasized word or phrase -->
<!ELEMENT emphasis (#PCDATA)* >
<!-- -->
<!-- A table cell -->
<!ELEMENT entry (para)+ >
<!ATTLIST entry
align (center | left | right) #IMPLIED
morerows NMTOKEN #IMPLIED
valign (bottom | middle | top) #IMPLIED >
<!-- -->
<!-- An error code especially as part of a list of errors -->
<!ELEMENT errorcode (#PCDATA)* >
<!-- -->
<!-- An error name especially as part of a list of errors -->
<!ELEMENT errorname (#PCDATA)* >
<!-- -->
<!-- An error type especially as part of a list of errors -->
<!ELEMENT errortype (#PCDATA)* >
<!-- -->
<!-- An example use of the function or command, with title -->
<!ELEMENT example (title, (para | programlisting | screen)+) >
<!ATTLIST example
id ID #IMPLIED >
<!-- -->
<!-- Name of an OO exception -->
<!ELEMENT exceptionname (#PCDATA)* >
<!-- -->
<!-- Synopsis for a class field -->
<!ELEMENT fieldsynopsis (modifier*, type?, varname, initializer?) >
<!-- -->
<!-- An function definition for a function synopsis -->
<!ELEMENT funcdef (#PCDATA | function)* >
<!-- -->
<!-- An function referenced through a function pointer -->
<!ELEMENT funcparams (#PCDATA)* >
<!-- -->
<!-- An function prototype for a function synopsis -->
<!ELEMENT funcprototype (funcdef, (varargs | void | paramdef+)) >
<!-- -->
<!-- An function synopsis for the synposis section -->
<!ELEMENT funcsynopsis (funcsynopsisinfo?, funcprototype+) >
<!-- -->
<!-- Extra function information, such as a header file line -->
<!ELEMENT funcsynopsisinfo (#PCDATA | replaceable)* >
<!-- -->
<!-- A function either as part of a synopsis or in another section -->
<!ELEMENT function (#PCDATA)* >
<!-- -->
<!-- A group of command arguments for a command synopsis -->
<!ELEMENT group (arg | sbr)+ >
<!ATTLIST group
choice (opt | plain | required) #IMPLIED
rep (norepeat | repeat) #IMPLIED >
<!-- -->
<!-- Initializer for a method parameter -->
<!ELEMENT initializer (#PCDATA)* >
<!-- -->
<!-- Name of an OO interface -->
<!ELEMENT interfacename (#PCDATA)* >
<!-- -->
<!-- An unordered list of items -->
<!ELEMENT itemizedlist (listitem)+ >
<!-- -->
<!-- An single item in a list; may include multiple block elements -->
<!ELEMENT listitem (para, (itemizedlist | orderedlist | para |
variablelist)*) >
<!-- -->
<!-- An inline, literal word or phrase -->
<!ELEMENT literal (#PCDATA)* >
<!-- -->
<!-- The RefEntry volume number used when citing a RefEntry -->
<!ELEMENT manvolnum (#PCDATA)* >
<!-- -->
<!-- Name of an object method -->
<!ELEMENT methodname (#PCDATA)* >
<!-- -->
<!-- Parameter of an object method -->
<!ELEMENT methodparam (modifier*, type?, ((parameter, initializer?) |
funcparams), modifier*) >
<!ATTLIST methodparam
choice (opt | plain | required) #IMPLIED
rep (norepeat | repeat) #IMPLIED >
<!-- -->
<!-- Synopsis for an object method -->
<!ELEMENT methodsynopsis (modifier*, (type | void), methodname,
(methodparam+ | void), exceptionname*) >
<!-- -->
<!-- Modifier for an object method or method parameter -->
<!ELEMENT modifier (#PCDATA)* >
<!-- -->
<!-- A single entry in a set of error messages -->
<!ELEMENT msgentry (msg+, msginfo, msgexplan) >
<!-- -->
<!-- The explanation of an error message -->
<!ELEMENT msgexplan (para, (blockquote | itemizedlist | orderedlist |
para | programlisting | screen |
variablelist)*) >
<!-- -->
<!-- Information about the level and origin of an error message -->
<!ELEMENT msginfo (msglevel | msgorig) >
<!-- -->
<!-- Information about the level of an error message -->
<!ELEMENT msglevel (#PCDATA)* >
<!-- -->
<!-- An error message in a set of error messages -->
<!ELEMENT msg (msgmain, (msgrel | msgsub)*) >
<!-- -->
<!-- Main component of an error message -->
<!ELEMENT msgmain (msgtext) >
<!-- -->
<!-- Information about the origin of an error message -->
<!ELEMENT msgorig (#PCDATA)* >
<!-- -->
<!-- Related error messages in a set of error messages -->
<!ELEMENT msgrel (msgtext) >
<!-- -->
<!-- A set of error messages -->
<!ELEMENT msgset (msgentry)+ >
<!-- -->
<!-- A subordiate message of a top level error message -->
<!ELEMENT msgsub (msgtext) >
<!-- -->
<!-- Error message text itself, for use in a set of error messages -->
<!ELEMENT msgtext (para, (blockquote | itemizedlist | orderedlist |
para | programlisting | screen |
variablelist)+) >
<!-- -->
<!-- Identifier for an OO class -->
<!ELEMENT ooclass (modifier*, classname) >
<!-- -->
<!-- Prototype for an OO exception -->
<!ELEMENT ooexception (modifier*, exceptionname) >
<!-- -->
<!-- Prototype for an OO interface -->
<!ELEMENT oointerface (modifier*, interfacename) >
<!-- -->
<!-- A list of items having a particular order -->
<!ELEMENT orderedlist (listitem)+ >
<!-- -->
<!-- A parameter definition for a function synopsis -->
<!ELEMENT paramdef (#PCDATA | funcparams | parameter)* >
<!-- -->
<!-- A parameter in a function synopsis or another section -->
<!ELEMENT parameter (#PCDATA)* >
<!-- -->
<!-- A paragraph -->
<!ELEMENT para (#PCDATA | citerefentry | citetitle | classname |
command | emphasis | errorcode | errorname |
errortype | function | literal | quote |
replaceable | trademark | ulink | xref)* >
<!-- -->
<!-- A program listing, may need to be preprocessed for inclusion -->
<!ELEMENT programlisting (#PCDATA | classname | command | function |
replaceable)* >
<!-- -->
<!-- An inline quote -->
<!ELEMENT quote (#PCDATA)* >
<!-- -->
<!-- A RefEntry document type (the root level element for this DTD) -->
<!ELEMENT refentry (refmeta, refnamediv, refsynopsisdiv, refsect1+) >
<!ATTLIST refentry
id ID #IMPLIED >
<!-- -->
<!-- The title of a RefEntry document, usually the ref. subject -->
<!ELEMENT refentrytitle (#PCDATA)* >
<!-- -->
<!-- A section of meta information about the RefEntry document -->
<!ELEMENT refmeta (refentrytitle, manvolnum, refmiscinfo*) >
<!-- -->
<!-- An item of meta information about the RefEntry document -->
<!ELEMENT refmiscinfo (#PCDATA)* >
<!ATTLIST refmiscinfo
class (arch | copyright |
date | sectdesc |
software) #REQUIRED >
<!-- -->
<!-- A section concerning the ref. subject and quick description -->
<!ELEMENT refnamediv (refname+, refpurpose) >
<!-- -->
<!-- A ref. subject -->
<!ELEMENT refname (#PCDATA)* >
<!-- -->
<!-- A quick description of the ref. subject(s) -->
<!ELEMENT refpurpose (#PCDATA)* >
<!-- -->
<!-- A generic RefEntry section -->
<!ELEMENT refsect1 (title, para, (blockquote | example | itemizedlist |
msgset | orderedlist | para |
programlisting | screen | table |
variablelist)*, refsect2*) >
<!ATTLIST refsect1
id ID #IMPLIED >
<!-- -->
<!-- A generic RefEntry subsection -->
<!ELEMENT refsect2 (title, para, (blockquote | itemizedlist |
orderedlist | para |
programlisting | screen |
variablelist)*) >
<!ATTLIST refsect2
id ID #IMPLIED >
<!-- -->
<!-- A RefEntry synopsis section -->
<!ELEMENT refsynopsisdiv (title, (classsynopsis | cmdsynopsis |
constructorsynopsis | destructorsynopsis |
fieldsynopsis | funcsynopsis |
methodsynopsis | synopsis)+) >
<!ATTLIST refsynopsisdiv
id ID #IMPLIED >
<!-- -->
<!-- Inline text that the user must replace with a literal value -->
<!ELEMENT replaceable (#PCDATA)* >
<!-- -->
<!-- A row in a table -->
<!ELEMENT row (entry)+ >
<!ATTLIST row
valign (bottom | middle | top) #IMPLIED >
<!-- -->
<!-- An indicator for a forced line break in cmdsynopsis formatting -->
<!ELEMENT sbr EMPTY >
<!-- -->
<!-- A (terminal) screen as seen by a user -->
<!ELEMENT screen (#PCDATA | computeroutput | replaceable | userinput)* >
<!-- -->
<!-- A generic synopsis (not for a command or function) -->
<!ELEMENT synopsis (#PCDATA | replaceable)* >
<!-- -->
<!-- A table having a title and formatted as a table -->
<!ELEMENT table (title, tgroup) >
<!ATTLIST table
colsep NMTOKEN #IMPLIED
frame (all | bottom | none |
sides | top | topbot) #IMPLIED
rowsep NMTOKEN #IMPLIED >
<!-- -->
<!-- A table body element, as distinguished from a table header -->
<!ELEMENT tbody (row)+ >
<!ATTLIST tbody
valign (bottom | middle | top) #IMPLIED >
<!-- -->
<!-- A term as the first part of a variable list entry -->
<!ELEMENT term (#PCDATA | replaceable)* >
<!-- -->
<!-- A group of table elements -->
<!ELEMENT tgroup (thead?, tbody) >
<!-- -->
<!-- A table header element, as distinguished from a table body -->
<!ELEMENT thead (row+) >
<!ATTLIST thead
valign (bottom | middle | top) #IMPLIED >
<!-- -->
<!-- A section title -->
<!ELEMENT title (#PCDATA)* >
<!-- -->
<!-- An inline trademarked term -->
<!ELEMENT trademark (#PCDATA)* >
<!ATTLIST trademark
class (copyright | registered |
service | trade) #IMPLIED >
<!-- -->
<!-- Return type of an OO method or type of a class field -->
<!ELEMENT type (#PCDATA)* >
<!-- -->
<!-- A URL link -->
<!ELEMENT ulink (#PCDATA)* >
<!ATTLIST ulink
url CDATA #REQUIRED >
<!-- -->
<!-- User input as shown on a computer terminal -->
<!ELEMENT userinput (#PCDATA)* >
<!-- -->
<!-- Repeated variable arguments in a function synopsis -->
<!ELEMENT varargs EMPTY >
<!-- -->
<!-- A list of terms and their associated explanations -->
<!ELEMENT variablelist (varlistentry)+ >
<!-- -->
<!-- A list item in a variable list -->
<!ELEMENT varlistentry (term+, listitem) >
<!-- -->
<!-- Name of the variable in a class field -->
<!ELEMENT varname (#PCDATA)* >
<!-- -->
<!-- A void argument to a function in a function synopsis -->
<!ELEMENT void EMPTY >
<!-- -->
<!-- A cross reference to another element in the same document -->
<!ELEMENT xref EMPTY >
<!ATTLIST xref
linkend IDREF #REQUIRED > |