3.1 ’minus’ into ’negative’

<..’minus’ into ’negative’..>
 <xsl:template match="mo[
     (@class = ’MathClass-bin’)
   and
     ( normalize-space(.) =
       normalize-space(descendant::span[@class = ’ch 2212’])
     )
   and
     (   preceding-sibling::*[1][
              (@title=’speech-extra’)
              or (@class=’MathClass-bin’)
              or (@class=’MathClass-rel’)
              or (@class=’MathClass-punc’)
              or (@class=’MathClass-op’)
              or self::mn-group-s [ child::* [
                    (position() = last())
                   and
                    (@class=’MathClass-punc’)
         ]       ] ]
         and
         (
            following-sibling::*[1][ self::mn-group-s
                                  or self::mi ]
           or
            (count(following-sibling::*[
                not(@title = ’speech-extra’)
             ]) = 1)
         )
       or
         not(preceding-sibling::*) and following-sibling::*
     )
 ]" >
   <xsl:copy>
     <xsl:attribute name="class">
        <xsl:text>mo-unary</xsl:text>
     </xsl:attribute>
     <xsl:apply-templates select="*|text()|comment()"
                          mode="minus-neg" />
   </xsl:copy>
 </xsl:template>
-_-_-

<..’minus’ into ’negative’..>+
 <xsl:template match="*|@*|text()|comment()" mode="minus-neg" >
   <xsl:copy>
     <xsl:apply-templates select="*|@*|text()|comment()"
                          mode="minus-neg" />
   </xsl:copy>
 </xsl:template>
-_-_-
<span class="begin-script"> subscript </span>  
<mo class="MathClass-bin">  
  <span class="char">  
    <span class="ch 2212">minus</span>  
  </span>  
</mo>  
<mn>2</mn>

<..’minus’ into ’negative’..>+
 <xsl:template match="text()" mode="minus-neg" >
   <xsl:choose>
     <xsl:when test=" . = ’minus’ " >
       <xsl:text>negative</xsl:text>
     </xsl:when>
     <xsl:otherwise>
       <xsl:value-of select="." />
     </xsl:otherwise>
   </xsl:choose>
 </xsl:template>
-_-_-