]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/style/theory_pres.xsl
Initial revision
[helm.git] / helm / style / theory_pres.xsl
index 9a96cdc03cea183213b832bafe54da65d6e9d2ff..47b2622c86b93c9751f72623f7f1f1186d3005bf 100644 (file)
 <?xml version="1.0"?>
 
+<!-- Copyright (C) 2000, HELM Team                                     -->
+<!--                                                                   -->
+<!-- This file is part of HELM, an Hypertextual, Electronic            -->
+<!-- Library of Mathematics, developed at the Computer Science         -->
+<!-- Department, University of Bologna, Italy.                         -->
+<!--                                                                   -->
+<!-- HELM is free software; you can redistribute it and/or             -->
+<!-- modify it under the terms of the GNU General Public License       -->
+<!-- as published by the Free Software Foundation; either version 2    -->
+<!-- of the License, or (at your option) any later version.            -->
+<!--                                                                   -->
+<!-- HELM is distributed in the hope that it will be useful,           -->
+<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of    -->
+<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     -->
+<!-- GNU General Public License for more details.                      -->
+<!--                                                                   -->
+<!-- You should have received a copy of the GNU General Public License -->
+<!-- along with HELM; if not, write to the Free Software               -->
+<!-- Foundation, Inc., 59 Temple Place - Suite 330, Boston,            -->
+<!-- MA  02111-1307, USA.                                              -->
+<!--                                                                   -->
+<!-- For details, see the HELM World-Wide-Web page,                    -->
+<!-- http://cs.unibo.it/helm/.                                         -->
+
 <!--***********************************************************************--> 
 <!-- XSLT version 0.1 of theory sections to HTML:                          -->
 <!-- First draft: May 10 2000, Irene Schena                                -->
+<!--              November 15 2000, Irene Schena                           -->
 <!--***********************************************************************--> 
 
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-                              xmlns:m="http://www.w3.org/1998/Math/MathML">
-
-<xsl:include href="annotatedpres.xsl"/>
-
-<xsl:template match="SECTION">
-<xsl:param name="subsect" select="0"/>
-    <xsl:choose>
-    <xsl:when test="$subsect = 0">
-     <html> 
-      <head></head>
-      <body>
-       <m:math><m:mtext>BEGIN SECTION</m:mtext></m:math>
-       <xsl:apply-templates select="*"><xsl:with-param name="subsect" select="1"/></xsl:apply-templates>
-       <m:math><m:mtext>END SECTION</m:mtext></m:math>
-      </body>
-     </html>
-    </xsl:when>
-    <xsl:otherwise>
-     <m:math><m:mtext>BEGIN SECTION</m:mtext></m:math>
-      <xsl:apply-templates select="*"><xsl:with-param name="subsect" select="1"/></xsl:apply-templates>
-     <m:math><m:mtext>END SECTION</m:mtext></m:math>
-    </xsl:otherwise>
-    </xsl:choose>
+                              xmlns:ht="http://www.cs.unibo.it/helm/namespaces/helm-theory">
+
+<!--<xsl:output method="html" encoding="iso-8859-1"/>-->
+<xsl:output 
+       method="xml" 
+       encoding="iso-8859-1" 
+       media-type="text/html"
+       doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
+       doctype-system="DTD/xhtml1-transitional.dtd" />
+
+<xsl:template match="ht:SECTION">
+     <xsl:apply-templates select="*"/>
+</xsl:template>
+
+<xsl:template match="ht:MUTUAL">
+     <h4>BEGIN MUTUAL DEFINITIONS</h4>
+     <xsl:apply-templates select="*"/>
+     <h4>END MUTUAL DEFINITIONS</h4>
+</xsl:template>
+
+<xsl:template match="ht:OBJECT">
+ <xsl:variable name="delimiter">
+  <xsl:if test="@mode != 'linkonly'">
+   <xsl:text>:</xsl:text>
+  </xsl:if>
+ </xsl:variable>
+    <table>
+     <tr>
+      <td colspan="2">
+       <b>Object<xsl:text>&#x00a0;</xsl:text><a href="{@uri}"><xsl:value-of select="@uri"/></a><xsl:value-of select="$delimiter"/></b>
+      </td>
+     </tr>
+     <xsl:if test="@mode != 'linkonly'">
+      <tr>
+       <td>&#x00a0;&#x00a0;&#x00a0;</td>
+       <td><ENTITY uri="{@uri}" type="{@mode}"/></td>
+      </tr>
+     </xsl:if>
+    </table>
+</xsl:template>
+
+<xsl:template match="ht:THEOREM">
+    <table>
+     <tr>
+      <td colspan="2">
+       <b><xsl:value-of select="@as"/><xsl:text>&#x00a0;</xsl:text><a href="{@uri}"><xsl:value-of select="@uri"/></a>:</b>
+      </td>
+     </tr>
+     <tr>
+      <td>&#x00a0;&#x00a0;&#x00a0;</td>
+      <td><ENTITY uri="{@uri}" type="typeonly"/></td>
+     </tr>
+    </table>
+</xsl:template>
+
+<xsl:template match="ht:AXIOM|ht:VARIABLE">
+    <table>
+     <tr>
+      <td colspan="2">
+       <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>
+      </td>
+     </tr>
+     <tr>
+      <td>&#x00a0;&#x00a0;&#x00a0;</td>
+      <td><ENTITY uri="{@uri}" type="embed"/></td>
+     </tr>
+    </table>
+</xsl:template>
+
+<xsl:template match="ht:DEFINITION">
+<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>
+    <table>
+     <tr>
+      <td colspan="2">
+       <b><xsl:value-of select="string($name)"/><xsl:text>&#x00a0;</xsl:text><a href="{@uri}"><xsl:value-of select="@uri"/></a>:</b>
+      </td>
+     </tr>
+     <tr>
+      <td>&#x00a0;&#x00a0;&#x00a0;</td>
+      <td><ENTITY uri="{@uri}" type="embed"/></td>
+     </tr>
+    </table>
+</xsl:template>
+
+<!-- Root and XHTML -->
+
+<xsl:template match = "/|*">
+  <xsl:copy>
+   <xsl:copy-of select="@*"/>
+   <xsl:apply-templates/>
+  </xsl:copy>
 </xsl:template>
 
 </xsl:stylesheet>