]> matita.cs.unibo.it Git - helm.git/blob - helm/www/lambdadelta/xslt/lddl_library.xsl
a126c9ba4e1ad38ff935cf639686e7444fa72490
[helm.git] / helm / www / lambdadelta / xslt / lddl_library.xsl
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <!--
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.                     
7     ||I||                                                                
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_______________________________________________________________ -->
13
14 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
15                               xmlns="http://lambdadelta.info/"
16                               xmlns:xhtml="http://www.w3.org/1999/xhtml"
17 >
18
19 <xsl:template name="sp">
20    <xsl:text> </xsl:text>
21 </xsl:template>
22
23 <xsl:template name="sl">
24    <xsl:text>/</xsl:text>
25 </xsl:template>
26
27 <xsl:template name="fs">
28    <xsl:text>.&#x200B;</xsl:text>
29 </xsl:template>
30
31 <xsl:template name="op">
32    <xsl:text>(</xsl:text>
33 </xsl:template>
34
35 <xsl:template name="cp">
36    <xsl:text>)</xsl:text>
37 </xsl:template>
38
39 <xsl:template name="ob">
40    <xsl:text>[</xsl:text>
41 </xsl:template>
42
43 <xsl:template name="cb">
44    <xsl:text>]</xsl:text>
45 </xsl:template>
46
47 <xsl:template name="oc">
48    <xsl:text>{</xsl:text>
49 </xsl:template>
50
51 <xsl:template name="cc">
52    <xsl:text>}</xsl:text>
53 </xsl:template>
54
55 <xsl:template name="oa">
56    <xsl:text>&lt;</xsl:text>
57 </xsl:template>
58
59 <xsl:template name="ca">
60    <xsl:text>&gt;</xsl:text>
61 </xsl:template>
62
63 <xsl:template name="us">
64    <xsl:text>_</xsl:text>
65 </xsl:template>
66
67 <xsl:template name="cn">
68    <xsl:text>:</xsl:text>
69 </xsl:template>
70
71 <xsl:template name="eq">
72    <xsl:text>=</xsl:text>
73 </xsl:template>
74
75 <xsl:template name="infinity">
76    <xsl:text>∞</xsl:text>
77 </xsl:template>
78
79 <xsl:template name="lambda">
80    <xsl:text>λ</xsl:text>
81 </xsl:template>
82
83 <xsl:template name="Pi">
84    <xsl:text>Π</xsl:text>
85 </xsl:template>
86
87 <xsl:template name="forall">
88    <xsl:text>∀</xsl:text>
89 </xsl:template>
90
91 <xsl:template name="delta">
92    <xsl:text>δ</xsl:text>
93 </xsl:template>
94
95 <xsl:template name="chi">
96    <xsl:text>χ</xsl:text>
97 </xsl:template>
98
99 <xsl:template name="cm">
100    <xsl:text>, </xsl:text>
101 </xsl:template>
102
103 <xsl:template name="qt">
104    <xsl:text>"</xsl:text>
105 </xsl:template>
106
107 <xsl:template name="idescr">
108    <xsl:text>Informal description: </xsl:text>
109 </xsl:template>
110
111 <xsl:template name="vpars">
112    <xsl:text>Validation parameters: </xsl:text>
113 </xsl:template>
114
115 <xsl:template name="shier">
116    <xsl:text>sort hierarchy = </xsl:text>
117 </xsl:template>
118
119 <xsl:template name="kopts">
120    <xsl:text>kernel options = </xsl:text>
121 </xsl:template>
122
123 <xsl:template name="global">
124    <xhtml:span class="global" title="{@position}">
125       <xsl:value-of select="@name"/>
126    </xhtml:span>
127 </xsl:template>
128
129 <xsl:template name="lddlurl">
130    <xsl:value-of select="'static/lddl'"/>
131 </xsl:template>
132
133 <xsl:template name="mk_segment">
134    <xsl:param name="path"/>
135    <xsl:param name="name"/>
136    <xsl:variable name="url">
137       <xsl:call-template name="lddlurl"/>
138       <xsl:value-of select="substring-after($path,'ld:')"/>
139    </xsl:variable>
140    <rlink to="{$url}"><xsl:value-of select="$name"/></rlink>
141    <xsl:call-template name="sl"/>
142 </xsl:template>
143
144 <xsl:template name="mk_path">
145    <xsl:param name="rpath" select="@uri"/>
146    <xsl:variable name="newrpath" select="substring-after($rpath,'/')"/>
147    <xsl:choose>
148       <xsl:when test="$newrpath">
149          <xsl:variable name="segment" select="substring-before($rpath,$newrpath)"/>
150          <xsl:call-template name="mk_segment">
151             <xsl:with-param name="path" select="substring-before(@uri,$newrpath)"/>
152             <xsl:with-param name="name" select="substring-before($segment,'/')"/>
153          </xsl:call-template>
154          <xsl:call-template name="mk_path">
155             <xsl:with-param name="rpath" select="$newrpath"/>
156          </xsl:call-template>
157       </xsl:when>
158       <xsl:otherwise>
159          <xsl:variable name="path" select="substring-before(@uri,$rpath)"/>
160          <xhtml:span class="global">
161             <xsl:value-of select="substring-after(@uri,$path)"/>
162          </xhtml:span>
163       </xsl:otherwise>
164    </xsl:choose>
165 </xsl:template>
166
167 <xsl:template name="uri">
168    <xsl:variable name="url">
169       <xsl:call-template name="lddlurl"/>
170       <xsl:value-of select="substring-after(@uri,'ld:')"/>
171       <xsl:text>.html</xsl:text>
172    </xsl:variable>
173    <rlink to="{$url}"><xsl:value-of select="@name"/></rlink>
174 </xsl:template>
175
176 <xsl:template name="layer">
177    <xhtml:sup>
178       <xsl:choose>
179          <xsl:when test="@layer">
180             <xsl:value-of select="@layer"/>
181          </xsl:when>
182          <xsl:otherwise>
183             <xsl:call-template name="infinity"/>
184          </xsl:otherwise>
185       </xsl:choose>
186    </xhtml:sup>
187 </xsl:template>
188
189 <xsl:template name="abst">
190    <xsl:choose>
191       <xsl:when test="@layer=0 and @position=1">
192          <xsl:call-template name="forall"/>
193          <xsl:call-template name="layer"/>
194       </xsl:when>
195       <xsl:when test="@layer=0">
196          <xsl:call-template name="Pi"/>
197          <xsl:call-template name="layer"/>
198       </xsl:when>
199       <xsl:when test="@layer=1 and @position=1">
200          <xsl:call-template name="forall"/>
201       </xsl:when>
202       <xsl:when test="@layer=1">
203          <xsl:call-template name="Pi"/>
204       </xsl:when>
205       <xsl:when test="@layer=2">
206          <xsl:call-template name="lambda"/>
207       </xsl:when>
208       <xsl:otherwise>
209          <xsl:call-template name="lambda"/>
210          <xsl:call-template name="layer"/>
211       </xsl:otherwise>
212    </xsl:choose>
213 </xsl:template>
214
215 <xsl:template name="abbr">
216    <xsl:call-template name="delta"/>
217 </xsl:template>
218
219 <xsl:template name="void">
220    <xsl:call-template name="chi"/>
221 </xsl:template>
222
223 <xsl:template name="name">
224    <xsl:choose>
225       <xsl:when test="@name">
226          <xsl:value-of select="@name"/>
227       </xsl:when>
228       <xsl:otherwise>
229          <xsl:call-template name="us"/>
230       </xsl:otherwise>
231    </xsl:choose>
232 </xsl:template>
233
234 <xsl:template name="separator">
235
236 <!--
237    <xsl:variable name="pos">
238       <xsl:value-of select="position()"/>
239    </xsl:variable>
240    <xsl:variable name="last">
241       <xsl:value-of select="last()"/>
242    </xsl:variable>
243    <xhtml:span class="separator" title="{$pos} {$last}">
244       <xsl:call-template name="fs"/>
245    </xhtml:span>
246 -->
247    <xsl:choose>
248       <xsl:when test="last()>position()">
249          <xhtml:span class="separator">
250             <xsl:call-template name="fs"/>
251          </xhtml:span>
252       </xsl:when>
253    </xsl:choose>
254 </xsl:template>
255
256 <!--
257
258 <xsl:template name="multiple">
259    <xhtml:span class="separator">
260       <xsl:call-template name="cm"/>
261    </xhtml:span>
262 </xsl:template>
263
264 <xsl:template name="mk_terms">
265    <xsl:for-each select="*">
266       <xsl:apply-templates select="."/>
267       <xsl:if test="(name()='Sort' or name()='LRef' or name()='GRef') and position()!=last()">
268          <xsl:call-template name="multiple"/>
269       </xsl:if>
270    </xsl:for-each>
271 </xsl:template>
272
273 -->
274
275 </xsl:stylesheet>