]> matita.cs.unibo.it Git - helm.git/blob - helm/style/theory_pres.xsl
- the mathql interpreter is not helm-dependent any more
[helm.git] / helm / style / theory_pres.xsl
1 <?xml version="1.0"?>
2
3 <!-- Copyright (C) 2000, HELM Team                                     -->
4 <!--                                                                   -->
5 <!-- This file is part of HELM, an Hypertextual, Electronic            -->
6 <!-- Library of Mathematics, developed at the Computer Science         -->
7 <!-- Department, University of Bologna, Italy.                         -->
8 <!--                                                                   -->
9 <!-- HELM is free software; you can redistribute it and/or             -->
10 <!-- modify it under the terms of the GNU General Public License       -->
11 <!-- as published by the Free Software Foundation; either version 2    -->
12 <!-- of the License, or (at your option) any later version.            -->
13 <!--                                                                   -->
14 <!-- HELM is distributed in the hope that it will be useful,           -->
15 <!-- but WITHOUT ANY WARRANTY; without even the implied warranty of    -->
16 <!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     -->
17 <!-- GNU General Public License for more details.                      -->
18 <!--                                                                   -->
19 <!-- You should have received a copy of the GNU General Public License -->
20 <!-- along with HELM; if not, write to the Free Software               -->
21 <!-- Foundation, Inc., 59 Temple Place - Suite 330, Boston,            -->
22 <!-- MA  02111-1307, USA.                                              -->
23 <!--                                                                   -->
24 <!-- For details, see the HELM World-Wide-Web page,                    -->
25 <!-- http://cs.unibo.it/helm/.                                         -->
26
27 <!--***********************************************************************--> 
28 <!-- XSLT version 0.1 of theory sections to HTML:                          -->
29 <!-- First draft: May 10 2000, Irene Schena                                -->
30 <!--              November 15 2000, Irene Schena                           -->
31 <!--***********************************************************************--> 
32
33 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
34                               xmlns:ht="http://www.cs.unibo.it/helm/namespaces/helm-theory">
35
36 <!--<xsl:output method="html" encoding="iso-8859-1"/>-->
37 <xsl:output 
38         method="xml" 
39         encoding="iso-8859-1" 
40         media-type="text/html"
41         doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
42         doctype-system="DTD/xhtml1-transitional.dtd" />
43
44 <xsl:template match="ht:SECTION">
45      <xsl:apply-templates select="*"/>
46 </xsl:template>
47
48 <xsl:template match="ht:MUTUAL">
49      <h4>BEGIN MUTUAL DEFINITIONS</h4>
50      <xsl:apply-templates select="*"/>
51      <h4>END MUTUAL DEFINITIONS</h4>
52 </xsl:template>
53
54 <xsl:template match="ht:OBJECT">
55  <xsl:variable name="delimiter">
56   <xsl:if test="@mode != 'linkonly'">
57    <xsl:text>:</xsl:text>
58   </xsl:if>
59  </xsl:variable>
60     <table>
61      <tr>
62       <td colspan="2">
63        <b>Object<xsl:text>&#x00a0;</xsl:text><a href="{@uri}"><xsl:value-of select="@uri"/></a><xsl:value-of select="$delimiter"/></b>
64       </td>
65      </tr>
66      <xsl:if test="@mode != 'linkonly'">
67       <tr>
68        <td>&#x00a0;&#x00a0;&#x00a0;</td>
69        <td><ENTITY uri="{@uri}" type="{@mode}"/></td>
70       </tr>
71      </xsl:if>
72     </table>
73 </xsl:template>
74
75 <xsl:template match="ht:THEOREM">
76     <table>
77      <tr>
78       <td colspan="2">
79        <b><xsl:value-of select="@as"/><xsl:text>&#x00a0;</xsl:text><a href="{@uri}"><xsl:value-of select="@uri"/></a>:</b>
80       </td>
81      </tr>
82      <tr>
83       <td>&#x00a0;&#x00a0;&#x00a0;</td>
84       <td><ENTITY uri="{@uri}" type="typeonly"/></td>
85      </tr>
86     </table>
87 </xsl:template>
88
89 <xsl:template match="ht:AXIOM|ht:VARIABLE">
90     <table>
91      <tr>
92       <td colspan="2">
93        <b><xsl:value-of select="substring-after(string(name(.)), &quot;ht:&quot;)"/><xsl:text>&#x00a0;</xsl:text><a href="{@uri}"><xsl:value-of select="@uri"/></a>:</b>
94       </td>
95      </tr>
96      <tr>
97       <td>&#x00a0;&#x00a0;&#x00a0;</td>
98       <td><ENTITY uri="{@uri}" type="embed"/></td>
99      </tr>
100     </table>
101 </xsl:template>
102
103 <xsl:template match="ht:DEFINITION">
104 <xsl:variable name="name"><xsl:choose><xsl:when test="@as='Inductive'">Inductive Definition</xsl:when><xsl:when test="@as='CoInductive'">CoInductive Definition</xsl:when><xsl:when test="@as='Record'">Record Definition</xsl:when><xsl:otherwise>Definition</xsl:otherwise></xsl:choose></xsl:variable>
105     <table>
106      <tr>
107       <td colspan="2">
108        <b><xsl:value-of select="string($name)"/><xsl:text>&#x00a0;</xsl:text><a href="{@uri}"><xsl:value-of select="@uri"/></a>:</b>
109       </td>
110      </tr>
111      <tr>
112       <td>&#x00a0;&#x00a0;&#x00a0;</td>
113       <td><ENTITY uri="{@uri}" type="embed"/></td>
114      </tr>
115     </table>
116 </xsl:template>
117
118 <!-- Root and XHTML -->
119
120 <xsl:template match = "/|*">
121   <xsl:copy>
122    <xsl:copy-of select="@*"/>
123    <xsl:apply-templates/>
124   </xsl:copy>
125 </xsl:template>
126
127 </xsl:stylesheet>