7.2 ’minus’ into ’negative’

<..’minus’ into ’negative’..>
 <xsl:template match="span[
     (@class = ’mo-bin’)
   and
     (   preceding-sibling::*[
            (position()=1)
            and
            ( (@title=’speech-extra’)
              or (@class=’mo-bin’)
              or (@class=’mo-rel’)  )
         ]
         and
         (
            following-sibling::*[ (@class=’mn’) or (@class=’mi’) ]
           or
            (count(following-sibling::*[
                not(@title = ’speech-extra’)
             ]) = 1)
         )
       or
         not(preceding-sibling::*)
     )
   and
     (normalize-space(.)=’minus’)
 ]" >
   <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>  
<span class="mo-bin">  
  <span class="char">  
    <span class="ch 2212">minus</span>  
  </span>  
</Span>  
<span class="mn">2</span>

<..’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>
-_-_-