1 <?xml version="1.0" encoding="US-ASCII"?>
2 <!--This file was created automatically by html2xhtml-->
3 <!--from the HTML stylesheets. Do not edit this file.-->
4 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:suwl="http://nwalsh.com/xslt/ext/com.nwalsh.saxon.UnwrapLinks" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xlink suwl" version="1.0">
6 <!-- ********************************************************************
8 ********************************************************************
10 This file is part of the XSL DocBook Stylesheet distribution.
11 See ../README or http://nwalsh.com/docbook/xsl/ for copyright
12 and other information.
14 ******************************************************************** -->
16 <xsl:template name="simple.xlink">
17 <xsl:param name="node" select="."/>
18 <xsl:param name="content">
19 <xsl:apply-templates/>
22 <xsl:variable name="link">
24 <xsl:when test="$node/@xlink:href and (not($node/@xlink:type) or $node/@xlink:type='simple')">
26 <xsl:if test="@xlink.title">
27 <xsl:attribute name="title">
28 <xsl:value-of select="@xlink:title"/>
32 <xsl:attribute name="href">
34 <!-- if the href starts with # and does not contain an "(" -->
35 <!-- or if the href starts with #xpointer(id(, it's just an ID -->
36 <xsl:when test="starts-with(@xlink:href,'#') and (not(contains(@xlink:href,'(')) or starts-with(@xlink:href,'#xpointer(id('))">
37 <xsl:variable name="idref">
38 <xsl:call-template name="xpointer.idref">
39 <xsl:with-param name="xpointer" select="@xlink:href"/>
43 <xsl:variable name="targets" select="key('id',$idref)"/>
44 <xsl:variable name="target" select="$targets[1]"/>
46 <xsl:call-template name="check.id.unique">
47 <xsl:with-param name="linkend" select="@linkend"/>
51 <xsl:when test="count($target) = 0">
53 <xsl:text>XLink to nonexistent id: </xsl:text>
54 <xsl:value-of select="$idref"/>
56 <xsl:text>???</xsl:text>
59 <xsl:call-template name="href.target">
60 <xsl:with-param name="object" select="$target"/>
66 <!-- otherwise it's a URI -->
68 <xsl:value-of select="@xlink:href"/>
72 <xsl:copy-of select="$content"/>
76 <xsl:copy-of select="$content"/>
82 <xsl:when test="function-available('suwl:unwrapLinks')">
83 <xsl:copy-of select="suwl:unwrapLinks($link)"/>
86 <xsl:copy-of select="$link"/>
91 <xsl:template name="inline.charseq">
92 <xsl:param name="content">
93 <xsl:call-template name="anchor"/>
94 <xsl:call-template name="simple.xlink">
95 <xsl:with-param name="content">
96 <xsl:apply-templates/>
100 <span class="{local-name(.)}">
101 <xsl:call-template name="generate.html.title"/>
103 <xsl:attribute name="dir">
104 <xsl:value-of select="@dir"/>
107 <xsl:copy-of select="$content"/>
108 <xsl:call-template name="apply-annotations"/>
112 <xsl:template name="inline.monoseq">
113 <xsl:param name="content">
114 <xsl:call-template name="anchor"/>
115 <xsl:call-template name="simple.xlink">
116 <xsl:with-param name="content">
117 <xsl:apply-templates/>
121 <code class="{local-name(.)}">
122 <xsl:call-template name="generate.html.title"/>
124 <xsl:attribute name="dir">
125 <xsl:value-of select="@dir"/>
128 <xsl:copy-of select="$content"/>
129 <xsl:call-template name="apply-annotations"/>
133 <xsl:template name="inline.boldseq">
134 <xsl:param name="content">
135 <xsl:call-template name="anchor"/>
136 <xsl:call-template name="simple.xlink">
137 <xsl:with-param name="content">
138 <xsl:apply-templates/>
144 <xsl:call-template name="generate.html.title"/>
146 <xsl:attribute name="dir">
147 <xsl:value-of select="@dir"/>
151 <!-- don't put <strong> inside figure, example, or table titles -->
153 <xsl:when test="local-name(..) = 'title' and (local-name(../..) = 'figure' or local-name(../..) = 'example' or local-name(../..) = 'table')">
154 <xsl:copy-of select="$content"/>
157 <strong class="{local-name(.)}">
158 <xsl:copy-of select="$content"/>
162 <xsl:call-template name="apply-annotations"/>
166 <xsl:template name="inline.italicseq">
167 <xsl:param name="content">
168 <xsl:call-template name="anchor"/>
169 <xsl:call-template name="simple.xlink">
170 <xsl:with-param name="content">
171 <xsl:apply-templates/>
175 <em class="{local-name(.)}">
176 <xsl:call-template name="generate.html.title"/>
178 <xsl:attribute name="dir">
179 <xsl:value-of select="@dir"/>
182 <xsl:copy-of select="$content"/>
183 <xsl:call-template name="apply-annotations"/>
187 <xsl:template name="inline.boldmonoseq">
188 <xsl:param name="content">
189 <xsl:call-template name="anchor"/>
190 <xsl:call-template name="simple.xlink">
191 <xsl:with-param name="content">
192 <xsl:apply-templates/>
196 <!-- don't put <strong> inside figure, example, or table titles -->
197 <!-- or other titles that may already be represented with <strong>'s. -->
199 <xsl:when test="local-name(..) = 'title' and (local-name(../..) = 'figure' or local-name(../..) = 'example' or local-name(../..) = 'table' or local-name(../..) = 'formalpara')">
200 <code class="{local-name(.)}">
201 <xsl:call-template name="generate.html.title"/>
203 <xsl:attribute name="dir">
204 <xsl:value-of select="@dir"/>
207 <xsl:copy-of select="$content"/>
208 <xsl:call-template name="apply-annotations"/>
212 <strong class="{local-name(.)}">
214 <xsl:call-template name="generate.html.title"/>
216 <xsl:attribute name="dir">
217 <xsl:value-of select="@dir"/>
220 <xsl:copy-of select="$content"/>
222 <xsl:call-template name="apply-annotations"/>
228 <xsl:template name="inline.italicmonoseq">
229 <xsl:param name="content">
230 <xsl:call-template name="anchor"/>
231 <xsl:call-template name="simple.xlink">
232 <xsl:with-param name="content">
233 <xsl:apply-templates/>
237 <em class="{local-name(.)}">
239 <xsl:call-template name="generate.html.title"/>
241 <xsl:attribute name="dir">
242 <xsl:value-of select="@dir"/>
245 <xsl:copy-of select="$content"/>
246 <xsl:call-template name="apply-annotations"/>
251 <xsl:template name="inline.superscriptseq">
252 <xsl:param name="content">
253 <xsl:call-template name="anchor"/>
254 <xsl:call-template name="simple.xlink">
255 <xsl:with-param name="content">
256 <xsl:apply-templates/>
261 <xsl:call-template name="generate.html.title"/>
263 <xsl:attribute name="dir">
264 <xsl:value-of select="@dir"/>
267 <xsl:copy-of select="$content"/>
268 <xsl:call-template name="apply-annotations"/>
272 <xsl:template name="inline.subscriptseq">
273 <xsl:param name="content">
274 <xsl:call-template name="anchor"/>
275 <xsl:call-template name="simple.xlink">
276 <xsl:with-param name="content">
277 <xsl:apply-templates/>
282 <xsl:call-template name="generate.html.title"/>
284 <xsl:attribute name="dir">
285 <xsl:value-of select="@dir"/>
288 <xsl:copy-of select="$content"/>
289 <xsl:call-template name="apply-annotations"/>
293 <!-- ==================================================================== -->
294 <!-- some special cases -->
296 <xsl:template match="author">
297 <span class="{name(.)}">
298 <xsl:call-template name="anchor"/>
299 <xsl:call-template name="person.name"/>
300 <xsl:call-template name="apply-annotations"/>
304 <xsl:template match="editor">
305 <span class="{name(.)}">
306 <xsl:call-template name="anchor"/>
307 <xsl:call-template name="person.name"/>
308 <xsl:call-template name="apply-annotations"/>
312 <xsl:template match="othercredit">
313 <span class="{name(.)}">
314 <xsl:call-template name="anchor"/>
315 <xsl:call-template name="person.name"/>
316 <xsl:call-template name="apply-annotations"/>
320 <xsl:template match="authorinitials">
321 <xsl:call-template name="inline.charseq"/>
324 <!-- ==================================================================== -->
326 <xsl:template match="accel">
327 <xsl:call-template name="inline.charseq"/>
330 <xsl:template match="action">
331 <xsl:call-template name="inline.charseq"/>
334 <xsl:template match="application">
335 <xsl:call-template name="inline.charseq"/>
338 <xsl:template match="classname">
339 <xsl:call-template name="inline.monoseq"/>
342 <xsl:template match="exceptionname">
343 <xsl:call-template name="inline.monoseq"/>
346 <xsl:template match="interfacename">
347 <xsl:call-template name="inline.monoseq"/>
350 <xsl:template match="methodname">
351 <xsl:call-template name="inline.monoseq"/>
354 <xsl:template match="command">
355 <xsl:call-template name="inline.boldseq"/>
358 <xsl:template match="computeroutput">
359 <xsl:call-template name="inline.monoseq"/>
362 <xsl:template match="constant">
363 <xsl:call-template name="inline.monoseq"/>
366 <xsl:template match="database">
367 <xsl:call-template name="inline.charseq"/>
370 <xsl:template match="errorcode">
371 <xsl:call-template name="inline.charseq"/>
374 <xsl:template match="errorname">
375 <xsl:call-template name="inline.charseq"/>
378 <xsl:template match="errortype">
379 <xsl:call-template name="inline.charseq"/>
382 <xsl:template match="errortext">
383 <xsl:call-template name="inline.charseq"/>
386 <xsl:template match="envar">
387 <xsl:call-template name="inline.monoseq"/>
390 <xsl:template match="filename">
391 <xsl:call-template name="inline.monoseq"/>
394 <xsl:template match="function">
396 <xsl:when test="$function.parens != '0' and (parameter or function or replaceable)">
397 <xsl:variable name="nodes" select="text()|*"/>
398 <xsl:call-template name="inline.monoseq">
399 <xsl:with-param name="content">
400 <xsl:call-template name="simple.xlink">
401 <xsl:with-param name="content">
402 <xsl:apply-templates select="$nodes[1]"/>
407 <xsl:text>(</xsl:text>
408 <xsl:apply-templates select="$nodes[position()>1]"/>
409 <xsl:text>)</xsl:text>
412 <xsl:call-template name="inline.monoseq"/>
417 <xsl:template match="function/parameter" priority="2">
418 <xsl:call-template name="inline.italicmonoseq"/>
419 <xsl:if test="following-sibling::*">
420 <xsl:text>, </xsl:text>
424 <xsl:template match="function/replaceable" priority="2">
425 <xsl:call-template name="inline.italicmonoseq"/>
426 <xsl:if test="following-sibling::*">
427 <xsl:text>, </xsl:text>
431 <xsl:template match="guibutton">
432 <xsl:call-template name="inline.charseq"/>
435 <xsl:template match="guiicon">
436 <xsl:call-template name="inline.charseq"/>
439 <xsl:template match="guilabel">
440 <xsl:call-template name="inline.charseq"/>
443 <xsl:template match="guimenu">
444 <xsl:call-template name="inline.charseq"/>
447 <xsl:template match="guimenuitem">
448 <xsl:call-template name="inline.charseq"/>
451 <xsl:template match="guisubmenu">
452 <xsl:call-template name="inline.charseq"/>
455 <xsl:template match="hardware">
456 <xsl:call-template name="inline.charseq"/>
459 <xsl:template match="interface">
460 <xsl:call-template name="inline.charseq"/>
463 <xsl:template match="interfacedefinition">
464 <xsl:call-template name="inline.charseq"/>
467 <xsl:template match="keycap">
468 <xsl:call-template name="inline.boldseq"/>
471 <xsl:template match="keycode">
472 <xsl:call-template name="inline.charseq"/>
475 <xsl:template match="keysym">
476 <xsl:call-template name="inline.charseq"/>
479 <xsl:template match="literal">
480 <xsl:call-template name="inline.monoseq"/>
483 <xsl:template match="code">
484 <xsl:call-template name="inline.monoseq"/>
487 <xsl:template match="medialabel">
488 <xsl:call-template name="inline.italicseq"/>
491 <xsl:template match="shortcut">
492 <xsl:call-template name="inline.boldseq"/>
495 <xsl:template match="mousebutton">
496 <xsl:call-template name="inline.charseq"/>
499 <xsl:template match="option">
500 <xsl:call-template name="inline.monoseq"/>
503 <xsl:template match="package">
504 <xsl:call-template name="inline.charseq"/>
507 <xsl:template match="parameter">
508 <xsl:call-template name="inline.italicmonoseq"/>
511 <xsl:template match="property">
512 <xsl:call-template name="inline.charseq"/>
515 <xsl:template match="prompt">
516 <xsl:call-template name="inline.monoseq"/>
519 <xsl:template match="replaceable" priority="1">
520 <xsl:call-template name="inline.italicmonoseq"/>
523 <xsl:template match="returnvalue">
524 <xsl:call-template name="inline.charseq"/>
527 <xsl:template match="structfield">
528 <xsl:call-template name="inline.italicmonoseq"/>
531 <xsl:template match="structname">
532 <xsl:call-template name="inline.charseq"/>
535 <xsl:template match="symbol">
536 <xsl:call-template name="inline.charseq"/>
539 <xsl:template match="systemitem">
540 <xsl:call-template name="inline.monoseq"/>
543 <xsl:template match="token">
544 <xsl:call-template name="inline.charseq"/>
547 <xsl:template match="type">
548 <xsl:call-template name="inline.charseq"/>
551 <xsl:template match="userinput">
552 <xsl:call-template name="inline.boldmonoseq"/>
555 <xsl:template match="abbrev">
556 <xsl:call-template name="inline.charseq"/>
559 <xsl:template match="acronym">
560 <xsl:call-template name="inline.charseq"/>
563 <xsl:template match="citerefentry">
565 <xsl:when test="$citerefentry.link != '0'">
567 <xsl:attribute name="href">
568 <xsl:call-template name="generate.citerefentry.link"/>
570 <xsl:call-template name="inline.charseq"/>
574 <xsl:call-template name="inline.charseq"/>
579 <xsl:template name="generate.citerefentry.link">
583 <xsl:template name="x.generate.citerefentry.link">
584 <xsl:text>http://example.com/cgi-bin/man.cgi?</xsl:text>
585 <xsl:value-of select="refentrytitle"/>
586 <xsl:text>(</xsl:text>
587 <xsl:value-of select="manvolnum"/>
588 <xsl:text>)</xsl:text>
591 <xsl:template match="citetitle">
593 <xsl:when test="@pubwork = 'article'">
594 <xsl:call-template name="gentext.startquote"/>
595 <xsl:call-template name="inline.charseq"/>
596 <xsl:call-template name="gentext.endquote"/>
599 <xsl:call-template name="inline.italicseq"/>
604 <xsl:template match="emphasis">
607 <xsl:when test="@role and $emphasis.propagates.style != 0">
608 <xsl:attribute name="class">
609 <xsl:value-of select="@role"/>
613 <xsl:attribute name="class">
614 <xsl:text>emphasis</xsl:text>
618 <xsl:call-template name="anchor"/>
620 <xsl:call-template name="simple.xlink">
621 <xsl:with-param name="content">
623 <xsl:when test="@role = 'bold' or @role='strong'">
624 <!-- backwards compatibility: make bold into b elements, but -->
625 <!-- don't put bold inside figure, example, or table titles -->
627 <xsl:when test="local-name(..) = 'title' and (local-name(../..) = 'figure' or local-name(../..) = 'example' or local-name(../..) = 'table')">
628 <xsl:apply-templates/>
631 <strong><xsl:apply-templates/></strong>
635 <xsl:when test="@role and $emphasis.propagates.style != 0">
636 <xsl:apply-templates/>
639 <em><xsl:apply-templates/></em>
647 <xsl:template match="foreignphrase">
648 <span class="foreignphrase">
649 <xsl:if test="@lang or @xml:lang">
650 <xsl:call-template name="language.attribute"/>
652 <xsl:call-template name="inline.italicseq"/>
656 <xsl:template match="markup">
657 <xsl:call-template name="inline.charseq"/>
660 <xsl:template match="phrase">
662 <xsl:call-template name="generate.html.title"/>
663 <xsl:if test="@lang or @xml:lang">
664 <xsl:call-template name="language.attribute"/>
666 <xsl:if test="@role and $phrase.propagates.style != 0">
667 <xsl:attribute name="class">
668 <xsl:value-of select="@role"/>
671 <xsl:call-template name="anchor"/>
672 <xsl:call-template name="simple.xlink">
673 <xsl:with-param name="content">
674 <xsl:apply-templates/>
677 <xsl:call-template name="apply-annotations"/>
681 <xsl:template match="quote">
682 <xsl:variable name="depth">
683 <xsl:call-template name="dot.count">
684 <xsl:with-param name="string"><xsl:number level="multiple"/></xsl:with-param>
688 <xsl:when test="$depth mod 2 = 0">
689 <xsl:call-template name="gentext.startquote"/>
690 <xsl:call-template name="inline.charseq"/>
691 <xsl:call-template name="gentext.endquote"/>
694 <xsl:call-template name="gentext.nestedstartquote"/>
695 <xsl:call-template name="inline.charseq"/>
696 <xsl:call-template name="gentext.nestedendquote"/>
701 <xsl:template match="varname">
702 <xsl:call-template name="inline.monoseq"/>
705 <xsl:template match="wordasword">
706 <xsl:call-template name="inline.italicseq"/>
709 <xsl:template match="lineannotation">
710 <em class="{local-name(.)}">
711 <xsl:call-template name="inline.charseq"/>
715 <xsl:template match="superscript">
716 <xsl:call-template name="inline.superscriptseq"/>
719 <xsl:template match="subscript">
720 <xsl:call-template name="inline.subscriptseq"/>
723 <xsl:template match="trademark">
724 <xsl:call-template name="inline.charseq"/>
726 <xsl:when test="@class = 'copyright' or @class = 'registered'">
727 <xsl:call-template name="dingbat">
728 <xsl:with-param name="dingbat" select="@class"/>
731 <xsl:when test="@class = 'service'">
735 <xsl:call-template name="dingbat">
736 <xsl:with-param name="dingbat" select="'trademark'"/>
742 <xsl:template match="firstterm">
743 <xsl:call-template name="glossterm">
744 <xsl:with-param name="firstterm" select="1"/>
748 <xsl:template match="glossterm" name="glossterm">
749 <xsl:param name="firstterm" select="0"/>
751 <!-- To avoid extra <a name=""> anchor from inline.italicseq -->
752 <xsl:variable name="content">
753 <xsl:apply-templates/>
757 <xsl:when test="($firstterm.only.link = 0 or $firstterm = 1) and @linkend">
758 <xsl:variable name="targets" select="key('id',@linkend)"/>
759 <xsl:variable name="target" select="$targets[1]"/>
761 <xsl:call-template name="check.id.unique">
762 <xsl:with-param name="linkend" select="@linkend"/>
767 <xsl:attribute name="id">
768 <xsl:value-of select="@id"/>
772 <xsl:attribute name="href">
773 <xsl:call-template name="href.target">
774 <xsl:with-param name="object" select="$target"/>
778 <xsl:call-template name="inline.italicseq">
779 <xsl:with-param name="content" select="$content"/>
784 <xsl:when test="not(@linkend) and ($firstterm.only.link = 0 or $firstterm = 1) and ($glossterm.auto.link != 0) and $glossary.collection != ''">
785 <xsl:variable name="term">
787 <xsl:when test="@baseform"><xsl:value-of select="@baseform"/></xsl:when>
788 <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
792 <xsl:variable name="cterm" select="(document($glossary.collection,.)//glossentry[glossterm=$term])[1]"/>
794 <!-- HACK HACK HACK! But it works... -->
795 <!-- You'd need to do more work if you wanted to chunk on glossdiv, though -->
797 <xsl:variable name="glossary" select="//glossary[@role='auto']"/>
799 <xsl:if test="count($glossary) != 1">
801 <xsl:text>Warning: glossary.collection specified, but there are </xsl:text>
802 <xsl:value-of select="count($glossary)"/>
803 <xsl:text> automatic glossaries</xsl:text>
807 <xsl:variable name="glosschunk">
808 <xsl:call-template name="href.target">
809 <xsl:with-param name="object" select="$glossary"/>
813 <xsl:variable name="chunkbase">
815 <xsl:when test="contains($glosschunk, '#')">
816 <xsl:value-of select="substring-before($glosschunk, '#')"/>
819 <xsl:value-of select="$glosschunk"/>
825 <xsl:when test="not($cterm)">
827 <xsl:text>There's no entry for </xsl:text>
828 <xsl:value-of select="$term"/>
829 <xsl:text> in </xsl:text>
830 <xsl:value-of select="$glossary.collection"/>
832 <xsl:call-template name="inline.italicseq"/>
835 <xsl:variable name="id">
837 <xsl:when test="$cterm/@id">
838 <xsl:value-of select="$cterm/@id"/>
841 <xsl:value-of select="generate-id($cterm)"/>
845 <a href="{$chunkbase}#{$id}">
846 <xsl:call-template name="inline.italicseq">
847 <xsl:with-param name="content" select="$content"/>
854 <xsl:when test="not(@linkend) and ($firstterm.only.link = 0 or $firstterm = 1) and $glossterm.auto.link != 0">
855 <xsl:variable name="term">
857 <xsl:when test="@baseform">
858 <xsl:value-of select="normalize-space(@baseform)"/>
861 <xsl:value-of select="normalize-space(.)"/>
865 <xsl:variable name="targets" select="//glossentry[normalize-space(glossterm)=$term or normalize-space(glossterm/@baseform)=$term]"/>
866 <xsl:variable name="target" select="$targets[1]"/>
869 <xsl:when test="count($targets)=0">
871 <xsl:text>Error: no glossentry for glossterm: </xsl:text>
872 <xsl:value-of select="."/>
873 <xsl:text>.</xsl:text>
875 <xsl:call-template name="inline.italicseq"/>
880 <xsl:attribute name="id">
881 <xsl:value-of select="@id"/>
885 <xsl:attribute name="href">
886 <xsl:call-template name="href.target">
887 <xsl:with-param name="object" select="$target"/>
891 <xsl:call-template name="inline.italicseq">
892 <xsl:with-param name="content" select="$content"/>
900 <xsl:call-template name="inline.italicseq"/>
905 <xsl:template match="termdef">
906 <span class="{local-name(.)}">
907 <xsl:call-template name="generate.html.title"/>
908 <xsl:call-template name="gentext.template">
909 <xsl:with-param name="context" select="'termdef'"/>
910 <xsl:with-param name="name" select="'prefix'"/>
912 <xsl:apply-templates/>
913 <xsl:call-template name="gentext.template">
914 <xsl:with-param name="context" select="'termdef'"/>
915 <xsl:with-param name="name" select="'suffix'"/>
920 <xsl:template match="sgmltag|tag">
921 <xsl:call-template name="format.sgmltag"/>
924 <xsl:template name="format.sgmltag">
925 <xsl:param name="class">
927 <xsl:when test="@class">
928 <xsl:value-of select="@class"/>
930 <xsl:otherwise>element</xsl:otherwise>
934 <code class="sgmltag-{$class}">
935 <xsl:call-template name="generate.html.title"/>
937 <xsl:when test="$class='attribute'">
938 <xsl:apply-templates/>
940 <xsl:when test="$class='attvalue'">
941 <xsl:apply-templates/>
943 <xsl:when test="$class='element'">
944 <xsl:apply-templates/>
946 <xsl:when test="$class='endtag'">
947 <xsl:text></</xsl:text>
948 <xsl:apply-templates/>
949 <xsl:text>></xsl:text>
951 <xsl:when test="$class='genentity'">
952 <xsl:text>&</xsl:text>
953 <xsl:apply-templates/>
954 <xsl:text>;</xsl:text>
956 <xsl:when test="$class='numcharref'">
957 <xsl:text>&#</xsl:text>
958 <xsl:apply-templates/>
959 <xsl:text>;</xsl:text>
961 <xsl:when test="$class='paramentity'">
962 <xsl:text>%</xsl:text>
963 <xsl:apply-templates/>
964 <xsl:text>;</xsl:text>
966 <xsl:when test="$class='pi'">
967 <xsl:text><?</xsl:text>
968 <xsl:apply-templates/>
969 <xsl:text>></xsl:text>
971 <xsl:when test="$class='xmlpi'">
972 <xsl:text><?</xsl:text>
973 <xsl:apply-templates/>
974 <xsl:text>?></xsl:text>
976 <xsl:when test="$class='starttag'">
977 <xsl:text><</xsl:text>
978 <xsl:apply-templates/>
979 <xsl:text>></xsl:text>
981 <xsl:when test="$class='emptytag'">
982 <xsl:text><</xsl:text>
983 <xsl:apply-templates/>
984 <xsl:text>/></xsl:text>
986 <xsl:when test="$class='sgmlcomment'">
987 <xsl:text><!--</xsl:text>
988 <xsl:apply-templates/>
989 <xsl:text>--></xsl:text>
992 <xsl:apply-templates/>
998 <xsl:template match="email">
999 <xsl:call-template name="inline.monoseq">
1000 <xsl:with-param name="content">
1001 <xsl:text><</xsl:text>
1003 <xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute>
1004 <xsl:apply-templates/>
1006 <xsl:text>></xsl:text>
1008 </xsl:call-template>
1011 <xsl:template match="keycombo">
1012 <xsl:variable name="action" select="@action"/>
1013 <xsl:variable name="joinchar">
1015 <xsl:when test="$action='seq'"><xsl:text> </xsl:text></xsl:when>
1016 <xsl:when test="$action='simul'">+</xsl:when>
1017 <xsl:when test="$action='press'">-</xsl:when>
1018 <xsl:when test="$action='click'">-</xsl:when>
1019 <xsl:when test="$action='double-click'">-</xsl:when>
1020 <xsl:when test="$action='other'"/>
1021 <xsl:otherwise>-</xsl:otherwise>
1024 <xsl:for-each select="*">
1025 <xsl:if test="position()>1"><xsl:value-of select="$joinchar"/></xsl:if>
1026 <xsl:apply-templates select="."/>
1030 <xsl:template match="uri">
1031 <xsl:call-template name="inline.monoseq"/>
1034 <!-- ==================================================================== -->
1036 <xsl:template match="menuchoice">
1037 <xsl:variable name="shortcut" select="./shortcut"/>
1038 <xsl:call-template name="process.menuchoice"/>
1039 <xsl:if test="$shortcut">
1040 <xsl:text> (</xsl:text>
1041 <xsl:apply-templates select="$shortcut"/>
1042 <xsl:text>)</xsl:text>
1046 <xsl:template name="process.menuchoice">
1047 <xsl:param name="nodelist" select="guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu|interface"/><!-- not(shortcut) -->
1048 <xsl:param name="count" select="1"/>
1051 <xsl:when test="$count>count($nodelist)"/>
1052 <xsl:when test="$count=1">
1053 <xsl:apply-templates select="$nodelist[$count=position()]"/>
1054 <xsl:call-template name="process.menuchoice">
1055 <xsl:with-param name="nodelist" select="$nodelist"/>
1056 <xsl:with-param name="count" select="$count+1"/>
1057 </xsl:call-template>
1060 <xsl:variable name="node" select="$nodelist[$count=position()]"/>
1062 <xsl:when test="name($node)='guimenuitem' or name($node)='guisubmenu'">
1063 <xsl:value-of select="$menuchoice.menu.separator"/>
1066 <xsl:value-of select="$menuchoice.separator"/>
1069 <xsl:apply-templates select="$node"/>
1070 <xsl:call-template name="process.menuchoice">
1071 <xsl:with-param name="nodelist" select="$nodelist"/>
1072 <xsl:with-param name="count" select="$count+1"/>
1073 </xsl:call-template>
1078 <!-- ==================================================================== -->
1080 <xsl:template match="optional">
1081 <xsl:value-of select="$arg.choice.opt.open.str"/>
1082 <xsl:call-template name="inline.charseq"/>
1083 <xsl:value-of select="$arg.choice.opt.close.str"/>
1086 <xsl:template match="citation">
1087 <!-- todo: biblio-citation-check -->
1088 <xsl:text>[</xsl:text>
1089 <xsl:call-template name="inline.charseq"/>
1090 <xsl:text>]</xsl:text>
1093 <!-- ==================================================================== -->
1095 <xsl:template match="comment[parent::answer|parent::appendix|parent::article|parent::bibliodiv| parent::bibliography|parent::blockquote|parent::caution|parent::chapter| parent::glossary|parent::glossdiv|parent::important|parent::index| parent::indexdiv|parent::listitem|parent::note|parent::orderedlist| parent::partintro|parent::preface|parent::procedure|parent::qandadiv| parent::qandaset|parent::question|parent::refentry|parent::refnamediv| parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection| parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4| parent::sect5|parent::section|parent::setindex|parent::sidebar| parent::simplesect|parent::taskprerequisites|parent::taskrelated| parent::tasksummary|parent::warning]|remark[parent::answer|parent::appendix|parent::article|parent::bibliodiv| parent::bibliography|parent::blockquote|parent::caution|parent::chapter| parent::glossary|parent::glossdiv|parent::important|parent::index| parent::indexdiv|parent::listitem|parent::note|parent::orderedlist| parent::partintro|parent::preface|parent::procedure|parent::qandadiv| parent::qandaset|parent::question|parent::refentry|parent::refnamediv| parent::refsect1|parent::refsect2|parent::refsect3|parent::refsection| parent::refsynopsisdiv|parent::sect1|parent::sect2|parent::sect3|parent::sect4| parent::sect5|parent::section|parent::setindex|parent::sidebar| parent::simplesect|parent::taskprerequisites|parent::taskrelated| parent::tasksummary|parent::warning]">
1096 <xsl:if test="$show.comments != 0">
1097 <p class="remark"><i><xsl:call-template name="inline.charseq"/></i></p>
1101 <xsl:template match="comment|remark">
1102 <xsl:if test="$show.comments != 0">
1103 <em><xsl:call-template name="inline.charseq"/></em>
1107 <!-- ==================================================================== -->
1109 <xsl:template match="productname">
1110 <xsl:call-template name="inline.charseq"/>
1111 <xsl:if test="@class">
1112 <xsl:call-template name="dingbat">
1113 <xsl:with-param name="dingbat" select="@class"/>
1114 </xsl:call-template>
1118 <xsl:template match="productnumber">
1119 <xsl:call-template name="inline.charseq"/>
1122 <!-- ==================================================================== -->
1124 <xsl:template match="pob|street|city|state|postcode|country|otheraddr">
1125 <xsl:call-template name="inline.charseq"/>
1128 <xsl:template match="phone|fax">
1129 <xsl:call-template name="inline.charseq"/>
1132 <!-- in Addresses, for example -->
1133 <xsl:template match="honorific|firstname|surname|lineage|othername">
1134 <xsl:call-template name="inline.charseq"/>
1137 <!-- ==================================================================== -->
1139 <xsl:template match="personname">
1140 <xsl:call-template name="anchor"/>
1141 <xsl:call-template name="person.name"/>
1144 <!-- ==================================================================== -->
1146 <xsl:template match="beginpage">
1147 <!-- does nothing; this *is not* markup to force a page break. -->