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