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 + ############################################################################## -->
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="">
15 <releaseinfo role="meta">
16 $Id: inline.mod.xsl,v 1.21 2004/01/05 09:58:47 j-devenish Exp $
23 <year>2000</year><year>2001</year><year>2002</year><year>2003</year><year>2004</year>
24 <holder>Ramon Casellas</holder>
27 <doc:revision rcasver="1.16">&rev_2003_05;</doc:revision>
30 <title>Inline Elements <filename>inline.mod.xsl</filename></title>
40 <doc:template xmlns="">
41 <refpurpose>Process regular text</refpurpose>
52 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
53 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
57 <xsl:template name="inline.charseq">
58 <xsl:param name="content">
59 <xsl:apply-templates/>
61 <xsl:copy-of select="$content"/>
64 <doc:template xmlns="">
65 <refpurpose>Process monospace text</refpurpose>
68 Applies templates within a &LaTeX;
69 <function condition="latex">texttt</function> command.
74 <listitem><simpara><xref linkend="param.latex.hyphenation.tttricks"/></simpara></listitem>
79 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
80 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
84 <xsl:template name="inline.monoseq">
85 <xsl:param name="hyphenation">\docbookhyphenatedot</xsl:param>
86 <xsl:param name="content">
87 <xsl:apply-templates/>
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>
96 <doc:template xmlns="">
97 <refpurpose>Process bold text</refpurpose>
100 Applies templates within a &LaTeX;
101 <function condition="latex">bfseries</function> command.
109 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
110 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
114 <xsl:template name="inline.boldseq">
115 <xsl:param name="content">
116 <xsl:apply-templates/>
118 <xsl:text>{\bfseries{</xsl:text>
119 <xsl:copy-of select="$content"/>
120 <xsl:text>}}</xsl:text>
123 <doc:template xmlns="">
124 <refpurpose>Process italic text</refpurpose>
127 Applies templates within a &LaTeX;
128 <function condition="latex">em</function> command.
136 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
137 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
141 <xsl:template name="inline.italicseq">
142 <xsl:param name="content">
143 <xsl:apply-templates/>
145 <xsl:text>{\em{</xsl:text>
146 <xsl:copy-of select="$content"/>
147 <xsl:text>}}</xsl:text>
150 <doc:template xmlns="">
151 <refpurpose>Process bold monospace text</refpurpose>
154 Applies templates within &LaTeX;
155 <function condition="latex">ttfamily</function>
157 <function condition="latex">bfseries</function>
163 <listitem><simpara><xref linkend="param.latex.hyphenation.tttricks"/></simpara></listitem>
168 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
169 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
173 <xsl:template name="inline.boldmonoseq">
174 <xsl:param name="hyphenation">\docbookhyphenatedot</xsl:param>
175 <xsl:param name="content">
176 <xsl:apply-templates/>
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>
185 <doc:template xmlns="">
186 <refpurpose>Process italic monospace text</refpurpose>
189 Applies templates within &LaTeX;
190 <function condition="latex">ttfamily</function>
192 <function condition="latex">itshape</function>
198 <listitem><simpara><xref linkend="param.latex.hyphenation.tttricks"/></simpara></listitem>
203 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
204 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
208 <xsl:template name="inline.italicmonoseq">
209 <xsl:param name="hyphenation">\docbookhyphenatedot</xsl:param>
210 <xsl:param name="content">
211 <xsl:apply-templates/>
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>
220 <doc:template xmlns="">
221 <refpurpose>Process superscript text</refpurpose>
224 Applies templates within a &LaTeX;
225 <function condition="latex">text</function>
226 command within an inline mathematics environment.
234 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
235 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
239 <xsl:template name="inline.superscriptseq">
240 <xsl:param name="content">
241 <xsl:apply-templates/>
243 <xsl:text>$^\text{</xsl:text>
244 <xsl:copy-of select="$content"/>
245 <xsl:text>}$</xsl:text>
248 <doc:template xmlns="">
249 <refpurpose>Process subscript text</refpurpose>
252 Applies templates within a &LaTeX;
253 <function condition="latex">text</function>
254 command within an inline mathematics environment.
262 <listitem><simpara><xref linkend="normalize-scape"/></simpara></listitem>
263 <listitem><simpara><xref linkend="scape"/></simpara></listitem>
267 <xsl:template name="inline.subscriptseq">
268 <xsl:param name="content">
269 <xsl:apply-templates/>
271 <xsl:text>$_\text{</xsl:text>
272 <xsl:copy-of select="$content"/>
273 <xsl:text>}$</xsl:text>
276 <doc:template xmlns="">
277 <refpurpose>Process <doc:db>accel</doc:db> elements</refpurpose>
280 Invokes <xref linkend="template.inline.charseq"/>.
287 <xsl:template match="accel">
288 <xsl:call-template name="inline.charseq"/>
291 <doc:template xmlns="">
292 <refpurpose>Process <doc:db>action</doc:db> elements</refpurpose>
295 Invokes <xref linkend="template.inline.charseq"/>.
302 <xsl:template match="action">
303 <xsl:call-template name="inline.charseq"/>
306 <doc:template xmlns="">
307 <refpurpose>Process name-type elements</refpurpose>
310 Invokes <xref linkend="template.inline.charseq"/>.
317 <xsl:template match="honorific|firstname|surname|lineage|othername">
318 <xsl:call-template name="inline.charseq"/>
321 <doc:template xmlns="">
322 <refpurpose>Process <doc:db>application</doc:db> elements</refpurpose>
325 Invokes <xref linkend="template.inline.charseq"/>.
332 <xsl:template match="application">
333 <xsl:call-template name="inline.charseq"/>
336 <doc:template xmlns="">
337 <refpurpose>Process <doc:db>classname</doc:db> elements</refpurpose>
340 Invokes <xref linkend="template.inline.monoseq"/>.
347 <xsl:template match="classname">
348 <xsl:call-template name="inline.monoseq"/>
351 <doc:template basename="copyright" xmlns="">
352 <refpurpose>Process <doc:db>copyright</doc:db> elements</refpurpose>
355 Applies templates with a copyright dingbat.
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>
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"/>
374 <doc:template xmlns="">
375 <refpurpose>Process a <doc:db>copyright</doc:db>'s <doc:db>holder</doc:db> elements</refpurpose>
385 <xsl:template match="copyright/holder">
386 <xsl:apply-templates />
389 <xsl:template match="copyright/year[position()<last()-1]">
390 <xsl:apply-templates />
391 <xsl:text>, </xsl:text>
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>
400 <xsl:template match="copyright/year[position()=last()]">
401 <xsl:apply-templates />
404 <doc:template xmlns="">
405 <refpurpose>Process <doc:db>exceptionname</doc:db> elements</refpurpose>
408 Invokes <xref linkend="template.inline.monoseq"/>.
415 <xsl:template match="exceptionname">
416 <xsl:call-template name="inline.monoseq"/>
419 <doc:template xmlns="">
420 <refpurpose>Process <doc:db>interfacename</doc:db> elements</refpurpose>
423 Invokes <xref linkend="template.inline.monoseq"/>.
430 <xsl:template match="interfacename">
431 <xsl:call-template name="inline.monoseq"/>
434 <doc:template xmlns="">
435 <refpurpose>Process <doc:db>methodname</doc:db> elements</refpurpose>
438 Invokes <xref linkend="template.inline.monoseq"/>.
445 <xsl:template match="methodname">
446 <xsl:call-template name="inline.monoseq"/>
449 <doc:template xmlns="">
450 <refpurpose>Process <doc:db>command</doc:db> elements</refpurpose>
453 Invokes <xref linkend="template.inline.boldseq"/>.
460 <xsl:template match="command">
461 <xsl:call-template name="inline.boldseq"/>
464 <doc:template xmlns="">
465 <refpurpose>Process <doc:db>computeroutput</doc:db> elements</refpurpose>
468 Invokes <xref linkend="template.inline.monoseq"/>.
475 <xsl:template match="computeroutput">
476 <xsl:call-template name="inline.monoseq"/>
479 <doc:template xmlns="">
480 <refpurpose>Process <doc:db>constant</doc:db> elements</refpurpose>
483 Invokes <xref linkend="template.inline.monoseq"/>.
490 <xsl:template match="constant">
491 <xsl:call-template name="inline.monoseq"/>
494 <doc:template xmlns="">
495 <refpurpose>Process <doc:db>database</doc:db> elements</refpurpose>
498 Invokes <xref linkend="template.inline.charseq"/>.
505 <xsl:template match="database">
506 <xsl:call-template name="inline.charseq"/>
509 <doc:template xmlns="">
510 <refpurpose>Process <doc:db>errorcode</doc:db> elements</refpurpose>
513 Invokes <xref linkend="template.inline.charseq"/>.
520 <xsl:template match="errorcode">
521 <xsl:call-template name="inline.charseq"/>
524 <doc:template xmlns="">
525 <refpurpose>Process <doc:db>errorname</doc:db> elements</refpurpose>
528 Invokes <xref linkend="template.inline.charseq"/>.
535 <xsl:template match="errorname">
536 <xsl:call-template name="inline.charseq"/>
539 <doc:template xmlns="">
540 <refpurpose>Process <doc:db>errortype</doc:db> elements</refpurpose>
543 Invokes <xref linkend="template.inline.charseq"/>.
550 <xsl:template match="errortype">
551 <xsl:call-template name="inline.charseq"/>
554 <doc:template xmlns="">
555 <refpurpose>Process <doc:db>envar</doc:db> elements</refpurpose>
558 Invokes <xref linkend="template.inline.monoseq"/>.
565 <xsl:template match="envar">
566 <xsl:call-template name="inline.monoseq"/>
569 <doc:template xmlns="">
570 <refpurpose>Process <doc:db>filename</doc:db> elements</refpurpose>
573 Invokes <xref linkend="template.inline.monoseq"/>.
580 <xsl:template match="filename">
581 <xsl:call-template name="inline.monoseq">
582 <xsl:with-param name="hyphenation">\docbookhyphenatefilename</xsl:with-param>
586 <doc:template xmlns="">
587 <refpurpose>Process <doc:db>function</doc:db> elements</refpurpose>
590 Invokes <xref linkend="template.inline.monoseq"/>.
598 <doc:todo>Insert documentation here.</doc:todo>
602 <xsl:template match="function">
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]"/>
611 <xsl:text>(</xsl:text>
612 <xsl:apply-templates select="$nodes[position()>1]"/>
613 <xsl:text>)</xsl:text>
616 <xsl:call-template name="inline.monoseq"/>
621 <doc:template xmlns="">
622 <refpurpose>Process a <doc:db>function</doc:db>'s <doc:db>parameter</doc:db> elements</refpurpose>
625 Invokes <xref linkend="template.inline.italicmonoseq"/> and
626 separates subsequent <doc:db
627 basename="replaceable">replaceables</doc:db> with commas.
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>
641 <doc:template xmlns="">
642 <refpurpose>Process a <doc:db>function</doc:db>'s <doc:db>replaceable</doc:db> elements</refpurpose>
645 Invokes <xref linkend="template.inline.italicmonoseq"/> and
646 separates subsequent <doc:db
647 basename="replaceable">replaceables</doc:db> with commas.
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>
661 <doc:template xmlns="">
662 <refpurpose>Process GUI-type elements</refpurpose>
665 Invokes <xref linkend="template.inline.charseq"/>
666 within a &LaTeX; <function condition="latex">sffamily</function>
667 and <function condition="latex">bfseries</function> commands.
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>
680 <doc:template xmlns="">
681 <refpurpose>Process <doc:db>hardware</doc:db> elements</refpurpose>
684 Invokes <xref linkend="template.inline.charseq"/>.
691 <xsl:template match="hardware">
692 <xsl:call-template name="inline.charseq"/>
695 <doc:template xmlns="">
696 <refpurpose>Process <doc:db>interfacedefinition</doc:db> elements</refpurpose>
699 Invokes <xref linkend="template.inline.charseq"/>.
706 <xsl:template match="interfacedefinition">
707 <xsl:call-template name="inline.charseq"/>
710 <doc:template xmlns="">
711 <refpurpose>Process <doc:db>keycap</doc:db> and <doc:db>keysym</doc:db> elements</refpurpose>
714 Invokes <xref linkend="template.inline.boldseq"/>.
721 <xsl:template match="keycap|keysym">
722 <xsl:call-template name="inline.boldseq" />
725 <doc:template xmlns="">
726 <refpurpose>Process <doc:db>keycode</doc:db> elements</refpurpose>
729 Invokes <xref linkend="template.inline.charseq"/>.
736 <xsl:template match="keycode">
737 <xsl:call-template name="inline.charseq"/>
740 <doc:template xmlns="">
741 <refpurpose>Process <doc:db>literal</doc:db> elements</refpurpose>
744 Invokes <xref linkend="template.inline.monoseq"/>.
751 <xsl:template match="literal">
752 <xsl:call-template name="inline.monoseq"/>
755 <doc:template xmlns="">
756 <refpurpose>Process <doc:db>medialabel</doc:db> elements</refpurpose>
759 Invokes <xref linkend="template.inline.italicseq"/>.
766 <xsl:template match="medialabel">
767 <xsl:call-template name="inline.italicseq"/>
770 <doc:template xmlns="">
771 <refpurpose>Process <doc:db>shortcut</doc:db> elements</refpurpose>
781 <xsl:template match="shortcut">
782 <xsl:apply-templates/>
785 <doc:template xmlns="">
786 <refpurpose>Process <doc:db>mousebutton</doc:db> elements</refpurpose>
789 Invokes <xref linkend="template.inline.charseq"/>.
796 <xsl:template match="mousebutton">
797 <xsl:call-template name="inline.charseq"/>
800 <doc:template xmlns="">
801 <refpurpose>Process <doc:db>option</doc:db> elements</refpurpose>
804 Invokes <xref linkend="template.inline.monoseq"/>.
811 <xsl:template match="option">
812 <xsl:call-template name="inline.monoseq"/>
815 <doc:template xmlns="">
816 <refpurpose>Process <doc:db>parameter</doc:db> elements</refpurpose>
819 Invokes <xref linkend="template.inline.italicmonoseq"/>.
826 <xsl:template match="parameter" priority="1">
827 <xsl:call-template name="inline.italicmonoseq"/>
830 <doc:template xmlns="">
831 <refpurpose>Process <doc:db>property</doc:db> elements</refpurpose>
834 Invokes <xref linkend="template.inline.charseq"/>.
841 <xsl:template match="property">
842 <xsl:call-template name="inline.charseq"/>
845 <doc:template xmlns="">
846 <refpurpose>Process <doc:db>prompt</doc:db> elements</refpurpose>
849 Invokes <xref linkend="template.inline.monoseq"/>.
856 <xsl:template match="prompt">
857 <xsl:call-template name="inline.monoseq"/>
860 <doc:template xmlns="">
861 <refpurpose>Process <doc:db>replaceable</doc:db> elements</refpurpose>
864 Invokes <xref linkend="template.inline.italicmonoseq"/>.
871 <xsl:template match="replaceable" priority="1">
872 <xsl:call-template name="inline.italicmonoseq"/>
875 <doc:template xmlns="">
876 <refpurpose>Process <doc:db>returnvalue</doc:db> elements</refpurpose>
879 Invokes <xref linkend="template.inline.charseq"/>.
886 <xsl:template match="returnvalue">
887 <xsl:call-template name="inline.charseq"/>
890 <doc:template xmlns="">
891 <refpurpose>Process <doc:db>structfield</doc:db> elements</refpurpose>
894 Invokes <xref linkend="template.inline.italicmonoseq"/>.
901 <xsl:template match="structfield">
902 <xsl:call-template name="inline.italicmonoseq"/>
905 <doc:template xmlns="">
906 <refpurpose>Process <doc:db>structname</doc:db> elements</refpurpose>
909 Invokes <xref linkend="template.inline.charseq"/>.
916 <xsl:template match="structname">
917 <xsl:call-template name="inline.charseq"/>
920 <doc:template xmlns="">
921 <refpurpose>Process <doc:db>symbol</doc:db> elements</refpurpose>
924 Invokes <xref linkend="template.inline.charseq"/>.
931 <xsl:template match="symbol">
932 <xsl:call-template name="inline.charseq"/>
935 <doc:template xmlns="">
936 <refpurpose>Process <doc:db>systemitem</doc:db> elements</refpurpose>
939 Invokes <xref linkend="template.inline.monoseq"/>.
946 <xsl:template match="systemitem">
947 <xsl:call-template name="inline.monoseq"/>
950 <doc:template xmlns="">
951 <refpurpose>Process <doc:db>token</doc:db> elements</refpurpose>
954 Invokes <xref linkend="template.inline.charseq"/>.
961 <xsl:template match="token">
962 <xsl:call-template name="inline.charseq"/>
965 <doc:template xmlns="">
966 <refpurpose>Process <doc:db>type</doc:db> elements</refpurpose>
969 Invokes <xref linkend="template.inline.charseq"/>.
976 <xsl:template match="type">
977 <xsl:call-template name="inline.charseq"/>
980 <doc:template xmlns="">
981 <refpurpose>Process <doc:db>userinput</doc:db> elements</refpurpose>
984 Invokes <xref linkend="template.inline.boldmonoseq"/>.
991 <xsl:template match="userinput">
992 <xsl:call-template name="inline.boldmonoseq"/>
995 <doc:template xmlns="">
996 <refpurpose>Process <doc:db>abbrev</doc:db> elements</refpurpose>
999 Invokes <xref linkend="template.inline.charseq"/>.
1007 <doc:todo>It would be useful if a terminating full stop
1008 were not to induce sentence-end whitespace spacing.</doc:todo>
1012 <xsl:template match="abbrev">
1013 <xsl:call-template name="inline.charseq"/>
1016 <doc:template xmlns="">
1017 <refpurpose>Process <doc:db>acronym</doc:db> elements</refpurpose>
1020 Invokes <xref linkend="template.inline.charseq"/>.
1027 <xsl:template match="acronym">
1028 <xsl:call-template name="inline.charseq"/>
1031 <doc:template xmlns="">
1032 <refpurpose>Process <doc:db>citerefentry</doc:db> elements</refpurpose>
1035 Invokes <xref linkend="template.inline.charseq"/>.
1042 <xsl:template match="citerefentry">
1043 <xsl:call-template name="inline.charseq"/>
1046 <doc:template xmlns="">
1047 <refpurpose>Process <doc:db>citetitle</doc:db> elements</refpurpose>
1050 Invokes <xref linkend="template.inline.italicseq"/>.
1057 <xsl:template match="citetitle">
1058 <xsl:call-template name="inline.italicseq"/>
1061 <doc:template xmlns="">
1062 <refpurpose>Process <doc:db>corpauthor</doc:db> elements</refpurpose>
1072 <xsl:template match="corpauthor">
1073 <xsl:apply-templates/>
1076 <doc:template xmlns="">
1077 <refpurpose>Process <doc:db>emphasis</doc:db> elements</refpurpose>
1080 Invokes <xref linkend="template.inline.italicseq"/>.
1087 <xsl:template match="emphasis">
1088 <xsl:call-template name="inline.italicseq"/>
1091 <doc:template xmlns="" basename="emphasis">
1092 <refpurpose>Process <doc:db>emphasis</doc:db> elements with <quote>bold</quote> role</refpurpose>
1095 Invokes <xref linkend="template.inline.boldseq"/>.
1102 <xsl:template match="emphasis[@role='bold']">
1103 <xsl:call-template name="inline.boldseq"/>
1106 <doc:template xmlns="">
1107 <refpurpose>Process <doc:db>foreignphrase</doc:db> elements</refpurpose>
1110 Invokes <xref linkend="template.inline.italicseq"/>.
1117 <xsl:template match="foreignphrase">
1118 <xsl:call-template name="inline.italicseq"/>
1121 <doc:template xmlns="">
1122 <refpurpose>Process <doc:db>jobtitle</doc:db> elements</refpurpose>
1132 <xsl:template match="jobtitle">
1133 <xsl:apply-templates/>
1136 <doc:template xmlns="">
1137 <refpurpose>Process <doc:db>markup</doc:db> elements</refpurpose>
1140 Applies template using the <literal>latex.verbatim</literal>
1148 <xsl:template match="markup">
1149 <xsl:apply-templates mode="latex.verbatim"/>
1152 <doc:template xmlns="">
1153 <refpurpose>Process <doc:db>orgdiv</doc:db> elements</refpurpose>
1163 <xsl:template match="orgdiv">
1164 <xsl:apply-templates/>
1167 <doc:template xmlns="">
1168 <refpurpose>Process <doc:db>orgname</doc:db> elements</refpurpose>
1178 <xsl:template match="orgname">
1179 <xsl:apply-templates/>
1182 <doc:template xmlns="">
1183 <refpurpose>Process <doc:db>phrase</doc:db> elements</refpurpose>
1186 Invokes <xref linkend="template.inline.charseq"/>.
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.
1202 <xsl:template match="phrase">
1204 <xsl:when test="@role='tex' or @role='latex'">
1205 <xsl:value-of select="."/>
1208 <xsl:call-template name="inline.charseq"/>
1213 <doc:template xmlns="">
1214 <refpurpose>Process <doc:db>quote</doc:db> elements</refpurpose>
1217 Invokes <xref linkend="template.inline.charseq"/>.
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>
1233 <xsl:template match="quote">
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"/>
1241 <xsl:call-template name="gentext.nestedstartquote"/>
1242 <xsl:call-template name="inline.charseq"/>
1243 <xsl:call-template name="gentext.nestedendquote"/>
1248 <doc:template xmlns="">
1249 <refpurpose>Process <doc:db>varname</doc:db> elements</refpurpose>
1252 Invokes <xref linkend="template.inline.monoseq"/>.
1259 <xsl:template match="varname">
1260 <xsl:call-template name="inline.monoseq"/>
1263 <doc:template xmlns="">
1264 <refpurpose>Process <doc:db>wordasword</doc:db> elements</refpurpose>
1267 Invokes <xref linkend="template.inline.italicseq"/>.
1274 <xsl:template match="wordasword">
1275 <xsl:call-template name="inline.italicseq"/>
1278 <doc:template xmlns="">
1279 <refpurpose>Process <doc:db>lineannotation</doc:db> elements</refpurpose>
1282 Invokes <xref linkend="template.inline.charseq"/>.
1289 <xsl:template match="lineannotation">
1290 <xsl:call-template name="inline.charseq"/>
1293 <doc:template xmlns="">
1294 <refpurpose>Process <doc:db>superscript</doc:db> elements</refpurpose>
1297 Invokes <xref linkend="template.inline.superscriptseq"/>.
1304 <xsl:template match="superscript">
1305 <xsl:call-template name="inline.superscriptseq"/>
1308 <doc:template xmlns="">
1309 <refpurpose>Process <doc:db>subscript</doc:db> elements</refpurpose>
1312 Invokes <xref linkend="template.inline.subscriptseq"/>.
1319 <xsl:template match="subscript">
1320 <xsl:call-template name="inline.subscriptseq"/>
1323 <doc:template xmlns="">
1324 <refpurpose>Process <doc:db>trademark</doc:db> elements</refpurpose>
1327 Invokes <xref linkend="template.inline.charseq"/>,
1328 then appends a <quote>trademark</quote> dingbat.
1336 <listitem><simpara><xref linkend="template.dingbat"/></simpara></listitem>
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>
1347 <doc:template xmlns="">
1348 <refpurpose>Process <doc:db>firstterm</doc:db> elements</refpurpose>
1351 Invokes <xref linkend="template.inline.italicseq"/>.
1358 <xsl:template match="firstterm">
1359 <xsl:call-template name="inline.italicseq"/>
1362 <doc:template xmlns="">
1363 <refpurpose>Process <doc:db>glossterm</doc:db> elements</refpurpose>
1366 Invokes <xref linkend="template.inline.charseq"/>.
1373 <xsl:template match="glossterm">
1374 <xsl:call-template name="inline.charseq"/>
1377 <doc:template xmlns="">
1378 <refpurpose>Process <doc:db>keycombo</doc:db> elements</refpurpose>
1381 Formats a key combination using conjugation characters.
1389 Templates are applied for all children, with comjugation
1390 characters based upon the <sgmltag
1391 class="attribute">action</sgmltag> attribute.
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.
1402 <xsl:template match="keycombo">
1403 <xsl:variable name="action" select="@action"/>
1404 <xsl:variable name="joinchar">
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>
1415 <xsl:for-each select="./*">
1416 <xsl:if test="position()>1"><xsl:value-of select="$joinchar"/></xsl:if>
1417 <xsl:apply-templates select="."/>
1421 <doc:template xmlns="">
1422 <refpurpose>Process <doc:db>menuchoice</doc:db> elements</refpurpose>
1425 Invokes templates for non-shortcut children, then formats any
1426 <doc:db basename="shortcut">shortcuts</doc:db> in parentheses.
1434 <listitem><simpara><xref linkend="template.process.menuchoice"/></simpara></listitem>
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>
1448 <doc:template xmlns="">
1449 <refpurpose>Process <doc:db>menuchoice</doc:db> children (not shortcut) </refpurpose>
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>.
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"/>
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>
1479 <xsl:variable name="node" select="$nodelist[$count=position()]"/>
1481 <xsl:when test="name($node)='guimenuitem' or name($node)='guisubmenu'">
1482 <xsl:text> $\to$ </xsl:text>
1484 <xsl:otherwise>+</xsl:otherwise>
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>
1495 <doc:template xmlns="">
1496 <refpurpose>Process <doc:db>optional</doc:db> elements</refpurpose>
1499 Invokes <xref linkend="template.inline.charseq"/>,
1500 surrounded by $arg.choice.opt.open.str and
1501 $arg.choice.opt.close.str.
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"/>
1514 <doc:template xmlns="">
1515 <refpurpose>Process <doc:db>remark</doc:db> elements</refpurpose>
1518 Applies templates as a margin note.
1523 <listitem><simpara><xref linkend="param.show.comments"/></simpara></listitem>
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>
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>
1543 <doc:template xmlns="">
1544 <refpurpose>Process <doc:db>productname</doc:db> elements</refpurpose>
1547 Invokes <xref linkend="template.inline.charseq"/>.
1554 <xsl:template match="productname">
1555 <xsl:call-template name="inline.charseq"/>
1558 <doc:template xmlns="">
1559 <refpurpose>Process <doc:db>productnumber</doc:db> elements</refpurpose>
1562 Invokes <xref linkend="template.inline.charseq"/>.
1569 <xsl:template match="productnumber">
1570 <xsl:call-template name="inline.charseq"/>
1573 <doc:template xmlns="">
1574 <refpurpose>Process address-like elements</refpurpose>
1577 Invokes <xref linkend="template.inline.charseq"/>.
1584 <xsl:template match="pob|street|city|state|postcode|country|phone|fax|otheraddr">
1585 <xsl:call-template name="inline.charseq"/>
1588 <doc:template xmlns="">
1589 <refpurpose>Process <doc:db>beginpage</doc:db> elements</refpurpose>
1599 <xsl:template match="beginpage"/>