Text in which spaces, tabs, and line feeds must be preserved. Content is typically displayed in monofont to preserve character alignment.
The <preformat> element is typically used for machine-related communication such as computer code and error messages, in which whitespace such as tabs, line feeds, and spaces should be preserved.
Position: The @position attribute may be used to indicate whether this element must be anchored at its exact location within the text, or whether it may float, for example, to the top of the next page, next column, to the end of a logical file, or within a separate window. For the typical <preformat> element, the “float or anchor” decision will be governed by the size of the object. For example, short code fragments are typically anchored whereas full programs are typically placed elsewhere such as in a separate window or at the end of the document.
<!ELEMENT preformat %preformat-model; >
(#PCDATA | alt-text | long-desc | email | ext-link | uri | inline-supplementary-material | related-article | related-object | hr | bold | fixed-case | italic | monospace | overline | overline-start | overline-end | roman | sans-serif | sc | strike | underline | underline-start | underline-end | ruby | alternatives | inline-graphic | private-char | chem-struct | inline-formula | tex-math | mml:math | abbrev | milestone-end | milestone-start | named-content | styled-content | fn | target | xref | sub | sup | x | attrib | permissions)*
Any combination of:
<abstract>, <ack>, <alternatives>, <app>, <app-group>, <bio>, <body>, <boxed-text>, <chem-struct>, <chem-struct-wrap>, <disp-formula>, <disp-quote>, <fig>, <floats-group>, <glossary>, <license-p>, <named-content>, <notes>, <p>, <ref-list>, <sec>, <styled-content>, <supplementary-material>, <table-wrap>, <td>, <term>, <th>, <trans-abstract>
<article dtd-version="1.1d1"> <front>...</front> <body> ... <p>Trees, of course, are hardly a random choice for our methodology. ... Hierarchical trees have been understood as a way of viewing document structures since the earliest days of SGML development. Our initial tree structure was very simple: <preformat> <!ELEMENT implications (tree+) > <!ELEMENT tree (root, branches) > <!ELEMENT root (term, synonym?) > <!ELEMENT branches (term | (term, synonym) | tree)* > </preformat> Terms are the literal strings for which the Ferret engine searches; they are the most specific expressions to be found in real documents of the concepts on which classifications rules act.</p> ... </body> <back>...</back> </article>
... <p>As you can see in the following excerpt, use of literal result elements is very convenient: <preformat> <xsl:template match="div/divhead" priority="2"> <<named-content content-type="literal result">h2</named-content>> <xsl:apply-templates/> <<named-content content-type="literal result">/h2</named-content>> </xsl:template> </preformat></p> ...