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"/>