]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/mathml_editor/xsl/tml-mmlp.xsl
debian release 0.0.4-1
[helm.git] / helm / DEVEL / mathml_editor / xsl / tml-mmlp.xsl
index 9054b9c997ffbaf020b6378f819c373384ed3fbd..8c9b8ead19ca45b35f138f5de16d0b900add3cc2 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 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 name="cursor">
     <xsl:choose>
       <xsl:when test="substring(@val,1,1)='\'">
            <xsl:attribute name="xref">
              <xsl:value-of select="@id"/>
            </xsl:attribute>
-         </xsl:if>
-        I
-        </m:mtext>
+         </xsl:if>I</m:mtext>
       </xsl:otherwise>
     </xsl:choose>
   </xsl:template>
 
-  <xsl:template match="tml:cursor">
+  <xsl:template match="tml:cursor[@visible='1']">
     <xsl:param name="annotation" select="/.."/>
     <xsl:choose>
       <xsl:when test="$annotation">
     </xsl:choose>
   </xsl:template>
 
+  <xsl:template match="tml:cursor[not(@visible) or @visible='0']">
+  </xsl:template>
+
   <xsl:template match="tml:sb[@under='1'][*[1]/tml:sp[@over='1']]">
     <m:munderover>
       <xsl:if test="@id">
           <xsl:value-of select="@id"/>
         </xsl:attribute>
       </xsl:if>
-      <xsl:apply-templates select="*[2]"/>
-      <xsl:apply-templates select="*[1]"/>
+      <xsl:choose>
+        <xsl:when test="count(*) &lt; 2">
+         <m:mrow/>
+         <xsl:apply-templates select="*[1]"/>
+       </xsl:when>
+       <xsl:otherwise>
+          <xsl:apply-templates select="*[2]"/>
+          <xsl:apply-templates select="*[1]"/>
+       </xsl:otherwise>
+      </xsl:choose>
     </m:mroot>
   </xsl:template>
 
         </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>