Imported Upstream version 1.79.2
[platform/upstream/docbook-xsl-stylesheets.git] / fo / pi.xsl
1 <?xml version='1.0'?>
2 <xsl:stylesheet
3   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
4   xmlns:d="http://docbook.org/ns/docbook"
5   xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
6   xmlns:fo="http://www.w3.org/1999/XSL/Format"
7   xmlns:xlink="http://www.w3.org/1999/xlink"
8   exclude-result-prefixes="doc xlink d"
9   version='1.0'>
10
11 <!-- ********************************************************************
12
13      This file is part of the XSL DocBook Stylesheet distribution.
14      See ../README or http://cdn.docbook.org/release/xsl/current/ for
15      copyright and other information.
16
17      ******************************************************************** -->
18
19 <doc:reference xmlns=""><info><title>FO Processing Instruction Reference</title>
20     <releaseinfo role="meta">
21     </releaseinfo>
22   </info>
23
24   <partintro id="partintro">
25     <title>Introduction</title>
26
27     <para>This is generated reference documentation for all
28       user-specifiable processing instructions (PIs) in the DocBook
29       XSL stylesheets for FO output.
30       <note>
31         <para>You add these PIs at particular points in a document to
32           cause specific “exceptions” to formatting/output behavior. To
33           make global changes in formatting/output behavior across an
34           entire document, it’s better to do it by setting an
35           appropriate stylesheet parameter (if there is one).</para>
36       </note>
37     </para>
38   </partintro>
39 </doc:reference>
40
41 <!-- ==================================================================== -->
42
43 <doc:pi name="dbfo_background-color" xmlns="">
44   <refpurpose>Sets background color for an image</refpurpose>
45   <refdescription>
46     <para>Use the <tag class="xmlpi">dbfo background-color</tag> PI before or
47       after an image (<tag>graphic</tag>, <tag>inlinegraphic</tag>,
48       <tag>imagedata</tag>, or <tag>videodata</tag> element) as a
49       sibling to the element, to set a background color for the
50       image.</para>
51   </refdescription>
52   <refsynopsisdiv>
53     <synopsis><tag class="xmlpi">dbfo background-color="<replaceable>color</replaceable>"</tag></synopsis>
54   </refsynopsisdiv>
55   <refparameter>
56     <variablelist>
57       <varlistentry><term>background-color="<replaceable>color</replaceable>"</term>
58         <listitem>
59           <para>An HTML color value</para>
60         </listitem>
61       </varlistentry>
62     </variablelist>
63   </refparameter>
64   <refsee role="tcg">
65     <para><link role="tcg"
66         xlink:href="BGcolor.html"
67         >Background color</link></para>
68   </refsee>
69 </doc:pi>
70 <xsl:template name="pi.dbfo_background-color">
71   <xsl:param name="node" select="."/>
72   <xsl:call-template name="dbfo-attribute">
73     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
74     <xsl:with-param name="attribute" select="'background-color'"/>
75   </xsl:call-template>
76 </xsl:template>
77
78 <doc:pi name="dbfo_bgcolor" xmlns="">
79   <refpurpose>Sets background color on a table row or table cell</refpurpose>
80   <refdescription>
81     <para>Use the <tag class="xmlpi">dbfo bgcolor</tag> PI as child of a table row
82       or cell to set a background color for that table row or cell.</para>
83     <para>This PI works for both CALS and HTML tables.</para>
84   </refdescription>
85   <refsynopsisdiv>
86     <synopsis><tag class="xmlpi">dbfo bgcolor="<replaceable>color</replaceable>"</tag></synopsis>
87   </refsynopsisdiv>
88   <refparameter>
89     <variablelist>
90       <varlistentry><term>bgcolor="<replaceable>color</replaceable>"</term>
91         <listitem>
92           <para>An HTML color value</para>
93         </listitem>
94       </varlistentry>
95     </variablelist>
96   </refparameter>
97   <refsee role="tcg">
98     <para><link role="tcg"
99         xlink:href="BGtableColor.html#CellBGColor"
100         >Cell background color</link></para>
101   </refsee>
102 </doc:pi>
103 <xsl:template name="pi.dbfo_bgcolor">
104   <xsl:param name="node" select="."/>
105   <xsl:call-template name="dbfo-attribute">
106     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
107     <xsl:with-param name="attribute" select="'bgcolor'"/>
108   </xsl:call-template>
109 </xsl:template>
110
111 <doc:pi name="dbfo_float-type" xmlns="">
112   <refpurpose>Specifies float behavior for a sidebar</refpurpose>
113   <refdescription>
114     <para>Use the <tag class="xmlpi">dbfo float-type</tag> PI to specify the float
115       behavior for a <tag>sidebar</tag> (to cause the sidebar to be
116       displayed as a marginal note).</para>
117   </refdescription>
118   <refsynopsisdiv>
119     <synopsis><tag class="xmlpi">dbfo float-type="margin.note"</tag></synopsis>
120   </refsynopsisdiv>
121   <refparameter>
122     <variablelist>
123       <varlistentry><term>float-type="margin.note"</term>
124         <listitem>
125           <para>Specifies that the <tag>sidebar</tag> should be
126             displayed as a marginal note.</para>
127         </listitem>
128       </varlistentry>
129     </variablelist>
130   </refparameter>
131   <refsee role="params">
132     <para><parameter>sidebar.float.type</parameter> (parameter),
133       <parameter>sidebar.float.width</parameter> (parameter), 
134       <parameter>sidebar.properties</parameter> (attribute-set),
135       <parameter>sidebar.title.properties</parameter> (attribute-set)
136     </para>
137   </refsee>
138   <refsee role="tcg">
139     <para><link role="tcg" xlink:href="SideFloats.html#SidebarFloats" >A sidebar as
140         side float</link></para>
141   </refsee>
142 </doc:pi>
143 <xsl:template name="pi.dbfo_float-type">
144   <xsl:param name="node" select="."/>
145   <xsl:call-template name="dbfo-attribute">
146     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
147     <xsl:with-param name="attribute" select="'float-type'"/>
148   </xsl:call-template>
149 </xsl:template>
150
151 <doc:pi name="dbfo_font-size" xmlns="">
152   <refpurpose>Specifies “font-size” for block verbatim elements</refpurpose>
153   <refdescription>
154     <para>Use the <tag class="xmlpi">dbfo font-size</tag> PI as a child of a
155       verbatim element (<tag>screen</tag>, <tag>programlisting</tag>, or
156       <tag>synopsis</tag>) to specify the “font-size”.</para>
157   </refdescription>
158   <refsynopsisdiv>
159     <synopsis><tag class="xmlpi">dbfo font-size="SIZE"</tag></synopsis>
160   </refsynopsisdiv>
161   <refparameter>
162     <variablelist>
163       <varlistentry><term>font-size="SIZE"</term>
164         <listitem>
165           <para>Specifies the font size (usually in points)</para>
166         </listitem>
167       </varlistentry>
168     </variablelist>
169   </refparameter>
170   
171 </doc:pi>
172 <xsl:template name="pi.dbfo_font-size">
173   <xsl:param name="node" select="."/>
174   <xsl:call-template name="dbfo-attribute">
175     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
176     <xsl:with-param name="attribute" select="'font-size'"/>
177   </xsl:call-template>
178 </xsl:template>
179
180 <doc:pi name="dbfo_funcsynopsis-style" xmlns="">
181   <refpurpose>Specifies presentation style for a funcsynopsis</refpurpose>
182   <refdescription>
183     <para>Use the <tag class="xmlpi">dbfo funcsynopsis-style</tag> PI as a child of
184       a <tag>funcsynopsis</tag> or anywhere within a funcsynopsis
185       to control the presentation style for output of all
186       <tag>funcprototype</tag> instances within that funcsynopsis.</para>
187   </refdescription>
188   <refsynopsisdiv>
189     <synopsis><tag class="xmlpi">dbfo funcsynopsis-style="kr"|"ansi"</tag></synopsis>
190   </refsynopsisdiv>
191   <refparameter>
192     <variablelist>
193       <varlistentry><term>funcsynopsis-style="kr"</term>
194         <listitem>
195           <para>Displays <tag>funcprototype</tag> output in K&amp;R style</para>
196         </listitem>
197       </varlistentry>
198       <varlistentry><term>funcsynopsis-style="ansi"</term>
199         <listitem>
200           <para>Displays <tag>funcprototype</tag> output in ANSI style</para>
201         </listitem>
202       </varlistentry>
203     </variablelist>
204   </refparameter>
205   <refsee role="params">
206     <para><parameter>funcsynopsis.style</parameter></para>
207   </refsee>
208 </doc:pi>
209 <xsl:template name="pi.dbfo_funcsynopsis-style">
210   <xsl:param name="node" select="."/>
211   <xsl:call-template name="dbfo-attribute">
212     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
213     <xsl:with-param name="attribute" select="'funcsynopsis-style'"/>
214   </xsl:call-template>
215 </xsl:template>
216
217 <doc:pi name="dbfo_glossary-presentation" xmlns="">
218   <refpurpose>Specifies presentation style for a glossary</refpurpose>
219   <refdescription>
220     <para>Use the <tag class="xmlpi">dbfo glossary-presentation</tag> PI as a child of
221       a <tag>glossary</tag> to control its presentation style.</para>
222   </refdescription>
223   <refsynopsisdiv>
224     <synopsis><tag class="xmlpi">dbfo glossary-presentation="list"|"blocks"</tag></synopsis>
225   </refsynopsisdiv>
226   <refparameter>
227     <variablelist>
228       <varlistentry><term>glossary-presentation="list"</term>
229         <listitem>
230           <para>Displays the glossary as a list</para>
231         </listitem>
232       </varlistentry>
233       <varlistentry><term>glossary-presentation="blocks"</term>
234         <listitem>
235           <para>Displays the glossary as blocks</para>
236         </listitem>
237       </varlistentry>
238     </variablelist>
239   </refparameter>
240   <refsee role="params">
241     <para><parameter>glossary.as.blocks</parameter></para>
242   </refsee>
243   <refsee role="tcg">
244     <para><link role="tcg" xlink:href="Glossaries.html#GlossaryFormatPrint" >Glossary
245         formatting in print</link></para>
246   </refsee>
247 </doc:pi>
248 <xsl:template name="pi.dbfo_glossary-presentation">
249   <xsl:param name="node" select="."/>
250   <xsl:call-template name="dbfo-attribute">
251     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
252     <xsl:with-param name="attribute" select="'glossary-presentation'"/>
253   </xsl:call-template>
254 </xsl:template>
255
256 <doc:pi name="dbfo_glosslist-presentation" xmlns="">
257   <refpurpose>Specifies presentation style for a glosslist</refpurpose>
258   <refdescription>
259     <para>Use the <tag class="xmlpi">dbfo glosslist-presentation</tag> PI as a child of
260       a <tag>glosslist</tag> to control its presentation style.</para>
261   </refdescription>
262   <refsynopsisdiv>
263     <synopsis><tag class="xmlpi">dbfo glosslist-presentation="list"|"blocks"</tag></synopsis>
264   </refsynopsisdiv>
265   <refparameter>
266     <variablelist>
267       <varlistentry><term>glosslist-presentation="list"</term>
268         <listitem>
269           <para>Displays the glosslist as a list</para>
270         </listitem>
271       </varlistentry>
272       <varlistentry><term>glosslist-presentation="blocks"</term>
273         <listitem>
274           <para>Displays the glosslist as blocks</para>
275         </listitem>
276       </varlistentry>
277     </variablelist>
278   </refparameter>
279   <refsee role="params">
280     <para><parameter>glosslist.as.blocks</parameter> </para>
281   </refsee>
282   <refsee role="tcg">
283     <para><link role="tcg" xlink:href="Glossaries.html#GlossaryFormatPrint" >Glossary
284         formatting in print</link></para>
285   </refsee>
286 </doc:pi>
287 <xsl:template name="pi.dbfo_glosslist-presentation">
288   <xsl:param name="node" select="."/>
289   <xsl:call-template name="dbfo-attribute">
290     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
291     <xsl:with-param name="attribute" select="'glosslist-presentation'"/>
292   </xsl:call-template>
293 </xsl:template>
294
295 <doc:pi name="dbfo_glossterm-width" xmlns="">
296   <refpurpose>Specifies the glossterm width for a glossary or
297     glosslist</refpurpose>
298   <refdescription>
299     <para>Use the <tag class="xmlpi">dbfo glossterm-width</tag> PI as a child of a
300       <tag>glossary</tag> or <tag>glosslist</tag> to specify the
301       width for output of <tag>glossterm</tag> instances in the
302       output.</para>
303   </refdescription>
304   <refsynopsisdiv>
305     <synopsis><tag class="xmlpi">dbfo glossterm-width="<replaceable>width</replaceable>"</tag></synopsis>
306   </refsynopsisdiv>
307   <refparameter>
308     <variablelist>
309       <varlistentry><term>glossterm-width="<replaceable>width</replaceable>"</term>
310         <listitem>
311           <para>Specifies the glossterm width (including units)</para>
312         </listitem>
313       </varlistentry>
314     </variablelist>
315   </refparameter>
316   <refsee role="params">
317     <para><parameter>glossterm.width</parameter>,
318       <parameter>glossterm.separation</parameter>
319     </para>
320   </refsee>
321   <refsee role="tcg">
322     <para><link role="tcg" xlink:href="Glossaries.html#GlossaryFormatPrint" >Glossary
323         formatting in print</link></para>
324   </refsee>
325 </doc:pi>
326 <xsl:template name="pi.dbfo_glossterm-width">
327   <xsl:param name="node" select="."/>
328   <xsl:call-template name="dbfo-attribute">
329     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
330     <xsl:with-param name="attribute" select="'glossterm-width'"/>
331   </xsl:call-template>
332 </xsl:template>
333
334 <doc:pi name="dbfo_keep-together" xmlns="">
335   <refpurpose>Specifies “keep” behavior for a table, example,
336     figure, equation, procedure, or task</refpurpose>
337   <refdescription>
338     <para>Use the <tag class="xmlpi">dbfo keep-together</tag> PI as a child of a
339       formal object (<tag>table</tag>, <tag>example</tag>,
340       <tag>figure</tag>, <tag>equation</tag>, <tag>procedure</tag>, or
341       <tag>task</tag>) to specify “keep” behavior (to allow the object to 
342     “break” across a page).</para>
343     <para>The PI also works with <tag>informaltable</tag>, <tag>informalexample</tag>,
344       <tag>informalfigure</tag> and <tag>informalequation</tag>.
345     </para>
346
347   </refdescription>
348   <refsynopsisdiv>
349     <synopsis><tag class="xmlpi">dbfo keep-together="auto"|"always"</tag></synopsis>
350   </refsynopsisdiv>
351   <refparameter>
352     <variablelist>
353       <varlistentry><term>keep-together="auto"</term>
354         <listitem>
355           <para>Enables the object to break across a page</para>
356         </listitem>
357       </varlistentry>
358       <varlistentry><term>keep-together="always"</term>
359         <listitem>
360           <para>Prevents the object from breaking across a page (the
361             default stylesheet behavior)</para>
362         </listitem>
363       </varlistentry>
364     </variablelist>
365   </refparameter>
366   <refsee role="params">
367     <para>formal.object.properties</para>
368   </refsee>
369   <refsee role="tcg">
370     <para><link role="tcg" xlink:href="PageBreaking.html#KeepTogetherPI"
371         >Keep-together processing instruction</link></para>
372   </refsee>
373 </doc:pi>
374 <xsl:template name="pi.dbfo_keep-together">
375   <xsl:param name="node" select="."/>
376   <xsl:call-template name="dbfo-attribute">
377     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
378     <xsl:with-param name="attribute" select="'keep-together'"/>
379   </xsl:call-template>
380 </xsl:template>
381
382 <doc:pi name="dbfo_label-width" xmlns="">
383   <refpurpose>Specifies the label width for a qandaset, itemizedlist, orderedlist
384   or calloutlist</refpurpose>
385   <refdescription>
386     <para>Use the <tag class="xmlpi">dbfo label-width</tag> PI as a child of a
387       <tag>qandaset</tag>, <tag>itemizedlist</tag>, <tag>orderedlist</tag>, 
388       or <tag>calloutlist</tag> to specify the width of labels.</para>
389   </refdescription>
390   <refsynopsisdiv>
391     <synopsis><tag class="xmlpi">dbfo label-width="<replaceable>width</replaceable>"</tag></synopsis>
392   </refsynopsisdiv>
393   <refparameter>
394     <variablelist>
395       <varlistentry><term>label-width="<replaceable>width</replaceable>"</term>
396         <listitem>
397           <para>Specifies the label width (including units)</para>
398         </listitem>
399       </varlistentry>
400     </variablelist>
401   </refparameter>
402   <refsee role="tcg">
403     <para><link role="tcg"
404         xlink:href="QandAformat.html"
405         >Q and A formatting</link></para>
406   </refsee>
407 </doc:pi>
408 <xsl:template name="pi.dbfo_label-width">
409   <xsl:param name="node" select="."/>
410   <xsl:call-template name="dbfo-attribute">
411     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
412     <xsl:with-param name="attribute" select="'label-width'"/>
413   </xsl:call-template>
414 </xsl:template> 
415
416 <doc:pi name="dbfo_linenumbering.everyNth" xmlns="">
417   <refpurpose>Specifies interval for line numbers in verbatims</refpurpose>
418   <refdescription>
419     <para>Use the <tag class="xmlpi">dbfo linenumbering.everyNth</tag> PI as a child
420       of a “verbatim” element – <tag>programlisting</tag>,
421       <tag>screen</tag>, <tag>synopsis</tag> — to specify
422       the interval at which lines are numbered.</para>
423   </refdescription>
424   <refsynopsisdiv>
425     <synopsis><tag class="xmlpi">dbfo linenumbering.everyNth="<replaceable>N</replaceable>"</tag></synopsis>
426   </refsynopsisdiv>
427   <refparameter>
428     <variablelist>
429       <varlistentry><term>linenumbering.everyNth="<replaceable>N</replaceable>"</term>
430         <listitem>
431           <para>Specifies numbering interval; a number is output
432             before every <replaceable>N</replaceable>th line</para>
433         </listitem>
434       </varlistentry>
435     </variablelist>
436   </refparameter>
437   <refsee role="params">
438     <para><parameter>linenumbering.everyNth</parameter></para>
439   </refsee>
440   <refsee role="tcg">
441     <para><link role="tcg"
442         xlink:href="AnnotateListing.html#LineNumbering"
443         >Line numbering</link></para>
444   </refsee>
445 </doc:pi>
446 <xsl:template name="pi.dbfo_linenumbering.everyNth">
447   <xsl:param name="node" select="."/>
448   <xsl:call-template name="dbfo-attribute">
449     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
450     <xsl:with-param name="attribute" select="'linenumbering.everyNth'"/>
451   </xsl:call-template>
452 </xsl:template>
453
454 <doc:pi name="dbfo_linenumbering.separator" xmlns="">
455   <refpurpose>Specifies separator text for line numbers in verbatims</refpurpose>
456   <refdescription>
457     <para>Use the <tag class="xmlpi">dbfo linenumbering.separator</tag> PI as a child
458       of a “verbatim” element – <tag>programlisting</tag>,
459       <tag>screen</tag>, <tag>synopsis</tag> — to specify
460       the separator text output between the line numbers and content.</para>
461   </refdescription>
462   <refsynopsisdiv>
463     <synopsis><tag class="xmlpi">dbfo linenumbering.separator="<replaceable>text</replaceable>"</tag></synopsis>
464   </refsynopsisdiv>
465   <refparameter>
466     <variablelist>
467       <varlistentry><term>linenumbering.separator="<replaceable>text</replaceable>"</term>
468         <listitem>
469           <para>Specifies the text (zero or more characters)</para>
470         </listitem>
471       </varlistentry>
472     </variablelist>
473   </refparameter>
474   <refsee role="params">
475     <para><parameter>linenumbering.separator</parameter></para>
476   </refsee>
477   <refsee role="tcg">
478     <para><link role="tcg"
479         xlink:href="AnnotateListing.html#LineNumbering"
480         >Line numbering</link></para>
481   </refsee>
482 </doc:pi>
483 <xsl:template name="pi.dbfo_linenumbering.separator">
484   <xsl:param name="node" select="."/>
485   <xsl:call-template name="dbfo-attribute">
486     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
487     <xsl:with-param name="attribute" select="'linenumbering.separator'"/>
488   </xsl:call-template>
489 </xsl:template>
490
491 <doc:pi name="dbfo_linenumbering.width" xmlns="">
492   <refpurpose>Specifies width for line numbers in verbatims</refpurpose>
493   <refdescription>
494     <para>Use the <tag class="xmlpi">dbfo linenumbering.width</tag> PI as a child
495       of a “verbatim” element – <tag>programlisting</tag>,
496       <tag>screen</tag>, <tag>synopsis</tag> — to specify
497       the width set aside for line numbers.</para>
498   </refdescription>
499   <refsynopsisdiv>
500     <synopsis><tag class="xmlpi">dbfo linenumbering.width="<replaceable>width</replaceable>"</tag></synopsis>
501   </refsynopsisdiv>
502   <refparameter>
503     <variablelist>
504       <varlistentry><term>linenumbering.width="<replaceable>width</replaceable>"</term>
505         <listitem>
506           <para>Specifies the width (inluding units)</para>
507         </listitem>
508       </varlistentry>
509     </variablelist>
510   </refparameter>
511   <refsee role="params">
512     <para><parameter>linenumbering.width</parameter></para>
513   </refsee>
514   <refsee role="tcg">
515     <para><link role="tcg"
516         xlink:href="AnnotateListing.html#LineNumbering"
517         >Line numbering</link></para>
518   </refsee>
519 </doc:pi>
520 <xsl:template name="pi.dbfo_linenumbering.width">
521   <xsl:param name="node" select="."/>
522   <xsl:call-template name="dbfo-attribute">
523     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
524     <xsl:with-param name="attribute" select="'linenumbering.width'"/>
525   </xsl:call-template>
526 </xsl:template>
527
528 <doc:pi name="dbfo_list-presentation" xmlns="">
529   <refpurpose>Specifies presentation style for a variablelist or
530     segmentedlist</refpurpose>
531   <refdescription>
532     <para>Use the <tag class="xmlpi">dbfo list-presentation</tag> PI as a child of
533       a <tag>variablelist</tag> or <tag>segmentedlist</tag> to
534       control the presentation style for the list (to cause it, for
535       example, to be displayed as a table).</para>
536   </refdescription>
537   <refsynopsisdiv>
538     <synopsis><tag class="xmlpi">dbfo list-presentation="list"|"blocks"|"table"</tag></synopsis>
539   </refsynopsisdiv>
540   <refparameter>
541     <variablelist>
542       <varlistentry><term>list-presentation="list"</term>
543         <listitem>
544           <para>Displays the list as a list</para>
545         </listitem>
546       </varlistentry>
547       <varlistentry><term>list-presentation="blocks"</term>
548         <listitem>
549           <para>(<tag>variablelist</tag> only) Displays the list as blocks</para>
550         </listitem>
551       </varlistentry>
552       <varlistentry><term>list-presentation="table"</term>
553         <listitem>
554           <para>(<tag>segmentedlist</tag> only) Displays the list as a table</para>
555         </listitem>
556       </varlistentry>
557     </variablelist>
558   </refparameter>
559   <refsee role="params">
560     <itemizedlist>
561       <listitem>
562         <para><parameter>variablelist.as.blocks</parameter></para>
563       </listitem>
564       <listitem>
565         <para><parameter>variablelist.as.table</parameter></para>
566       </listitem>
567     </itemizedlist>
568   </refsee>
569   <refsee role="tcg">
570     <para><link role="tcg"
571         xlink:href="Variablelists.html#ListIndents"
572         >Variable list formatting in print</link></para>
573   </refsee>
574 </doc:pi>
575 <xsl:template name="pi.dbfo_list-presentation">
576   <xsl:param name="node" select="."/>
577   <xsl:call-template name="dbfo-attribute">
578     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
579     <xsl:with-param name="attribute" select="'list-presentation'"/>
580   </xsl:call-template>
581 </xsl:template>
582
583 <doc:pi name="dbfo_list-width" xmlns="">
584   <refpurpose>Specifies the width of a horizontal simplelist</refpurpose>
585   <refdescription>
586     <para>Use the <tag class="xmlpi">dbfo list-width</tag> PI as a child of a
587       <tag>simplelist</tag> whose <tag class="attribute">class</tag>
588       value is <literal>horizontal</literal>, to specify the width
589       of the <tag>simplelist</tag>.</para>
590   </refdescription>
591   <refsynopsisdiv>
592     <synopsis><tag class="xmlpi">dbfo list-width="<replaceable>width</replaceable>"</tag></synopsis>
593   </refsynopsisdiv>
594   <refparameter>
595     <variablelist>
596       <varlistentry><term>list-width="<replaceable>width</replaceable>"</term>
597         <listitem>
598           <para>Specifies the <tag>simplelist</tag> width (including units)</para>
599         </listitem>
600       </varlistentry>
601     </variablelist>
602   </refparameter>
603 </doc:pi>
604 <xsl:template name="pi.dbfo_list-width">
605   <xsl:param name="node" select="."/>
606   <xsl:call-template name="dbfo-attribute">
607     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
608     <xsl:with-param name="attribute" select="'list-width'"/>
609   </xsl:call-template>
610 </xsl:template>
611
612 <doc:pi name="dbfo_orientation" xmlns="">
613   <refpurpose>Specifies the orientation for a CALS table row or cell</refpurpose>
614   <refdescription>
615     <para>Use the <tag class="xmlpi">dbfo orientation</tag> PI as a child of a CALS
616       <tag>table</tag> row or cell to specify the orientation
617       (rotation) for the row or cell.</para>
618   </refdescription>
619   <refsynopsisdiv>
620     <synopsis><tag class="xmlpi">dbfo orientation="0"|"90"|"180"|"270"|"-90"|"-180"|"-270"</tag></synopsis>
621   </refsynopsisdiv>
622   <refparameter>
623     <variablelist>
624       <varlistentry><term>orientation="0"|"90"|"180"|"270"|"-90"|"-180"|"-270"</term>
625         <listitem>
626           <para>Specifies the number of degrees by which the cell or
627             row is rotated</para>
628         </listitem>
629       </varlistentry>
630     </variablelist>
631   </refparameter>
632 </doc:pi>
633 <xsl:template name="pi.dbfo_orientation">
634   <xsl:param name="node" select="."/>
635   <xsl:call-template name="dbfo-attribute">
636     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
637     <xsl:with-param name="attribute" select="'orientation'"/>
638   </xsl:call-template>
639 </xsl:template>
640
641 <doc:pi name="dbfo_pgwide" xmlns="">
642   <refpurpose>Specifies if an <tag>equation</tag> or <tag>example</tag> goes across full page width</refpurpose>
643   <refdescription>
644     <para>Use the <tag class="xmlpi">dbfo pgwide</tag> PI as a child of an
645       <tag>equation</tag> or <tag>example</tag> to specify that the
646       content should rendered across the full width of the page.</para>
647   </refdescription>
648   <refsynopsisdiv>
649     <synopsis><tag class="xmlpi">dbfo pgwide="0"|"1"</tag></synopsis>
650   </refsynopsisdiv>
651   <refparameter>
652     <variablelist>
653       <varlistentry><term>pgwide="0"</term>
654         <listitem>
655           <para>If zero, the content is rendered across the current
656             text flow</para>
657         </listitem>
658       </varlistentry>
659       <varlistentry><term>pgwide="1"</term>
660         <listitem>
661           <para>If <code>1</code> (or any non-zero value), the
662             content is rendered across the full width of the page</para>
663         </listitem>
664       </varlistentry>
665     </variablelist>
666   </refparameter>
667   <refsee role="params">
668     <para><parameter>pgwide.properties</parameter></para>
669   </refsee>
670 </doc:pi>
671 <xsl:template name="pi.dbfo_pgwide">
672   <xsl:param name="node" select="."/>
673   <xsl:call-template name="dbfo-attribute">
674     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
675     <xsl:with-param name="attribute" select="'pgwide'"/>
676   </xsl:call-template>
677 </xsl:template>
678
679 <doc:pi name="dbfo_rotated-width" xmlns="">
680   <refpurpose>Specifies the width for a CALS table <tag>entry</tag> or
681     <tag>row</tag></refpurpose>
682   <refdescription>
683     <para>Use the <tag class="xmlpi">dbfo rotated-width</tag> PI as a child of 
684       <tag>entry</tag> or <tag>row</tag> instance in a CALS table to specify the
685       width of that the <tag>entry</tag> or <tag>row</tag>; or
686       use it higher up in table to cause the width to be inherited
687       recursively down.</para>
688   </refdescription>
689   <refsynopsisdiv>
690     <synopsis><tag class="xmlpi">dbfo rotated-width="<replaceable>width</replaceable>"</tag></synopsis>
691   </refsynopsisdiv>
692   <refparameter>
693     <variablelist>
694       <varlistentry><term>rotated-width="<replaceable>width</replaceable>"</term>
695         <listitem>
696           <para>Specifies the width of a row or cell (including units)</para>
697         </listitem>
698       </varlistentry>
699     </variablelist>
700   </refparameter>
701 </doc:pi>
702 <xsl:template name="pi.dbfo_rotated-width">
703   <xsl:param name="node" select="."/>
704   <xsl:call-template name="dbfo-attribute">
705     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
706     <xsl:with-param name="attribute" select="'rotated-width'"/>
707   </xsl:call-template>
708 </xsl:template>
709
710 <doc:pi name="dbfo_sidebar-width" xmlns="">
711   <refpurpose>Specifies the width of a sidebar</refpurpose>
712   <refdescription>
713     <para>Use the <tag class="xmlpi">dbfo sidebar-width</tag> PI as a child of a
714       <tag>sidebar</tag> to specify the width of the sidebar.</para>
715   </refdescription>
716   <refsynopsisdiv>
717     <synopsis><tag class="xmlpi">dbfo sidebar-width="<replaceable>width</replaceable>"</tag></synopsis>
718   </refsynopsisdiv>
719   <refparameter>
720     <variablelist>
721       <varlistentry><term>sidebar-width="<replaceable>width</replaceable>"</term>
722         <listitem>
723           <para>Specifies the <tag>sidebar</tag> width (including units)</para>
724         </listitem>
725       </varlistentry>
726     </variablelist>
727   </refparameter>
728   <refsee role="params">
729     <para><parameter>sidebar.float.type parameter</parameter>,
730       <parameter>sidebar.float.width parameter</parameter>, 
731       <parameter>sidebar.properties attribute-set</parameter>,
732       <parameter>sidebar.title.properties</parameter>
733     </para>
734   </refsee>
735   <refsee role="tcg">
736     <para><link role="tcg" xlink:href="SideFloats.html#SidebarFloats" >A sidebar as
737         side float</link></para>
738   </refsee>
739 </doc:pi>
740 <xsl:template name="pi.dbfo_sidebar-width">
741   <xsl:param name="node" select="."/>
742   <xsl:call-template name="dbfo-attribute">
743     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
744     <xsl:with-param name="attribute" select="'sidebar-width'"/>
745   </xsl:call-template>
746 </xsl:template>
747
748 <doc:pi name="dbfo_start" xmlns="">
749   <refpurpose>(obsolete) Sets the starting number on an ordered list</refpurpose>
750   <refdescription>
751     <para><emphasis>This PI is obsolete</emphasis>. The intent of
752       it was to provide a means for setting a specific starting
753       number for an ordered list. Instead of this PI, set a value
754       for the <literal>override</literal> attribute on the first
755       <tag>listitem</tag> in the list; that will have the same
756       effect as what this PI was intended for.</para>
757   </refdescription>
758   <refsynopsisdiv>
759     <synopsis><tag class="xmlpi">dbfo start="<replaceable>character</replaceable>"</tag></synopsis>
760   </refsynopsisdiv>
761   <refparameter>
762     <variablelist>
763       <varlistentry><term>start="<replaceable>character</replaceable>"</term>
764         <listitem>
765           <para>Specifies the character to use as the starting
766             number; use 0-9, a-z, A-Z, or lowercase or uppercase
767             Roman numerals</para>
768         </listitem>
769       </varlistentry>
770     </variablelist>
771   </refparameter>
772   <refsee role="tcg">
773     <para><link role="tcg"
774         xlink:href="Orderedlists.html#ListStartNum"
775         >List starting number</link></para>
776   </refsee>
777 </doc:pi>
778 <xsl:template name="pi.dbfo_start">
779   <xsl:param name="node" select="."/>
780   <xsl:call-template name="pi-attribute">
781     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
782     <xsl:with-param name="attribute" select="'start'"/>
783   </xsl:call-template>
784 </xsl:template>
785
786 <doc:pi name="dbfo_table-width" xmlns="">
787   <refpurpose>Specifies the width for a CALS table or for revhistory
788     output</refpurpose>
789   <refdescription>
790     <para>Use the <tag class="xmlpi">dbfo table-width</tag> PI as a child or
791       sibling of a CALS <tag>table</tag>, or as a child of an
792       <tag>informaltable</tag>, <tag>entrytbl</tag>, or
793       <tag>revhistory</tag> instance (which is rendered as a table
794       in output) to specify the width of the table in output.</para>
795   </refdescription>
796   <refsynopsisdiv>
797     <synopsis><tag class="xmlpi">dbfo table-width="<replaceable>width</replaceable>"</tag></synopsis>
798   </refsynopsisdiv>
799   <refparameter>
800     <variablelist>
801       <varlistentry><term>table-width="<replaceable>width</replaceable>"</term>
802         <listitem>
803           <para>Specifies the table width (including units or as a percentage)</para>
804         </listitem>
805       </varlistentry>
806     </variablelist>
807   </refparameter>
808   <refsee role="tcg">
809     <para><link role="tcg"
810         xlink:href="Tables.html#TableWidth"
811         >Table width</link></para>
812   </refsee>
813 </doc:pi>
814 <xsl:template name="pi.dbfo_table-width">
815   <xsl:param name="node" select="."/>
816   <xsl:call-template name="dbfo-attribute">
817     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
818     <xsl:with-param name="attribute" select="'table-width'"/>
819   </xsl:call-template>
820 </xsl:template>
821
822 <doc:pi name="dbfo_term-width" xmlns="">
823   <refpurpose>Specifies the term width for a variablelist</refpurpose>
824   <refdescription>
825     <para>Use the <tag class="xmlpi">dbfo term-width</tag> PI as a child of a
826       <tag>variablelist</tag> to specify the width for
827       <tag>term</tag> output.</para>
828   </refdescription>
829   <refsynopsisdiv>
830     <synopsis><tag class="xmlpi">dbfo term-width="<replaceable>width</replaceable>"</tag></synopsis>
831   </refsynopsisdiv>
832   <refparameter>
833     <variablelist>
834       <varlistentry><term>term-width="<replaceable>width</replaceable>"</term>
835         <listitem>
836           <para>Specifies the term width (including units)</para>
837         </listitem>
838       </varlistentry>
839     </variablelist>
840   </refparameter>
841   <refsee role="tcg">
842     <para><link role="tcg"
843         xlink:href="Variablelists.html#ListIndents"
844         >Variable list formatting in print</link></para>
845   </refsee>
846 </doc:pi>
847 <xsl:template name="pi.dbfo_term-width">
848   <xsl:param name="node" select="."/>
849   <xsl:call-template name="dbfo-attribute">
850     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
851     <xsl:with-param name="attribute" select="'term-width'"/>
852   </xsl:call-template>
853 </xsl:template>
854
855 <doc:pi name="dbfo_toc" xmlns="">
856   <refpurpose>Specifies whether a TOC should be generated for a qandaset</refpurpose>
857   <refdescription>
858     <para>Use the <tag class="xmlpi">dbfo toc</tag> PI as a child of a
859       <tag>qandaset</tag> to specify whether a table of contents
860       (TOC) is generated for the <tag>qandaset</tag>.</para>
861   </refdescription>
862   <refsynopsisdiv>
863     <synopsis><tag class="xmlpi">dbfo toc="0"|"1"</tag></synopsis>
864   </refsynopsisdiv>
865   <refparameter>
866     <variablelist>
867       <varlistentry><term>toc="0"</term>
868         <listitem>
869           <para>If zero, no TOC is generated</para>
870         </listitem>
871       </varlistentry>
872       <varlistentry><term>toc="1"</term>
873         <listitem>
874           <para>If <code>1</code> (or any non-zero value),
875             a TOC is generated</para>
876         </listitem>
877       </varlistentry>
878     </variablelist>
879   </refparameter>
880   <refsee role="tcg">
881     <para><link role="tcg"
882         xlink:href="QandAtoc.html"
883         >Q and A list of questions</link>,
884       <link role="tcg"
885         xlink:href="QandAformat.html"
886         >Q and A formatting</link></para>
887   </refsee>
888 </doc:pi>
889 <xsl:template name="pi.dbfo_toc">
890   <xsl:param name="node" select="."/>
891   <xsl:call-template name="dbfo-attribute">
892     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
893     <xsl:with-param name="attribute" select="'toc'"/>
894   </xsl:call-template>
895 </xsl:template>
896
897 <doc:pi name="dbfo-need" xmlns="">
898   <refpurpose>Specify a need for space (a kind of soft page break)</refpurpose>
899   <refdescription>
900     <para>A “need” is a request for space on a page.  If the
901       requested space is not available, the page breaks and the
902       content that follows the need request appears on the next
903       page. If the requested space is available, then no page break
904       is inserted.</para>
905   </refdescription>
906   <refsynopsisdiv>
907     <synopsis><tag class="xmlpi">dbfo-need height="<replaceable>n</replaceable>" [space-before="<replaceable>n</replaceable>"]</tag></synopsis>
908   </refsynopsisdiv>
909   <refparameter>
910     <variablelist>
911       <varlistentry><term>height="<replaceable>n</replaceable>"</term>
912         <listitem>
913           <para>The amount of height needed (including units)</para>
914         </listitem>
915       </varlistentry>
916       <varlistentry><term>space-before="<replaceable>n</replaceable>"</term>
917         <listitem>
918           <para>The amount of extra vertical space to add (including units)</para>
919         </listitem>
920       </varlistentry>
921     </variablelist>
922   </refparameter>
923   <refsee role="tcg">
924     <para><link role="tcg"
925         xlink:href="PageBreaking.html#SoftPageBreaks"
926         >Soft page breaks</link></para>
927   </refsee>
928 </doc:pi>
929
930 <doc:pi name="dbfo_row-height" xmlns="">
931   <refpurpose>Specifies the height for a CALS table row</refpurpose>
932   <refdescription>
933     <para>Use the <tag class="xmlpi">dbfo row-height</tag> PI as a child of a
934       <tag>row</tag> to specify the height of the row.</para>
935   </refdescription>
936   <refsynopsisdiv>
937     <synopsis><tag class="xmlpi">dbfo row-height="<replaceable>height</replaceable>"</tag></synopsis>
938   </refsynopsisdiv>
939   <refparameter>
940     <variablelist>
941       <varlistentry><term>row-height="<replaceable>height</replaceable>"</term>
942         <listitem>
943           <para>Specifies the row height (including units)</para>
944         </listitem>
945       </varlistentry>
946     </variablelist>
947   </refparameter>
948   <refsee role="tcg">
949     <para><link role="tcg"
950         xlink:href="RowHeight.html"
951         >Row height</link></para>
952   </refsee>
953 </doc:pi>
954 <xsl:template name="pi.dbfo_row-height">
955   <xsl:param name="node" select="."/>
956   <xsl:call-template name="dbfo-attribute">
957     <xsl:with-param name="pis" select="$node/processing-instruction('dbfo')"/>
958     <xsl:with-param name="attribute" select="'row-height'"/>
959   </xsl:call-template>
960 </xsl:template> 
961
962
963 <xsl:template name="pi.dbfo-need">
964   <xsl:variable name="pi-height">
965     <xsl:call-template name="dbfo-attribute">
966       <xsl:with-param name="pis" select="."/>
967       <xsl:with-param name="attribute" select="'height'"/>
968     </xsl:call-template>
969   </xsl:variable>
970
971   <xsl:variable name="height">
972     <xsl:choose>
973       <xsl:when test="$pi-height != ''">
974         <xsl:value-of select="$pi-height"/>
975       </xsl:when>
976       <xsl:otherwise>0pt</xsl:otherwise>
977     </xsl:choose>
978   </xsl:variable>
979
980   <xsl:variable name="pi-before">
981     <xsl:call-template name="dbfo-attribute">
982       <xsl:with-param name="pis" select="."/>
983       <xsl:with-param name="attribute" select="'space-before'"/>
984     </xsl:call-template>
985   </xsl:variable>
986
987   <xsl:variable name="spacer">
988     <fo:block-container width="100%" height="{$height}">
989       <fo:block><fo:leader leader-length="0pt"/></fo:block>
990     </fo:block-container>
991   </xsl:variable>
992
993   <xsl:choose>
994     <xsl:when test="$fop.extensions != 0">
995       <!-- Doesn't work in fop -->
996     </xsl:when>
997     <xsl:when test="$fop1.extensions != 0">
998       <!-- fop1 does not need space adjustment because
999            space-after.precedence="force" does not work -->
1000       <fo:block space-after="0pt" space-before="0em">
1001         <xsl:copy-of select="$spacer"/>
1002       </fo:block>
1003     </xsl:when>
1004     <xsl:when test="$pi-before != '' and
1005       not(following-sibling::d:listitem) and
1006       not(following-sibling::d:step)">
1007       <fo:block space-after="0pt" space-before="{$pi-before}">
1008         <xsl:copy-of select="$spacer"/>
1009       </fo:block>
1010     </xsl:when>
1011     <xsl:when test="following-sibling::d:para">
1012       <fo:block space-after="0pt" 
1013         xsl:use-attribute-sets="normal.para.spacing">
1014         <xsl:copy-of select="$spacer"/>
1015       </fo:block>
1016     </xsl:when>
1017     <xsl:when test="following-sibling::d:note or
1018       following-sibling::d:warning or
1019       following-sibling::d:caution or
1020       following-sibling::d:important or
1021       following-sibling::d:tip">
1022       <xsl:choose>
1023         <xsl:when test="$admon.graphics = 0">
1024           <fo:block space-after="0pt" 
1025             xsl:use-attribute-sets="nongraphical.admonition.properties">
1026             <xsl:copy-of select="$spacer"/>
1027           </fo:block>
1028         </xsl:when>
1029         <xsl:otherwise>
1030           <fo:block space-after="0pt" 
1031             xsl:use-attribute-sets="graphical.admonition.properties">
1032             <xsl:copy-of select="$spacer"/>
1033           </fo:block>
1034         </xsl:otherwise>
1035       </xsl:choose>
1036     </xsl:when>
1037     <xsl:when test="following-sibling::d:table or
1038       following-sibling::d:figure or
1039       following-sibling::d:example or
1040       following-sibling::d:equation">
1041       <fo:block space-after="0pt" 
1042         xsl:use-attribute-sets="formal.object.properties">
1043         <xsl:copy-of select="$spacer"/>
1044       </fo:block>
1045     </xsl:when>
1046     <xsl:when test="following-sibling::d:informaltable or
1047       following-sibling::d:informalfigure or
1048       following-sibling::d:informalexample or
1049       following-sibling::d:informalequation">
1050       <fo:block space-after="0pt" 
1051         xsl:use-attribute-sets="informal.object.properties">
1052         <xsl:copy-of select="$spacer"/>
1053       </fo:block>
1054     </xsl:when>
1055     <xsl:when test="following-sibling::d:itemizedlist or
1056       following-sibling::d:orderedlist or
1057       following-sibling::d:variablelist or
1058       following-sibling::d:simplelist">
1059       <fo:block space-after="0pt" 
1060         xsl:use-attribute-sets="informal.object.properties">
1061         <xsl:copy-of select="$spacer"/>
1062       </fo:block>
1063     </xsl:when>
1064     <xsl:when test="following-sibling::d:listitem or
1065       following-sibling::d:step">
1066       <fo:list-item space-after="0pt" 
1067         xsl:use-attribute-sets="informal.object.properties">
1068         <fo:list-item-label>
1069           <fo:block line-height="0pt"/>
1070         </fo:list-item-label>
1071         <fo:list-item-body start-indent="0pt" end-indent="0pt">
1072           <xsl:copy-of select="$spacer"/>
1073         </fo:list-item-body>
1074       </fo:list-item>
1075     </xsl:when>
1076     <xsl:when test="following-sibling::d:sect1 or
1077       following-sibling::d:sect2 or
1078       following-sibling::d:sect3 or
1079       following-sibling::d:sect4 or
1080       following-sibling::d:sect5 or
1081       following-sibling::d:section">
1082       <fo:block space-after="0pt" 
1083         xsl:use-attribute-sets="section.title.properties">
1084         <xsl:copy-of select="$spacer"/>
1085       </fo:block>
1086     </xsl:when>
1087     <xsl:otherwise>
1088       <fo:block space-after="0pt" space-before="0em">
1089         <xsl:copy-of select="$spacer"/>
1090       </fo:block>
1091     </xsl:otherwise>
1092   </xsl:choose>
1093
1094   <xsl:choose>
1095     <xsl:when test="$fop.extensions != 0">
1096       <!-- Doesn't work in fop -->
1097     </xsl:when>
1098     <xsl:when test="following-sibling::d:listitem or
1099       following-sibling::d:step">
1100       <fo:list-item space-before.precedence="force"
1101         space-before="-{$height}"
1102         space-after="0pt"
1103         space-after.precedence="force">
1104         <fo:list-item-label>
1105           <fo:block line-height="0pt"/>
1106         </fo:list-item-label>
1107         <fo:list-item-body start-indent="0pt" end-indent="0pt">
1108           <fo:block line-height="0pt"/>
1109         </fo:list-item-body>
1110       </fo:list-item>
1111     </xsl:when>
1112     <xsl:otherwise>
1113       <fo:block space-before.precedence="force"
1114         space-before="-{$height}"
1115         space-after="0pt"
1116         space-after.precedence="force">
1117       </fo:block>
1118     </xsl:otherwise>
1119   </xsl:choose>
1120 </xsl:template>
1121
1122 <!-- ==================================================================== -->
1123
1124 <xsl:template name="dbfo-attribute">
1125   <!-- * dbfo-attribute is an interal utility template for retrieving -->
1126   <!-- * pseudo-attributes/parameters from PIs -->
1127   <xsl:param name="pis" select="processing-instruction('dbfo')"/>
1128   <xsl:param name="attribute">filename</xsl:param>
1129   <xsl:call-template name="pi-attribute">
1130     <xsl:with-param name="pis" select="$pis"/>
1131     <xsl:with-param name="attribute" select="$attribute"/>
1132   </xsl:call-template>
1133 </xsl:template>
1134
1135 <!-- ==================================================================== -->
1136
1137 <xsl:template match="processing-instruction()">
1138 </xsl:template>
1139
1140 <!-- ==================================================================== -->
1141
1142 <xsl:template match="processing-instruction('dbfo-need')">
1143   <xsl:call-template name="pi.dbfo-need"/>
1144 </xsl:template>
1145
1146 </xsl:stylesheet>