## programlisting

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

## Synopsis

programlisting ::=

• Sequence of:

## Attributes

Attributes:

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

• If this element is the root element, it must have a version attribute.

## Description

A `programlisting` is a verbatim environment for program source or source fragment listings. The `programlisting`s are often placed in `example`s or `figure`s 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 `programlisting`s 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 >.`
`]]></programlisting>`
```

Two markup tags have special significance in `programlisting`s: `co` and `lineannotation`. A `co` identifies the location of a `callout`. A `lineannotation` is a comment, added by the documentor—not the programmer.

### Attributes

any attribute

Any attribute in an other explicit namespace.

continuation

Determines whether line numbering continues from the previous element or restarts.

language

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

linenumbering

Determines whether lines are numbered.

startinglinenumber

Specifies the initial line number.

width

Specifies the width (in characters) of the element

xml:space

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.

### Children

The following elements occur in `programlisting`: .