Next update of VFS modules development guide
[Samba.git] / docs / xslt / db2latex-xsl / xsl / inline.mod.xsl
blobc7b2dcddbf8b78c113e1bdafca31c0fc888ff126
1 <?xml version='1.0'?>
2 <!DOCTYPE xsl:stylesheet [ <!ENTITY % xsldoc.ent SYSTEM "./xsldoc.ent"> %xsldoc.ent; ]>
3 <!--#############################################################################
4 | $Id: inline.mod.xsl,v 1.21 2004/01/05 09:58:47 j-devenish Exp $
5 |- #############################################################################
6 | $Author: j-devenish $
7 + ############################################################################## -->
8 <xsl:stylesheet
9 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
10 xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
11 exclude-result-prefixes="doc" version='1.0'>
13 <doc:reference id="inline" xmlns="">
14 <referenceinfo>
15 <releaseinfo role="meta">
16 $Id: inline.mod.xsl,v 1.21 2004/01/05 09:58:47 j-devenish Exp $
17 </releaseinfo>
18 <authorgroup>
19 &ramon;
20 &james;
21 </authorgroup>
22 <copyright>
23 <year>2000</year><year>2001</year><year>2002</year><year>2003</year><year>2004</year>
24 <holder>Ramon Casellas</holder>
25 </copyright>
26 <revhistory>
27 <doc:revision rcasver="1.16">&rev_2003_05;</doc:revision>
28 </revhistory>
29 </referenceinfo>
30 <title>Inline Elements <filename>inline.mod.xsl</filename></title>
31 <partintro>
32 <para>
36 </para>
37 </partintro>
38 </doc:reference>
40 <doc:template xmlns="">
41 <refpurpose>Process regular text</refpurpose>
42 <doc:description>
43 <para>
44 Applies templates.
45 </para>
46 </doc:description>
47 <doc:variables>
48 &no_var;
49 </doc:variables>
50 <doc:seealso>
51 <itemizedlist>
52 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
53 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
54 </itemizedlist>
55 </doc:seealso>
56 </doc:template>
57 <xsl:template name="inline.charseq">
58 <xsl:param name="content">
59 <xsl:apply-templates/>
60 </xsl:param>
61 <xsl:copy-of select="$content"/>
62 </xsl:template>
64 <doc:template xmlns="">
65 <refpurpose>Process monospace text</refpurpose>
66 <doc:description>
67 <para>
68 Applies templates within a &LaTeX;
69 <function condition="latex">texttt</function> command.
70 </para>
71 </doc:description>
72 <doc:variables>
73 <itemizedlist>
74 <listitem><simpara><xref linkend="param.latex.hyphenation.tttricks"/></simpara></listitem>
75 </itemizedlist>
76 </doc:variables>
77 <doc:seealso>
78 <itemizedlist>
79 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
80 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
81 </itemizedlist>
82 </doc:seealso>
83 </doc:template>
84 <xsl:template name="inline.monoseq">
85 <xsl:param name="hyphenation">\docbookhyphenatedot</xsl:param>
86 <xsl:param name="content">
87 <xsl:apply-templates/>
88 </xsl:param>
89 <xsl:text>{\texttt{</xsl:text>
90 <xsl:if test="$latex.hyphenation.tttricks='1'"><xsl:value-of select="$hyphenation" /></xsl:if>
91 <xsl:text>{</xsl:text>
92 <xsl:copy-of select="$content"/>
93 <xsl:text>}}}</xsl:text>
94 </xsl:template>
96 <doc:template xmlns="">
97 <refpurpose>Process bold text</refpurpose>
98 <doc:description>
99 <para>
100 Applies templates within a &LaTeX;
101 <function condition="latex">bfseries</function> command.
102 </para>
103 </doc:description>
104 <doc:variables>
105 &no_var;
106 </doc:variables>
107 <doc:seealso>
108 <itemizedlist>
109 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
110 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
111 </itemizedlist>
112 </doc:seealso>
113 </doc:template>
114 <xsl:template name="inline.boldseq">
115 <xsl:param name="content">
116 <xsl:apply-templates/>
117 </xsl:param>
118 <xsl:text>{\bfseries{</xsl:text>
119 <xsl:copy-of select="$content"/>
120 <xsl:text>}}</xsl:text>
121 </xsl:template>
123 <doc:template xmlns="">
124 <refpurpose>Process italic text</refpurpose>
125 <doc:description>
126 <para>
127 Applies templates within a &LaTeX;
128 <function condition="latex">em</function> command.
129 </para>
130 </doc:description>
131 <doc:variables>
132 &no_var;
133 </doc:variables>
134 <doc:seealso>
135 <itemizedlist>
136 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
137 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
138 </itemizedlist>
139 </doc:seealso>
140 </doc:template>
141 <xsl:template name="inline.italicseq">
142 <xsl:param name="content">
143 <xsl:apply-templates/>
144 </xsl:param>
145 <xsl:text>{\em{</xsl:text>
146 <xsl:copy-of select="$content"/>
147 <xsl:text>}}</xsl:text>
148 </xsl:template>
150 <doc:template xmlns="">
151 <refpurpose>Process bold monospace text</refpurpose>
152 <doc:description>
153 <para>
154 Applies templates within &LaTeX;
155 <function condition="latex">ttfamily</function>
157 <function condition="latex">bfseries</function>
158 commands.
159 </para>
160 </doc:description>
161 <doc:variables>
162 <itemizedlist>
163 <listitem><simpara><xref linkend="param.latex.hyphenation.tttricks"/></simpara></listitem>
164 </itemizedlist>
165 </doc:variables>
166 <doc:seealso>
167 <itemizedlist>
168 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
169 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
170 </itemizedlist>
171 </doc:seealso>
172 </doc:template>
173 <xsl:template name="inline.boldmonoseq">
174 <xsl:param name="hyphenation">\docbookhyphenatedot</xsl:param>
175 <xsl:param name="content">
176 <xsl:apply-templates/>
177 </xsl:param>
178 <xsl:text>{\ttfamily\bfseries{</xsl:text>
179 <xsl:if test="$latex.hyphenation.tttricks='1'"><xsl:value-of select="$hyphenation" /></xsl:if>
180 <xsl:text>{</xsl:text>
181 <xsl:copy-of select="$content"/>
182 <xsl:text>}}}</xsl:text>
183 </xsl:template>
185 <doc:template xmlns="">
186 <refpurpose>Process italic monospace text</refpurpose>
187 <doc:description>
188 <para>
189 Applies templates within &LaTeX;
190 <function condition="latex">ttfamily</function>
192 <function condition="latex">itshape</function>
193 commands.
194 </para>
195 </doc:description>
196 <doc:variables>
197 <itemizedlist>
198 <listitem><simpara><xref linkend="param.latex.hyphenation.tttricks"/></simpara></listitem>
199 </itemizedlist>
200 </doc:variables>
201 <doc:seealso>
202 <itemizedlist>
203 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
204 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
205 </itemizedlist>
206 </doc:seealso>
207 </doc:template>
208 <xsl:template name="inline.italicmonoseq">
209 <xsl:param name="hyphenation">\docbookhyphenatedot</xsl:param>
210 <xsl:param name="content">
211 <xsl:apply-templates/>
212 </xsl:param>
213 <xsl:text>{\ttfamily\itshape{</xsl:text>
214 <xsl:if test="$latex.hyphenation.tttricks='1'"><xsl:value-of select="$hyphenation" /></xsl:if>
215 <xsl:text>{</xsl:text>
216 <xsl:copy-of select="$content"/>
217 <xsl:text>}}}</xsl:text>
218 </xsl:template>
220 <doc:template xmlns="">
221 <refpurpose>Process superscript text</refpurpose>
222 <doc:description>
223 <para>
224 Applies templates within a &LaTeX;
225 <function condition="latex">text</function>
226 command within an inline mathematics environment.
227 </para>
228 </doc:description>
229 <doc:variables>
230 &no_var;
231 </doc:variables>
232 <doc:seealso>
233 <itemizedlist>
234 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
235 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
236 </itemizedlist>
237 </doc:seealso>
238 </doc:template>
239 <xsl:template name="inline.superscriptseq">
240 <xsl:param name="content">
241 <xsl:apply-templates/>
242 </xsl:param>
243 <xsl:text>$^\text{</xsl:text>
244 <xsl:copy-of select="$content"/>
245 <xsl:text>}$</xsl:text>
246 </xsl:template>
248 <doc:template xmlns="">
249 <refpurpose>Process subscript text</refpurpose>
250 <doc:description>
251 <para>
252 Applies templates within a &LaTeX;
253 <function condition="latex">text</function>
254 command within an inline mathematics environment.
255 </para>
256 </doc:description>
257 <doc:variables>
258 &no_var;
259 </doc:variables>
260 <doc:seealso>
261 <itemizedlist>
262 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
263 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
264 </itemizedlist>
265 </doc:seealso>
266 </doc:template>
267 <xsl:template name="inline.subscriptseq">
268 <xsl:param name="content">
269 <xsl:apply-templates/>
270 </xsl:param>
271 <xsl:text>$_\text{</xsl:text>
272 <xsl:copy-of select="$content"/>
273 <xsl:text>}$</xsl:text>
274 </xsl:template>
276 <doc:template xmlns="">
277 <refpurpose>Process <doc:db>accel</doc:db> elements</refpurpose>
278 <doc:description>
279 <para>
280 Invokes <xref linkend="template.inline.charseq"/>.
281 </para>
282 </doc:description>
283 <doc:variables>
284 &no_var;
285 </doc:variables>
286 </doc:template>
287 <xsl:template match="accel">
288 <xsl:call-template name="inline.charseq"/>
289 </xsl:template>
291 <doc:template xmlns="">
292 <refpurpose>Process <doc:db>action</doc:db> elements</refpurpose>
293 <doc:description>
294 <para>
295 Invokes <xref linkend="template.inline.charseq"/>.
296 </para>
297 </doc:description>
298 <doc:variables>
299 &no_var;
300 </doc:variables>
301 </doc:template>
302 <xsl:template match="action">
303 <xsl:call-template name="inline.charseq"/>
304 </xsl:template>
306 <doc:template xmlns="">
307 <refpurpose>Process name-type elements</refpurpose>
308 <doc:description>
309 <para>
310 Invokes <xref linkend="template.inline.charseq"/>.
311 </para>
312 </doc:description>
313 <doc:variables>
314 &no_var;
315 </doc:variables>
316 </doc:template>
317 <xsl:template match="honorific|firstname|surname|lineage|othername">
318 <xsl:call-template name="inline.charseq"/>
319 </xsl:template>
321 <doc:template xmlns="">
322 <refpurpose>Process <doc:db>application</doc:db> elements</refpurpose>
323 <doc:description>
324 <para>
325 Invokes <xref linkend="template.inline.charseq"/>.
326 </para>
327 </doc:description>
328 <doc:variables>
329 &no_var;
330 </doc:variables>
331 </doc:template>
332 <xsl:template match="application">
333 <xsl:call-template name="inline.charseq"/>
334 </xsl:template>
336 <doc:template xmlns="">
337 <refpurpose>Process <doc:db>classname</doc:db> elements</refpurpose>
338 <doc:description>
339 <para>
340 Invokes <xref linkend="template.inline.monoseq"/>.
341 </para>
342 </doc:description>
343 <doc:variables>
344 &no_var;
345 </doc:variables>
346 </doc:template>
347 <xsl:template match="classname">
348 <xsl:call-template name="inline.monoseq"/>
349 </xsl:template>
351 <doc:template basename="copyright" xmlns="">
352 <refpurpose>Process <doc:db>copyright</doc:db> elements</refpurpose>
353 <doc:description>
354 <para>
355 Applies templates with a copyright dingbat.
356 </para>
357 </doc:description>
358 <doc:variables>
359 &no_var;
360 </doc:variables>
361 </doc:template>
362 <xsl:template match="copyright" name="copyright">
363 <xsl:call-template name="gentext.element.name"/>
364 <xsl:call-template name='gentext.space'/>
365 <xsl:call-template name="dingbat">
366 <xsl:with-param name="dingbat">copyright</xsl:with-param>
367 </xsl:call-template>
368 <xsl:call-template name='gentext.space'/>
369 <xsl:apply-templates select="year"/>
370 <xsl:call-template name='gentext.space'/>
371 <xsl:apply-templates select="holder"/>
372 </xsl:template>
374 <doc:template xmlns="">
375 <refpurpose>Process a <doc:db>copyright</doc:db>'s <doc:db>holder</doc:db> elements</refpurpose>
376 <doc:description>
377 <para>
378 Applies templates.
379 </para>
380 </doc:description>
381 <doc:variables>
382 &no_var;
383 </doc:variables>
384 </doc:template>
385 <xsl:template match="copyright/holder">
386 <xsl:apply-templates />
387 </xsl:template>
389 <xsl:template match="copyright/year[position()&lt;last()-1]">
390 <xsl:apply-templates />
391 <xsl:text>, </xsl:text>
392 </xsl:template>
394 <!-- RCAS 2003/03/11 FIXME : "and" -->
395 <xsl:template match="copyright/year[position()=last()-1]">
396 <xsl:apply-templates />
397 <xsl:text>, </xsl:text>
398 </xsl:template>
400 <xsl:template match="copyright/year[position()=last()]">
401 <xsl:apply-templates />
402 </xsl:template>
404 <doc:template xmlns="">
405 <refpurpose>Process <doc:db>exceptionname</doc:db> elements</refpurpose>
406 <doc:description>
407 <para>
408 Invokes <xref linkend="template.inline.monoseq"/>.
409 </para>
410 </doc:description>
411 <doc:variables>
412 &no_var;
413 </doc:variables>
414 </doc:template>
415 <xsl:template match="exceptionname">
416 <xsl:call-template name="inline.monoseq"/>
417 </xsl:template>
419 <doc:template xmlns="">
420 <refpurpose>Process <doc:db>interfacename</doc:db> elements</refpurpose>
421 <doc:description>
422 <para>
423 Invokes <xref linkend="template.inline.monoseq"/>.
424 </para>
425 </doc:description>
426 <doc:variables>
427 &no_var;
428 </doc:variables>
429 </doc:template>
430 <xsl:template match="interfacename">
431 <xsl:call-template name="inline.monoseq"/>
432 </xsl:template>
434 <doc:template xmlns="">
435 <refpurpose>Process <doc:db>methodname</doc:db> elements</refpurpose>
436 <doc:description>
437 <para>
438 Invokes <xref linkend="template.inline.monoseq"/>.
439 </para>
440 </doc:description>
441 <doc:variables>
442 &no_var;
443 </doc:variables>
444 </doc:template>
445 <xsl:template match="methodname">
446 <xsl:call-template name="inline.monoseq"/>
447 </xsl:template>
449 <doc:template xmlns="">
450 <refpurpose>Process <doc:db>command</doc:db> elements</refpurpose>
451 <doc:description>
452 <para>
453 Invokes <xref linkend="template.inline.boldseq"/>.
454 </para>
455 </doc:description>
456 <doc:variables>
457 &no_var;
458 </doc:variables>
459 </doc:template>
460 <xsl:template match="command">
461 <xsl:call-template name="inline.boldseq"/>
462 </xsl:template>
464 <doc:template xmlns="">
465 <refpurpose>Process <doc:db>computeroutput</doc:db> elements</refpurpose>
466 <doc:description>
467 <para>
468 Invokes <xref linkend="template.inline.monoseq"/>.
469 </para>
470 </doc:description>
471 <doc:variables>
472 &no_var;
473 </doc:variables>
474 </doc:template>
475 <xsl:template match="computeroutput">
476 <xsl:call-template name="inline.monoseq"/>
477 </xsl:template>
479 <doc:template xmlns="">
480 <refpurpose>Process <doc:db>constant</doc:db> elements</refpurpose>
481 <doc:description>
482 <para>
483 Invokes <xref linkend="template.inline.monoseq"/>.
484 </para>
485 </doc:description>
486 <doc:variables>
487 &no_var;
488 </doc:variables>
489 </doc:template>
490 <xsl:template match="constant">
491 <xsl:call-template name="inline.monoseq"/>
492 </xsl:template>
494 <doc:template xmlns="">
495 <refpurpose>Process <doc:db>database</doc:db> elements</refpurpose>
496 <doc:description>
497 <para>
498 Invokes <xref linkend="template.inline.charseq"/>.
499 </para>
500 </doc:description>
501 <doc:variables>
502 &no_var;
503 </doc:variables>
504 </doc:template>
505 <xsl:template match="database">
506 <xsl:call-template name="inline.charseq"/>
507 </xsl:template>
509 <doc:template xmlns="">
510 <refpurpose>Process <doc:db>errorcode</doc:db> elements</refpurpose>
511 <doc:description>
512 <para>
513 Invokes <xref linkend="template.inline.charseq"/>.
514 </para>
515 </doc:description>
516 <doc:variables>
517 &no_var;
518 </doc:variables>
519 </doc:template>
520 <xsl:template match="errorcode">
521 <xsl:call-template name="inline.charseq"/>
522 </xsl:template>
524 <doc:template xmlns="">
525 <refpurpose>Process <doc:db>errorname</doc:db> elements</refpurpose>
526 <doc:description>
527 <para>
528 Invokes <xref linkend="template.inline.charseq"/>.
529 </para>
530 </doc:description>
531 <doc:variables>
532 &no_var;
533 </doc:variables>
534 </doc:template>
535 <xsl:template match="errorname">
536 <xsl:call-template name="inline.charseq"/>
537 </xsl:template>
539 <doc:template xmlns="">
540 <refpurpose>Process <doc:db>errortype</doc:db> elements</refpurpose>
541 <doc:description>
542 <para>
543 Invokes <xref linkend="template.inline.charseq"/>.
544 </para>
545 </doc:description>
546 <doc:variables>
547 &no_var;
548 </doc:variables>
549 </doc:template>
550 <xsl:template match="errortype">
551 <xsl:call-template name="inline.charseq"/>
552 </xsl:template>
554 <doc:template xmlns="">
555 <refpurpose>Process <doc:db>envar</doc:db> elements</refpurpose>
556 <doc:description>
557 <para>
558 Invokes <xref linkend="template.inline.monoseq"/>.
559 </para>
560 </doc:description>
561 <doc:variables>
562 &no_var;
563 </doc:variables>
564 </doc:template>
565 <xsl:template match="envar">
566 <xsl:call-template name="inline.monoseq"/>
567 </xsl:template>
569 <doc:template xmlns="">
570 <refpurpose>Process <doc:db>filename</doc:db> elements</refpurpose>
571 <doc:description>
572 <para>
573 Invokes <xref linkend="template.inline.monoseq"/>.
574 </para>
575 </doc:description>
576 <doc:variables>
577 &no_var;
578 </doc:variables>
579 </doc:template>
580 <xsl:template match="filename">
581 <xsl:call-template name="inline.monoseq">
582 <xsl:with-param name="hyphenation">\docbookhyphenatefilename</xsl:with-param>
583 </xsl:call-template>
584 </xsl:template>
586 <doc:template xmlns="">
587 <refpurpose>Process <doc:db>function</doc:db> elements</refpurpose>
588 <doc:description>
589 <para>
590 Invokes <xref linkend="template.inline.monoseq"/>.
591 </para>
592 </doc:description>
593 <doc:variables>
594 &no_var;
595 </doc:variables>
596 <doc:notes>
597 <para>
598 <doc:todo>Insert documentation here.</doc:todo>
599 </para>
600 </doc:notes>
601 </doc:template>
602 <xsl:template match="function">
603 <xsl:choose>
604 <xsl:when test="$function.parens = 1 or parameter or function or replaceable">
605 <xsl:variable name="nodes" select="text()|*"/>
606 <xsl:call-template name="inline.monoseq">
607 <xsl:with-param name="content">
608 <xsl:apply-templates select="$nodes[1]"/>
609 </xsl:with-param>
610 </xsl:call-template>
611 <xsl:text>(</xsl:text>
612 <xsl:apply-templates select="$nodes[position()>1]"/>
613 <xsl:text>)</xsl:text>
614 </xsl:when>
615 <xsl:otherwise>
616 <xsl:call-template name="inline.monoseq"/>
617 </xsl:otherwise>
618 </xsl:choose>
619 </xsl:template>
621 <doc:template xmlns="">
622 <refpurpose>Process a <doc:db>function</doc:db>'s <doc:db>parameter</doc:db> elements</refpurpose>
623 <doc:description>
624 <para>
625 Invokes <xref linkend="template.inline.italicmonoseq"/> and
626 separates subsequent <doc:db
627 basename="replaceable">replaceables</doc:db> with commas.
628 </para>
629 </doc:description>
630 <doc:variables>
631 &no_var;
632 </doc:variables>
633 </doc:template>
634 <xsl:template match="function/parameter" priority="2">
635 <xsl:call-template name="inline.italicmonoseq"/>
636 <xsl:if test="following-sibling::*">
637 <xsl:text>, </xsl:text>
638 </xsl:if>
639 </xsl:template>
641 <doc:template xmlns="">
642 <refpurpose>Process a <doc:db>function</doc:db>'s <doc:db>replaceable</doc:db> elements</refpurpose>
643 <doc:description>
644 <para>
645 Invokes <xref linkend="template.inline.italicmonoseq"/> and
646 separates subsequent <doc:db
647 basename="replaceable">replaceables</doc:db> with commas.
648 </para>
649 </doc:description>
650 <doc:variables>
651 &no_var;
652 </doc:variables>
653 </doc:template>
654 <xsl:template match="function/replaceable" priority="2">
655 <xsl:call-template name="inline.italicmonoseq"/>
656 <xsl:if test="following-sibling::*">
657 <xsl:text>, </xsl:text>
658 </xsl:if>
659 </xsl:template>
661 <doc:template xmlns="">
662 <refpurpose>Process GUI-type elements</refpurpose>
663 <doc:description>
664 <para>
665 Invokes <xref linkend="template.inline.charseq"/>
666 within a &LaTeX; <function condition="latex">sffamily</function>
667 and <function condition="latex">bfseries</function> commands.
668 </para>
669 </doc:description>
670 <doc:variables>
671 &no_var;
672 </doc:variables>
673 </doc:template>
674 <xsl:template match="guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu|interface">
675 <xsl:text>{\sffamily \bfseries </xsl:text>
676 <xsl:call-template name="inline.charseq" />
677 <xsl:text>}</xsl:text>
678 </xsl:template>
680 <doc:template xmlns="">
681 <refpurpose>Process <doc:db>hardware</doc:db> elements</refpurpose>
682 <doc:description>
683 <para>
684 Invokes <xref linkend="template.inline.charseq"/>.
685 </para>
686 </doc:description>
687 <doc:variables>
688 &no_var;
689 </doc:variables>
690 </doc:template>
691 <xsl:template match="hardware">
692 <xsl:call-template name="inline.charseq"/>
693 </xsl:template>
695 <doc:template xmlns="">
696 <refpurpose>Process <doc:db>interfacedefinition</doc:db> elements</refpurpose>
697 <doc:description>
698 <para>
699 Invokes <xref linkend="template.inline.charseq"/>.
700 </para>
701 </doc:description>
702 <doc:variables>
703 &no_var;
704 </doc:variables>
705 </doc:template>
706 <xsl:template match="interfacedefinition">
707 <xsl:call-template name="inline.charseq"/>
708 </xsl:template>
710 <doc:template xmlns="">
711 <refpurpose>Process <doc:db>keycap</doc:db> and <doc:db>keysym</doc:db> elements</refpurpose>
712 <doc:description>
713 <para>
714 Invokes <xref linkend="template.inline.boldseq"/>.
715 </para>
716 </doc:description>
717 <doc:variables>
718 &no_var;
719 </doc:variables>
720 </doc:template>
721 <xsl:template match="keycap|keysym">
722 <xsl:call-template name="inline.boldseq" />
723 </xsl:template>
725 <doc:template xmlns="">
726 <refpurpose>Process <doc:db>keycode</doc:db> elements</refpurpose>
727 <doc:description>
728 <para>
729 Invokes <xref linkend="template.inline.charseq"/>.
730 </para>
731 </doc:description>
732 <doc:variables>
733 &no_var;
734 </doc:variables>
735 </doc:template>
736 <xsl:template match="keycode">
737 <xsl:call-template name="inline.charseq"/>
738 </xsl:template>
740 <doc:template xmlns="">
741 <refpurpose>Process <doc:db>literal</doc:db> elements</refpurpose>
742 <doc:description>
743 <para>
744 Invokes <xref linkend="template.inline.monoseq"/>.
745 </para>
746 </doc:description>
747 <doc:variables>
748 &no_var;
749 </doc:variables>
750 </doc:template>
751 <xsl:template match="literal">
752 <xsl:call-template name="inline.monoseq"/>
753 </xsl:template>
755 <doc:template xmlns="">
756 <refpurpose>Process <doc:db>medialabel</doc:db> elements</refpurpose>
757 <doc:description>
758 <para>
759 Invokes <xref linkend="template.inline.italicseq"/>.
760 </para>
761 </doc:description>
762 <doc:variables>
763 &no_var;
764 </doc:variables>
765 </doc:template>
766 <xsl:template match="medialabel">
767 <xsl:call-template name="inline.italicseq"/>
768 </xsl:template>
770 <doc:template xmlns="">
771 <refpurpose>Process <doc:db>shortcut</doc:db> elements</refpurpose>
772 <doc:description>
773 <para>
774 Applies templates.
775 </para>
776 </doc:description>
777 <doc:variables>
778 &no_var;
779 </doc:variables>
780 </doc:template>
781 <xsl:template match="shortcut">
782 <xsl:apply-templates/>
783 </xsl:template>
785 <doc:template xmlns="">
786 <refpurpose>Process <doc:db>mousebutton</doc:db> elements</refpurpose>
787 <doc:description>
788 <para>
789 Invokes <xref linkend="template.inline.charseq"/>.
790 </para>
791 </doc:description>
792 <doc:variables>
793 &no_var;
794 </doc:variables>
795 </doc:template>
796 <xsl:template match="mousebutton">
797 <xsl:call-template name="inline.charseq"/>
798 </xsl:template>
800 <doc:template xmlns="">
801 <refpurpose>Process <doc:db>option</doc:db> elements</refpurpose>
802 <doc:description>
803 <para>
804 Invokes <xref linkend="template.inline.monoseq"/>.
805 </para>
806 </doc:description>
807 <doc:variables>
808 &no_var;
809 </doc:variables>
810 </doc:template>
811 <xsl:template match="option">
812 <xsl:call-template name="inline.monoseq"/>
813 </xsl:template>
815 <doc:template xmlns="">
816 <refpurpose>Process <doc:db>parameter</doc:db> elements</refpurpose>
817 <doc:description>
818 <para>
819 Invokes <xref linkend="template.inline.italicmonoseq"/>.
820 </para>
821 </doc:description>
822 <doc:variables>
823 &no_var;
824 </doc:variables>
825 </doc:template>
826 <xsl:template match="parameter" priority="1">
827 <xsl:call-template name="inline.italicmonoseq"/>
828 </xsl:template>
830 <doc:template xmlns="">
831 <refpurpose>Process <doc:db>property</doc:db> elements</refpurpose>
832 <doc:description>
833 <para>
834 Invokes <xref linkend="template.inline.charseq"/>.
835 </para>
836 </doc:description>
837 <doc:variables>
838 &no_var;
839 </doc:variables>
840 </doc:template>
841 <xsl:template match="property">
842 <xsl:call-template name="inline.charseq"/>
843 </xsl:template>
845 <doc:template xmlns="">
846 <refpurpose>Process <doc:db>prompt</doc:db> elements</refpurpose>
847 <doc:description>
848 <para>
849 Invokes <xref linkend="template.inline.monoseq"/>.
850 </para>
851 </doc:description>
852 <doc:variables>
853 &no_var;
854 </doc:variables>
855 </doc:template>
856 <xsl:template match="prompt">
857 <xsl:call-template name="inline.monoseq"/>
858 </xsl:template>
860 <doc:template xmlns="">
861 <refpurpose>Process <doc:db>replaceable</doc:db> elements</refpurpose>
862 <doc:description>
863 <para>
864 Invokes <xref linkend="template.inline.italicmonoseq"/>.
865 </para>
866 </doc:description>
867 <doc:variables>
868 &no_var;
869 </doc:variables>
870 </doc:template>
871 <xsl:template match="replaceable" priority="1">
872 <xsl:call-template name="inline.italicmonoseq"/>
873 </xsl:template>
875 <doc:template xmlns="">
876 <refpurpose>Process <doc:db>returnvalue</doc:db> elements</refpurpose>
877 <doc:description>
878 <para>
879 Invokes <xref linkend="template.inline.charseq"/>.
880 </para>
881 </doc:description>
882 <doc:variables>
883 &no_var;
884 </doc:variables>
885 </doc:template>
886 <xsl:template match="returnvalue">
887 <xsl:call-template name="inline.charseq"/>
888 </xsl:template>
890 <doc:template xmlns="">
891 <refpurpose>Process <doc:db>structfield</doc:db> elements</refpurpose>
892 <doc:description>
893 <para>
894 Invokes <xref linkend="template.inline.italicmonoseq"/>.
895 </para>
896 </doc:description>
897 <doc:variables>
898 &no_var;
899 </doc:variables>
900 </doc:template>
901 <xsl:template match="structfield">
902 <xsl:call-template name="inline.italicmonoseq"/>
903 </xsl:template>
905 <doc:template xmlns="">
906 <refpurpose>Process <doc:db>structname</doc:db> elements</refpurpose>
907 <doc:description>
908 <para>
909 Invokes <xref linkend="template.inline.charseq"/>.
910 </para>
911 </doc:description>
912 <doc:variables>
913 &no_var;
914 </doc:variables>
915 </doc:template>
916 <xsl:template match="structname">
917 <xsl:call-template name="inline.charseq"/>
918 </xsl:template>
920 <doc:template xmlns="">
921 <refpurpose>Process <doc:db>symbol</doc:db> elements</refpurpose>
922 <doc:description>
923 <para>
924 Invokes <xref linkend="template.inline.charseq"/>.
925 </para>
926 </doc:description>
927 <doc:variables>
928 &no_var;
929 </doc:variables>
930 </doc:template>
931 <xsl:template match="symbol">
932 <xsl:call-template name="inline.charseq"/>
933 </xsl:template>
935 <doc:template xmlns="">
936 <refpurpose>Process <doc:db>systemitem</doc:db> elements</refpurpose>
937 <doc:description>
938 <para>
939 Invokes <xref linkend="template.inline.monoseq"/>.
940 </para>
941 </doc:description>
942 <doc:variables>
943 &no_var;
944 </doc:variables>
945 </doc:template>
946 <xsl:template match="systemitem">
947 <xsl:call-template name="inline.monoseq"/>
948 </xsl:template>
950 <doc:template xmlns="">
951 <refpurpose>Process <doc:db>token</doc:db> elements</refpurpose>
952 <doc:description>
953 <para>
954 Invokes <xref linkend="template.inline.charseq"/>.
955 </para>
956 </doc:description>
957 <doc:variables>
958 &no_var;
959 </doc:variables>
960 </doc:template>
961 <xsl:template match="token">
962 <xsl:call-template name="inline.charseq"/>
963 </xsl:template>
965 <doc:template xmlns="">
966 <refpurpose>Process <doc:db>type</doc:db> elements</refpurpose>
967 <doc:description>
968 <para>
969 Invokes <xref linkend="template.inline.charseq"/>.
970 </para>
971 </doc:description>
972 <doc:variables>
973 &no_var;
974 </doc:variables>
975 </doc:template>
976 <xsl:template match="type">
977 <xsl:call-template name="inline.charseq"/>
978 </xsl:template>
980 <doc:template xmlns="">
981 <refpurpose>Process <doc:db>userinput</doc:db> elements</refpurpose>
982 <doc:description>
983 <para>
984 Invokes <xref linkend="template.inline.boldmonoseq"/>.
985 </para>
986 </doc:description>
987 <doc:variables>
988 &no_var;
989 </doc:variables>
990 </doc:template>
991 <xsl:template match="userinput">
992 <xsl:call-template name="inline.boldmonoseq"/>
993 </xsl:template>
995 <doc:template xmlns="">
996 <refpurpose>Process <doc:db>abbrev</doc:db> elements</refpurpose>
997 <doc:description>
998 <para>
999 Invokes <xref linkend="template.inline.charseq"/>.
1000 </para>
1001 </doc:description>
1002 <doc:variables>
1003 &no_var;
1004 </doc:variables>
1005 <doc:notes>
1006 <para>
1007 <doc:todo>It would be useful if a terminating full stop
1008 were not to induce sentence-end whitespace spacing.</doc:todo>
1009 </para>
1010 </doc:notes>
1011 </doc:template>
1012 <xsl:template match="abbrev">
1013 <xsl:call-template name="inline.charseq"/>
1014 </xsl:template>
1016 <doc:template xmlns="">
1017 <refpurpose>Process <doc:db>acronym</doc:db> elements</refpurpose>
1018 <doc:description>
1019 <para>
1020 Invokes <xref linkend="template.inline.charseq"/>.
1021 </para>
1022 </doc:description>
1023 <doc:variables>
1024 &no_var;
1025 </doc:variables>
1026 </doc:template>
1027 <xsl:template match="acronym">
1028 <xsl:call-template name="inline.charseq"/>
1029 </xsl:template>
1031 <doc:template xmlns="">
1032 <refpurpose>Process <doc:db>citerefentry</doc:db> elements</refpurpose>
1033 <doc:description>
1034 <para>
1035 Invokes <xref linkend="template.inline.charseq"/>.
1036 </para>
1037 </doc:description>
1038 <doc:variables>
1039 &no_var;
1040 </doc:variables>
1041 </doc:template>
1042 <xsl:template match="citerefentry">
1043 <xsl:call-template name="inline.charseq"/>
1044 </xsl:template>
1046 <doc:template xmlns="">
1047 <refpurpose>Process <doc:db>citetitle</doc:db> elements</refpurpose>
1048 <doc:description>
1049 <para>
1050 Invokes <xref linkend="template.inline.italicseq"/>.
1051 </para>
1052 </doc:description>
1053 <doc:variables>
1054 &no_var;
1055 </doc:variables>
1056 </doc:template>
1057 <xsl:template match="citetitle">
1058 <xsl:call-template name="inline.italicseq"/>
1059 </xsl:template>
1061 <doc:template xmlns="">
1062 <refpurpose>Process <doc:db>corpauthor</doc:db> elements</refpurpose>
1063 <doc:description>
1064 <para>
1065 Applies templates.
1066 </para>
1067 </doc:description>
1068 <doc:variables>
1069 &no_var;
1070 </doc:variables>
1071 </doc:template>
1072 <xsl:template match="corpauthor">
1073 <xsl:apply-templates/>
1074 </xsl:template>
1076 <doc:template xmlns="">
1077 <refpurpose>Process <doc:db>emphasis</doc:db> elements</refpurpose>
1078 <doc:description>
1079 <para>
1080 Invokes <xref linkend="template.inline.italicseq"/>.
1081 </para>
1082 </doc:description>
1083 <doc:variables>
1084 &no_var;
1085 </doc:variables>
1086 </doc:template>
1087 <xsl:template match="emphasis">
1088 <xsl:call-template name="inline.italicseq"/>
1089 </xsl:template>
1091 <doc:template xmlns="" basename="emphasis">
1092 <refpurpose>Process <doc:db>emphasis</doc:db> elements with <quote>bold</quote> role</refpurpose>
1093 <doc:description>
1094 <para>
1095 Invokes <xref linkend="template.inline.boldseq"/>.
1096 </para>
1097 </doc:description>
1098 <doc:variables>
1099 &no_var;
1100 </doc:variables>
1101 </doc:template>
1102 <xsl:template match="emphasis[@role='bold']">
1103 <xsl:call-template name="inline.boldseq"/>
1104 </xsl:template>
1106 <doc:template xmlns="">
1107 <refpurpose>Process <doc:db>foreignphrase</doc:db> elements</refpurpose>
1108 <doc:description>
1109 <para>
1110 Invokes <xref linkend="template.inline.italicseq"/>.
1111 </para>
1112 </doc:description>
1113 <doc:variables>
1114 &no_var;
1115 </doc:variables>
1116 </doc:template>
1117 <xsl:template match="foreignphrase">
1118 <xsl:call-template name="inline.italicseq"/>
1119 </xsl:template>
1121 <doc:template xmlns="">
1122 <refpurpose>Process <doc:db>jobtitle</doc:db> elements</refpurpose>
1123 <doc:description>
1124 <para>
1125 Applies templates.
1126 </para>
1127 </doc:description>
1128 <doc:variables>
1129 &no_var;
1130 </doc:variables>
1131 </doc:template>
1132 <xsl:template match="jobtitle">
1133 <xsl:apply-templates/>
1134 </xsl:template>
1136 <doc:template xmlns="">
1137 <refpurpose>Process <doc:db>markup</doc:db> elements</refpurpose>
1138 <doc:description>
1139 <para>
1140 Applies template using the <literal>latex.verbatim</literal>
1141 mode.
1142 </para>
1143 </doc:description>
1144 <doc:variables>
1145 &no_var;
1146 </doc:variables>
1147 </doc:template>
1148 <xsl:template match="markup">
1149 <xsl:apply-templates mode="latex.verbatim"/>
1150 </xsl:template>
1152 <doc:template xmlns="">
1153 <refpurpose>Process <doc:db>orgdiv</doc:db> elements</refpurpose>
1154 <doc:description>
1155 <para>
1156 Applies templates.
1157 </para>
1158 </doc:description>
1159 <doc:variables>
1160 &no_var;
1161 </doc:variables>
1162 </doc:template>
1163 <xsl:template match="orgdiv">
1164 <xsl:apply-templates/>
1165 </xsl:template>
1167 <doc:template xmlns="">
1168 <refpurpose>Process <doc:db>orgname</doc:db> elements</refpurpose>
1169 <doc:description>
1170 <para>
1171 Applies templates.
1172 </para>
1173 </doc:description>
1174 <doc:variables>
1175 &no_var;
1176 </doc:variables>
1177 </doc:template>
1178 <xsl:template match="orgname">
1179 <xsl:apply-templates/>
1180 </xsl:template>
1182 <doc:template xmlns="">
1183 <refpurpose>Process <doc:db>phrase</doc:db> elements</refpurpose>
1184 <doc:description>
1185 <para>
1186 Invokes <xref linkend="template.inline.charseq"/>.
1187 </para>
1188 </doc:description>
1189 <doc:variables>
1190 &no_var;
1191 </doc:variables>
1192 <doc:notes>
1193 <para>
1194 Normally, <xref linkend="template.inline.charseq"/> is used.
1195 However, the use of <quote>latex</quote> or <quote>tex</quote>
1196 for the <sgmltag class="attribute">role</sgmltag> attribute
1197 will convert the contents to plain text without &LaTeX;
1198 active-character escaping.
1199 </para>
1200 </doc:notes>
1201 </doc:template>
1202 <xsl:template match="phrase">
1203 <xsl:choose>
1204 <xsl:when test="@role='tex' or @role='latex'">
1205 <xsl:value-of select="."/>
1206 </xsl:when>
1207 <xsl:otherwise>
1208 <xsl:call-template name="inline.charseq"/>
1209 </xsl:otherwise>
1210 </xsl:choose>
1211 </xsl:template>
1213 <doc:template xmlns="">
1214 <refpurpose>Process <doc:db>quote</doc:db> elements</refpurpose>
1215 <doc:description>
1216 <para>
1217 Invokes <xref linkend="template.inline.charseq"/>.
1218 </para>
1219 </doc:description>
1220 <doc:variables>
1221 &no_var;
1222 </doc:variables>
1223 <doc:notes>
1224 <para>
1225 The contents will be enclosed in quotation marks,
1226 using <literal>gentext.startquote</literal>
1227 and <literal>gentext.nestedstartquote</literal>
1228 alternating according to the <doc:db>quote</doc:db>
1229 nesting level.
1230 </para>
1231 </doc:notes>
1232 </doc:template>
1233 <xsl:template match="quote">
1234 <xsl:choose>
1235 <xsl:when test="count(ancestor::quote) mod 2=0">
1236 <xsl:call-template name="gentext.startquote"/>
1237 <xsl:call-template name="inline.charseq"/>
1238 <xsl:call-template name="gentext.endquote"/>
1239 </xsl:when>
1240 <xsl:otherwise>
1241 <xsl:call-template name="gentext.nestedstartquote"/>
1242 <xsl:call-template name="inline.charseq"/>
1243 <xsl:call-template name="gentext.nestedendquote"/>
1244 </xsl:otherwise>
1245 </xsl:choose>
1246 </xsl:template>
1248 <doc:template xmlns="">
1249 <refpurpose>Process <doc:db>varname</doc:db> elements</refpurpose>
1250 <doc:description>
1251 <para>
1252 Invokes <xref linkend="template.inline.monoseq"/>.
1253 </para>
1254 </doc:description>
1255 <doc:variables>
1256 &no_var;
1257 </doc:variables>
1258 </doc:template>
1259 <xsl:template match="varname">
1260 <xsl:call-template name="inline.monoseq"/>
1261 </xsl:template>
1263 <doc:template xmlns="">
1264 <refpurpose>Process <doc:db>wordasword</doc:db> elements</refpurpose>
1265 <doc:description>
1266 <para>
1267 Invokes <xref linkend="template.inline.italicseq"/>.
1268 </para>
1269 </doc:description>
1270 <doc:variables>
1271 &no_var;
1272 </doc:variables>
1273 </doc:template>
1274 <xsl:template match="wordasword">
1275 <xsl:call-template name="inline.italicseq"/>
1276 </xsl:template>
1278 <doc:template xmlns="">
1279 <refpurpose>Process <doc:db>lineannotation</doc:db> elements</refpurpose>
1280 <doc:description>
1281 <para>
1282 Invokes <xref linkend="template.inline.charseq"/>.
1283 </para>
1284 </doc:description>
1285 <doc:variables>
1286 &no_var;
1287 </doc:variables>
1288 </doc:template>
1289 <xsl:template match="lineannotation">
1290 <xsl:call-template name="inline.charseq"/>
1291 </xsl:template>
1293 <doc:template xmlns="">
1294 <refpurpose>Process <doc:db>superscript</doc:db> elements</refpurpose>
1295 <doc:description>
1296 <para>
1297 Invokes <xref linkend="template.inline.superscriptseq"/>.
1298 </para>
1299 </doc:description>
1300 <doc:variables>
1301 &no_var;
1302 </doc:variables>
1303 </doc:template>
1304 <xsl:template match="superscript">
1305 <xsl:call-template name="inline.superscriptseq"/>
1306 </xsl:template>
1308 <doc:template xmlns="">
1309 <refpurpose>Process <doc:db>subscript</doc:db> elements</refpurpose>
1310 <doc:description>
1311 <para>
1312 Invokes <xref linkend="template.inline.subscriptseq"/>.
1313 </para>
1314 </doc:description>
1315 <doc:variables>
1316 &no_var;
1317 </doc:variables>
1318 </doc:template>
1319 <xsl:template match="subscript">
1320 <xsl:call-template name="inline.subscriptseq"/>
1321 </xsl:template>
1323 <doc:template xmlns="">
1324 <refpurpose>Process <doc:db>trademark</doc:db> elements</refpurpose>
1325 <doc:description>
1326 <para>
1327 Invokes <xref linkend="template.inline.charseq"/>,
1328 then appends a <quote>trademark</quote> dingbat.
1329 </para>
1330 </doc:description>
1331 <doc:variables>
1332 &no_var;
1333 </doc:variables>
1334 <doc:seealso>
1335 <itemizedlist>
1336 <listitem><simpara><xref linkend="template.dingbat"/></simpara></listitem>
1337 </itemizedlist>
1338 </doc:seealso>
1339 </doc:template>
1340 <xsl:template match="trademark">
1341 <xsl:call-template name="inline.charseq"/>
1342 <xsl:call-template name="dingbat">
1343 <xsl:with-param name="dingbat">trademark</xsl:with-param>
1344 </xsl:call-template>
1345 </xsl:template>
1347 <doc:template xmlns="">
1348 <refpurpose>Process <doc:db>firstterm</doc:db> elements</refpurpose>
1349 <doc:description>
1350 <para>
1351 Invokes <xref linkend="template.inline.italicseq"/>.
1352 </para>
1353 </doc:description>
1354 <doc:variables>
1355 &no_var;
1356 </doc:variables>
1357 </doc:template>
1358 <xsl:template match="firstterm">
1359 <xsl:call-template name="inline.italicseq"/>
1360 </xsl:template>
1362 <doc:template xmlns="">
1363 <refpurpose>Process <doc:db>glossterm</doc:db> elements</refpurpose>
1364 <doc:description>
1365 <para>
1366 Invokes <xref linkend="template.inline.charseq"/>.
1367 </para>
1368 </doc:description>
1369 <doc:variables>
1370 &no_var;
1371 </doc:variables>
1372 </doc:template>
1373 <xsl:template match="glossterm">
1374 <xsl:call-template name="inline.charseq"/>
1375 </xsl:template>
1377 <doc:template xmlns="">
1378 <refpurpose>Process <doc:db>keycombo</doc:db> elements</refpurpose>
1379 <doc:description>
1380 <para>
1381 Formats a key combination using conjugation characters.
1382 </para>
1383 </doc:description>
1384 <doc:variables>
1385 &no_var;
1386 </doc:variables>
1387 <doc:notes>
1388 <para>
1389 Templates are applied for all children, with comjugation
1390 characters based upon the <sgmltag
1391 class="attribute">action</sgmltag> attribute.
1392 </para>
1393 <para>
1394 For <quote>seq</quote> actions, a space character is used.
1395 For <quote>simul</quote> actions, a plus sign (+) is used.
1396 For <quote>other</quote> actions, no conjugation character is
1397 used (children will be abutting).
1398 For all other actions, an en-dash is used.
1399 </para>
1400 </doc:notes>
1401 </doc:template>
1402 <xsl:template match="keycombo">
1403 <xsl:variable name="action" select="@action"/>
1404 <xsl:variable name="joinchar">
1405 <xsl:choose>
1406 <xsl:when test="$action='seq'"><xsl:text> </xsl:text></xsl:when>
1407 <xsl:when test="$action='simul'">+</xsl:when>
1408 <xsl:when test="$action='press'">--</xsl:when>
1409 <xsl:when test="$action='click'">--</xsl:when>
1410 <xsl:when test="$action='double-click'">--</xsl:when>
1411 <xsl:when test="$action='other'"></xsl:when>
1412 <xsl:otherwise>--</xsl:otherwise>
1413 </xsl:choose>
1414 </xsl:variable>
1415 <xsl:for-each select="./*">
1416 <xsl:if test="position()>1"><xsl:value-of select="$joinchar"/></xsl:if>
1417 <xsl:apply-templates select="."/>
1418 </xsl:for-each>
1419 </xsl:template>
1421 <doc:template xmlns="">
1422 <refpurpose>Process <doc:db>menuchoice</doc:db> elements</refpurpose>
1423 <doc:description>
1424 <para>
1425 Invokes templates for non-shortcut children, then formats any
1426 <doc:db basename="shortcut">shortcuts</doc:db> in parentheses.
1427 </para>
1428 </doc:description>
1429 <doc:variables>
1430 &no_var;
1431 </doc:variables>
1432 <doc:seealso>
1433 <itemizedlist>
1434 <listitem><simpara><xref linkend="template.process.menuchoice"/></simpara></listitem>
1435 </itemizedlist>
1436 </doc:seealso>
1437 </doc:template>
1438 <xsl:template match="menuchoice">
1439 <xsl:variable name="shortcut" select="./shortcut"/>
1440 <xsl:call-template name="process.menuchoice"/>
1441 <xsl:if test="$shortcut">
1442 <xsl:text> (</xsl:text>
1443 <xsl:apply-templates select="$shortcut"/>
1444 <xsl:text>)</xsl:text>
1445 </xsl:if>
1446 </xsl:template>
1448 <doc:template xmlns="">
1449 <refpurpose>Process <doc:db>menuchoice</doc:db> children (not shortcut) </refpurpose>
1450 <doc:description>
1451 <para>
1452 Applies templates.
1453 </para>
1454 </doc:description>
1455 <doc:variables>
1456 &no_var;
1457 </doc:variables>
1458 <doc:notes>
1459 <para>
1460 Selects children of the current node (does not select <doc:db>shortcut</doc:db> elements).
1461 Subsequent children are delimited by a plug sign, in general, or an arrow,
1462 for <doc:db>guimenuitem</doc:db> and <doc:db>guisubmenu</doc:db>.
1463 </para>
1464 </doc:notes>
1465 </doc:template>
1466 <xsl:template name="process.menuchoice">
1467 <xsl:param name="nodelist" select="guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu|interface"/><!-- not(shortcut) -->
1468 <xsl:param name="count" select="1"/>
1469 <xsl:choose>
1470 <xsl:when test="$count>count($nodelist)"/>
1471 <xsl:when test="$count=1">
1472 <xsl:apply-templates select="$nodelist[$count=position()]"/>
1473 <xsl:call-template name="process.menuchoice">
1474 <xsl:with-param name="nodelist" select="$nodelist"/>
1475 <xsl:with-param name="count" select="$count+1"/>
1476 </xsl:call-template>
1477 </xsl:when>
1478 <xsl:otherwise>
1479 <xsl:variable name="node" select="$nodelist[$count=position()]"/>
1480 <xsl:choose>
1481 <xsl:when test="name($node)='guimenuitem' or name($node)='guisubmenu'">
1482 <xsl:text> $\to$ </xsl:text>
1483 </xsl:when>
1484 <xsl:otherwise>+</xsl:otherwise>
1485 </xsl:choose>
1486 <xsl:apply-templates select="$node"/>
1487 <xsl:call-template name="process.menuchoice">
1488 <xsl:with-param name="nodelist" select="$nodelist"/>
1489 <xsl:with-param name="count" select="$count+1"/>
1490 </xsl:call-template>
1491 </xsl:otherwise>
1492 </xsl:choose>
1493 </xsl:template>
1495 <doc:template xmlns="">
1496 <refpurpose>Process <doc:db>optional</doc:db> elements</refpurpose>
1497 <doc:description>
1498 <para>
1499 Invokes <xref linkend="template.inline.charseq"/>,
1500 surrounded by $arg.choice.opt.open.str and
1501 $arg.choice.opt.close.str.
1502 </para>
1503 </doc:description>
1504 <doc:variables>
1505 &no_var;
1506 </doc:variables>
1507 </doc:template>
1508 <xsl:template match="optional">
1509 <xsl:value-of select="$arg.choice.opt.open.str"/>
1510 <xsl:call-template name="inline.charseq"/>
1511 <xsl:value-of select="$arg.choice.opt.close.str"/>
1512 </xsl:template>
1514 <doc:template xmlns="">
1515 <refpurpose>Process <doc:db>remark</doc:db> elements</refpurpose>
1516 <doc:description>
1517 <para>
1518 Applies templates as a margin note.
1519 </para>
1520 </doc:description>
1521 <doc:variables>
1522 <itemizedlist>
1523 <listitem><simpara><xref linkend="param.show.comments"/></simpara></listitem>
1524 </itemizedlist>
1525 </doc:variables>
1526 <doc:notes>
1527 <para>When <xref linkend="param.show.comments"/> is set,
1528 templates will be applied within a &LaTeX;
1529 <function condition="latex">marginpar</function> command,
1530 using <function condition="latex">footnotesize</function>.</para>
1531 <para>If <xref linkend="param.show.comments"/> is not set,
1532 then content is suppressed.</para>
1533 </doc:notes>
1534 </doc:template>
1535 <xsl:template match="comment|remark">
1536 <xsl:if test="$show.comments=1">
1537 <xsl:text>\marginpar{\footnotesize{</xsl:text>
1538 <xsl:apply-templates/>
1539 <xsl:text>}}</xsl:text>
1540 </xsl:if>
1541 </xsl:template>
1543 <doc:template xmlns="">
1544 <refpurpose>Process <doc:db>productname</doc:db> elements</refpurpose>
1545 <doc:description>
1546 <para>
1547 Invokes <xref linkend="template.inline.charseq"/>.
1548 </para>
1549 </doc:description>
1550 <doc:variables>
1551 &no_var;
1552 </doc:variables>
1553 </doc:template>
1554 <xsl:template match="productname">
1555 <xsl:call-template name="inline.charseq"/>
1556 </xsl:template>
1558 <doc:template xmlns="">
1559 <refpurpose>Process <doc:db>productnumber</doc:db> elements</refpurpose>
1560 <doc:description>
1561 <para>
1562 Invokes <xref linkend="template.inline.charseq"/>.
1563 </para>
1564 </doc:description>
1565 <doc:variables>
1566 &no_var;
1567 </doc:variables>
1568 </doc:template>
1569 <xsl:template match="productnumber">
1570 <xsl:call-template name="inline.charseq"/>
1571 </xsl:template>
1573 <doc:template xmlns="">
1574 <refpurpose>Process address-like elements</refpurpose>
1575 <doc:description>
1576 <para>
1577 Invokes <xref linkend="template.inline.charseq"/>.
1578 </para>
1579 </doc:description>
1580 <doc:variables>
1581 &no_var;
1582 </doc:variables>
1583 </doc:template>
1584 <xsl:template match="pob|street|city|state|postcode|country|phone|fax|otheraddr">
1585 <xsl:call-template name="inline.charseq"/>
1586 </xsl:template>
1588 <doc:template xmlns="">
1589 <refpurpose>Process <doc:db>beginpage</doc:db> elements</refpurpose>
1590 <doc:description>
1591 <para>
1592 Suppressed.
1593 </para>
1594 </doc:description>
1595 <doc:variables>
1596 &no_var;
1597 </doc:variables>
1598 </doc:template>
1599 <xsl:template match="beginpage"/>
1601 </xsl:stylesheet>