1<?xml version='1.0'?>
2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3                version='1.0'>
4
5<!-- ********************************************************************
6     $Id$
7     ********************************************************************
8
9     This file is part of the XSL DocBook Stylesheet distribution.
10     See /README or http://nwalsh.com/docbook/xsl/ for copyright
11     and other information.
12
13     ******************************************************************** -->
14
15<xsl:template name="inline.charseq">
16  <xsl:param name="content">
17    <xsl:if test="@id">
18      <a name="{@id}"/>
19    </xsl:if>
20    <xsl:apply-templates/>
21  </xsl:param>
22  <xsl:copy-of select="$content"/>
23</xsl:template>
24
25<xsl:template name="inline.monoseq">
26  <xsl:param name="content">
27    <xsl:if test="@id">
28      <a name="{@id}"/>
29    </xsl:if>
30    <xsl:apply-templates/>
31  </xsl:param>
32  <tt><xsl:copy-of select="$content"/></tt>
33</xsl:template>
34
35<xsl:template name="inline.boldseq">
36  <xsl:param name="content">
37    <xsl:if test="@id">
38      <a name="{@id}"/>
39    </xsl:if>
40    <xsl:apply-templates/>
41  </xsl:param>
42  <!-- don't put <b> inside figure, example, or table titles -->
43  <xsl:choose>
44    <xsl:when test="local-name(..) = 'title'
45                    and (local-name(../..) = 'figure'
46                         or local-name(../..) = 'example'
47                         or local-name(../..) = 'table')">
48      <xsl:copy-of select="$content"/>
49    </xsl:when>
50    <xsl:otherwise>
51      <b><xsl:copy-of select="$content"/></b>
52    </xsl:otherwise>
53  </xsl:choose>
54</xsl:template>
55
56<xsl:template name="inline.italicseq">
57  <xsl:param name="content">
58    <xsl:if test="@id">
59      <a name="{@id}"/>
60    </xsl:if>
61    <xsl:apply-templates/>
62  </xsl:param>
63  <i><xsl:copy-of select="$content"/></i>
64</xsl:template>
65
66<xsl:template name="inline.boldmonoseq">
67  <xsl:param name="content">
68    <xsl:if test="@id">
69      <a name="{@id}"/>
70    </xsl:if>
71    <xsl:apply-templates/>
72  </xsl:param>
73  <!-- don't put <b> inside figure, example, or table titles -->
74  <!-- or other titles that may already be represented with <b>'s. -->
75  <xsl:choose>
76    <xsl:when test="local-name(..) = 'title'
77                    and (local-name(../..) = 'figure'
78                         or local-name(../..) = 'example'
79                         or local-name(../..) = 'table'
80                         or local-name(../..) = 'formalpara')">
81      <tt><xsl:copy-of select="$content"/></tt>
82    </xsl:when>
83    <xsl:otherwise>
84      <b><tt><xsl:copy-of select="$content"/></tt></b>
85    </xsl:otherwise>
86  </xsl:choose>
87</xsl:template>
88
89<xsl:template name="inline.italicmonoseq">
90  <xsl:param name="content">
91    <xsl:if test="@id">
92      <a name="{@id}"/>
93    </xsl:if>
94    <xsl:apply-templates/>
95  </xsl:param>
96  <i><tt><xsl:copy-of select="$content"/></tt></i>
97</xsl:template>
98
99<xsl:template name="inline.superscriptseq">
100  <xsl:param name="content">
101    <xsl:if test="@id">
102      <a name="{@id}"/>
103    </xsl:if>
104    <xsl:apply-templates/>
105  </xsl:param>
106  <sup><xsl:copy-of select="$content"/></sup>
107</xsl:template>
108
109<xsl:template name="inline.subscriptseq">
110  <xsl:param name="content">
111    <xsl:if test="@id">
112      <a name="{@id}"/>
113    </xsl:if>
114    <xsl:apply-templates/>
115  </xsl:param>
116  <sub><xsl:copy-of select="$content"/></sub>
117</xsl:template>
118
119<!-- ==================================================================== -->
120<!-- some special cases -->
121
122<xsl:template match="author">
123  <span class="{name(.)}"><xsl:call-template name="person.name"/></span>
124</xsl:template>
125
126<xsl:template match="editor">
127  <span class="{name(.)}"><xsl:call-template name="person.name"/></span>
128</xsl:template>
129
130<xsl:template match="othercredit">
131  <span class="{name(.)}"><xsl:call-template name="person.name"/></span>
132</xsl:template>
133
134<xsl:template match="authorinitials">
135  <xsl:call-template name="inline.charseq"/>
136</xsl:template>
137
138<!-- ==================================================================== -->
139
140<xsl:template match="accel">
141  <xsl:call-template name="inline.charseq"/>
142</xsl:template>
143
144<xsl:template match="action">
145  <xsl:call-template name="inline.charseq"/>
146</xsl:template>
147
148<xsl:template match="application">
149  <xsl:call-template name="inline.charseq"/>
150</xsl:template>
151
152<xsl:template match="classname">
153  <xsl:call-template name="inline.monoseq"/>
154</xsl:template>
155
156<xsl:template match="exceptionname">
157  <xsl:call-template name="inline.monoseq"/>
158</xsl:template>
159
160<xsl:template match="interfacename">
161  <xsl:call-template name="inline.monoseq"/>
162</xsl:template>
163
164<xsl:template match="methodname">
165  <xsl:call-template name="inline.monoseq"/>
166</xsl:template>
167
168<xsl:template match="command">
169  <xsl:call-template name="inline.boldseq"/>
170</xsl:template>
171
172<xsl:template match="computeroutput">
173  <xsl:call-template name="inline.monoseq"/>
174</xsl:template>
175
176<xsl:template match="constant">
177  <xsl:call-template name="inline.monoseq"/>
178</xsl:template>
179
180<xsl:template match="database">
181  <xsl:call-template name="inline.charseq"/>
182</xsl:template>
183
184<xsl:template match="errorcode">
185  <xsl:call-template name="inline.charseq"/>
186</xsl:template>
187
188<xsl:template match="errorname">
189  <xsl:call-template name="inline.charseq"/>
190</xsl:template>
191
192<xsl:template match="errortype">
193  <xsl:call-template name="inline.charseq"/>
194</xsl:template>
195
196<xsl:template match="envar">
197  <xsl:call-template name="inline.monoseq"/>
198</xsl:template>
199
200<xsl:template match="filename">
201  <xsl:call-template name="inline.monoseq"/>
202</xsl:template>
203
204<xsl:template match="function">
205  <xsl:choose>
206    <xsl:when test="$function.parens != '0'
207                    and (parameter or function or replaceable)">
208      <xsl:variable name="nodes" select="text()|*"/>
209      <xsl:call-template name="inline.monoseq">
210        <xsl:with-param name="content">
211          <xsl:apply-templates select="$nodes[1]"/>
212        </xsl:with-param>
213      </xsl:call-template>
214      <xsl:text>(</xsl:text>
215      <xsl:apply-templates select="$nodes[position()>1]"/>
216      <xsl:text>)</xsl:text>
217    </xsl:when>
218    <xsl:otherwise>
219     <xsl:call-template name="inline.monoseq"/>
220    </xsl:otherwise>
221  </xsl:choose>
222</xsl:template>
223
224<xsl:template match="function/parameter" priority="2">
225  <xsl:call-template name="inline.italicmonoseq"/>
226  <xsl:if test="following-sibling::*">
227    <xsl:text>, </xsl:text>
228  </xsl:if>
229</xsl:template>
230
231<xsl:template match="function/replaceable" priority="2">
232  <xsl:call-template name="inline.italicmonoseq"/>
233  <xsl:if test="following-sibling::*">
234    <xsl:text>, </xsl:text>
235  </xsl:if>
236</xsl:template>
237
238<xsl:template match="guibutton">
239  <xsl:call-template name="inline.charseq"/>
240</xsl:template>
241
242<xsl:template match="guiicon">
243  <xsl:call-template name="inline.charseq"/>
244</xsl:template>
245
246<xsl:template match="guilabel">
247  <xsl:call-template name="inline.charseq"/>
248</xsl:template>
249
250<xsl:template match="guimenu">
251  <xsl:call-template name="inline.charseq"/>
252</xsl:template>
253
254<xsl:template match="guimenuitem">
255  <xsl:call-template name="inline.charseq"/>
256</xsl:template>
257
258<xsl:template match="guisubmenu">
259  <xsl:call-template name="inline.charseq"/>
260</xsl:template>
261
262<xsl:template match="hardware">
263  <xsl:call-template name="inline.charseq"/>
264</xsl:template>
265
266<xsl:template match="interface">
267  <xsl:call-template name="inline.charseq"/>
268</xsl:template>
269
270<xsl:template match="interfacedefinition">
271  <xsl:call-template name="inline.charseq"/>
272</xsl:template>
273
274<xsl:template match="keycap">
275  <xsl:call-template name="inline.boldseq"/>
276</xsl:template>
277
278<xsl:template match="keycode">
279  <xsl:call-template name="inline.charseq"/>
280</xsl:template>
281
282<xsl:template match="keysym">
283  <xsl:call-template name="inline.charseq"/>
284</xsl:template>
285
286<xsl:template match="literal">
287  <xsl:call-template name="inline.monoseq"/>
288</xsl:template>
289
290<xsl:template match="medialabel">
291  <xsl:call-template name="inline.italicseq"/>
292</xsl:template>
293
294<xsl:template match="shortcut">
295  <xsl:call-template name="inline.boldseq"/>
296</xsl:template>
297
298<xsl:template match="mousebutton">
299  <xsl:call-template name="inline.charseq"/>
300</xsl:template>
301
302<xsl:template match="option">
303  <xsl:call-template name="inline.monoseq"/>
304</xsl:template>
305
306<xsl:template match="parameter">
307  <xsl:call-template name="inline.italicmonoseq"/>
308</xsl:template>
309
310<xsl:template match="property">
311  <xsl:call-template name="inline.charseq"/>
312</xsl:template>
313
314<xsl:template match="prompt">
315  <xsl:call-template name="inline.monoseq"/>
316</xsl:template>
317
318<xsl:template match="replaceable" priority="1">
319  <xsl:call-template name="inline.italicmonoseq"/>
320</xsl:template>
321
322<xsl:template match="returnvalue">
323  <xsl:call-template name="inline.charseq"/>
324</xsl:template>
325
326<xsl:template match="structfield">
327  <xsl:call-template name="inline.italicmonoseq"/>
328</xsl:template>
329
330<xsl:template match="structname">
331  <xsl:call-template name="inline.charseq"/>
332</xsl:template>
333
334<xsl:template match="symbol">
335  <xsl:call-template name="inline.charseq"/>
336</xsl:template>
337
338<xsl:template match="systemitem">
339  <xsl:call-template name="inline.monoseq"/>
340</xsl:template>
341
342<xsl:template match="token">
343  <xsl:call-template name="inline.charseq"/>
344</xsl:template>
345
346<xsl:template match="type">
347  <xsl:call-template name="inline.charseq"/>
348</xsl:template>
349
350<xsl:template match="userinput">
351  <xsl:call-template name="inline.boldmonoseq"/>
352</xsl:template>
353
354<xsl:template match="abbrev">
355  <xsl:call-template name="inline.charseq"/>
356</xsl:template>
357
358<xsl:template match="acronym">
359  <xsl:call-template name="inline.charseq"/>
360</xsl:template>
361
362<xsl:template match="citerefentry">
363  <xsl:choose>
364    <xsl:when test="$citerefentry.link != '0'">
365      <a>
366        <xsl:attribute name="href">
367          <xsl:call-template name="generate.citerefentry.link"/>
368        </xsl:attribute>
369        <xsl:call-template name="inline.charseq"/>
370      </a>
371    </xsl:when>
372    <xsl:otherwise>
373      <xsl:call-template name="inline.charseq"/>
374    </xsl:otherwise>
375  </xsl:choose>
376</xsl:template>
377
378<xsl:template name="generate.citerefentry.link">
379  <!-- nop -->
380</xsl:template>
381
382<xsl:template name="x.generate.citerefentry.link">
383  <xsl:text>http://example.com/cgi-bin/man.cgi?</xsl:text>
384  <xsl:value-of select="refentrytitle"/>
385  <xsl:text>(</xsl:text>
386  <xsl:value-of select="manvolnum"/>
387  <xsl:text>)</xsl:text>
388</xsl:template>
389
390<xsl:template match="citetitle">
391  <xsl:call-template name="inline.italicseq"/>
392</xsl:template>
393
394<xsl:template match="emphasis">
395  <xsl:choose>
396    <xsl:when test="@role='bold'">
397      <xsl:call-template name="inline.boldseq"/>
398    </xsl:when>
399    <xsl:otherwise>
400      <xsl:call-template name="inline.italicseq"/>
401    </xsl:otherwise>
402  </xsl:choose>
403</xsl:template>
404
405<xsl:template match="foreignphrase">
406  <xsl:call-template name="inline.italicseq"/>
407</xsl:template>
408
409<xsl:template match="markup">
410  <xsl:call-template name="inline.charseq"/>
411</xsl:template>
412
413<xsl:template match="phrase">
414  <xsl:call-template name="inline.charseq"/>
415</xsl:template>
416
417<xsl:template match="quote">
418  <xsl:variable name="depth">
419    <xsl:call-template name="dot.count">
420      <xsl:with-param name="string"><xsl:number level="multiple"/></xsl:with-param>
421    </xsl:call-template>
422  </xsl:variable>
423  <xsl:choose>
424    <xsl:when test="$depth mod 2 = 0">
425      <xsl:call-template name="gentext.startquote"/>
426      <xsl:call-template name="inline.charseq"/>
427      <xsl:call-template name="gentext.endquote"/>
428    </xsl:when>
429    <xsl:otherwise>
430      <xsl:call-template name="gentext.nestedstartquote"/>
431      <xsl:call-template name="inline.charseq"/>
432      <xsl:call-template name="gentext.nestedendquote"/>
433    </xsl:otherwise>
434  </xsl:choose>
435</xsl:template>
436
437<xsl:template match="varname">
438  <xsl:call-template name="inline.monoseq"/>
439</xsl:template>
440
441<xsl:template match="wordasword">
442  <xsl:call-template name="inline.italicseq"/>
443</xsl:template>
444
445<xsl:template match="lineannotation">
446  <xsl:call-template name="inline.charseq"/>
447</xsl:template>
448
449<xsl:template match="superscript">
450  <xsl:call-template name="inline.superscriptseq"/>
451</xsl:template>
452
453<xsl:template match="subscript">
454  <xsl:call-template name="inline.subscriptseq"/>
455</xsl:template>
456
457<xsl:template match="trademark">
458  <xsl:call-template name="inline.charseq"/>
459  <xsl:choose>
460    <xsl:when test="@class = 'copyright'
461                    or @class = 'registered'">
462      <xsl:call-template name="dingbat">
463        <xsl:with-param name="dingbat" select="@class"/>
464      </xsl:call-template>
465    </xsl:when>
466    <xsl:when test="@class = 'service'">
467      <sup>SM</sup>
468    </xsl:when>
469    <xsl:otherwise>
470      <xsl:call-template name="dingbat">
471        <xsl:with-param name="dingbat" select="'trademark'"/>
472      </xsl:call-template>
473    </xsl:otherwise>
474  </xsl:choose>
475</xsl:template>
476
477<xsl:template match="firstterm">
478  <xsl:call-template name="inline.italicseq"/>
479</xsl:template>
480
481<xsl:template match="glossterm">
482  <xsl:choose>
483    <xsl:when test="@linkend">
484      <xsl:variable name="targets" select="id(@linkend)"/>
485      <xsl:variable name="target" select="$targets[1]"/>
486
487      <xsl:call-template name="check.id.unique">
488        <xsl:with-param name="linkend" select="@linkend"/>
489      </xsl:call-template>
490
491      <a>
492        <xsl:if test="@id">
493          <xsl:attribute name="name">
494            <xsl:value-of select="@id"/>
495          </xsl:attribute>
496        </xsl:if>
497
498        <xsl:attribute name="href">
499          <xsl:call-template name="href.target">
500            <xsl:with-param name="object" select="$target"/>
501          </xsl:call-template>
502        </xsl:attribute>
503
504        <xsl:call-template name="inline.italicseq"/>
505      </a>
506    </xsl:when>
507    <xsl:otherwise>
508      <xsl:call-template name="inline.italicseq"/>
509    </xsl:otherwise>
510  </xsl:choose>
511</xsl:template>
512
513<xsl:template match="sgmltag">
514  <xsl:call-template name="format.sgmltag"/>
515</xsl:template>
516
517<xsl:template name="format.sgmltag">
518  <xsl:param name="class">
519    <xsl:choose>
520      <xsl:when test="@class">
521        <xsl:value-of select="@class"/>
522      </xsl:when>
523      <xsl:otherwise>element</xsl:otherwise>
524    </xsl:choose>
525  </xsl:param>
526
527  <xsl:choose>
528    <xsl:when test="$class='attribute'">
529      <xsl:call-template name="inline.monoseq"/>
530    </xsl:when>
531    <xsl:when test="$class='attvalue'">
532      <xsl:call-template name="inline.monoseq"/>
533    </xsl:when>
534    <xsl:when test="$class='element'">
535      <xsl:call-template name="inline.monoseq"/>
536    </xsl:when>
537    <xsl:when test="$class='endtag'">
538      <xsl:call-template name="inline.monoseq">
539        <xsl:with-param name="content">
540          <xsl:text>&lt;/</xsl:text>
541          <xsl:apply-templates/>
542          <xsl:text>&gt;</xsl:text>
543        </xsl:with-param>
544      </xsl:call-template>
545    </xsl:when>
546    <xsl:when test="$class='genentity'">
547      <xsl:call-template name="inline.monoseq">
548        <xsl:with-param name="content">
549          <xsl:text>&amp;</xsl:text>
550          <xsl:apply-templates/>
551          <xsl:text>;</xsl:text>
552        </xsl:with-param>
553      </xsl:call-template>
554    </xsl:when>
555    <xsl:when test="$class='numcharref'">
556      <xsl:call-template name="inline.monoseq">
557        <xsl:with-param name="content">
558          <xsl:text>&amp;#</xsl:text>
559          <xsl:apply-templates/>
560          <xsl:text>;</xsl:text>
561        </xsl:with-param>
562      </xsl:call-template>
563    </xsl:when>
564    <xsl:when test="$class='paramentity'">
565      <xsl:call-template name="inline.monoseq">
566        <xsl:with-param name="content">
567          <xsl:text>%</xsl:text>
568          <xsl:apply-templates/>
569          <xsl:text>;</xsl:text>
570        </xsl:with-param>
571      </xsl:call-template>
572    </xsl:when>
573    <xsl:when test="$class='pi'">
574      <xsl:call-template name="inline.monoseq">
575        <xsl:with-param name="content">
576          <xsl:text>&lt;?</xsl:text>
577          <xsl:apply-templates/>
578          <xsl:text>&gt;</xsl:text>
579        </xsl:with-param>
580      </xsl:call-template>
581    </xsl:when>
582    <xsl:when test="$class='xmlpi'">
583      <xsl:call-template name="inline.monoseq">
584        <xsl:with-param name="content">
585          <xsl:text>&lt;?</xsl:text>
586          <xsl:apply-templates/>
587          <xsl:text>?&gt;</xsl:text>
588        </xsl:with-param>
589      </xsl:call-template>
590    </xsl:when>
591    <xsl:when test="$class='starttag'">
592      <xsl:call-template name="inline.monoseq">
593        <xsl:with-param name="content">
594          <xsl:text>&lt;</xsl:text>
595          <xsl:apply-templates/>
596          <xsl:text>&gt;</xsl:text>
597        </xsl:with-param>
598      </xsl:call-template>
599    </xsl:when>
600    <xsl:when test="$class='emptytag'">
601      <xsl:call-template name="inline.monoseq">
602        <xsl:with-param name="content">
603          <xsl:text>&lt;</xsl:text>
604          <xsl:apply-templates/>
605          <xsl:text>/&gt;</xsl:text>
606        </xsl:with-param>
607      </xsl:call-template>
608    </xsl:when>
609    <xsl:when test="$class='sgmlcomment'">
610      <xsl:call-template name="inline.monoseq">
611        <xsl:with-param name="content">
612          <xsl:text>&lt;!--</xsl:text>
613          <xsl:apply-templates/>
614          <xsl:text>--&gt;</xsl:text>
615        </xsl:with-param>
616      </xsl:call-template>
617    </xsl:when>
618    <xsl:otherwise>
619      <xsl:call-template name="inline.charseq"/>
620    </xsl:otherwise>
621  </xsl:choose>
622</xsl:template>
623
624<xsl:template match="email">
625  <xsl:call-template name="inline.monoseq">
626    <xsl:with-param name="content">
627      <xsl:text>&lt;</xsl:text>
628      <a>
629       <xsl:attribute name="href">mailto:<xsl:value-of select="."/></xsl:attribute>
630       <xsl:apply-templates/>
631      </a>
632      <xsl:text>&gt;</xsl:text>
633    </xsl:with-param>
634  </xsl:call-template>
635</xsl:template>
636
637<xsl:template match="keycombo">
638  <xsl:variable name="action" select="@action"/>
639  <xsl:variable name="joinchar">
640    <xsl:choose>
641      <xsl:when test="$action='seq'"><xsl:text> </xsl:text></xsl:when>
642      <xsl:when test="$action='simul'">+</xsl:when>
643      <xsl:when test="$action='press'">-</xsl:when>
644      <xsl:when test="$action='click'">-</xsl:when>
645      <xsl:when test="$action='double-click'">-</xsl:when>
646      <xsl:when test="$action='other'"></xsl:when>
647      <xsl:otherwise>-</xsl:otherwise>
648    </xsl:choose>
649  </xsl:variable>
650  <xsl:for-each select="./*">
651    <xsl:if test="position()>1"><xsl:value-of select="$joinchar"/></xsl:if>
652    <xsl:apply-templates/>
653  </xsl:for-each>
654</xsl:template>
655
656<!-- ==================================================================== -->
657
658<xsl:template match="menuchoice">
659  <xsl:variable name="shortcut" select="/shortcut"/>
660  <xsl:call-template name="process.menuchoice"/>
661  <xsl:if test="$shortcut">
662    <xsl:text> (</xsl:text>
663    <xsl:apply-templates select="$shortcut"/>
664    <xsl:text>)</xsl:text>
665  </xsl:if>
666</xsl:template>
667
668<xsl:template name="process.menuchoice">
669  <xsl:param name="nodelist" select="guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu|interface"/><!-- not(shortcut) -->
670  <xsl:param name="count" select="1"/>
671
672  <xsl:choose>
673    <xsl:when test="$count>count($nodelist)"></xsl:when>
674    <xsl:when test="$count=1">
675      <xsl:apply-templates select="$nodelist[$count=position()]"/>
676      <xsl:call-template name="process.menuchoice">
677        <xsl:with-param name="nodelist" select="$nodelist"/>
678        <xsl:with-param name="count" select="$count+1"/>
679      </xsl:call-template>
680    </xsl:when>
681    <xsl:otherwise>
682      <xsl:variable name="node" select="$nodelist[$count=position()]"/>
683      <xsl:choose>
684        <xsl:when test="name($node)='guimenuitem'
685                        or name($node)='guisubmenu'">
686          <xsl:text>-&gt;</xsl:text>
687        </xsl:when>
688        <xsl:otherwise>+</xsl:otherwise>
689      </xsl:choose>
690      <xsl:apply-templates select="$node"/>
691      <xsl:call-template name="process.menuchoice">
692        <xsl:with-param name="nodelist" select="$nodelist"/>
693        <xsl:with-param name="count" select="$count+1"/>
694      </xsl:call-template>
695    </xsl:otherwise>
696  </xsl:choose>
697</xsl:template>
698
699<!-- ==================================================================== -->
700
701<xsl:template match="optional">
702  <xsl:value-of select="$arg.choice.opt.open.str"/>
703  <xsl:call-template name="inline.charseq"/>
704  <xsl:value-of select="$arg.choice.opt.close.str"/>
705</xsl:template>
706
707<xsl:template match="citation">
708  <!-- todo: biblio-citation-check -->
709  <xsl:text>[</xsl:text>
710  <xsl:call-template name="inline.charseq"/>
711  <xsl:text>]</xsl:text>
712</xsl:template>
713
714<!-- ==================================================================== -->
715
716<xsl:template match="comment|remark">
717  <xsl:if test="$show.comments != 0">
718    <i><xsl:call-template name="inline.charseq"/></i>
719  </xsl:if>
720</xsl:template>
721
722<!-- ==================================================================== -->
723
724<xsl:template match="productname">
725  <xsl:call-template name="inline.charseq"/>
726  <xsl:if test="@class">
727    <xsl:call-template name="dingbat">
728      <xsl:with-param name="dingbat" select="@class"/>
729    </xsl:call-template>
730  </xsl:if>
731</xsl:template>
732
733<xsl:template match="productnumber">
734  <xsl:call-template name="inline.charseq"/>
735</xsl:template>
736
737<!-- ==================================================================== -->
738
739<xsl:template match="pob|street|city|state|postcode|country|otheraddr">
740  <xsl:call-template name="inline.charseq"/>
741</xsl:template>
742
743<xsl:template match="phone|fax">
744  <xsl:call-template name="inline.charseq"/>
745</xsl:template>
746
747<!-- in Addresses, for example -->
748<xsl:template match="honorific|firstname|surname|lineage|othername">
749  <xsl:call-template name="inline.charseq"/>
750</xsl:template>
751
752<!-- ==================================================================== -->
753
754</xsl:stylesheet>
755
756