example — A formal example, with a title
example ::=
addressanchorannotationbibliolistblockquotebridgeheadcalloutlistcautionclasssynopsiscmdsynopsisconstraintdefconstructorsynopsisdestructorsynopsisepigraphequationexamplefieldsynopsisfigureformalparafuncsynopsisglosslisthtml:formimportantindexterm (db.indexterm.endofrange)indexterm (db.indexterm.singular)indexterm (db.indexterm.startofrange)informalequationinformalexampleinformalfigureinformaltable (db.cals.informaltable)informaltable (db.html.informaltable)itemizedlistliterallayoutmediaobjectmethodsynopsismsgsetnoteorderedlistparaprocedureproductionsetprogramlistingprogramlistingcoqandasetremarkrevhistoryscreenscreencoscreenshotsegmentedlistsidebarsimparasimplelistsynopsistable (db.cals.table)table (db.html.table)tasktipvariablelistwarningcaption? (db.caption)Common attributes and common linking attributes.
Additional attributes:
Example is a formal example with a title. Examples often
contain ProgramListings or other large, block elements.
Frequently they are given IDs and referenced from the text with
XRef or Link.
Formatted as a displayed block. DocBook does not specify the location of the example within the final displayed flow of text; it may float or remain where it is located.
A list of examples may be generated at the beginning of a document.
Common attributes and common linking attributes.
Specifies style information to be used when rendering the float
FIXME:
FIXME:
These elements contain example: annotation, answer, appendix, article, bibliodiv, bibliography, bibliolist, blockquote, callout, calloutlist, caption (db.caption), caution, chapter, colophon, constraintdef, dedication, entry, example, figure, footnote, glossary, glossdef, glossdiv, glosslist, html:fieldset, html:form, important, index, indexdiv, informalexample, informalfigure, itemizedlist, legalnotice, listitem, msgexplan, msgtext, note, orderedlist, para, partintro, preface, procedure, qandadiv, qandaset, question, refsect1, refsect2, refsect3, refsection, refsynopsisdiv, revdescription, sect1, sect2, sect3, sect4, sect5, section, setindex, sidebar, simplesect, step, task, taskprerequisites, taskrelated, tasksummary, td, textobject, th, tip, toc, tocdiv, variablelist, warning.
The following elements occur in example: address, anchor, annotation, bibliolist, blockquote, bridgehead, calloutlist, caption (db.caption), caution, classsynopsis, cmdsynopsis, constraintdef, constructorsynopsis, destructorsynopsis, epigraph, equation, example, fieldsynopsis, figure, formalpara, funcsynopsis, glosslist, html:form, important, indexterm (db.indexterm.endofrange), indexterm (db.indexterm.singular), indexterm (db.indexterm.startofrange), info (db.titleforbidden.info), info (db.titleonlyreq.info), informalequation, informalexample, informalfigure, informaltable (db.cals.informaltable), informaltable (db.html.informaltable), itemizedlist, literallayout, mediaobject, methodsynopsis, msgset, note, orderedlist, para, procedure, productionset, programlisting, programlistingco, qandaset, remark, revhistory, screen, screenco, screenshot, segmentedlist, sidebar, simpara, simplelist, synopsis, table (db.cals.table), table (db.html.table), task, tip, title, titleabbrev, variablelist, warning.
<article xmlns='http://docbook.org/ns/docbook'>
<title>Example example</title>
<example xml:id="ex.dssslfunction">
<title>A DSSSL Function</title>
<programlisting>
(define (node-list-filter-by-gi nodelist gilist)
  ;; Returns the node-list that contains every element of the original
  ;; nodelist whose gi is in gilist
  (let loop ((result (empty-node-list)) (nl nodelist))
    (if (node-list-empty? nl)
	result
	(if (member (gi (node-list-first nl)) gilist)
	    (loop (node-list result (node-list-first nl)) 
		  (node-list-rest nl))
	    (loop result (node-list-rest nl))))))
</programlisting>
</example>
</article>
Example 9. A DSSSL Function
(define (node-list-filter-by-gi nodelist gilist)
  ;; Returns the node-list that contains every element of the original
  ;; nodelist whose gi is in gilist
  (let loop ((result (empty-node-list)) (nl nodelist))
    (if (node-list-empty? nl)
	result
	(if (member (gi (node-list-first nl)) gilist)
	    (loop (node-list result (node-list-first nl)) 
		  (node-list-rest nl))
	    (loop result (node-list-rest nl))))))