source: clfs-embedded/BOOK/stylesheets/lfs-xsl/docbook-xsl-snapshot/xhtml/inline.xsl@ 35d6f00

Last change on this file since 35d6f00 was 9642843, checked in by Manuel Canales Esparcia <manuel@…>, 17 years ago

Updated DocBook-XSL code to version 1.73.2

  • Property mode set to 100644
File size: 45.3 KB
Line 
1<?xml version="1.0" encoding="ASCII"?>
2<!--This file was created automatically by html2xhtml-->
3<!--from the HTML stylesheets.-->
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">
5
6<!-- ********************************************************************
7 $Id$
8 ********************************************************************
9
10 This file is part of the XSL DocBook Stylesheet distribution.
11 See ../README or http://docbook.sf.net/release/xsl/current/ for
12 copyright and other information.
13
14 ******************************************************************** -->
15<xsl:template name="simple.xlink">
16 <xsl:param name="node" select="."/>
17 <xsl:param name="content">
18 <xsl:apply-templates/>
19 </xsl:param>
20 <xsl:param name="a.target"/>
21 <xsl:param name="linkend" select="$node/@linkend"/>
22 <xsl:param name="xhref" select="$node/@xlink:href"/>
23
24 <xsl:variable name="link">
25 <xsl:choose>
26 <xsl:when test="$xhref and (not($node/@xlink:type) or $node/@xlink:type='simple')">
27
28 <!-- Is it a local idref or a uri? -->
29 <xsl:variable name="is.idref">
30 <xsl:choose>
31 <!-- if the href starts with # and does not contain an "(" -->
32 <!-- or if the href starts with #xpointer(id(, it's just an ID -->
33 <xsl:when test="starts-with($xhref,'#') and (not(contains($xhref,'(')) or starts-with($xhref, '#xpointer(id('))">1</xsl:when>
34 <xsl:otherwise>0</xsl:otherwise>
35 </xsl:choose>
36 </xsl:variable>
37
38 <!-- Is it an olink ? -->
39 <xsl:variable name="is.olink">
40 <xsl:choose>
41 <!-- If xlink:role="http://docbook.org/xlink/role/olink" -->
42 <!-- and if the href contains # -->
43 <xsl:when test="contains($xhref,'#') and @xlink:role = $xolink.role">1</xsl:when>
44 <xsl:otherwise>0</xsl:otherwise>
45 </xsl:choose>
46 </xsl:variable>
47
48 <xsl:choose>
49 <xsl:when test="$is.idref = 1">
50
51 <xsl:variable name="idref">
52 <xsl:call-template name="xpointer.idref">
53 <xsl:with-param name="xpointer" select="$xhref"/>
54 </xsl:call-template>
55 </xsl:variable>
56
57 <xsl:variable name="targets" select="key('id',$idref)"/>
58 <xsl:variable name="target" select="$targets[1]"/>
59
60 <xsl:call-template name="check.id.unique">
61 <xsl:with-param name="linkend" select="$idref"/>
62 </xsl:call-template>
63
64 <xsl:choose>
65 <xsl:when test="count($target) = 0">
66 <xsl:message>
67 <xsl:text>XLink to nonexistent id: </xsl:text>
68 <xsl:value-of select="$idref"/>
69 </xsl:message>
70 <xsl:copy-of select="$content"/>
71 </xsl:when>
72
73 <xsl:otherwise>
74 <a>
75 <xsl:apply-templates select="." mode="class.attribute"/>
76
77 <xsl:attribute name="href">
78 <xsl:call-template name="href.target">
79 <xsl:with-param name="object" select="$target"/>
80 </xsl:call-template>
81 </xsl:attribute>
82
83 <xsl:choose>
84 <xsl:when test="$node/@xlink:title">
85 <xsl:attribute name="title">
86 <xsl:value-of select="$node/@xlink:title"/>
87 </xsl:attribute>
88 </xsl:when>
89 <xsl:otherwise>
90 <xsl:apply-templates select="$target" mode="html.title.attribute"/>
91 </xsl:otherwise>
92 </xsl:choose>
93
94 <xsl:if test="$a.target">
95 <xsl:attribute name="target">
96 <xsl:value-of select="$a.target"/>
97 </xsl:attribute>
98 </xsl:if>
99
100 <xsl:copy-of select="$content"/>
101
102 </a>
103 </xsl:otherwise>
104 </xsl:choose>
105 </xsl:when>
106
107 <xsl:when test="$is.olink = 1">
108 <xsl:call-template name="olink">
109 <xsl:with-param name="content" select="$content"/>
110 </xsl:call-template>
111 </xsl:when>
112
113 <!-- otherwise it's a URI -->
114 <xsl:otherwise>
115 <a>
116 <xsl:apply-templates select="." mode="class.attribute"/>
117 <xsl:attribute name="href">
118 <xsl:value-of select="$xhref"/>
119 </xsl:attribute>
120 <xsl:if test="$node/@xlink:title">
121 <xsl:attribute name="title">
122 <xsl:value-of select="$node/@xlink:title"/>
123 </xsl:attribute>
124 </xsl:if>
125 <xsl:copy-of select="$content"/>
126 </a>
127 </xsl:otherwise>
128 </xsl:choose>
129 </xsl:when>
130
131 <xsl:when test="$linkend">
132 <xsl:variable name="targets" select="key('id',$linkend)"/>
133 <xsl:variable name="target" select="$targets[1]"/>
134
135 <xsl:call-template name="check.id.unique">
136 <xsl:with-param name="linkend" select="$linkend"/>
137 </xsl:call-template>
138
139 <a>
140 <xsl:apply-templates select="." mode="class.attribute"/>
141 <xsl:attribute name="href">
142 <xsl:call-template name="href.target">
143 <xsl:with-param name="object" select="$target"/>
144 </xsl:call-template>
145 </xsl:attribute>
146
147 <xsl:apply-templates select="$target" mode="html.title.attribute"/>
148
149 <xsl:copy-of select="$content"/>
150
151 </a>
152 </xsl:when>
153 <xsl:otherwise>
154 <xsl:copy-of select="$content"/>
155 </xsl:otherwise>
156 </xsl:choose>
157 </xsl:variable>
158
159 <xsl:choose>
160 <xsl:when test="function-available('suwl:unwrapLinks')">
161 <xsl:copy-of select="suwl:unwrapLinks($link)"/>
162 </xsl:when>
163 <xsl:otherwise>
164 <xsl:copy-of select="$link"/>
165 </xsl:otherwise>
166 </xsl:choose>
167</xsl:template>
168
169<xsl:template name="inline.charseq">
170 <xsl:param name="content">
171 <xsl:call-template name="anchor"/>
172 <xsl:call-template name="simple.xlink">
173 <xsl:with-param name="content">
174 <xsl:apply-templates/>
175 </xsl:with-param>
176 </xsl:call-template>
177 </xsl:param>
178 <!-- * if you want output from the inline.charseq template wrapped in -->
179 <!-- * something other than a Span, call the template with some value -->
180 <!-- * for the 'wrapper-name' param -->
181 <xsl:param name="wrapper-name">span</xsl:param>
182 <xsl:element name="{$wrapper-name}" namespace="http://www.w3.org/1999/xhtml">
183 <xsl:attribute name="class">
184 <xsl:value-of select="local-name(.)"/>
185 </xsl:attribute>
186 <xsl:call-template name="dir"/>
187 <xsl:call-template name="generate.html.title"/>
188 <xsl:copy-of select="$content"/>
189 <xsl:call-template name="apply-annotations"/>
190 </xsl:element>
191</xsl:template>
192
193<xsl:template name="inline.monoseq">
194 <xsl:param name="content">
195 <xsl:call-template name="anchor"/>
196 <xsl:call-template name="simple.xlink">
197 <xsl:with-param name="content">
198 <xsl:apply-templates/>
199 </xsl:with-param>
200 </xsl:call-template>
201 </xsl:param>
202 <code>
203 <xsl:apply-templates select="." mode="class.attribute"/>
204 <xsl:call-template name="dir"/>
205 <xsl:call-template name="generate.html.title"/>
206 <xsl:copy-of select="$content"/>
207 <xsl:call-template name="apply-annotations"/>
208 </code>
209</xsl:template>
210
211<xsl:template name="inline.boldseq">
212 <xsl:param name="content">
213 <xsl:call-template name="anchor"/>
214 <xsl:call-template name="simple.xlink">
215 <xsl:with-param name="content">
216 <xsl:apply-templates/>
217 </xsl:with-param>
218 </xsl:call-template>
219 </xsl:param>
220
221 <span>
222 <xsl:apply-templates select="." mode="class.attribute"/>
223 <xsl:call-template name="generate.html.title"/>
224 <xsl:call-template name="dir"/>
225
226 <!-- don't put <strong> inside figure, example, or table titles -->
227 <xsl:choose>
228 <xsl:when test="local-name(..) = 'title' and (local-name(../..) = 'figure' or local-name(../..) = 'example' or local-name(../..) = 'table')">
229 <xsl:copy-of select="$content"/>
230 </xsl:when>
231 <xsl:otherwise>
232 <strong>
233 <xsl:copy-of select="$content"/>
234 </strong>
235 </xsl:otherwise>
236 </xsl:choose>
237 <xsl:call-template name="apply-annotations"/>
238 </span>
239</xsl:template>
240
241<xsl:template name="inline.italicseq">
242 <xsl:param name="content">
243 <xsl:call-template name="anchor"/>
244 <xsl:call-template name="simple.xlink">
245 <xsl:with-param name="content">
246 <xsl:apply-templates/>
247 </xsl:with-param>
248 </xsl:call-template>
249 </xsl:param>
250 <em>
251 <xsl:apply-templates select="." mode="class.attribute"/>
252 <xsl:call-template name="generate.html.title"/>
253 <xsl:call-template name="dir"/>
254 <xsl:copy-of select="$content"/>
255 <xsl:call-template name="apply-annotations"/>
256 </em>
257</xsl:template>
258
259<xsl:template name="inline.boldmonoseq">
260 <xsl:param name="content">
261 <xsl:call-template name="anchor"/>
262 <xsl:call-template name="simple.xlink">
263 <xsl:with-param name="content">
264 <xsl:apply-templates/>
265 </xsl:with-param>
266 </xsl:call-template>
267 </xsl:param>
268 <!-- don't put <strong> inside figure, example, or table titles -->
269 <!-- or other titles that may already be represented with <strong>'s. -->
270 <xsl:choose>
271 <xsl:when test="local-name(..) = 'title' and (local-name(../..) = 'figure' or local-name(../..) = 'example' or local-name(../..) = 'table' or local-name(../..) = 'formalpara')">
272 <code>
273 <xsl:apply-templates select="." mode="class.attribute"/>
274 <xsl:call-template name="generate.html.title"/>
275 <xsl:call-template name="dir"/>
276 <xsl:copy-of select="$content"/>
277 <xsl:call-template name="apply-annotations"/>
278 </code>
279 </xsl:when>
280 <xsl:otherwise>
281 <strong>
282 <xsl:apply-templates select="." mode="class.attribute"/>
283 <code>
284 <xsl:call-template name="generate.html.title"/>
285 <xsl:call-template name="dir"/>
286 <xsl:copy-of select="$content"/>
287 </code>
288 <xsl:call-template name="apply-annotations"/>
289 </strong>
290 </xsl:otherwise>
291 </xsl:choose>
292</xsl:template>
293
294<xsl:template name="inline.italicmonoseq">
295 <xsl:param name="content">
296 <xsl:call-template name="anchor"/>
297 <xsl:call-template name="simple.xlink">
298 <xsl:with-param name="content">
299 <xsl:apply-templates/>
300 </xsl:with-param>
301 </xsl:call-template>
302 </xsl:param>
303 <em>
304 <xsl:apply-templates select="." mode="class.attribute"/>
305 <code>
306 <xsl:call-template name="generate.html.title"/>
307 <xsl:call-template name="dir"/>
308 <xsl:copy-of select="$content"/>
309 <xsl:call-template name="apply-annotations"/>
310 </code>
311 </em>
312</xsl:template>
313
314<xsl:template name="inline.superscriptseq">
315 <xsl:param name="content">
316 <xsl:call-template name="anchor"/>
317 <xsl:call-template name="simple.xlink">
318 <xsl:with-param name="content">
319 <xsl:apply-templates/>
320 </xsl:with-param>
321 </xsl:call-template>
322 </xsl:param>
323 <sup>
324 <xsl:call-template name="generate.html.title"/>
325 <xsl:call-template name="dir"/>
326 <xsl:copy-of select="$content"/>
327 <xsl:call-template name="apply-annotations"/>
328 </sup>
329</xsl:template>
330
331<xsl:template name="inline.subscriptseq">
332 <xsl:param name="content">
333 <xsl:call-template name="anchor"/>
334 <xsl:call-template name="simple.xlink">
335 <xsl:with-param name="content">
336 <xsl:apply-templates/>
337 </xsl:with-param>
338 </xsl:call-template>
339 </xsl:param>
340 <sub>
341 <xsl:call-template name="generate.html.title"/>
342 <xsl:call-template name="dir"/>
343 <xsl:copy-of select="$content"/>
344 <xsl:call-template name="apply-annotations"/>
345 </sub>
346</xsl:template>
347
348<!-- ==================================================================== -->
349<!-- some special cases -->
350
351<xsl:template match="author">
352 <xsl:param name="content">
353 <xsl:call-template name="anchor"/>
354 <xsl:call-template name="simple.xlink">
355 <xsl:with-param name="content">
356 <xsl:call-template name="person.name"/>
357 </xsl:with-param>
358 </xsl:call-template>
359 <xsl:call-template name="apply-annotations"/>
360 </xsl:param>
361
362 <span>
363 <xsl:apply-templates select="." mode="class.attribute"/>
364 <xsl:copy-of select="$content"/>
365 </span>
366</xsl:template>
367
368<xsl:template match="editor">
369 <xsl:param name="content">
370 <xsl:call-template name="anchor"/>
371 <xsl:call-template name="simple.xlink">
372 <xsl:with-param name="content">
373 <xsl:call-template name="person.name"/>
374 </xsl:with-param>
375 </xsl:call-template>
376 <xsl:call-template name="apply-annotations"/>
377 </xsl:param>
378
379 <span>
380 <xsl:apply-templates select="." mode="class.attribute"/>
381 <xsl:copy-of select="$content"/>
382 </span>
383</xsl:template>
384
385<xsl:template match="othercredit">
386 <xsl:param name="content">
387 <xsl:call-template name="anchor"/>
388 <xsl:call-template name="simple.xlink">
389 <xsl:with-param name="content">
390 <xsl:call-template name="person.name"/>
391 </xsl:with-param>
392 </xsl:call-template>
393 <xsl:call-template name="apply-annotations"/>
394 </xsl:param>
395
396 <span>
397 <xsl:apply-templates select="." mode="class.attribute"/>
398 <xsl:copy-of select="$content"/>
399 </span>
400</xsl:template>
401
402<xsl:template match="authorinitials">
403 <xsl:call-template name="inline.charseq"/>
404</xsl:template>
405
406<!-- ==================================================================== -->
407
408<xsl:template match="accel">
409 <xsl:call-template name="inline.charseq"/>
410</xsl:template>
411
412<xsl:template match="action">
413 <xsl:call-template name="inline.charseq"/>
414</xsl:template>
415
416<xsl:template match="application">
417 <xsl:call-template name="inline.charseq"/>
418</xsl:template>
419
420<xsl:template match="classname">
421 <xsl:call-template name="inline.monoseq"/>
422</xsl:template>
423
424<xsl:template match="exceptionname">
425 <xsl:call-template name="inline.monoseq"/>
426</xsl:template>
427
428<xsl:template match="interfacename">
429 <xsl:call-template name="inline.monoseq"/>
430</xsl:template>
431
432<xsl:template match="methodname">
433 <xsl:call-template name="inline.monoseq"/>
434</xsl:template>
435
436<xsl:template match="command">
437 <xsl:call-template name="inline.boldseq"/>
438</xsl:template>
439
440<xsl:template match="computeroutput">
441 <xsl:call-template name="inline.monoseq"/>
442</xsl:template>
443
444<xsl:template match="constant">
445 <xsl:call-template name="inline.monoseq"/>
446</xsl:template>
447
448<xsl:template match="database">
449 <xsl:call-template name="inline.charseq"/>
450</xsl:template>
451
452<xsl:template match="date">
453 <!-- should this support locale-specific formatting? how? -->
454 <xsl:call-template name="inline.charseq"/>
455</xsl:template>
456
457<xsl:template match="errorcode">
458 <xsl:call-template name="inline.charseq"/>
459</xsl:template>
460
461<xsl:template match="errorname">
462 <xsl:call-template name="inline.charseq"/>
463</xsl:template>
464
465<xsl:template match="errortype">
466 <xsl:call-template name="inline.charseq"/>
467</xsl:template>
468
469<xsl:template match="errortext">
470 <xsl:call-template name="inline.charseq"/>
471</xsl:template>
472
473<xsl:template match="envar">
474 <xsl:call-template name="inline.monoseq"/>
475</xsl:template>
476
477<xsl:template match="filename">
478 <xsl:call-template name="inline.monoseq"/>
479</xsl:template>
480
481<xsl:template match="function">
482 <xsl:choose>
483 <xsl:when test="$function.parens != '0' and (parameter or function or replaceable)">
484 <xsl:variable name="nodes" select="text()|*"/>
485 <xsl:call-template name="inline.monoseq">
486 <xsl:with-param name="content">
487 <xsl:call-template name="simple.xlink">
488 <xsl:with-param name="content">
489 <xsl:apply-templates select="$nodes[1]"/>
490 </xsl:with-param>
491 </xsl:call-template>
492 </xsl:with-param>
493 </xsl:call-template>
494 <xsl:text>(</xsl:text>
495 <xsl:apply-templates select="$nodes[position()&gt;1]"/>
496 <xsl:text>)</xsl:text>
497 </xsl:when>
498 <xsl:otherwise>
499 <xsl:call-template name="inline.monoseq"/>
500 </xsl:otherwise>
501 </xsl:choose>
502</xsl:template>
503
504<xsl:template match="function/parameter" priority="2">
505 <xsl:call-template name="inline.italicmonoseq"/>
506 <xsl:if test="following-sibling::*">
507 <xsl:text>, </xsl:text>
508 </xsl:if>
509</xsl:template>
510
511<xsl:template match="function/replaceable" priority="2">
512 <xsl:call-template name="inline.italicmonoseq"/>
513 <xsl:if test="following-sibling::*">
514 <xsl:text>, </xsl:text>
515 </xsl:if>
516</xsl:template>
517
518<xsl:template match="guibutton">
519 <xsl:call-template name="inline.charseq"/>
520</xsl:template>
521
522<xsl:template match="guiicon">
523 <xsl:call-template name="inline.charseq"/>
524</xsl:template>
525
526<xsl:template match="guilabel">
527 <xsl:call-template name="inline.charseq"/>
528</xsl:template>
529
530<xsl:template match="guimenu">
531 <xsl:call-template name="inline.charseq"/>
532</xsl:template>
533
534<xsl:template match="guimenuitem">
535 <xsl:call-template name="inline.charseq"/>
536</xsl:template>
537
538<xsl:template match="guisubmenu">
539 <xsl:call-template name="inline.charseq"/>
540</xsl:template>
541
542<xsl:template match="hardware">
543 <xsl:call-template name="inline.charseq"/>
544</xsl:template>
545
546<xsl:template match="interface">
547 <xsl:call-template name="inline.charseq"/>
548</xsl:template>
549
550<xsl:template match="interfacedefinition">
551 <xsl:call-template name="inline.charseq"/>
552</xsl:template>
553
554<xsl:template match="keycap">
555 <xsl:call-template name="inline.boldseq"/>
556</xsl:template>
557
558<xsl:template match="keycode">
559 <xsl:call-template name="inline.charseq"/>
560</xsl:template>
561
562<xsl:template match="keysym">
563 <xsl:call-template name="inline.charseq"/>
564</xsl:template>
565
566<xsl:template match="literal">
567 <xsl:call-template name="inline.monoseq"/>
568</xsl:template>
569
570<xsl:template match="code">
571 <xsl:call-template name="inline.monoseq"/>
572</xsl:template>
573
574<xsl:template match="medialabel">
575 <xsl:call-template name="inline.italicseq"/>
576</xsl:template>
577
578<xsl:template match="shortcut">
579 <xsl:call-template name="inline.boldseq"/>
580</xsl:template>
581
582<xsl:template match="mousebutton">
583 <xsl:call-template name="inline.charseq"/>
584</xsl:template>
585
586<xsl:template match="option">
587 <xsl:call-template name="inline.monoseq"/>
588</xsl:template>
589
590<xsl:template match="package">
591 <xsl:call-template name="inline.charseq"/>
592</xsl:template>
593
594<xsl:template match="parameter">
595 <xsl:call-template name="inline.italicmonoseq"/>
596</xsl:template>
597
598<xsl:template match="property">
599 <xsl:call-template name="inline.charseq"/>
600</xsl:template>
601
602<xsl:template match="prompt">
603 <xsl:call-template name="inline.monoseq"/>
604</xsl:template>
605
606<xsl:template match="replaceable" priority="1">
607 <xsl:call-template name="inline.italicmonoseq"/>
608</xsl:template>
609
610<xsl:template match="returnvalue">
611 <xsl:call-template name="inline.charseq"/>
612</xsl:template>
613
614<xsl:template match="structfield">
615 <xsl:call-template name="inline.italicmonoseq"/>
616</xsl:template>
617
618<xsl:template match="structname">
619 <xsl:call-template name="inline.charseq"/>
620</xsl:template>
621
622<xsl:template match="symbol">
623 <xsl:call-template name="inline.charseq"/>
624</xsl:template>
625
626<xsl:template match="systemitem">
627 <xsl:call-template name="inline.monoseq"/>
628</xsl:template>
629
630<xsl:template match="token">
631 <xsl:call-template name="inline.charseq"/>
632</xsl:template>
633
634<xsl:template match="type">
635 <xsl:call-template name="inline.charseq"/>
636</xsl:template>
637
638<xsl:template match="userinput">
639 <xsl:call-template name="inline.boldmonoseq"/>
640</xsl:template>
641
642<xsl:template match="abbrev">
643 <xsl:call-template name="inline.charseq">
644 <xsl:with-param name="wrapper-name">abbr</xsl:with-param>
645 </xsl:call-template>
646</xsl:template>
647
648<xsl:template match="acronym">
649 <xsl:call-template name="inline.charseq">
650 <xsl:with-param name="wrapper-name">acronym</xsl:with-param>
651 </xsl:call-template>
652</xsl:template>
653
654<xsl:template match="citerefentry">
655 <xsl:choose>
656 <xsl:when test="$citerefentry.link != '0'">
657 <a>
658 <xsl:apply-templates select="." mode="class.attribute"/>
659 <xsl:attribute name="href">
660 <xsl:call-template name="generate.citerefentry.link"/>
661 </xsl:attribute>
662 <xsl:call-template name="inline.charseq"/>
663 </a>
664 </xsl:when>
665 <xsl:otherwise>
666 <xsl:call-template name="inline.charseq"/>
667 </xsl:otherwise>
668 </xsl:choose>
669</xsl:template>
670
671<xsl:template name="generate.citerefentry.link">
672 <!-- nop -->
673</xsl:template>
674
675<xsl:template name="x.generate.citerefentry.link">
676 <xsl:text>http://example.com/cgi-bin/man.cgi?</xsl:text>
677 <xsl:value-of select="refentrytitle"/>
678 <xsl:text>(</xsl:text>
679 <xsl:value-of select="manvolnum"/>
680 <xsl:text>)</xsl:text>
681</xsl:template>
682
683<xsl:template match="citetitle">
684 <xsl:choose>
685 <xsl:when test="@pubwork = 'article'">
686 <xsl:call-template name="gentext.startquote"/>
687 <xsl:call-template name="inline.charseq"/>
688 <xsl:call-template name="gentext.endquote"/>
689 </xsl:when>
690 <xsl:otherwise>
691 <xsl:call-template name="inline.italicseq"/>
692 </xsl:otherwise>
693 </xsl:choose>
694</xsl:template>
695
696<xsl:template match="emphasis">
697 <span>
698 <xsl:choose>
699 <xsl:when test="@role and $emphasis.propagates.style != 0">
700 <xsl:apply-templates select="." mode="class.attribute">
701 <xsl:with-param name="class" select="@role"/>
702 </xsl:apply-templates>
703 </xsl:when>
704 <xsl:otherwise>
705 <xsl:apply-templates select="." mode="class.attribute"/>
706 </xsl:otherwise>
707 </xsl:choose>
708 <xsl:call-template name="anchor"/>
709
710 <xsl:call-template name="simple.xlink">
711 <xsl:with-param name="content">
712 <xsl:choose>
713 <xsl:when test="@role = 'bold' or @role='strong'">
714 <!-- backwards compatibility: make bold into b elements, but -->
715 <!-- don't put bold inside figure, example, or table titles -->
716 <xsl:choose>
717 <xsl:when test="local-name(..) = 'title' and (local-name(../..) = 'figure' or local-name(../..) = 'example' or local-name(../..) = 'table')">
718 <xsl:apply-templates/>
719 </xsl:when>
720 <xsl:otherwise>
721 <strong><xsl:apply-templates/></strong>
722 </xsl:otherwise>
723 </xsl:choose>
724 </xsl:when>
725 <xsl:when test="@role and $emphasis.propagates.style != 0">
726 <xsl:apply-templates/>
727 </xsl:when>
728 <xsl:otherwise>
729 <em><xsl:apply-templates/></em>
730 </xsl:otherwise>
731 </xsl:choose>
732 </xsl:with-param>
733 </xsl:call-template>
734 </span>
735</xsl:template>
736
737<xsl:template match="foreignphrase">
738 <span>
739 <xsl:apply-templates select="." mode="class.attribute"/>
740 <xsl:if test="@lang or @xml:lang">
741 <xsl:call-template name="language.attribute"/>
742 </xsl:if>
743 <xsl:call-template name="inline.italicseq"/>
744 </span>
745</xsl:template>
746
747<xsl:template match="markup">
748 <xsl:call-template name="inline.charseq"/>
749</xsl:template>
750
751<xsl:template match="phrase">
752 <span>
753 <xsl:call-template name="generate.html.title"/>
754 <xsl:if test="@lang or @xml:lang">
755 <xsl:call-template name="language.attribute"/>
756 </xsl:if>
757 <xsl:if test="@role and $phrase.propagates.style != 0">
758 <xsl:apply-templates select="." mode="class.attribute">
759 <xsl:with-param name="class" select="@role"/>
760 </xsl:apply-templates>
761 </xsl:if>
762 <xsl:call-template name="dir"/>
763 <xsl:call-template name="anchor"/>
764 <xsl:call-template name="simple.xlink">
765 <xsl:with-param name="content">
766 <xsl:apply-templates/>
767 </xsl:with-param>
768 </xsl:call-template>
769 <xsl:call-template name="apply-annotations"/>
770 </span>
771</xsl:template>
772
773<xsl:template match="quote">
774 <xsl:variable name="depth">
775 <xsl:call-template name="dot.count">
776 <xsl:with-param name="string">
777 <xsl:number level="multiple"/>
778 </xsl:with-param>
779 </xsl:call-template>
780 </xsl:variable>
781 <xsl:choose>
782 <xsl:when test="$depth mod 2 = 0">
783 <xsl:call-template name="gentext.startquote"/>
784 <xsl:call-template name="inline.charseq"/>
785 <xsl:call-template name="gentext.endquote"/>
786 </xsl:when>
787 <xsl:otherwise>
788 <xsl:call-template name="gentext.nestedstartquote"/>
789 <xsl:call-template name="inline.charseq"/>
790 <xsl:call-template name="gentext.nestedendquote"/>
791 </xsl:otherwise>
792 </xsl:choose>
793</xsl:template>
794
795<xsl:template match="varname">
796 <xsl:call-template name="inline.monoseq"/>
797</xsl:template>
798
799<xsl:template match="wordasword">
800 <xsl:call-template name="inline.italicseq"/>
801</xsl:template>
802
803<xsl:template match="lineannotation">
804 <em>
805 <xsl:apply-templates select="." mode="class.attribute"/>
806 <xsl:call-template name="inline.charseq"/>
807 </em>
808</xsl:template>
809
810<xsl:template match="superscript">
811 <xsl:call-template name="inline.superscriptseq"/>
812</xsl:template>
813
814<xsl:template match="subscript">
815 <xsl:call-template name="inline.subscriptseq"/>
816</xsl:template>
817
818<xsl:template match="trademark">
819 <xsl:call-template name="inline.charseq"/>
820 <xsl:choose>
821 <xsl:when test="@class = 'copyright' or @class = 'registered'">
822 <xsl:call-template name="dingbat">
823 <xsl:with-param name="dingbat" select="@class"/>
824 </xsl:call-template>
825 </xsl:when>
826 <xsl:when test="@class = 'service'">
827 <sup>SM</sup>
828 </xsl:when>
829 <xsl:otherwise>
830 <xsl:call-template name="dingbat">
831 <xsl:with-param name="dingbat" select="'trademark'"/>
832 </xsl:call-template>
833 </xsl:otherwise>
834 </xsl:choose>
835</xsl:template>
836
837<xsl:template match="firstterm">
838 <xsl:call-template name="glossterm">
839 <xsl:with-param name="firstterm" select="1"/>
840 </xsl:call-template>
841</xsl:template>
842
843<xsl:template match="glossterm" name="glossterm">
844 <xsl:param name="firstterm" select="0"/>
845
846 <!-- To avoid extra <a name=""> anchor from inline.italicseq -->
847 <xsl:variable name="content">
848 <xsl:apply-templates/>
849 </xsl:variable>
850
851 <xsl:choose>
852 <xsl:when test="($firstterm.only.link = 0 or $firstterm = 1) and @linkend">
853 <xsl:variable name="targets" select="key('id',@linkend)"/>
854 <xsl:variable name="target" select="$targets[1]"/>
855
856 <xsl:call-template name="check.id.unique">
857 <xsl:with-param name="linkend" select="@linkend"/>
858 </xsl:call-template>
859
860 <xsl:choose>
861 <xsl:when test="$target">
862 <a>
863 <xsl:apply-templates select="." mode="class.attribute"/>
864 <xsl:if test="@id or @xml:id">
865 <xsl:attribute name="id">
866 <xsl:value-of select="(@id|@xml:id)[1]"/>
867 </xsl:attribute>
868 </xsl:if>
869
870 <xsl:attribute name="href">
871 <xsl:call-template name="href.target">
872 <xsl:with-param name="object" select="$target"/>
873 </xsl:call-template>
874 </xsl:attribute>
875
876 <xsl:call-template name="inline.italicseq">
877 <xsl:with-param name="content" select="$content"/>
878 </xsl:call-template>
879 </a>
880 </xsl:when>
881 <xsl:otherwise>
882 <xsl:call-template name="inline.italicseq">
883 <xsl:with-param name="content" select="$content"/>
884 </xsl:call-template>
885 </xsl:otherwise>
886 </xsl:choose>
887 </xsl:when>
888
889 <xsl:when test="not(@linkend) and ($firstterm.only.link = 0 or $firstterm = 1) and ($glossterm.auto.link != 0) and $glossary.collection != ''">
890 <xsl:variable name="term">
891 <xsl:choose>
892 <xsl:when test="@baseform"><xsl:value-of select="@baseform"/></xsl:when>
893 <xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
894 </xsl:choose>
895 </xsl:variable>
896
897 <xsl:variable name="cterm" select="(document($glossary.collection,.)//glossentry[glossterm=$term])[1]"/>
898
899 <!-- HACK HACK HACK! But it works... -->
900 <!-- You'd need to do more work if you wanted to chunk on glossdiv, though -->
901
902 <xsl:variable name="glossary" select="//glossary[@role='auto']"/>
903
904 <xsl:if test="count($glossary) != 1">
905 <xsl:message>
906 <xsl:text>Warning: glossary.collection specified, but there are </xsl:text>
907 <xsl:value-of select="count($glossary)"/>
908 <xsl:text> automatic glossaries</xsl:text>
909 </xsl:message>
910 </xsl:if>
911
912 <xsl:variable name="glosschunk">
913 <xsl:call-template name="href.target">
914 <xsl:with-param name="object" select="$glossary"/>
915 </xsl:call-template>
916 </xsl:variable>
917
918 <xsl:variable name="chunkbase">
919 <xsl:choose>
920 <xsl:when test="contains($glosschunk, '#')">
921 <xsl:value-of select="substring-before($glosschunk, '#')"/>
922 </xsl:when>
923 <xsl:otherwise>
924 <xsl:value-of select="$glosschunk"/>
925 </xsl:otherwise>
926 </xsl:choose>
927 </xsl:variable>
928
929 <xsl:choose>
930 <xsl:when test="not($cterm)">
931 <xsl:message>
932 <xsl:text>There's no entry for </xsl:text>
933 <xsl:value-of select="$term"/>
934 <xsl:text> in </xsl:text>
935 <xsl:value-of select="$glossary.collection"/>
936 </xsl:message>
937 <xsl:call-template name="inline.italicseq"/>
938 </xsl:when>
939 <xsl:otherwise>
940 <xsl:variable name="id">
941 <xsl:call-template name="object.id">
942 <xsl:with-param name="object" select="$cterm"/>
943 </xsl:call-template>
944 </xsl:variable>
945 <a href="{$chunkbase}#{$id}">
946 <xsl:apply-templates select="." mode="class.attribute"/>
947 <xsl:call-template name="inline.italicseq">
948 <xsl:with-param name="content" select="$content"/>
949 </xsl:call-template>
950 </a>
951 </xsl:otherwise>
952 </xsl:choose>
953 </xsl:when>
954
955 <xsl:when test="not(@linkend) and ($firstterm.only.link = 0 or $firstterm = 1) and $glossterm.auto.link != 0">
956 <xsl:variable name="term">
957 <xsl:choose>
958 <xsl:when test="@baseform">
959 <xsl:value-of select="normalize-space(@baseform)"/>
960 </xsl:when>
961 <xsl:otherwise>
962 <xsl:value-of select="normalize-space(.)"/>
963 </xsl:otherwise>
964 </xsl:choose>
965 </xsl:variable>
966 <xsl:variable name="targets" select="//glossentry[normalize-space(glossterm)=$term or normalize-space(glossterm/@baseform)=$term]"/>
967 <xsl:variable name="target" select="$targets[1]"/>
968
969 <xsl:choose>
970 <xsl:when test="count($targets)=0">
971 <xsl:message>
972 <xsl:text>Error: no glossentry for glossterm: </xsl:text>
973 <xsl:value-of select="."/>
974 <xsl:text>.</xsl:text>
975 </xsl:message>
976 <xsl:call-template name="inline.italicseq"/>
977 </xsl:when>
978 <xsl:otherwise>
979 <a>
980 <xsl:apply-templates select="." mode="class.attribute"/>
981 <xsl:if test="@id or @xml:id">
982 <xsl:attribute name="id">
983 <xsl:value-of select="(@id|@xml:id)[1]"/>
984 </xsl:attribute>
985 </xsl:if>
986
987 <xsl:attribute name="href">
988 <xsl:call-template name="href.target">
989 <xsl:with-param name="object" select="$target"/>
990 </xsl:call-template>
991 </xsl:attribute>
992
993 <xsl:call-template name="inline.italicseq">
994 <xsl:with-param name="content" select="$content"/>
995 </xsl:call-template>
996 </a>
997 </xsl:otherwise>
998 </xsl:choose>
999 </xsl:when>
1000
1001 <xsl:otherwise>
1002 <xsl:call-template name="inline.italicseq"/>
1003 </xsl:otherwise>
1004 </xsl:choose>
1005</xsl:template>
1006
1007<xsl:template match="termdef">
1008 <span>
1009 <xsl:apply-templates select="." mode="class.attribute"/>
1010 <xsl:call-template name="generate.html.title"/>
1011 <xsl:call-template name="gentext.template">
1012 <xsl:with-param name="context" select="'termdef'"/>
1013 <xsl:with-param name="name" select="'prefix'"/>
1014 </xsl:call-template>
1015 <xsl:apply-templates/>
1016 <xsl:call-template name="gentext.template">
1017 <xsl:with-param name="context" select="'termdef'"/>
1018 <xsl:with-param name="name" select="'suffix'"/>
1019 </xsl:call-template>
1020 </span>
1021</xsl:template>
1022
1023<xsl:template match="sgmltag|tag">
1024 <xsl:call-template name="format.sgmltag"/>
1025</xsl:template>
1026
1027<xsl:template name="format.sgmltag">
1028 <xsl:param name="class">
1029 <xsl:choose>
1030 <xsl:when test="@class">
1031 <xsl:value-of select="@class"/>
1032 </xsl:when>
1033 <xsl:otherwise>element</xsl:otherwise>
1034 </xsl:choose>
1035 </xsl:param>
1036
1037 <xsl:variable name="content">
1038 <xsl:choose>
1039 <xsl:when test="$class='attribute'">
1040 <xsl:apply-templates/>
1041 </xsl:when>
1042 <xsl:when test="$class='attvalue'">
1043 <xsl:apply-templates/>
1044 </xsl:when>
1045 <xsl:when test="$class='element'">
1046 <xsl:apply-templates/>
1047 </xsl:when>
1048 <xsl:when test="$class='endtag'">
1049 <xsl:text>&lt;/</xsl:text>
1050 <xsl:apply-templates/>
1051 <xsl:text>&gt;</xsl:text>
1052 </xsl:when>
1053 <xsl:when test="$class='genentity'">
1054 <xsl:text>&amp;</xsl:text>
1055 <xsl:apply-templates/>
1056 <xsl:text>;</xsl:text>
1057 </xsl:when>
1058 <xsl:when test="$class='numcharref'">
1059 <xsl:text>&amp;#</xsl:text>
1060 <xsl:apply-templates/>
1061 <xsl:text>;</xsl:text>
1062 </xsl:when>
1063 <xsl:when test="$class='paramentity'">
1064 <xsl:text>%</xsl:text>
1065 <xsl:apply-templates/>
1066 <xsl:text>;</xsl:text>
1067 </xsl:when>
1068 <xsl:when test="$class='pi'">
1069 <xsl:text>&lt;?</xsl:text>
1070 <xsl:apply-templates/>
1071 <xsl:text>&gt;</xsl:text>
1072 </xsl:when>
1073 <xsl:when test="$class='xmlpi'">
1074 <xsl:text>&lt;?</xsl:text>
1075 <xsl:apply-templates/>
1076 <xsl:text>?&gt;</xsl:text>
1077 </xsl:when>
1078 <xsl:when test="$class='starttag'">
1079 <xsl:text>&lt;</xsl:text>
1080 <xsl:apply-templates/>
1081 <xsl:text>&gt;</xsl:text>
1082 </xsl:when>
1083 <xsl:when test="$class='emptytag'">
1084 <xsl:text>&lt;</xsl:text>
1085 <xsl:apply-templates/>
1086 <xsl:text>/&gt;</xsl:text>
1087 </xsl:when>
1088 <xsl:when test="$class='sgmlcomment' or $class='comment'">
1089 <xsl:text>&lt;!--</xsl:text>
1090 <xsl:apply-templates/>
1091 <xsl:text>--&gt;</xsl:text>
1092 </xsl:when>
1093 <xsl:otherwise>
1094 <xsl:apply-templates/>
1095 </xsl:otherwise>
1096 </xsl:choose>
1097 </xsl:variable>
1098
1099 <code>
1100 <xsl:apply-templates select="." mode="class.attribute">
1101 <xsl:with-param name="class" select="concat('sgmltag-', $class)"/>
1102 </xsl:apply-templates>
1103 <xsl:call-template name="generate.html.title"/>
1104 <xsl:call-template name="simple.xlink">
1105 <xsl:with-param name="content" select="$content"/>
1106 </xsl:call-template>
1107 </code>
1108</xsl:template>
1109
1110<xsl:template match="email">
1111 <xsl:call-template name="inline.monoseq">
1112 <xsl:with-param name="content">
1113 <xsl:if test="not($email.delimiters.enabled = 0)">
1114 <xsl:text>&lt;</xsl:text>
1115 </xsl:if>
1116 <a>
1117 <xsl:apply-templates select="." mode="class.attribute"/>
1118 <xsl:attribute name="href">
1119 <xsl:text>mailto:</xsl:text>
1120 <xsl:value-of select="."/>
1121 </xsl:attribute>
1122 <xsl:apply-templates/>
1123 </a>
1124 <xsl:if test="not($email.delimiters.enabled = 0)">
1125 <xsl:text>&gt;</xsl:text>
1126 </xsl:if>
1127 </xsl:with-param>
1128 </xsl:call-template>
1129</xsl:template>
1130
1131<xsl:template match="keycombo">
1132 <xsl:variable name="action" select="@action"/>
1133 <xsl:variable name="joinchar">
1134 <xsl:choose>
1135 <xsl:when test="$action='seq'"><xsl:text> </xsl:text></xsl:when>
1136 <xsl:when test="$action='simul'">+</xsl:when>
1137 <xsl:when test="$action='press'">-</xsl:when>
1138 <xsl:when test="$action='click'">-</xsl:when>
1139 <xsl:when test="$action='double-click'">-</xsl:when>
1140 <xsl:when test="$action='other'"/>
1141 <xsl:otherwise>+</xsl:otherwise>
1142 </xsl:choose>
1143 </xsl:variable>
1144 <xsl:for-each select="*">
1145 <xsl:if test="position()&gt;1"><xsl:value-of select="$joinchar"/></xsl:if>
1146 <xsl:apply-templates select="."/>
1147 </xsl:for-each>
1148</xsl:template>
1149
1150<xsl:template match="uri">
1151 <xsl:call-template name="inline.monoseq"/>
1152</xsl:template>
1153
1154<!-- ==================================================================== -->
1155
1156<xsl:template match="menuchoice">
1157 <xsl:variable name="shortcut" select="./shortcut"/>
1158 <xsl:call-template name="process.menuchoice"/>
1159 <xsl:if test="$shortcut">
1160 <xsl:text> (</xsl:text>
1161 <xsl:apply-templates select="$shortcut"/>
1162 <xsl:text>)</xsl:text>
1163 </xsl:if>
1164</xsl:template>
1165
1166<xsl:template name="process.menuchoice">
1167 <xsl:param name="nodelist" select="guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu|interface"/><!-- not(shortcut) -->
1168 <xsl:param name="count" select="1"/>
1169
1170 <xsl:choose>
1171 <xsl:when test="$count&gt;count($nodelist)"/>
1172 <xsl:when test="$count=1">
1173 <xsl:apply-templates select="$nodelist[$count=position()]"/>
1174 <xsl:call-template name="process.menuchoice">
1175 <xsl:with-param name="nodelist" select="$nodelist"/>
1176 <xsl:with-param name="count" select="$count+1"/>
1177 </xsl:call-template>
1178 </xsl:when>
1179 <xsl:otherwise>
1180 <xsl:variable name="node" select="$nodelist[$count=position()]"/>
1181 <xsl:choose>
1182 <xsl:when test="local-name($node)='guimenuitem' or local-name($node)='guisubmenu'">
1183 <xsl:value-of select="$menuchoice.menu.separator"/>
1184 </xsl:when>
1185 <xsl:otherwise>
1186 <xsl:value-of select="$menuchoice.separator"/>
1187 </xsl:otherwise>
1188 </xsl:choose>
1189 <xsl:apply-templates select="$node"/>
1190 <xsl:call-template name="process.menuchoice">
1191 <xsl:with-param name="nodelist" select="$nodelist"/>
1192 <xsl:with-param name="count" select="$count+1"/>
1193 </xsl:call-template>
1194 </xsl:otherwise>
1195 </xsl:choose>
1196</xsl:template>
1197
1198<!-- ==================================================================== -->
1199
1200<xsl:template match="optional">
1201 <xsl:value-of select="$arg.choice.opt.open.str"/>
1202 <xsl:call-template name="inline.charseq"/>
1203 <xsl:value-of select="$arg.choice.opt.close.str"/>
1204</xsl:template>
1205
1206<xsl:template match="citation">
1207 <!-- todo: integrate with bibliography collection -->
1208 <xsl:variable name="targets" select="(//biblioentry | //bibliomixed)[abbrev = string(current())]"/>
1209 <xsl:variable name="target" select="$targets[1]"/>
1210
1211 <xsl:choose>
1212 <!-- try automatic linking based on match to abbrev -->
1213 <xsl:when test="$target and not(xref) and not(link)">
1214
1215 <xsl:text>[</xsl:text>
1216 <a>
1217 <xsl:apply-templates select="." mode="class.attribute"/>
1218 <xsl:attribute name="href">
1219 <xsl:call-template name="href.target">
1220 <xsl:with-param name="object" select="$target"/>
1221 </xsl:call-template>
1222 </xsl:attribute>
1223
1224 <xsl:choose>
1225 <xsl:when test="$bibliography.numbered != 0">
1226 <xsl:apply-templates select="$target" mode="citation"/>
1227 </xsl:when>
1228 <xsl:otherwise>
1229 <xsl:call-template name="inline.charseq"/>
1230 </xsl:otherwise>
1231 </xsl:choose>
1232
1233 </a>
1234 <xsl:text>]</xsl:text>
1235 </xsl:when>
1236 <xsl:otherwise>
1237 <xsl:text>[</xsl:text>
1238 <xsl:call-template name="inline.charseq"/>
1239 <xsl:text>]</xsl:text>
1240 </xsl:otherwise>
1241 </xsl:choose>
1242</xsl:template>
1243
1244<xsl:template match="biblioentry|bibliomixed" mode="citation">
1245 <xsl:number from="bibliography" count="biblioentry|bibliomixed" level="any" format="1"/>
1246</xsl:template>
1247
1248<!-- ==================================================================== -->
1249
1250<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]">
1251 <xsl:if test="$show.comments != 0">
1252 <p class="remark"><i><xsl:call-template name="inline.charseq"/></i></p>
1253 </xsl:if>
1254</xsl:template>
1255
1256<xsl:template match="comment|remark">
1257 <xsl:if test="$show.comments != 0">
1258 <em><xsl:call-template name="inline.charseq"/></em>
1259 </xsl:if>
1260</xsl:template>
1261
1262<!-- ==================================================================== -->
1263
1264<xsl:template match="productname">
1265 <xsl:call-template name="inline.charseq"/>
1266 <xsl:if test="@class">
1267 <xsl:call-template name="dingbat">
1268 <xsl:with-param name="dingbat" select="@class"/>
1269 </xsl:call-template>
1270 </xsl:if>
1271</xsl:template>
1272
1273<xsl:template match="productnumber">
1274 <xsl:call-template name="inline.charseq"/>
1275</xsl:template>
1276
1277<!-- ==================================================================== -->
1278
1279<xsl:template match="pob|street|city|state|postcode|country|otheraddr">
1280 <xsl:call-template name="inline.charseq"/>
1281</xsl:template>
1282
1283<xsl:template match="phone|fax">
1284 <xsl:call-template name="inline.charseq"/>
1285</xsl:template>
1286
1287<!-- in Addresses, for example -->
1288<xsl:template match="honorific|firstname|surname|lineage|othername">
1289 <xsl:call-template name="inline.charseq"/>
1290</xsl:template>
1291
1292<!-- ==================================================================== -->
1293
1294<xsl:template match="person">
1295 <xsl:param name="content">
1296 <xsl:call-template name="anchor"/>
1297 <xsl:call-template name="simple.xlink">
1298 <xsl:with-param name="content">
1299 <xsl:apply-templates select="personname"/>
1300 </xsl:with-param>
1301 </xsl:call-template>
1302 <xsl:call-template name="apply-annotations"/>
1303 </xsl:param>
1304
1305 <span>
1306 <xsl:apply-templates select="." mode="class.attribute"/>
1307 <xsl:copy-of select="$content"/>
1308 </span>
1309</xsl:template>
1310
1311<xsl:template match="personname">
1312 <xsl:param name="content">
1313 <xsl:call-template name="anchor"/>
1314 <xsl:call-template name="simple.xlink">
1315 <xsl:with-param name="content">
1316 <xsl:call-template name="person.name"/>
1317 </xsl:with-param>
1318 </xsl:call-template>
1319 <xsl:call-template name="apply-annotations"/>
1320 </xsl:param>
1321
1322 <span>
1323 <xsl:apply-templates select="." mode="class.attribute"/>
1324 <xsl:copy-of select="$content"/>
1325 </span>
1326</xsl:template>
1327
1328<!-- ==================================================================== -->
1329
1330<xsl:template match="org">
1331 <xsl:param name="content">
1332 <xsl:call-template name="anchor"/>
1333 <xsl:call-template name="simple.xlink">
1334 <xsl:with-param name="content">
1335 <xsl:apply-templates/>
1336 </xsl:with-param>
1337 </xsl:call-template>
1338 <xsl:call-template name="apply-annotations"/>
1339 </xsl:param>
1340
1341 <span>
1342 <xsl:apply-templates select="." mode="class.attribute"/>
1343 <xsl:copy-of select="$content"/>
1344 </span>
1345</xsl:template>
1346
1347<xsl:template match="orgname">
1348 <xsl:param name="content">
1349 <xsl:call-template name="anchor"/>
1350 <xsl:call-template name="simple.xlink">
1351 <xsl:with-param name="content">
1352 <xsl:apply-templates/>
1353 </xsl:with-param>
1354 </xsl:call-template>
1355 <xsl:call-template name="apply-annotations"/>
1356 </xsl:param>
1357
1358 <span>
1359 <xsl:apply-templates select="." mode="class.attribute"/>
1360 <xsl:copy-of select="$content"/>
1361 </span>
1362</xsl:template>
1363
1364<xsl:template match="orgdiv">
1365 <xsl:param name="content">
1366 <xsl:call-template name="anchor"/>
1367 <xsl:call-template name="simple.xlink">
1368 <xsl:with-param name="content">
1369 <xsl:apply-templates/>
1370 </xsl:with-param>
1371 </xsl:call-template>
1372 <xsl:call-template name="apply-annotations"/>
1373 </xsl:param>
1374
1375 <span>
1376 <xsl:apply-templates select="." mode="class.attribute"/>
1377 <xsl:copy-of select="$content"/>
1378 </span>
1379</xsl:template>
1380
1381<xsl:template match="affiliation">
1382 <xsl:param name="content">
1383 <xsl:call-template name="anchor"/>
1384 <xsl:call-template name="simple.xlink">
1385 <xsl:with-param name="content">
1386 <xsl:call-template name="person.name"/>
1387 </xsl:with-param>
1388 </xsl:call-template>
1389 <xsl:call-template name="apply-annotations"/>
1390 </xsl:param>
1391
1392 <span>
1393 <xsl:apply-templates select="." mode="class.attribute"/>
1394 <xsl:copy-of select="$content"/>
1395 </span>
1396</xsl:template>
1397
1398<!-- ==================================================================== -->
1399
1400<xsl:template match="beginpage">
1401 <!-- does nothing; this *is not* markup to force a page break. -->
1402</xsl:template>
1403
1404</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.