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