programlisting — A literal listing of all or part of a program.


programlisting ::=


Common attributes and common linking attributes.

Additional attributes:

  • All of:
    • continuation (enumeration)
      • “continues”
      • “restarts”
    • linenumbering (enumeration)
      • “numbered”
      • “unnumbered”
    • startinglinenumber (integer)
    • xml:space (enumeration)
      • “preserve”
    • language
  • width (nonNegativeInteger)


A programlisting is a verbatim environment for program source or source fragment listings. The 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 line breaks within this element are significant. The 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:

1 |<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
5 |is the end-of-section marker, which is two
  |"]"'s in a row followed by a >.


Common attributes and common linking attributes.


Determines whether line numbering continues from the previous element or restarts

Enumerated values:

Line numbering continues from the immediately preceding element with the same name.


Line numbering restarts (begins at 1, usually).


Identifies the language (i.e. programming language) of the verbatim content


Determines whether lines are numbered

Enumerated values:

Lines are numbered.


Lines are not numbered.


Specifies the initial line number


Specifies the width (in characters) of the element


Can be used to indicate explicitly that whitespace in the verbatim environment is preserved. Whitespace must always be preserved in verbatim environments whether this attribute is specified or not

Enumerated values:

Whitespace must be preserved.


These elements contain programlisting: abstract, bibliodiv, bibliography, blockquote, caption (db.caption), entry, example, figure, foil, foilgroup, footnote, itemizedlist, legalnotice, listitem, note, orderedlist, revdescription, section, sidebar, slides, speakernotes, td, textobject, th, variablelist.


The following elements occur in programlisting: text, abbrev, acronym, author, citetitle, command, computeroutput, editor, email, emphasis, filename, footnote, footnoteref, info (, inlinemediaobject, lineannotation, link, literal, option, orgname, personname, phrase (db.phrase), quote, replaceable, subscript, superscript, systemitem, textobject, trademark, userinput, xref.

See Also

Related elements: computeroutput, lineannotation, literallayout, userinput.