]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/style/html_reals.xsl
Initial revision
[helm.git] / helm / style / html_reals.xsl
index eb04dbb6f8dd58cff8f4f68d57e13e31b07d268b..a78f454bdc490d7b625eb6a04eccfa0553555fb9 100644 (file)
 <!-- HELM Group: Asperti, Padovani, Sacerdoti, Schena                      -->
 <!--***********************************************************************--> 
 
-<xsl:variable name="absPath">http://localhost:8081/getciconly?uri=</xsl:variable>
+<xsl:template name="mksymbol-reals">
+ <xsl:param name="symbol" select="''"/>
+  <xsl:choose>
+   <xsl:when test="$UNICODEvsSYMBOL = 'symbol'">
+    <xsl:variable name="fontsymbol">
+     <xsl:choose>
+      <xsl:when test="$symbol = 'leadsto'">
+       <xsl:value-of select="'&#174;'"/>
+      </xsl:when>
+      <xsl:when test="$symbol = 'sum'">
+       <xsl:value-of select="'&#229;'"/>
+      </xsl:when>
+      <xsl:otherwise>
+       <xsl:text>???</xsl:text>
+      </xsl:otherwise>
+     </xsl:choose>
+    </xsl:variable>
+    <FONT FACE="symbol" color="'blue'">
+     <xsl:value-of select="$fontsymbol"/>
+    </FONT>
+   </xsl:when>
+   <xsl:otherwise>
+    <xsl:variable name="unicodesymbol">
+     <xsl:choose>
+      <xsl:when test="$symbol = 'leadsto'">
+       <xsl:value-of select="'&#8594;'"/>
+      </xsl:when>
+      <xsl:when test="$symbol = 'sum'">
+       <xsl:value-of select="'&#x02211;'"/>
+      </xsl:when>
+      <xsl:otherwise>
+       <xsl:text>???</xsl:text>
+      </xsl:otherwise>
+     </xsl:choose>
+    </xsl:variable>
+    <FONT color="'blue'">
+     <xsl:value-of select="$unicodesymbol"/>
+    </FONT>
+   </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- **************************************************************** -->
+<!--                   INLINE MODE                                    -->
+<!-- **************************************************************** -->
+
+<!-- SUM -->
+
+<xsl:template mode="inline" match="m:apply[m:sum]">
+     <xsl:variable name="uri">
+      <xsl:value-of select="m:sum/@definitionURL"/>
+     </xsl:variable>
+     <xsl:choose>
+      <xsl:when test="$uri != ''">
+       <a href="{$uri}">
+       <!-- 
+       <FONT FACE="symbol" color="'blue'">
+        <xsl:value-of select="'&#229;'"/>
+       </FONT> -->
+       <xsl:call-template name="mksymbol-reals">
+        <xsl:with-param name="symbol" select="'sum'"/>
+      </xsl:call-template>
+       </a>
+      </xsl:when>
+      <xsl:otherwise>
+       <!-- 
+       <FONT FACE="symbol" color="'blue'">
+        <xsl:value-of select="'&#229;'"/>
+       </FONT> -->
+       <xsl:call-template name="mksymbol-reals">
+        <xsl:with-param name="symbol" select="'sum'"/>
+       </xsl:call-template>
+      </xsl:otherwise>
+     </xsl:choose>
+     <xsl:choose>
+      <xsl:when test="m:condition">
+       <SUB>
+        <xsl:apply-templates select="m:condition"/>
+       </SUB>
+      </xsl:when>
+      <xsl:otherwise>
+       <SUB>
+        <xsl:apply-templates select="m:lowlimit/*[1]"/>
+        <xsl:call-template name="mksymbol-init">
+         <xsl:with-param name="symbol" select="'leq'"/>
+        </xsl:call-template>
+        <xsl:apply-templates select="m:bvar/*[1]"/>
+        <xsl:call-template name="mksymbol-init">
+         <xsl:with-param name="symbol" select="'leq'"/>
+        </xsl:call-template>
+        <xsl:apply-templates select="m:uplimit/*[1]"/>
+       </SUB>
+      </xsl:otherwise>
+     </xsl:choose>
+     <xsl:apply-templates mode="inline" select="*[position()=last()]"/>
+ </xsl:template>
+
 
 <!-- LIMIT -->
 
+
+<xsl:template mode="inline" match="m:apply[m:limit]">
+     <xsl:variable name="uri"><xsl:value-of select="m:limit/@definitionURL"/></xsl:variable>
+     <xsl:choose>
+     <xsl:when test="$uri != ''">
+      <a href="{$uri}">
+       <xsl:text>lim</xsl:text>
+      </a>
+     </xsl:when>
+     <xsl:otherwise>
+      <xsl:text>lim</xsl:text>
+     </xsl:otherwise>
+     </xsl:choose>
+     <SUB>
+      <xsl:apply-templates select="m:bvar/m:ci"/>
+      <xsl:call-template name="mksymbol-reals">
+       <xsl:with-param name="symbol" select="'leadsto'"/>
+      </xsl:call-template>
+      <xsl:apply-templates mode="inline" select="m:lowlimit"/>
+     </SUB>
+     <xsl:apply-templates mode="inline" select="*[4]"/>
+ </xsl:template>
+
+<!-- DIFFERENTIATION -->
+
+<xsl:template mode="inline" match="m:apply[m:diff]">
+     <xsl:variable name="uri"><xsl:value-of select="m:diff/@definitionURL"/></xsl:variable>
+     <xsl:choose>
+     <xsl:when test="$uri != ''">
+      <a href="{$uri}">
+       <SUP>d</SUP>
+       <xsl:text>/</xsl:text>
+       <SUB>
+        <xsl:text>d</xsl:text>
+        <xsl:value-of select="m:bvar/m:ci"/>
+       </SUB>
+      </a>
+     </xsl:when>
+     <xsl:otherwise>
+      <SUP>d</SUP>
+       <xsl:text>/</xsl:text>
+       <SUB>
+        <xsl:text>d</xsl:text>
+        <xsl:value-of select="m:bvar/m:ci"/>
+       </SUB>
+     </xsl:otherwise>
+     </xsl:choose>
+     <xsl:apply-templates mode="inline" select="*[3]"/>
+ </xsl:template>
+
+<!-- ABSOLUTE VALUE -->
+<xsl:template mode="inline" match="m:apply[m:abs]">
+  <xsl:variable name="uri">
+   <xsl:value-of select="m:abs/@definitionURL"/>
+  </xsl:variable>
+  <xsl:text>|</xsl:text>
+  <xsl:apply-templates mode="inline" select="*[2]"/>
+  <xsl:text>|</xsl:text>
+</xsl:template>
+
+<!-- FACTORIAL -->
+
+<xsl:template mode="inline" match="m:apply[m:fact]">
+  <xsl:variable name="uri">
+   <xsl:value-of select="m:abs/@definitionURL"/>
+  </xsl:variable>
+  <xsl:apply-templates mode="inline" select="*[2]"/>
+  <xsl:text>!</xsl:text>
+</xsl:template>
+
+<!-- SQUARE ROOT -->
+
+<xsl:template match="m:apply[m:root]">
+  <xsl:variable name="uri">
+   <xsl:value-of select="m:abs/@definitionURL"/>
+  </xsl:variable>
+  <xsl:text>(sqr</xsl:text>
+  <xsl:apply-templates mode="inline" select="*[2]"/>
+  <xsl:text>)</xsl:text>
+</xsl:template>
+
+<!-- POWER -->
+
+<xsl:template mode="inline" match="m:apply[m:power]">
+  <xsl:variable name="uri">
+   <xsl:value-of select="m:power/@definitionURL"/>
+  </xsl:variable>
+  <xsl:apply-templates mode="inline" select="*[2]"/>
+  <SUP>
+  <xsl:apply-templates mode="inline" select="*[3]"/>
+  </SUP>
+</xsl:template>
+
+<!-- MIN and MAX (binari: estendere) -->
+
+ <xsl:template mode="inline" match="m:apply[m:min|m:max]">
+  <xsl:variable name="uri"><xsl:value-of select="*[1]/@definitionURL"/></xsl:variable>
+  <xsl:variable name="symbol">
+   <xsl:choose>
+    <xsl:when test="m:min">
+     <xsl:value-of select="'min'"/>
+    </xsl:when>
+    <xsl:when test="m:max">
+     <xsl:value-of select="'max'"/>
+    </xsl:when>
+   </xsl:choose>
+  </xsl:variable>
+  <xsl:choose>
+  <xsl:when test="$uri != ''">
+   <a href="{$uri}">
+    <xsl:value-of select="$symbol"/>
+   </a>
+  </xsl:when>
+  <xsl:otherwise>
+   <xsl:value-of select="$symbol"/>
+  </xsl:otherwise>
+  </xsl:choose>
+  <xsl:text>{</xsl:text>
+  <xsl:apply-templates mode="inline" select="*[2]"/>
+  <xsl:text>, </xsl:text>
+  <xsl:apply-templates mode="inline" select="*[3]"/>
+  <xsl:text>}</xsl:text>
+</xsl:template>
+
+<!-- **************************************************************** -->
+<!--                   COUNTING MODE                                    -->
+<!-- **************************************************************** -->
+
+<xsl:template match="m:apply[m:sum]">
+ <xsl:apply-templates mode="inline" select="."/>
+</xsl:template>
+
 <xsl:template match="m:apply[m:limit]">
   <xsl:param name="current_indent" select="0"/> 
   <xsl:param name="width" select="$framewidth"/>
-  <xsl:variable name="uri">
-   <xsl:value-of select="m:limit/@definitionURL"/>
-  </xsl:variable>
+  <xsl:variable name="uri"><xsl:value-of select="m:limit/@definitionURL"/></xsl:variable>
   <xsl:variable name="charlength">
    <xsl:apply-templates select="m:limit" mode="charcount"/>
   </xsl:variable>
   <xsl:choose>
     <xsl:when test="$charlength > $framewidth">
-     <a>
-     <xsl:attribute name="href">
-      <xsl:value-of select="concat(string($header),string($uri))"/>
-     </xsl:attribute>
-     <xsl:text>lim</xsl:text>
-     </a>
+     <xsl:choose>
+     <xsl:when test="$uri != ''">
+      <a href="{$uri}">
+       <xsl:text>lim</xsl:text>
+      </a>
+     </xsl:when>
+     <xsl:otherwise>
+      <xsl:text>lim</xsl:text>
+     </xsl:otherwise>
+     </xsl:choose>
      <SUB>
       <xsl:apply-templates select="m:bvar/m:ci"/>
-      <FONT FACE="symbol" mathcolor="blue">&#174;</FONT>
+      <xsl:call-template name="mksymbol-reals">
+       <xsl:with-param name="symbol" select="'leadsto'"/>
+      </xsl:call-template>
       <xsl:apply-templates select="m:lowlimit"/>
      </SUB>
      <BR/> 
      </xsl:apply-templates>
     </xsl:when>
     <xsl:otherwise>
-     <a>
-     <xsl:attribute name="href">
-      <xsl:value-of select="concat(string($header),string($uri))"/>
-     </xsl:attribute>
-     <xsl:text>lim</xsl:text>
-     </a>
-     <SUB>
-      <xsl:apply-templates select="m:bvar/m:ci"/>
-      <FONT FACE="symbol" mathcolor="blue">&#174;</FONT>
-      <xsl:apply-templates select="m:lowlimit"/>
-     </SUB>
-     <xsl:apply-templates select="*[4]">
-      <xsl:with-param name="current_indent" select="$current_indent + 5"/>
-     </xsl:apply-templates>
+     <xsl:apply-templates mode="inline" select="."/>
     </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
 
 <!-- DIFFERENTIATION -->
-
 <xsl:template match="m:apply[m:diff]">
   <xsl:param name="current_indent" select="0"/> 
   <xsl:param name="width" select="$framewidth"/>
-  <xsl:variable name="uri">
-   <xsl:value-of select="m:diff/@definitionURL"/>
-  </xsl:variable>
-     <a>
-     <xsl:attribute name="href">
-      <xsl:value-of select="concat(string($header),string($uri))"/>
-     </xsl:attribute>
-     <SUP>d</SUP>
-      <xsl:text>/</xsl:text>
-     <SUB>
-      <xsl:text>d</xsl:text>
-      <xsl:value-of select="m:bvar/m:ci"/>
-     </SUB>
-     </a>
+  <xsl:variable name="uri"><xsl:value-of select="m:diff/@definitionURL"/></xsl:variable>
+     <xsl:choose>
+     <xsl:when test="$uri != ''">
+      <a href="{$uri}">
+       <SUP>d</SUP>
+       <xsl:text>/</xsl:text>
+       <SUB>
+        <xsl:text>d</xsl:text>
+        <xsl:value-of select="m:bvar/m:ci"/>
+       </SUB>
+      </a>
+     </xsl:when>
+     <xsl:otherwise>
+       <SUP>d</SUP>
+       <xsl:text>/</xsl:text>
+       <SUB>
+        <xsl:text>d</xsl:text>
+        <xsl:value-of select="m:bvar/m:ci"/>
+       </SUB>
+     </xsl:otherwise>
+     </xsl:choose>
      <xsl:apply-templates select="*[3]">
       <xsl:with-param name="current_indent" select="$current_indent + 5"/>
      </xsl:apply-templates>
  </xsl:template>
 
+
 <!-- ABSOLUTE VALUE -->
 <xsl:template match="m:apply[m:abs]">
   <xsl:param name="current_indent" select="0"/> 
  <xsl:template match="m:apply[m:min|m:max]">
   <xsl:param name="current_indent" select="0"/> 
   <xsl:param name="width" select="$framewidth"/>
-  <xsl:variable name="uri">
-   <xsl:value-of select="*[1]/@definitionURL"/>
-  </xsl:variable>
+  <xsl:variable name="uri"><xsl:value-of select="*[1]/@definitionURL"/></xsl:variable>
   <xsl:variable name="charlength">
    <xsl:apply-templates select="*[1]" mode="charcount"/>
   </xsl:variable>
   </xsl:variable>
   <xsl:choose>
     <xsl:when test="$charlength > $framewidth">
-     <a>
-     <xsl:attribute name="href">
-      <xsl:value-of select="concat(string($header),string($uri))"/>
-     </xsl:attribute>
-     <xsl:value-of select="$symbol"/>
-     </a>
+     <xsl:choose>
+     <xsl:when test="$uri != ''">
+      <a href="{$uri}">
+       <xsl:value-of select="$symbol"/>
+      </a>
+     </xsl:when>
+     <xsl:otherwise>
+      <xsl:value-of select="$symbol"/>
+     </xsl:otherwise>
+     </xsl:choose>
      <xsl:text>{</xsl:text>
      <xsl:apply-templates select="*[2]">
       <xsl:with-param name="current_indent" select="$current_indent + 2"/>
      <xsl:text>}</xsl:text>
     </xsl:when>
     <xsl:otherwise>
-     <a>
-     <xsl:attribute name="href">
-      <xsl:value-of select="concat(string($header),string($uri))"/>
-     </xsl:attribute>
-     <xsl:value-of select="$symbol"/>
-     </a>
-     <xsl:text>{</xsl:text>
-     <xsl:apply-templates select="*[2]"/>
-     <xsl:text>, </xsl:text>
-     <xsl:apply-templates select="*[3]"/>
-     <xsl:text>}</xsl:text>
+     <xsl:apply-templates mode="inline" select="."/>
     </xsl:otherwise>
    </xsl:choose>
  </xsl:template>
 
 <!-- COUNTING -->
 
-<xsl:template match="m:abs|m:fact|m:root
-           |m:limit|m:diff|m:min|m:max" mode="charcount">
+<xsl:template match="m:abs|m:fact|m:root|
+           m:sum|m:limit|m:diff|m:min|m:max" mode="charcount">
 <xsl:param name="incurrent_length" select="0"/> 
     <xsl:choose>
     <xsl:when test="$framewidth >= ($incurrent_length + string-length())">
 </xsl:template> 
 
 </xsl:stylesheet> 
-
-
-
-
-
-
-