ProgramListing

Name

ProgramListing -- A literal listing of all or part of a program

Synopsis

Mixed Content Model

ProgramListing ::=
((CO|LineAnnotation|#PCDATA|FootnoteRef|XRef|Abbrev|Acronym|
  Citation|CiteRefEntry|CiteTitle|Emphasis|FirstTerm|
  ForeignPhrase|GlossTerm|Footnote|Phrase|Quote|Trademark|
  WordAsWord|Link|OLink|ULink|Action|Application|ClassName|
  Command|ComputerOutput|Database|Email|EnVar|ErrorCode|ErrorName|
  ErrorType|Filename|Function|GUIButton|GUIIcon|GUILabel|GUIMenu|
  GUIMenuItem|GUISubmenu|Hardware|Interface|InterfaceDefinition|
  KeyCap|KeyCode|KeyCombo|KeySym|Literal|Constant|Markup|
  MediaLabel|MenuChoice|MouseButton|MsgText|Option|Optional|
  Parameter|Prompt|Property|Replaceable|ReturnValue|SGMLTag|
  StructField|StructName|Symbol|SystemItem|Token|Type|UserInput|
  VarName|Anchor|Author|AuthorInitials|CorpAuthor|ModeSpec|
  OtherCredit|ProductName|ProductNumber|RevHistory|Comment|
  Subscript|Superscript|InlineGraphic|InlineMediaObject|
  InlineEquation|Synopsis|CmdSynopsis|FuncSynopsis|IndexTerm)+)

Attributes

Common attributes

Name

Type

Default

WidthNUMBERNone
Format

Enumerated notation:

linespecific

"linespecific"

Tag Minimization

Both the start- and end-tags are required for this element.

Parameter Entities

%admon.mix;%bookcomponent.content;%component.mix;
%divcomponent.mix;%example.mix;%figure.mix;
%footnote.mix;%glossdef.mix;%indexdivcomponent.mix;
%legalnotice.mix;%linespecific.class;%para.mix;
%qandaset.mix;%refcomponent.mix;%sidebar.mix;
%tabentry.mix;%tbl.entry.mdl;%textobject.mix;

Description

A ProgramListing is a verbatim environment for program source or source fragment listings. ProgramListings are often placed in Examples or Figures so that they can be cross-referenced from the text.

Processing Expectations

Formatted as a displayed block. This element is displayed "verbatim"; whitespace and linebreaks within this element are significant. ProgramListings are usually displayed in a fixed width font.

Other markup within a ProgramListing is recognized. Contrast this with systems like LaTeX, in which verbatim environments disable markup recognition. If you want to disable markup recognition, you must use a CDATA section:

<programlisting>
<![CDATA[
This is a programlisting so white       space and line
breaks are significant.  But it is also a CDATA
section so <emphasis>tags</emphasis> and &entities;
are not recognized.  The only markup that is recognized
is the end-of-section marker, which is two
"]"'s in a row followed by a >.
]]>
</programlisting>

Two markup tags have special significance in ProgramListings: CO and LineAnnotation. A CO identifies the location of a Callout. A LineAnnotation is a comment, added by the documentor--not the programmer.

Processing expectations

This element is displayed "verbatim"; whitespace and linebreaks within this element are significant.

(4.0) Future Changes

The InterfaceDefinition element will be discarded in DocBook V4.0. It will no longer be available in the content model of this element.

Parents

These elements contain ProgramListing: Answer, Appendix, Article, BiblioDiv, Bibliography, BlockQuote, Callout, Caption, Caution, Chapter, Colophon, Dedication, entry, Example, Figure, Footnote, Glossary, GlossDef, GlossDiv, Important, Index, IndexDiv, InformalExample, InformalFigure, LegalNotice, ListItem, MsgExplan, MsgText, Note, Para, PartIntro, Preface, Procedure, ProgramListingCO, QandADiv, QandASet, Question, RefSect1, RefSect2, RefSect3, RefSynopsisDiv, Sect1, Sect2, Sect3, Sect4, Sect5, Section, SetIndex, Sidebar, SimpleSect, Step, TextObject, Tip, Warning.

Children

The following elements occur in ProgramListing: Abbrev, Acronym, Action, Anchor, Application, Author, AuthorInitials, Citation, CiteRefEntry, CiteTitle, ClassName, CmdSynopsis, CO, Command, Comment, ComputerOutput, Constant, CorpAuthor, Database, Email, Emphasis, EnVar, ErrorCode, ErrorName, ErrorType, Filename, FirstTerm, Footnote, FootnoteRef, ForeignPhrase, FuncSynopsis, Function, GlossTerm, GUIButton, GUIIcon, GUILabel, GUIMenu, GUIMenuItem, GUISubmenu, Hardware, IndexTerm, InlineEquation, InlineGraphic, InlineMediaObject, Interface, InterfaceDefinition, KeyCap, KeyCode, KeyCombo, KeySym, LineAnnotation, Link, Literal, Markup, MediaLabel, MenuChoice, ModeSpec, MouseButton, MsgText, OLink, Option, Optional, OtherCredit, Parameter, Phrase, ProductName, ProductNumber, Prompt, Property, Quote, Replaceable, ReturnValue, RevHistory, SGMLTag, StructField, StructName, Subscript, Superscript, Symbol, Synopsis, SystemItem, Token, Trademark, Type, ULink, UserInput, VarName, WordAsWord, XRef.

In some contexts, the following elements are allowed anywhere: BeginPage, IndexTerm.

In some contexts, the following elements are excluded: Acronym, Footnote, IndexTerm.

Attributes

Format

The Format attribute applies the linespecific notation to all ProgramListings. All white space and line breaks must be preserved.

Width

Width specifies the width (in characters) of the longest line in this ProgramListing (formatters may use this value to determine scaling or rotation).

See Also

ComputerOutput, LineAnnotation, LiteralLayout, Screen, ScreenShot, Synopsis, UserInput

Examples

For examples, see Example, InformalExample, ProgramListingCO.

Copyright © 1999 O'Reilly & Associates, Inc. All rights reserved.