1 <?xml version="1.0" encoding="ASCII"?><!--This file was created automatically by html2xhtml--><!--from the HTML stylesheets.--><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:d="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xlink d" version="1.0">
3 <!-- ********************************************************************
5 This file is part of the XSL DocBook Stylesheet distribution.
6 See ../README or http://cdn.docbook.org/release/xsl/current/ for
7 copyright and other information.
9 ******************************************************************** -->
11 <!-- ==================================================================== -->
13 <xsl:template match="d:glossary">
15 <xsl:variable name="language">
16 <xsl:call-template name="l10n.language"/>
19 <xsl:variable name="lowercase">
20 <xsl:call-template name="gentext">
21 <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
25 <xsl:variable name="uppercase">
26 <xsl:call-template name="gentext">
27 <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
31 <xsl:call-template name="id.warning"/>
33 <xsl:element name="{$div.element}" namespace="http://www.w3.org/1999/xhtml">
34 <xsl:apply-templates select="." mode="common.html.attributes"/>
35 <xsl:call-template name="id.attribute">
36 <xsl:with-param name="conditional" select="0"/>
39 <xsl:call-template name="glossary.titlepage"/>
42 <xsl:when test="d:glossdiv">
43 <xsl:apply-templates select="(d:glossdiv[1]/preceding-sibling::*)"/>
45 <xsl:when test="d:glossentry">
46 <xsl:apply-templates select="(d:glossentry[1]/preceding-sibling::*)"/>
49 <xsl:apply-templates/>
54 <xsl:when test="d:glossdiv">
55 <xsl:apply-templates select="d:glossdiv"/>
57 <xsl:when test="d:glossentry">
60 <xsl:when test="$glossary.sort != 0">
61 <xsl:apply-templates select="d:glossentry">
62 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, d:glossterm[not(parent::d:glossentry/@sortas) or parent::d: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'))"/>
63 </xsl:apply-templates>
66 <xsl:apply-templates select="d:glossentry"/>
72 <!-- empty glossary -->
76 <xsl:if test="not(parent::d:article)">
77 <xsl:call-template name="process.footnotes"/>
82 <xsl:template match="d:glossary/d:glossaryinfo"/>
83 <xsl:template match="d:glossary/d:info"/>
84 <xsl:template match="d:glossary/d:title"/>
85 <xsl:template match="d:glossary/d:subtitle"/>
86 <xsl:template match="d:glossary/d:titleabbrev"/>
88 <!-- ==================================================================== -->
90 <xsl:template match="d:glosslist">
92 <xsl:variable name="language">
93 <xsl:call-template name="l10n.language"/>
96 <xsl:variable name="lowercase">
97 <xsl:call-template name="gentext">
98 <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
102 <xsl:variable name="uppercase">
103 <xsl:call-template name="gentext">
104 <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
109 <xsl:apply-templates select="." mode="common.html.attributes"/>
110 <xsl:call-template name="id.attribute"/>
111 <xsl:call-template name="anchor"/>
112 <xsl:if test="d:blockinfo/d:title|d:info/d:title|d:title">
113 <xsl:call-template name="formal.object.heading"/>
117 <xsl:when test="$glossary.sort != 0">
118 <xsl:apply-templates select="d:glossentry">
119 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, d:glossterm[not(parent::d:glossentry/@sortas) or parent::d: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'))"/>
120 </xsl:apply-templates>
123 <xsl:apply-templates select="d:glossentry"/>
130 <!-- ==================================================================== -->
132 <xsl:template match="d:glossdiv">
134 <xsl:variable name="language">
135 <xsl:call-template name="l10n.language"/>
138 <xsl:variable name="lowercase">
139 <xsl:call-template name="gentext">
140 <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
144 <xsl:variable name="uppercase">
145 <xsl:call-template name="gentext">
146 <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
150 <xsl:call-template name="id.warning"/>
153 <xsl:apply-templates select="." mode="common.html.attributes"/>
154 <xsl:call-template name="id.attribute">
155 <xsl:with-param name="conditional" select="0"/>
157 <xsl:apply-templates select="(d:glossentry[1]/preceding-sibling::*)"/>
161 <xsl:when test="$glossary.sort != 0">
162 <xsl:apply-templates select="d:glossentry">
163 <xsl:sort lang="{$language}" select="translate(d:glossterm, $lowercase, $uppercase)"/>
164 </xsl:apply-templates>
167 <xsl:apply-templates select="d:glossentry"/>
174 <xsl:template match="d:glossdiv/d:title">
176 <xsl:apply-templates select="." mode="common.html.attributes"/>
177 <xsl:apply-templates/>
181 <!-- ==================================================================== -->
185 GlossTerm, Acronym?, Abbrev?,
188 (GlossSee | GlossDef+)
191 <xsl:template match="d:glossentry">
193 <xsl:when test="$glossentry.show.acronym = 'primary'">
195 <xsl:call-template name="id.attribute">
196 <xsl:with-param name="conditional">
198 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
199 <xsl:otherwise>1</xsl:otherwise>
203 <xsl:call-template name="anchor">
204 <xsl:with-param name="conditional">
206 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
207 <xsl:otherwise>1</xsl:otherwise>
213 <xsl:when test="d:acronym|d:abbrev">
214 <xsl:apply-templates select="d:acronym|d:abbrev"/>
215 <xsl:text> (</xsl:text>
216 <xsl:apply-templates select="d:glossterm"/>
217 <xsl:text>)</xsl:text>
220 <xsl:apply-templates select="d:glossterm"/>
225 <xsl:when test="$glossentry.show.acronym = 'yes'">
227 <xsl:call-template name="id.attribute">
228 <xsl:with-param name="conditional">
230 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
231 <xsl:otherwise>1</xsl:otherwise>
235 <xsl:call-template name="anchor">
236 <xsl:with-param name="conditional">
238 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
239 <xsl:otherwise>1</xsl:otherwise>
244 <xsl:apply-templates select="d:glossterm"/>
246 <xsl:if test="d:acronym|d:abbrev">
247 <xsl:text> (</xsl:text>
248 <xsl:apply-templates select="d:acronym|d:abbrev"/>
249 <xsl:text>)</xsl:text>
251 <xsl:apply-templates select="d:indexterm"/>
256 <xsl:call-template name="id.attribute">
257 <xsl:with-param name="conditional">
259 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
260 <xsl:otherwise>1</xsl:otherwise>
264 <xsl:call-template name="anchor">
265 <xsl:with-param name="conditional">
267 <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
268 <xsl:otherwise>1</xsl:otherwise>
273 <xsl:apply-templates select="d:glossterm"/>
274 <xsl:apply-templates select="d:indexterm"/>
279 <xsl:apply-templates select="d:glosssee|d:glossdef"/>
282 <xsl:template match="d:glossentry/d:glossterm">
284 <xsl:apply-templates select="." mode="common.html.attributes"/>
285 <xsl:call-template name="id.attribute"/>
286 <xsl:call-template name="anchor"/>
287 <xsl:apply-templates/>
289 <xsl:if test="following-sibling::d:glossterm">, </xsl:if>
292 <xsl:template match="d:glossentry/d:acronym">
293 <xsl:apply-templates/>
294 <xsl:if test="following-sibling::d:acronym|following-sibling::d:abbrev">, </xsl:if>
297 <xsl:template match="d:glossentry/d:abbrev">
298 <xsl:apply-templates/>
299 <xsl:if test="following-sibling::d:acronym|following-sibling::d:abbrev">, </xsl:if>
302 <xsl:template match="d:glossentry/d:revhistory">
305 <xsl:template match="d:glossentry/d:glosssee">
306 <xsl:variable name="otherterm" select="@otherterm"/>
307 <xsl:variable name="targets" select="key('id', $otherterm)"/>
308 <xsl:variable name="target" select="$targets[1]"/>
309 <xsl:variable name="xlink" select="@xlink:href"/>
313 <xsl:variable name="template">
314 <xsl:call-template name="gentext.template">
315 <xsl:with-param name="context" select="'glossary'"/>
316 <xsl:with-param name="name" select="'see'"/>
320 <xsl:variable name="title">
322 <xsl:when test="$target">
324 <xsl:apply-templates select="." mode="common.html.attributes"/>
325 <xsl:call-template name="id.attribute"/>
326 <xsl:attribute name="href">
327 <xsl:call-template name="href.target">
328 <xsl:with-param name="object" select="$target"/>
331 <xsl:apply-templates select="$target" mode="xref-to"/>
334 <xsl:when test="$xlink">
335 <xsl:call-template name="simple.xlink">
336 <xsl:with-param name="content">
337 <xsl:apply-templates/>
341 <xsl:when test="$otherterm != '' and not($target)">
343 <xsl:text>Warning: glosssee @otherterm reference not found: </xsl:text>
344 <xsl:value-of select="$otherterm"/>
346 <xsl:apply-templates/>
349 <xsl:apply-templates/>
354 <xsl:call-template name="substitute-markup">
355 <xsl:with-param name="template" select="$template"/>
356 <xsl:with-param name="title" select="$title"/>
362 <xsl:template match="d:glossentry/d:glossdef">
364 <xsl:apply-templates select="." mode="common.html.attributes"/>
365 <xsl:call-template name="id.attribute"/>
366 <xsl:call-template name="anchor"/>
367 <xsl:apply-templates select="*[local-name(.) != 'glossseealso']"/>
368 <xsl:if test="d:glossseealso">
370 <xsl:variable name="template">
371 <xsl:call-template name="gentext.template">
372 <xsl:with-param name="context" select="'glossary'"/>
373 <xsl:with-param name="name" select="'seealso'"/>
376 <xsl:variable name="title">
377 <xsl:apply-templates select="d:glossseealso"/>
379 <xsl:call-template name="substitute-markup">
380 <xsl:with-param name="template" select="$template"/>
381 <xsl:with-param name="title" select="$title"/>
388 <xsl:template match="d:glossseealso">
389 <xsl:variable name="otherterm" select="@otherterm"/>
390 <xsl:variable name="targets" select="key('id', $otherterm)"/>
391 <xsl:variable name="target" select="$targets[1]"/>
392 <xsl:variable name="xlink" select="@xlink:href"/>
395 <xsl:when test="$target">
397 <xsl:apply-templates select="." mode="common.html.attributes"/>
398 <xsl:call-template name="id.attribute"/>
399 <xsl:attribute name="href">
400 <xsl:call-template name="href.target">
401 <xsl:with-param name="object" select="$target"/>
404 <xsl:apply-templates select="$target" mode="xref-to"/>
407 <xsl:when test="$xlink">
408 <xsl:call-template name="simple.xlink">
409 <xsl:with-param name="content">
410 <xsl:apply-templates/>
414 <xsl:when test="$otherterm != '' and not($target)">
416 <xsl:text>Warning: glossseealso @otherterm reference not found: </xsl:text>
417 <xsl:value-of select="$otherterm"/>
419 <xsl:apply-templates/>
422 <xsl:apply-templates/>
427 <xsl:when test="position() = last()"/>
429 <xsl:call-template name="gentext.template">
430 <xsl:with-param name="context" select="'glossary'"/>
431 <xsl:with-param name="name" select="'seealso-separator'"/>
437 <!-- ==================================================================== -->
439 <!-- Glossary collection -->
441 <xsl:template match="d:glossary[@role='auto']" priority="2">
443 <xsl:variable name="language">
444 <xsl:call-template name="l10n.language"/>
447 <xsl:variable name="lowercase">
448 <xsl:call-template name="gentext">
449 <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
453 <xsl:variable name="uppercase">
454 <xsl:call-template name="gentext">
455 <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
459 <xsl:variable name="terms" select="//d:glossterm[not(parent::d:glossdef)]|//d:firstterm"/>
460 <xsl:variable name="collection" select="document($glossary.collection, .)"/>
462 <xsl:call-template name="id.warning"/>
464 <xsl:if test="$glossary.collection = ''">
466 <xsl:text>Warning: processing automatic glossary </xsl:text>
467 <xsl:text>without a glossary.collection file.</xsl:text>
471 <xsl:if test="not($collection) and $glossary.collection != ''">
473 <xsl:text>Warning: processing automatic glossary but unable to </xsl:text>
474 <xsl:text>open glossary.collection file '</xsl:text>
475 <xsl:value-of select="$glossary.collection"/>
476 <xsl:text>'</xsl:text>
481 <xsl:apply-templates select="." mode="common.html.attributes"/>
482 <xsl:call-template name="id.attribute">
483 <xsl:with-param name="conditional" select="0"/>
486 <xsl:call-template name="glossary.titlepage"/>
489 <xsl:when test="d:glossdiv and $collection//d:glossdiv">
490 <xsl:for-each select="$collection//d:glossdiv">
491 <!-- first see if there are any in this div -->
492 <xsl:variable name="exist.test">
493 <xsl:for-each select="d:glossentry">
494 <xsl:variable name="cterm" select="d:glossterm"/>
495 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
496 <xsl:value-of select="d:glossterm"/>
501 <xsl:if test="$exist.test != ''">
502 <xsl:apply-templates select="." mode="auto-glossary">
503 <xsl:with-param name="terms" select="$terms"/>
504 </xsl:apply-templates>
511 <xsl:when test="$glossary.sort != 0">
512 <xsl:for-each select="$collection//d:glossentry">
513 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, d:glossterm[not(parent::d:glossentry/@sortas) or parent::d: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'))"/>
514 <xsl:variable name="cterm" select="d:glossterm"/>
515 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
516 <xsl:apply-templates select="." mode="auto-glossary"/>
521 <xsl:for-each select="$collection//d:glossentry">
522 <xsl:variable name="cterm" select="d:glossterm"/>
523 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
524 <xsl:apply-templates select="." mode="auto-glossary"/>
533 <xsl:if test="not(parent::d:article)">
534 <xsl:call-template name="process.footnotes"/>
539 <xsl:template match="*" mode="auto-glossary">
540 <!-- pop back out to the default mode for most elements -->
541 <xsl:apply-templates select="."/>
544 <xsl:template match="d:glossdiv" mode="auto-glossary">
545 <xsl:param name="terms" select="."/>
548 <xsl:variable name="language">
549 <xsl:call-template name="l10n.language"/>
552 <xsl:variable name="lowercase">
553 <xsl:call-template name="gentext">
554 <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
558 <xsl:variable name="uppercase">
559 <xsl:call-template name="gentext">
560 <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
566 <xsl:apply-templates select="." mode="common.html.attributes"/>
567 <xsl:call-template name="id.attribute">
568 <xsl:with-param name="conditional" select="0"/>
570 <xsl:apply-templates select="(d:glossentry[1]/preceding-sibling::*)"/>
574 <xsl:when test="$glossary.sort != 0">
575 <xsl:for-each select="d:glossentry">
576 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, d:glossterm[not(parent::d:glossentry/@sortas) or parent::d: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'))"/>
577 <xsl:variable name="cterm" select="d:glossterm"/>
578 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
579 <xsl:apply-templates select="." mode="auto-glossary"/>
584 <xsl:for-each select="d:glossentry">
585 <xsl:variable name="cterm" select="d:glossterm"/>
586 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
587 <xsl:apply-templates select="." mode="auto-glossary"/>
596 <!-- ==================================================================== -->