1 <?xml version="1.0" encoding="UTF-8"?>
4 ||M|| This file is part of HELM, an Hypertextual, Electronic
5 ||A|| Library of Mathematics, developed at the Computer Science
6 ||T|| Department, University of Bologna, Italy.
8 ||T|| HELM is free software; you can redistribute it and/or
9 ||A|| modify it under the terms of the GNU General Public License
10 \ / version 2 or (at your option) any later version.
11 \ / This software is distributed as is, NO WARRANTY.
12 V_______________________________________________________________ -->
14 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
15 xmlns:ld="http://lambda-delta.info"
16 xmlns="http://www.w3.org/1999/xhtml"
19 <xsl:template name="sp">
20 <xsl:text> </xsl:text>
23 <xsl:template name="cm">
24 <xsl:text>, </xsl:text>
27 <xsl:template name="sl">
28 <xsl:text>/</xsl:text>
31 <xsl:template name="plus">
32 <xsl:text>+</xsl:text>
35 <xsl:template name="fs">
36 <xsl:text>.​</xsl:text>
39 <xsl:template name="op">
40 <xsl:text>(</xsl:text>
43 <xsl:template name="cp">
44 <xsl:text>)</xsl:text>
47 <xsl:template name="ob">
48 <xsl:text>[</xsl:text>
51 <xsl:template name="cb">
52 <xsl:text>]</xsl:text>
55 <xsl:template name="oa">
56 <xsl:text><</xsl:text>
59 <xsl:template name="ca">
60 <xsl:text>></xsl:text>
63 <xsl:template name="cn">
64 <xsl:text>:</xsl:text>
67 <xsl:template name="eq">
68 <xsl:text>=</xsl:text>
71 <xsl:template name="qt">
72 <xsl:text>"</xsl:text>
75 <xsl:template name="idescr">
76 <xsl:text>Informal description: </xsl:text>
79 <xsl:template name="vpars">
80 <xsl:text>Validation parameters: </xsl:text>
83 <xsl:template name="shier">
84 <xsl:text>sort hierarchy = </xsl:text>
87 <xsl:template name="kopts">
88 <xsl:text>kernel options = </xsl:text>
91 <xsl:template name="multiple">
92 <span class="separator">
93 <xsl:call-template name="cm"/>
97 <xsl:template name="lambda">
100 <xsl:when test="@level=0">
101 <xsl:text disable-output-escaping="yes">&Pi;</xsl:text>
102 <sup><xsl:value-of select="@level"/></sup>
104 <xsl:when test="@level=1">
105 <xsl:text disable-output-escaping="yes">&Pi;</xsl:text>
107 <xsl:when test="@level=2">
108 <xsl:text disable-output-escaping="yes">&lambda;</xsl:text>
110 <xsl:when test="not(@level)">
111 <xsl:text disable-output-escaping="yes">&lambda;</xsl:text>
112 <sup><xsl:text disable-output-escaping="yes">&infin;</xsl:text></sup>
115 <xsl:text disable-output-escaping="yes">&lambda;</xsl:text>
116 <sup><xsl:value-of select="@level"/></sup>
122 <xsl:template name="delta">
124 <xsl:text disable-output-escaping="yes">&delta;</xsl:text>
128 <xsl:template name="chi">
130 <xsl:text disable-output-escaping="yes">&chi;</xsl:text>
134 <xsl:template name="position">
135 <xsl:variable name="index">
136 <xsl:value-of select="@position"/>
137 <xsl:if test="@offset != 0">
138 <xsl:call-template name="plus"/>
139 <xsl:value-of select="@offset"/>
143 <xsl:value-of select="@name"/>
147 <xsl:template name="uri">
148 <xsl:variable name="url">
149 <xsl:value-of select="$baseurl"/>
150 <xsl:value-of select="substring-after(@uri,'ld:')"/>
151 <xsl:text>.html</xsl:text>
153 <a href="{$url}" title="{@uri}"><xsl:value-of select="@name"/></a>
156 <xsl:template name="global">
158 <xsl:value-of select="@name"/>
162 <xsl:template name="mk_names">
163 <xsl:param name="names">
164 <xsl:value-of select="normalize-space(@name)"/>
165 <xsl:call-template name="sp"/>
167 <xsl:param name="sep" select="false()"/>
168 <xsl:if test="$names and $sep">
169 <xsl:call-template name="multiple"/>
171 <xsl:if test="$names">
173 <xsl:value-of select="substring-before($names, ' ')"/>
175 <xsl:call-template name="mk_names">
176 <xsl:with-param name="names" select="substring-after($names, ' ')"/>
177 <xsl:with-param name="sep" select="true()"/>
182 <xsl:template name="mk_terms">
183 <xsl:for-each select="*">
184 <xsl:apply-templates select="."/>
185 <xsl:if test="(name()='Sort' or name()='LRef' or name()='GRef') and position()!=last()">
186 <xsl:call-template name="multiple"/>
191 <xsl:template name="mk_binder">
192 <xsl:param name="sep-seq"/>
193 <xsl:call-template name="ob"/>
194 <xsl:call-template name="mk_binder_rec1">
195 <xsl:with-param name="sep-seq" select="$sep-seq"/>
197 <xsl:call-template name="cb"/>
200 <xsl:template name="mk_binder_rec1">
201 <xsl:param name="sep-seq"/>
202 <xsl:param name="names">
203 <xsl:value-of select="normalize-space(@name)"/>
204 <xsl:call-template name="sp"/>
206 <xsl:param name="sep" select="false()"/>
207 <xsl:param name="start" select="true()"/>
208 <xsl:param name="pos" select="1"/>
210 <xsl:when test="$start and $pos <= count(*)">
211 <xsl:if test="$names and $sep">
212 <xsl:call-template name="multiple"/>
215 <xsl:value-of select="substring-before($names, ' ')"/>
217 <xsl:copy-of select="$sep-seq"/>
218 <xsl:call-template name="mk_binder_rec2">
219 <xsl:with-param name="names" select="substring-after($names, ' ')"/>
220 <xsl:with-param name="pos" select="$pos"/>
221 <xsl:with-param name="sep-seq" select="$sep-seq"/>
224 <xsl:when test="not($start) and $pos <= count(*)">
225 <xsl:call-template name="mk_binder_rec2">
226 <xsl:with-param name="names" select="$names"/>
227 <xsl:with-param name="pos" select="$pos"/>
228 <xsl:with-param name="sep-seq" select="$sep-seq"/>
234 <xsl:template name="mk_binder_rec2">
235 <xsl:param name="sep-seq"/>
236 <xsl:param name="names"/>
237 <xsl:param name="pos"/>
238 <xsl:apply-templates select="*[$pos]"/>
239 <xsl:call-template name="mk_binder_rec1">
240 <xsl:with-param name="sep-seq" select="$sep-seq"/>
241 <xsl:with-param name="names" select="$names"/>
242 <xsl:with-param name="sep" select="true()"/>
243 <xsl:with-param name="start" select="name(*[$pos])='Sort' or name(*[$pos])='LRef' or name(*[$pos])='GRef'"/>
244 <xsl:with-param name="pos" select="$pos+1"/>
248 <xsl:template name="mk_segment">
249 <xsl:param name="path"/>
250 <xsl:param name="name"/>
251 <xsl:variable name="url">
252 <xsl:value-of select="$baseurl"/>
253 <xsl:value-of select="substring-after($path,'ld:')"/>
255 <a href="{$url}"><xsl:value-of select="$name"/></a>
256 <xsl:call-template name="sl"/>
259 <xsl:template name="mk_path">
260 <xsl:param name="rpath" select="@uri"/>
261 <xsl:variable name="newrpath" select="substring-after($rpath,'/')"/>
263 <xsl:when test="$newrpath">
264 <xsl:variable name="segment" select="substring-before($rpath,$newrpath)"/>
265 <xsl:call-template name="mk_segment">
266 <xsl:with-param name="path" select="substring-before(@uri,$newrpath)"/>
267 <xsl:with-param name="name" select="substring-before($segment,'/')"/>
269 <xsl:call-template name="mk_path">
270 <xsl:with-param name="rpath" select="$newrpath"/>
274 <xsl:variable name="path" select="substring-before(@uri,$rpath)"/>
275 <xsl:value-of select="substring-after(@uri,$path)"/>
280 <xsl:template name="lddl">
281 <xsl:text disable-output-escaping="yes">&lambda;&delta; Digital Library (LDDL)</xsl:text>