]> git.stg.codes - stg.git/blob - doc/xslt/xhtml/glossary.xsl
Help updated
[stg.git] / doc / xslt / xhtml / glossary.xsl
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">
5
6 <!-- ********************************************************************
7      $Id: glossary.xsl 8421 2009-05-04 07:49:49Z bobstayton $
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
16 <!-- ==================================================================== -->
17
18 <xsl:template match="glossary">
19   
20 <xsl:variable name="language">
21   <xsl:call-template name="l10n.language"/>
22 </xsl:variable>
23
24 <xsl:variable name="lowercase">
25   <xsl:call-template name="gentext">
26     <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
27   </xsl:call-template>
28 </xsl:variable>
29
30 <xsl:variable name="uppercase">
31   <xsl:call-template name="gentext">
32     <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
33   </xsl:call-template>
34 </xsl:variable>
35
36   <xsl:call-template name="id.warning"/>
37
38   <div>
39     <xsl:apply-templates select="." mode="common.html.attributes"/>
40     <xsl:if test="$generate.id.attributes != 0">
41       <xsl:attribute name="id">
42         <xsl:call-template name="object.id"/>
43       </xsl:attribute>
44     </xsl:if>
45
46     <xsl:call-template name="glossary.titlepage"/>
47
48     <xsl:choose>
49       <xsl:when test="glossdiv">
50         <xsl:apply-templates select="(glossdiv[1]/preceding-sibling::*)"/>
51       </xsl:when>
52       <xsl:when test="glossentry">
53         <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
54       </xsl:when>
55       <xsl:otherwise>
56         <xsl:apply-templates/>
57       </xsl:otherwise>
58     </xsl:choose>
59
60     <xsl:choose>
61       <xsl:when test="glossdiv">
62         <xsl:apply-templates select="glossdiv"/>
63       </xsl:when>
64       <xsl:when test="glossentry">
65         <dl>
66           <xsl:choose>
67             <xsl:when test="$glossary.sort != 0">
68               <xsl:apply-templates select="glossentry">
69                                 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))"/>
70               </xsl:apply-templates>
71             </xsl:when>
72             <xsl:otherwise>
73               <xsl:apply-templates select="glossentry"/>
74             </xsl:otherwise>
75           </xsl:choose>
76         </dl>
77       </xsl:when>
78       <xsl:otherwise>
79         <!-- empty glossary -->
80       </xsl:otherwise>
81     </xsl:choose>
82
83     <xsl:if test="not(parent::article)">
84       <xsl:call-template name="process.footnotes"/>
85     </xsl:if>
86   </div>
87 </xsl:template>
88
89 <xsl:template match="glossary/glossaryinfo"/>
90 <xsl:template match="glossary/info"/>
91 <xsl:template match="glossary/title"/>
92 <xsl:template match="glossary/subtitle"/>
93 <xsl:template match="glossary/titleabbrev"/>
94
95 <!-- ==================================================================== -->
96
97 <xsl:template match="glosslist">
98   
99 <xsl:variable name="language">
100   <xsl:call-template name="l10n.language"/>
101 </xsl:variable>
102
103 <xsl:variable name="lowercase">
104   <xsl:call-template name="gentext">
105     <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
106   </xsl:call-template>
107 </xsl:variable>
108
109 <xsl:variable name="uppercase">
110   <xsl:call-template name="gentext">
111     <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
112   </xsl:call-template>
113 </xsl:variable>
114
115   <div>
116     <xsl:apply-templates select="." mode="common.html.attributes"/>
117     <xsl:call-template name="anchor"/>
118     <xsl:if test="blockinfo/title|info/title|title">
119       <xsl:call-template name="formal.object.heading"/>
120     </xsl:if>
121     <dl>
122       <xsl:choose>
123         <xsl:when test="$glossary.sort != 0">
124           <xsl:apply-templates select="glossentry">
125                                 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))"/>
126           </xsl:apply-templates>
127         </xsl:when>
128         <xsl:otherwise>
129           <xsl:apply-templates select="glossentry"/>
130         </xsl:otherwise>
131       </xsl:choose>
132     </dl>
133   </div>
134 </xsl:template>
135
136 <!-- ==================================================================== -->
137
138 <xsl:template match="glossdiv">
139   
140 <xsl:variable name="language">
141   <xsl:call-template name="l10n.language"/>
142 </xsl:variable>
143
144 <xsl:variable name="lowercase">
145   <xsl:call-template name="gentext">
146     <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
147   </xsl:call-template>
148 </xsl:variable>
149
150 <xsl:variable name="uppercase">
151   <xsl:call-template name="gentext">
152     <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
153   </xsl:call-template>
154 </xsl:variable>
155
156   <xsl:call-template name="id.warning"/>
157
158   <div>
159     <xsl:apply-templates select="." mode="common.html.attributes"/>
160     <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
161
162     <dl>
163       <xsl:choose>
164         <xsl:when test="$glossary.sort != 0">
165           <xsl:apply-templates select="glossentry">
166             <xsl:sort lang="{$language}" select="translate(glossterm, $lowercase,                                          $uppercase)"/>
167           </xsl:apply-templates>
168         </xsl:when>
169         <xsl:otherwise>
170           <xsl:apply-templates select="glossentry"/>
171         </xsl:otherwise>
172       </xsl:choose>
173     </dl>
174   </div>
175 </xsl:template>
176
177 <xsl:template match="glossdiv/title">
178   <h3>
179     <xsl:apply-templates select="." mode="common.html.attributes"/>
180     <xsl:apply-templates/>
181   </h3>
182 </xsl:template>
183
184 <!-- ==================================================================== -->
185
186 <!--
187 GlossEntry ::=
188   GlossTerm, Acronym?, Abbrev?,
189   (IndexTerm)*,
190   RevHistory?,
191   (GlossSee | GlossDef+)
192 -->
193
194 <xsl:template match="glossentry">
195   <xsl:choose>
196     <xsl:when test="$glossentry.show.acronym = 'primary'">
197       <dt>
198         <xsl:call-template name="anchor">
199           <xsl:with-param name="conditional">
200             <xsl:choose>
201               <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
202               <xsl:otherwise>1</xsl:otherwise>
203             </xsl:choose>
204           </xsl:with-param>
205         </xsl:call-template>
206
207         <xsl:choose>
208           <xsl:when test="acronym|abbrev">
209             <xsl:apply-templates select="acronym|abbrev"/>
210             <xsl:text> (</xsl:text>
211             <xsl:apply-templates select="glossterm"/>
212             <xsl:text>)</xsl:text>
213           </xsl:when>
214           <xsl:otherwise>
215             <xsl:apply-templates select="glossterm"/>
216           </xsl:otherwise>
217         </xsl:choose>
218       </dt>
219     </xsl:when>
220     <xsl:when test="$glossentry.show.acronym = 'yes'">
221       <dt>
222         <xsl:call-template name="anchor">
223           <xsl:with-param name="conditional">
224             <xsl:choose>
225               <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
226               <xsl:otherwise>1</xsl:otherwise>
227             </xsl:choose>
228           </xsl:with-param>
229         </xsl:call-template>
230
231         <xsl:apply-templates select="glossterm"/>
232
233         <xsl:if test="acronym|abbrev">
234           <xsl:text> (</xsl:text>
235           <xsl:apply-templates select="acronym|abbrev"/>
236           <xsl:text>)</xsl:text>
237         </xsl:if>
238       </dt>
239     </xsl:when>
240     <xsl:otherwise>
241       <dt>
242         <xsl:call-template name="anchor">
243           <xsl:with-param name="conditional">
244             <xsl:choose>
245               <xsl:when test="$glossterm.auto.link != 0">0</xsl:when>
246               <xsl:otherwise>1</xsl:otherwise>
247             </xsl:choose>
248           </xsl:with-param>
249         </xsl:call-template>
250
251         <xsl:apply-templates select="glossterm"/>
252       </dt>
253     </xsl:otherwise>
254   </xsl:choose>
255
256   <xsl:apply-templates select="indexterm|revhistory|glosssee|glossdef"/>
257 </xsl:template>
258
259 <xsl:template match="glossentry/glossterm">
260   <xsl:apply-templates/>
261   <xsl:if test="following-sibling::glossterm">, </xsl:if>
262 </xsl:template>
263
264 <xsl:template match="glossentry/acronym">
265   <xsl:apply-templates/>
266   <xsl:if test="following-sibling::acronym|following-sibling::abbrev">, </xsl:if>
267 </xsl:template>
268
269 <xsl:template match="glossentry/abbrev">
270   <xsl:apply-templates/>
271   <xsl:if test="following-sibling::acronym|following-sibling::abbrev">, </xsl:if>
272 </xsl:template>
273
274 <xsl:template match="glossentry/revhistory">
275 </xsl:template>
276
277 <xsl:template match="glossentry/glosssee">
278   <xsl:variable name="otherterm" select="@otherterm"/>
279   <xsl:variable name="targets" select="key('id', $otherterm)"/>
280   <xsl:variable name="target" select="$targets[1]"/>
281   <xsl:variable name="xlink" select="@xlink:href"/>
282
283   <dd>
284     <p>
285       <xsl:variable name="template">
286         <xsl:call-template name="gentext.template">
287           <xsl:with-param name="context" select="'glossary'"/>
288           <xsl:with-param name="name" select="'see'"/>
289         </xsl:call-template>
290       </xsl:variable>
291
292       <xsl:variable name="title">
293         <xsl:choose>
294           <xsl:when test="$target">
295             <a>
296               <xsl:apply-templates select="." mode="common.html.attributes"/>
297               <xsl:attribute name="href">
298                 <xsl:call-template name="href.target">
299                   <xsl:with-param name="object" select="$target"/>
300                 </xsl:call-template>
301               </xsl:attribute>
302               <xsl:apply-templates select="$target" mode="xref-to"/>
303             </a>
304           </xsl:when>
305           <xsl:when test="$xlink">
306             <xsl:call-template name="simple.xlink">
307               <xsl:with-param name="content">
308                 <xsl:apply-templates/>
309               </xsl:with-param>
310             </xsl:call-template>
311           </xsl:when>
312           <xsl:when test="$otherterm != '' and not($target)">
313             <xsl:message>
314               <xsl:text>Warning: glosssee @otherterm reference not found: </xsl:text>
315               <xsl:value-of select="$otherterm"/>
316             </xsl:message>
317             <xsl:apply-templates/>
318           </xsl:when>
319           <xsl:otherwise>
320             <xsl:apply-templates/>
321           </xsl:otherwise>
322         </xsl:choose>
323       </xsl:variable>
324
325       <xsl:call-template name="substitute-markup">
326         <xsl:with-param name="template" select="$template"/>
327         <xsl:with-param name="title" select="$title"/>
328       </xsl:call-template>
329     </p>
330   </dd>
331 </xsl:template>
332
333 <xsl:template match="glossentry/glossdef">
334   <dd>
335     <xsl:apply-templates select="*[local-name(.) != 'glossseealso']"/>
336     <xsl:if test="glossseealso">
337       <p>
338         <xsl:variable name="template">
339           <xsl:call-template name="gentext.template">
340             <xsl:with-param name="context" select="'glossary'"/>
341             <xsl:with-param name="name" select="'seealso'"/>
342           </xsl:call-template>
343         </xsl:variable>
344         <xsl:variable name="title">
345           <xsl:apply-templates select="glossseealso"/>
346         </xsl:variable>
347         <xsl:call-template name="substitute-markup">
348           <xsl:with-param name="template" select="$template"/>
349           <xsl:with-param name="title" select="$title"/>
350         </xsl:call-template>
351       </p>
352     </xsl:if>
353   </dd>
354 </xsl:template>
355
356 <xsl:template match="glossseealso">
357   <xsl:variable name="otherterm" select="@otherterm"/>
358   <xsl:variable name="targets" select="key('id', $otherterm)"/>
359   <xsl:variable name="target" select="$targets[1]"/>
360   <xsl:variable name="xlink" select="@xlink:href"/>
361
362   <xsl:choose>
363     <xsl:when test="$target">
364       <a>
365         <xsl:apply-templates select="." mode="common.html.attributes"/>
366         <xsl:attribute name="href">
367           <xsl:call-template name="href.target">
368             <xsl:with-param name="object" select="$target"/>
369           </xsl:call-template>
370         </xsl:attribute>
371         <xsl:apply-templates select="$target" mode="xref-to"/>
372       </a>
373     </xsl:when>
374     <xsl:when test="$xlink">
375       <xsl:call-template name="simple.xlink">
376         <xsl:with-param name="content">
377           <xsl:apply-templates/>
378         </xsl:with-param>
379       </xsl:call-template>
380     </xsl:when>
381     <xsl:when test="$otherterm != '' and not($target)">
382       <xsl:message>
383         <xsl:text>Warning: glossseealso @otherterm reference not found: </xsl:text>
384         <xsl:value-of select="$otherterm"/>
385       </xsl:message>
386       <xsl:apply-templates/>
387     </xsl:when>
388     <xsl:otherwise>
389       <xsl:apply-templates/>
390     </xsl:otherwise>
391   </xsl:choose>
392
393   <xsl:choose>
394     <xsl:when test="position() = last()"/>
395     <xsl:otherwise>
396                 <xsl:call-template name="gentext.template">
397                   <xsl:with-param name="context" select="'glossary'"/>
398                   <xsl:with-param name="name" select="'seealso-separator'"/>
399                 </xsl:call-template>
400     </xsl:otherwise>
401   </xsl:choose>
402 </xsl:template>
403
404 <!-- ==================================================================== -->
405
406 <!-- Glossary collection -->
407
408 <xsl:template match="glossary[@role='auto']" priority="2">
409   
410 <xsl:variable name="language">
411   <xsl:call-template name="l10n.language"/>
412 </xsl:variable>
413
414 <xsl:variable name="lowercase">
415   <xsl:call-template name="gentext">
416     <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
417   </xsl:call-template>
418 </xsl:variable>
419
420 <xsl:variable name="uppercase">
421   <xsl:call-template name="gentext">
422     <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
423   </xsl:call-template>
424 </xsl:variable>
425
426   <xsl:variable name="terms" select="//glossterm[not(parent::glossdef)]|//firstterm"/>
427   <xsl:variable name="collection" select="document($glossary.collection, .)"/>
428
429   <xsl:call-template name="id.warning"/>
430
431   <xsl:if test="$glossary.collection = ''">
432     <xsl:message>
433       <xsl:text>Warning: processing automatic glossary </xsl:text>
434       <xsl:text>without a glossary.collection file.</xsl:text>
435     </xsl:message>
436   </xsl:if>
437
438   <xsl:if test="not($collection) and $glossary.collection != ''">
439     <xsl:message>
440       <xsl:text>Warning: processing automatic glossary but unable to </xsl:text>
441       <xsl:text>open glossary.collection file '</xsl:text>
442       <xsl:value-of select="$glossary.collection"/>
443       <xsl:text>'</xsl:text>
444     </xsl:message>
445   </xsl:if>
446
447   <div>
448     <xsl:apply-templates select="." mode="common.html.attributes"/>
449     <xsl:if test="$generate.id.attributes != 0">
450       <xsl:attribute name="id">
451         <xsl:call-template name="object.id"/>
452       </xsl:attribute>
453     </xsl:if>
454
455     <xsl:call-template name="glossary.titlepage"/>
456
457     <xsl:choose>
458       <xsl:when test="glossdiv and $collection//glossdiv">
459         <xsl:for-each select="$collection//glossdiv">
460           <!-- first see if there are any in this div -->
461           <xsl:variable name="exist.test">
462             <xsl:for-each select="glossentry">
463               <xsl:variable name="cterm" select="glossterm"/>
464               <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
465                 <xsl:value-of select="glossterm"/>
466               </xsl:if>
467             </xsl:for-each>
468           </xsl:variable>
469
470           <xsl:if test="$exist.test != ''">
471             <xsl:apply-templates select="." mode="auto-glossary">
472               <xsl:with-param name="terms" select="$terms"/>
473             </xsl:apply-templates>
474           </xsl:if>
475         </xsl:for-each>
476       </xsl:when>
477       <xsl:otherwise>
478         <dl>
479           <xsl:choose>
480             <xsl:when test="$glossary.sort != 0">
481               <xsl:for-each select="$collection//glossentry">
482                                 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))"/>
483                 <xsl:variable name="cterm" select="glossterm"/>
484                 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
485                   <xsl:apply-templates select="." mode="auto-glossary"/>
486                 </xsl:if>
487               </xsl:for-each>
488             </xsl:when>
489             <xsl:otherwise>
490               <xsl:for-each select="$collection//glossentry">
491                 <xsl:variable name="cterm" select="glossterm"/>
492                 <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
493                   <xsl:apply-templates select="." mode="auto-glossary"/>
494                 </xsl:if>
495               </xsl:for-each>
496             </xsl:otherwise>
497           </xsl:choose>
498         </dl>
499       </xsl:otherwise>
500     </xsl:choose>
501
502     <xsl:if test="not(parent::article)">
503       <xsl:call-template name="process.footnotes"/>
504     </xsl:if>
505   </div>
506 </xsl:template>
507
508 <xsl:template match="*" mode="auto-glossary">
509   <!-- pop back out to the default mode for most elements -->
510   <xsl:apply-templates select="."/>
511 </xsl:template>
512
513 <xsl:template match="glossdiv" mode="auto-glossary">
514   <xsl:param name="terms" select="."/>
515
516   
517 <xsl:variable name="language">
518   <xsl:call-template name="l10n.language"/>
519 </xsl:variable>
520
521 <xsl:variable name="lowercase">
522   <xsl:call-template name="gentext">
523     <xsl:with-param name="key">normalize.sort.input</xsl:with-param>
524   </xsl:call-template>
525 </xsl:variable>
526
527 <xsl:variable name="uppercase">
528   <xsl:call-template name="gentext">
529     <xsl:with-param name="key">normalize.sort.output</xsl:with-param>
530   </xsl:call-template>
531 </xsl:variable>
532
533
534   <div>
535     <xsl:apply-templates select="." mode="common.html.attributes"/>
536     <xsl:apply-templates select="(glossentry[1]/preceding-sibling::*)"/>
537
538     <dl>
539       <xsl:choose>
540         <xsl:when test="$glossary.sort != 0">
541           <xsl:for-each select="glossentry">
542                                 <xsl:sort lang="{$language}" select="normalize-space(translate(concat(@sortas, glossterm[not(parent::glossentry/@sortas) or parent::glossentry/@sortas = '']), 'Aa&#192;&#224;&#193;&#225;&#194;&#226;&#195;&#227;&#196;&#228;&#197;&#229;&#256;&#257;&#258;&#259;&#260;&#261;&#461;&#462;&#478;&#479;&#480;&#481;&#506;&#507;&#512;&#513;&#514;&#515;&#550;&#551;&#7680;&#7681;&#7834;&#7840;&#7841;&#7842;&#7843;&#7844;&#7845;&#7846;&#7847;&#7848;&#7849;&#7850;&#7851;&#7852;&#7853;&#7854;&#7855;&#7856;&#7857;&#7858;&#7859;&#7860;&#7861;&#7862;&#7863;Bb&#384;&#385;&#595;&#386;&#387;&#7682;&#7683;&#7684;&#7685;&#7686;&#7687;Cc&#199;&#231;&#262;&#263;&#264;&#265;&#266;&#267;&#268;&#269;&#391;&#392;&#597;&#7688;&#7689;Dd&#270;&#271;&#272;&#273;&#394;&#599;&#395;&#396;&#453;&#498;&#545;&#598;&#7690;&#7691;&#7692;&#7693;&#7694;&#7695;&#7696;&#7697;&#7698;&#7699;Ee&#200;&#232;&#201;&#233;&#202;&#234;&#203;&#235;&#274;&#275;&#276;&#277;&#278;&#279;&#280;&#281;&#282;&#283;&#516;&#517;&#518;&#519;&#552;&#553;&#7700;&#7701;&#7702;&#7703;&#7704;&#7705;&#7706;&#7707;&#7708;&#7709;&#7864;&#7865;&#7866;&#7867;&#7868;&#7869;&#7870;&#7871;&#7872;&#7873;&#7874;&#7875;&#7876;&#7877;&#7878;&#7879;Ff&#401;&#402;&#7710;&#7711;Gg&#284;&#285;&#286;&#287;&#288;&#289;&#290;&#291;&#403;&#608;&#484;&#485;&#486;&#487;&#500;&#501;&#7712;&#7713;Hh&#292;&#293;&#294;&#295;&#542;&#543;&#614;&#7714;&#7715;&#7716;&#7717;&#7718;&#7719;&#7720;&#7721;&#7722;&#7723;&#7830;Ii&#204;&#236;&#205;&#237;&#206;&#238;&#207;&#239;&#296;&#297;&#298;&#299;&#300;&#301;&#302;&#303;&#304;&#407;&#616;&#463;&#464;&#520;&#521;&#522;&#523;&#7724;&#7725;&#7726;&#7727;&#7880;&#7881;&#7882;&#7883;Jj&#308;&#309;&#496;&#669;Kk&#310;&#311;&#408;&#409;&#488;&#489;&#7728;&#7729;&#7730;&#7731;&#7732;&#7733;Ll&#313;&#314;&#315;&#316;&#317;&#318;&#319;&#320;&#321;&#322;&#410;&#456;&#564;&#619;&#620;&#621;&#7734;&#7735;&#7736;&#7737;&#7738;&#7739;&#7740;&#7741;Mm&#625;&#7742;&#7743;&#7744;&#7745;&#7746;&#7747;Nn&#209;&#241;&#323;&#324;&#325;&#326;&#327;&#328;&#413;&#626;&#414;&#544;&#459;&#504;&#505;&#565;&#627;&#7748;&#7749;&#7750;&#7751;&#7752;&#7753;&#7754;&#7755;Oo&#210;&#242;&#211;&#243;&#212;&#244;&#213;&#245;&#214;&#246;&#216;&#248;&#332;&#333;&#334;&#335;&#336;&#337;&#415;&#416;&#417;&#465;&#466;&#490;&#491;&#492;&#493;&#510;&#511;&#524;&#525;&#526;&#527;&#554;&#555;&#556;&#557;&#558;&#559;&#560;&#561;&#7756;&#7757;&#7758;&#7759;&#7760;&#7761;&#7762;&#7763;&#7884;&#7885;&#7886;&#7887;&#7888;&#7889;&#7890;&#7891;&#7892;&#7893;&#7894;&#7895;&#7896;&#7897;&#7898;&#7899;&#7900;&#7901;&#7902;&#7903;&#7904;&#7905;&#7906;&#7907;Pp&#420;&#421;&#7764;&#7765;&#7766;&#7767;Qq&#672;Rr&#340;&#341;&#342;&#343;&#344;&#345;&#528;&#529;&#530;&#531;&#636;&#637;&#638;&#7768;&#7769;&#7770;&#7771;&#7772;&#7773;&#7774;&#7775;Ss&#346;&#347;&#348;&#349;&#350;&#351;&#352;&#353;&#536;&#537;&#642;&#7776;&#7777;&#7778;&#7779;&#7780;&#7781;&#7782;&#7783;&#7784;&#7785;Tt&#354;&#355;&#356;&#357;&#358;&#359;&#427;&#428;&#429;&#430;&#648;&#538;&#539;&#566;&#7786;&#7787;&#7788;&#7789;&#7790;&#7791;&#7792;&#7793;&#7831;Uu&#217;&#249;&#218;&#250;&#219;&#251;&#220;&#252;&#360;&#361;&#362;&#363;&#364;&#365;&#366;&#367;&#368;&#369;&#370;&#371;&#431;&#432;&#467;&#468;&#469;&#470;&#471;&#472;&#473;&#474;&#475;&#476;&#532;&#533;&#534;&#535;&#7794;&#7795;&#7796;&#7797;&#7798;&#7799;&#7800;&#7801;&#7802;&#7803;&#7908;&#7909;&#7910;&#7911;&#7912;&#7913;&#7914;&#7915;&#7916;&#7917;&#7918;&#7919;&#7920;&#7921;Vv&#434;&#651;&#7804;&#7805;&#7806;&#7807;Ww&#372;&#373;&#7808;&#7809;&#7810;&#7811;&#7812;&#7813;&#7814;&#7815;&#7816;&#7817;&#7832;Xx&#7818;&#7819;&#7820;&#7821;Yy&#221;&#253;&#255;&#376;&#374;&#375;&#435;&#436;&#562;&#563;&#7822;&#7823;&#7833;&#7922;&#7923;&#7924;&#7925;&#7926;&#7927;&#7928;&#7929;Zz&#377;&#378;&#379;&#380;&#381;&#382;&#437;&#438;&#548;&#549;&#656;&#657;&#7824;&#7825;&#7826;&#7827;&#7828;&#7829;&#7829;', 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPQQQRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVWWWWWWWWWWWWWWWXXXXXXYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZ'))"/>!
543             <xsl:variable name="cterm" select="glossterm"/>
544             <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
545               <xsl:apply-templates select="." mode="auto-glossary"/>
546             </xsl:if>
547           </xsl:for-each>
548         </xsl:when>
549         <xsl:otherwise>
550           <xsl:for-each select="glossentry">
551             <xsl:variable name="cterm" select="glossterm"/>
552             <xsl:if test="$terms[@baseform = $cterm or . = $cterm]">
553               <xsl:apply-templates select="." mode="auto-glossary"/>
554             </xsl:if>
555           </xsl:for-each>
556         </xsl:otherwise>
557       </xsl:choose>
558     </dl>
559   </div>
560 </xsl:template>
561
562 <!-- ==================================================================== -->
563
564 </xsl:stylesheet>