]> matita.cs.unibo.it Git - helm.git/blob - helm/style/theory_pres.xsl
Many improvements in theory-rendering.
[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:THEOREM">
55     <table>
56      <tr>
57       <td colspan="2">
58        <b><xsl:value-of select="@as"/><xsl:text>&#x00a0;</xsl:text><a href="{@uri}"><xsl:value-of select="@name"/></a>:</b>
59       </td>
60      </tr>
61      <tr>
62       <td>&#x00a0;&#x00a0;&#x00a0;</td>
63       <td><ENTITY uri="{@uri}" type="typeonly"/></td>
64      </tr>
65     </table>
66 </xsl:template>
67
68 <xsl:template match="ht:AXIOM|ht:VARIABLE">
69     <table>
70      <tr>
71       <td colspan="2">
72        <b><xsl:value-of select="substring-after(string(name(.)), &quot;ht:&quot;)"/><xsl:text>&#x00a0;</xsl:text><a href="{@uri}"><xsl:value-of select="@name"/></a>:</b>
73       </td>
74      </tr>
75      <tr>
76       <td>&#x00a0;&#x00a0;&#x00a0;</td>
77       <td><ENTITY uri="{@uri}" type="embed"/></td>
78      </tr>
79     </table>
80 </xsl:template>
81
82 <xsl:template match="ht:DEFINITION">
83 <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>
84     <table>
85      <tr>
86       <td colspan="2">
87        <b><xsl:value-of select="string($name)"/><xsl:text>&#x00a0;</xsl:text><a href="{@uri}"><xsl:value-of select="@name"/></a>:</b>
88       </td>
89      </tr>
90      <tr>
91       <td>&#x00a0;&#x00a0;&#x00a0;</td>
92       <td><ENTITY uri="{@uri}" type="embed"/></td>
93      </tr>
94     </table>
95 </xsl:template>
96
97 <!-- Root and XHTML -->
98
99 <xsl:template match = "/|*">
100   <xsl:copy>
101    <xsl:copy-of select="@*"/>
102    <xsl:apply-templates/>
103   </xsl:copy>
104 </xsl:template>
105
106 </xsl:stylesheet>