]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/mathml_editor/xsl/tml-mmlp.xsl
- reimplemented cache handling
[helm.git] / helm / DEVEL / mathml_editor / xsl / tml-mmlp.xsl
index 8736053872db15bd8c9b00518b0d4cd910786493..19a88113b0ec84ced4ffd706353a4cb304455820 100644 (file)
@@ -3,6 +3,7 @@
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
      xmlns:tml="http://helm.cs.unibo.it/2002/TML"
      xmlns:m="http://www.w3.org/1998/Math/MathML"
+     exclude-result-prefixes="tml"
      version="1.0">
 
   <xsl:output indent="yes"/>
     </m:mo>
   </xsl:template>
 
-  <xsl:template name="cursor">
+  <xsl:template match="tml:o[@val='-']">
+    <m:mo>
+      <xsl:if test="@id">
+        <xsl:attribute name="xref">
+          <xsl:value-of select="@id"/>
+        </xsl:attribute>
+      </xsl:if>
+      &#x2212;
+    </m:mo>
+  </xsl:template>
+
+  <xsl:template match="tml:cursor[@visible='1']">
     <xsl:choose>
       <xsl:when test="substring(@val,1,1)='\'">
         <m:mrow>
            <xsl:attribute name="xref">
              <xsl:value-of select="@id"/>
            </xsl:attribute>
-         </xsl:if>I</m:mtext>
+         </xsl:if><xsl:value-of select="@val"/>I</m:mtext>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:template>
 
-  <xsl:template match="tml:cursor">
-    <xsl:param name="annotation" select="/.."/>
-    <xsl:choose>
-      <xsl:when test="$annotation">
-        <m:msub>
-         <xsl:call-template name="cursor"/>
-         <m:mtext>
-           <xsl:value-of select="$annotation"/>
-         </m:mtext>
-       </m:msub>
-      </xsl:when>
-      <xsl:otherwise>
-        <xsl:call-template name="cursor"/>
-      </xsl:otherwise>
-    </xsl:choose>
+  <xsl:template match="tml:cursor[not(@visible) or @visible='0']">
   </xsl:template>
 
   <xsl:template match="tml:sb[@under='1'][*[1]/tml:sp[@over='1']]">
   </xsl:template>
 
   <xsl:template match="tml:g">
-    <xsl:param name="annotation" select="/.."/>
     <xsl:choose>
       <xsl:when test="not(@id) and count(*) = 1">
-        <xsl:apply-templates select="*[1]">
-         <xsl:with-param name="annotation" select="$annotation"/>
-       </xsl:apply-templates>
+        <xsl:apply-templates select="*[1]"/>
       </xsl:when>
       <xsl:when test="tml:cursor">
        <m:mstyle mathbackground="#e0e0e0">
             </xsl:attribute>
          </xsl:if>
          <m:mrow>
-           <xsl:apply-templates select="*">
-             <xsl:with-param name="annotation" select="$annotation"/>
-           </xsl:apply-templates>
+           <xsl:apply-templates select="*"/>
          </m:mrow>
        </m:mstyle>
       </xsl:when>
               <xsl:value-of select="@id"/>
             </xsl:attribute>
          </xsl:if>
-         <xsl:apply-templates select="*">
-           <xsl:with-param name="annotation" select="$annotation"/>
-         </xsl:apply-templates>
+         <xsl:apply-templates select="*"/>
        </m:mrow>
       </xsl:otherwise>
     </xsl:choose>
         </xsl:attribute>
       </xsl:if>
       <xsl:apply-templates select="*[1]"/>
-      <xsl:if test="tml:g/tml:cursor">
+      <xsl:if test="tml:g/tml:cursor[@visible='1']">
         <m:msub>
           <m:mtext mathcolor="#808080">}</m:mtext>
          <m:mtext><xsl:value-of select="@name"/></m:mtext>
     </m:mfrac>
   </xsl:template>
 
+  <xsl:template match="tml:c[@name='space']">
+    <m:mspace width="veryverythickmathspace">
+    </m:mspace>
+  </xsl:template>
+
 </xsl:stylesheet>