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="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xlink" version="1.0">
6 <!-- ********************************************************************
7 $Id: glossary.xsl 9922 2014-07-31 17:33:43Z bobstayton $
8 ********************************************************************
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.
14 ******************************************************************** -->
16 <!-- ==================================================================== -->
18 <xsl:template match="glossary">
20 <xsl:variable name="language">
21 <xsl:call-template name="l10n.language"/>
24 <xsl:variable name="lowercase">
25 <xsl:call-template name="gentext">
26 <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
30 <xsl:variable name="uppercase">
31 <xsl:call-template name="gentext">
32 <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
36 <xsl:call-template name="id.warning"/>
38 <xsl:element name="{$div.element}" namespace="http://www.w3.org/1999/xhtml">
39 <xsl:apply-templates select="." mode="common.html.attributes"/>
40 <xsl:call-template name="id.attribute">
41 <xsl:with-param name="conditional" select="0"/>
44 <xsl:call-template name="glossary.titlepage"/>
47 <xsl:when test="glossdiv">
48 <xsl:apply-templates select="(glossdiv[1]/preceding-sibling::*)"/>
50 <xsl:when test="glossentry">
51 <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
54 <xsl:apply-templates/>
59 <xsl:when test="glossdiv">
60 <xsl:apply-templates select="glossdiv"/>
62 <xsl:when test="glossentry">
65 <xsl:when test="$glossary.sort != 0">
66 <xsl:apply-templates select="glossentry">
67 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'AaÀàÁáÂâÃãÄäÅåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌDžDzȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚLjȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠNjǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))"/>
68 </xsl:apply-templates>
71 <xsl:apply-templates select="glossentry"/>
77 <!-- empty glossary -->
81 <xsl:if test="not(parent::article)">
82 <xsl:call-template name="process.footnotes"/>
87 <xsl:template match="glossary/glossaryinfo"/>
88 <xsl:template match="glossary/info"/>
89 <xsl:template match="glossary/title"/>
90 <xsl:template match="glossary/subtitle"/>
91 <xsl:template match="glossary/titleabbrev"/>
93 <!-- ==================================================================== -->
95 <xsl:template match="glosslist">
97 <xsl:variable name="language">
98 <xsl:call-template name="l10n.language"/>
101 <xsl:variable name="lowercase">
102 <xsl:call-template name="gentext">
103 <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
107 <xsl:variable name="uppercase">
108 <xsl:call-template name="gentext">
109 <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
114 <xsl:apply-templates select="." mode="common.html.attributes"/>
115 <xsl:call-template name="id.attribute"/>
116 <xsl:call-template name="anchor"/>
117 <xsl:if test="blockinfo/title|info/title|title">
118 <xsl:call-template name="formal.object.heading"/>
122 <xsl:when test="$glossary.sort != 0">
123 <xsl:apply-templates select="glossentry">
124 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'AaÀàÁáÂâÃãÄäÅåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌDžDzȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚLjȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠNjǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))"/>
125 </xsl:apply-templates>
128 <xsl:apply-templates select="glossentry"/>
135 <!-- ==================================================================== -->
137 <xsl:template match="glossdiv">
139 <xsl:variable name="language">
140 <xsl:call-template name="l10n.language"/>
143 <xsl:variable name="lowercase">
144 <xsl:call-template name="gentext">
145 <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
149 <xsl:variable name="uppercase">
150 <xsl:call-template name="gentext">
151 <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
155 <xsl:call-template name="id.warning"/>
158 <xsl:apply-templates select="." mode="common.html.attributes"/>
159 <xsl:call-template name="id.attribute">
160 <xsl:with-param name="conditional" select="0"/>
162 <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
166 <xsl:when test="$glossary.sort != 0">
167 <xsl:apply-templates select="glossentry">
168 <xsl:sort lang="{$language}" select="translate(glossterm, $lowercase, $uppercase)"/>
169 </xsl:apply-templates>
172 <xsl:apply-templates select="glossentry"/>
179 <xsl:template match="glossdiv/title">
181 <xsl:apply-templates select="." mode="common.html.attributes"/>
182 <xsl:apply-templates/>
186 <!-- ==================================================================== -->
190 GlossTerm, Acronym?, Abbrev?,
193 (GlossSee | GlossDef+)
196 <xsl:template match="glossentry">
198 <xsl:when test="$glossentry.show.acronym = 'primary'">
200 <xsl:call-template name="id.attribute">
201 <xsl:with-param name="conditional">
203 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
204 <xsl:otherwise>1</xsl:otherwise>
208 <xsl:call-template name="anchor">
209 <xsl:with-param name="conditional">
211 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
212 <xsl:otherwise>1</xsl:otherwise>
218 <xsl:when test="acronym|abbrev">
219 <xsl:apply-templates select="acronym|abbrev"/>
220 <xsl:text> (</xsl:text>
221 <xsl:apply-templates select="glossterm"/>
222 <xsl:text>)</xsl:text>
225 <xsl:apply-templates select="glossterm"/>
230 <xsl:when test="$glossentry.show.acronym = 'yes'">
232 <xsl:call-template name="id.attribute">
233 <xsl:with-param name="conditional">
235 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
236 <xsl:otherwise>1</xsl:otherwise>
240 <xsl:call-template name="anchor">
241 <xsl:with-param name="conditional">
243 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
244 <xsl:otherwise>1</xsl:otherwise>
249 <xsl:apply-templates select="glossterm"/>
251 <xsl:if test="acronym|abbrev">
252 <xsl:text> (</xsl:text>
253 <xsl:apply-templates select="acronym|abbrev"/>
254 <xsl:text>)</xsl:text>
256 <xsl:apply-templates select="indexterm"/>
261 <xsl:call-template name="id.attribute">
262 <xsl:with-param name="conditional">
264 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
265 <xsl:otherwise>1</xsl:otherwise>
269 <xsl:call-template name="anchor">
270 <xsl:with-param name="conditional">
272 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
273 <xsl:otherwise>1</xsl:otherwise>
278 <xsl:apply-templates select="glossterm"/>
279 <xsl:apply-templates select="indexterm"/>
284 <xsl:apply-templates select="glosssee|glossdef"/>
287 <xsl:template match="glossentry/glossterm">
289 <xsl:apply-templates select="." mode="common.html.attributes"/>
290 <xsl:call-template name="id.attribute"/>
291 <xsl:call-template name="anchor"/>
292 <xsl:apply-templates/>
294 <xsl:if test="following-sibling::glossterm">, </xsl:if>
297 <xsl:template match="glossentry/acronym">
298 <xsl:apply-templates/>
299 <xsl:if test="following-sibling::acronym|following-sibling::abbrev">, </xsl:if>
302 <xsl:template match="glossentry/abbrev">
303 <xsl:apply-templates/>
304 <xsl:if test="following-sibling::acronym|following-sibling::abbrev">, </xsl:if>
307 <xsl:template match="glossentry/revhistory">
310 <xsl:template match="glossentry/glosssee">
311 <xsl:variable name="otherterm" select="@otherterm"/>
312 <xsl:variable name="targets" select="key('id', $otherterm)"/>
313 <xsl:variable name="target" select="$targets[1]"/>
314 <xsl:variable name="xlink" select="@xlink:href"/>
318 <xsl:variable name="template">
319 <xsl:call-template name="gentext.template">
320 <xsl:with-param name="context" select="'glossary'"/>
321 <xsl:with-param name="name" select="'see'"/>
325 <xsl:variable name="title">
327 <xsl:when test="$target">
329 <xsl:apply-templates select="." mode="common.html.attributes"/>
330 <xsl:call-template name="id.attribute"/>
331 <xsl:attribute name="href">
332 <xsl:call-template name="href.target">
333 <xsl:with-param name="object" select="$target"/>
336 <xsl:apply-templates select="$target" mode="xref-to"/>
339 <xsl:when test="$xlink">
340 <xsl:call-template name="simple.xlink">
341 <xsl:with-param name="content">
342 <xsl:apply-templates/>
346 <xsl:when test="$otherterm != '' and not($target)">
348 <xsl:text>Warning: glosssee @otherterm reference not found: </xsl:text>
349 <xsl:value-of select="$otherterm"/>
351 <xsl:apply-templates/>
354 <xsl:apply-templates/>
359 <xsl:call-template name="substitute-markup">
360 <xsl:with-param name="template" select="$template"/>
361 <xsl:with-param name="title" select="$title"/>
367 <xsl:template match="glossentry/glossdef">
369 <xsl:apply-templates select="." mode="common.html.attributes"/>
370 <xsl:call-template name="id.attribute"/>
371 <xsl:call-template name="anchor"/>
372 <xsl:apply-templates select="*[local-name(.) != 'glossseealso']"/>
373 <xsl:if test="glossseealso">
375 <xsl:variable name="template">
376 <xsl:call-template name="gentext.template">
377 <xsl:with-param name="context" select="'glossary'"/>
378 <xsl:with-param name="name" select="'seealso'"/>
381 <xsl:variable name="title">
382 <xsl:apply-templates select="glossseealso"/>
384 <xsl:call-template name="substitute-markup">
385 <xsl:with-param name="template" select="$template"/>
386 <xsl:with-param name="title" select="$title"/>
393 <xsl:template match="glossseealso">
394 <xsl:variable name="otherterm" select="@otherterm"/>
395 <xsl:variable name="targets" select="key('id', $otherterm)"/>
396 <xsl:variable name="target" select="$targets[1]"/>
397 <xsl:variable name="xlink" select="@xlink:href"/>
400 <xsl:when test="$target">
402 <xsl:apply-templates select="." mode="common.html.attributes"/>
403 <xsl:call-template name="id.attribute"/>
404 <xsl:attribute name="href">
405 <xsl:call-template name="href.target">
406 <xsl:with-param name="object" select="$target"/>
409 <xsl:apply-templates select="$target" mode="xref-to"/>
412 <xsl:when test="$xlink">
413 <xsl:call-template name="simple.xlink">
414 <xsl:with-param name="content">
415 <xsl:apply-templates/>
419 <xsl:when test="$otherterm != '' and not($target)">
421 <xsl:text>Warning: glossseealso @otherterm reference not found: </xsl:text>
422 <xsl:value-of select="$otherterm"/>
424 <xsl:apply-templates/>
427 <xsl:apply-templates/>
432 <xsl:when test="position() = last()"/>
434 <xsl:call-template name="gentext.template">
435 <xsl:with-param name="context" select="'glossary'"/>
436 <xsl:with-param name="name" select="'seealso-separator'"/>
442 <!-- ==================================================================== -->
444 <!-- Glossary collection -->
446 <xsl:template match="glossary[@role='auto']" priority="2">
448 <xsl:variable name="language">
449 <xsl:call-template name="l10n.language"/>
452 <xsl:variable name="lowercase">
453 <xsl:call-template name="gentext">
454 <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
458 <xsl:variable name="uppercase">
459 <xsl:call-template name="gentext">
460 <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
464 <xsl:variable name="terms" select="//glossterm[not(parent::glossdef)]|//firstterm"/>
465 <xsl:variable name="collection" select="document($glossary.collection, .)"/>
467 <xsl:call-template name="id.warning"/>
469 <xsl:if test="$glossary.collection = ''">
471 <xsl:text>Warning: processing automatic glossary </xsl:text>
472 <xsl:text>without a glossary.collection file.</xsl:text>
476 <xsl:if test="not($collection) and $glossary.collection != ''">
478 <xsl:text>Warning: processing automatic glossary but unable to </xsl:text>
479 <xsl:text>open glossary.collection file '</xsl:text>
480 <xsl:value-of select="$glossary.collection"/>
481 <xsl:text>'</xsl:text>
486 <xsl:apply-templates select="." mode="common.html.attributes"/>
487 <xsl:call-template name="id.attribute">
488 <xsl:with-param name="conditional" select="0"/>
491 <xsl:call-template name="glossary.titlepage"/>
494 <xsl:when test="glossdiv and $collection//glossdiv">
495 <xsl:for-each select="$collection//glossdiv">
496 <!-- first see if there are any in this div -->
497 <xsl:variable name="exist.test">
498 <xsl:for-each select="glossentry">
499 <xsl:variable name="cterm" select="glossterm"/>
500 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
501 <xsl:value-of select="glossterm"/>
506 <xsl:if test="$exist.test != ''">
507 <xsl:apply-templates select="." mode="auto-glossary">
508 <xsl:with-param name="terms" select="$terms"/>
509 </xsl:apply-templates>
516 <xsl:when test="$glossary.sort != 0">
517 <xsl:for-each select="$collection//glossentry">
518 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'AaÀàÁáÂâÃãÄäÅåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌDžDzȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚLjȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠNjǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))"/>
519 <xsl:variable name="cterm" select="glossterm"/>
520 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
521 <xsl:apply-templates select="." mode="auto-glossary"/>
526 <xsl:for-each select="$collection//glossentry">
527 <xsl:variable name="cterm" select="glossterm"/>
528 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
529 <xsl:apply-templates select="." mode="auto-glossary"/>
538 <xsl:if test="not(parent::article)">
539 <xsl:call-template name="process.footnotes"/>
544 <xsl:template match="*" mode="auto-glossary">
545 <!-- pop back out to the default mode for most elements -->
546 <xsl:apply-templates select="."/>
549 <xsl:template match="glossdiv" mode="auto-glossary">
550 <xsl:param name="terms" select="."/>
553 <xsl:variable name="language">
554 <xsl:call-template name="l10n.language"/>
557 <xsl:variable name="lowercase">
558 <xsl:call-template name="gentext">
559 <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
563 <xsl:variable name="uppercase">
564 <xsl:call-template name="gentext">
565 <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
571 <xsl:apply-templates select="." mode="common.html.attributes"/>
572 <xsl:call-template name="id.attribute">
573 <xsl:with-param name="conditional" select="0"/>
575 <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
579 <xsl:when test="$glossary.sort != 0">
580 <xsl:for-each select="glossentry">
581 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'AaÀàÁáÂâÃãÄäÅåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧḀḁẚẠạẢảẤấẦầẨẩẪẫẬậẮắẰằẲẳẴẵẶặBbƀƁɓƂƃḂḃḄḅḆḇCcÇçĆćĈĉĊċČčƇƈɕḈḉDdĎďĐđƊɗƋƌDžDzȡɖḊḋḌḍḎḏḐḑḒḓEeÈèÉéÊêËëĒēĔĕĖėĘęĚěȄȅȆȇȨȩḔḕḖḗḘḙḚḛḜḝẸẹẺẻẼẽẾếỀềỂểỄễỆệFfƑƒḞḟGgĜĝĞğĠġĢģƓɠǤǥǦǧǴǵḠḡHhĤĥĦħȞȟɦḢḣḤḥḦḧḨḩḪḫẖIiÌìÍíÎîÏïĨĩĪīĬĭĮįİƗɨǏǐȈȉȊȋḬḭḮḯỈỉỊịJjĴĵǰʝKkĶķƘƙǨǩḰḱḲḳḴḵLlĹĺĻļĽľĿŀŁłƚLjȴɫɬɭḶḷḸḹḺḻḼḽMmɱḾḿṀṁṂṃNnÑñŃńŅņŇňƝɲƞȠNjǸǹȵɳṄṅṆṇṈṉṊṋOoÒòÓóÔôÕõÖöØøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱṌṍṎṏṐṑṒṓỌọỎỏỐốỒồỔổỖỗỘộỚớỜờỞởỠỡỢợPpƤƥṔṕṖṗQqʠRrŔŕŖŗŘřȐȑȒȓɼɽɾṘṙṚṛṜṝṞṟSsŚśŜŝŞşŠšȘșʂṠṡṢṣṤṥṦṧṨṩTtŢţŤťŦŧƫƬƭƮʈȚțȶṪṫṬṭṮṯṰṱẗUuÙùÚúÛûÜüŨũŪūŬŭŮůŰűŲųƯưǓǔǕǖǗǘǙǚǛǜȔȕȖȗṲṳṴṵṶṷṸṹṺṻỤụỦủỨứỪừỬửỮữỰựVvƲʋṼṽṾṿWwŴŵẀẁẂẃẄẅẆẇẈẉẘXxẊẋẌẍYyÝýÿŸŶŷƳƴȲȳẎẏẙỲỳỴỵỶỷỸỹZzŹźŻżŽžƵƶȤȥʐʑẐẑẒẓẔẕẕ', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))"/>
582 <xsl:variable name="cterm" select="glossterm"/>
583 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
584 <xsl:apply-templates select="." mode="auto-glossary"/>
589 <xsl:for-each select="glossentry">
590 <xsl:variable name="cterm" select="glossterm"/>
591 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
592 <xsl:apply-templates select="." mode="auto-glossary"/>
601 <!-- ==================================================================== -->