Processing instructions (PIs) are written into the xml when the desired output cannot be achieved with DocBook elements and attributes alone. PIs may also be used to force special formatting in only part of a document. For a more technical introduction see Bob Stayton's DocBook XSL: The Complete Guide. There are also lists of DocBook-specific processing instructions for html and pdf output.
PIs should be used sparingly: it is easier to maintain documents that achieve the desired output with DocBook elements and stylesheet parameters. However, there are a few cases where PIs may be necessary:
Force line break. Line breaks should not be used for spacing between elements; this is much better done with CSS and XSL. Hoever, if entering multiple lines that must be displayed in succession but without the separation of a new paragraph, you may use the linebreak PI. The following code
<para>First line <?linebreak?>Second line <?linebreak?>Third line</para>
Will output
First line Second line Third line
This only works if custom stylesheets include the following code, described in Bob Stayton's DocBook XSL. Sitka's customization layer includes this template as of June 30, 2010:
<xsl:template match="processing-instruction('linebreak')"> <fo:block/> </xsl:template>
Include external content. To insert external content into the html output use the dbhtml-include processing instruction as described in DocBook XSL. This could be used to add a custom search box to the title page, an animated tutorial in the relevant section, or any other content in valid xhtml.