2.7 Pronounced Punctuation in math

TTSs might ignore punctuation marks. We want these symbols in math.

<..sayas punctuation..>
 <xsl:template match="mo[
     (@class=’MathClass-punc’)
     and ( (.=’.’) or (.=’,’)  or (.=’!’)
           or (.=’;’) or (.=’:’) or (.=’?’) )
 ]" >
   <xsl:copy>
     <xsl:apply-templates select="@*" />
     <BREAK SIZE="small"/>
     <xsl:choose>
        <xsl:when test=" .=’.’ " >
           <SAYAS SUB="dot">.</SAYAS>
        </xsl:when>
        <xsl:when test=" .=’,’ " >
           <SAYAS SUB="comma">,</SAYAS>
        </xsl:when>
        <xsl:when test=" .=’;’ " >
           <SAYAS SUB="semicolon">;</SAYAS>
        </xsl:when>
        <xsl:when test=" .=’:’ " >
           <SAYAS SUB="colon">:</SAYAS>
        </xsl:when>
        <xsl:when test=" .=’!’ " >
           <SAYAS SUB="exclamation mark">!</SAYAS>
        </xsl:when>
        <xsl:when test=" .=’?’ " >
           <SAYAS SUB="question mark">?</SAYAS>
        </xsl:when>
     </xsl:choose>
     <BREAK SIZE="small"/>
   </xsl:copy>
 </xsl:template>
-_-_-

<..sayas digits..>
 <xsl:template match="mn[
    <.mn modified above.>
    or
    <.mn modified under.>
 ]" >
   <xsl:copy>
     <SAYAS CLASS="digits">
       <xsl:value-of select="." />
     </SAYAS>
   </xsl:copy>
 </xsl:template>
-_-_-

<..mn modified above..>
 ancestor::mover[
   not( descendant::*[
         (count( <.math content element.> ) &gt; 1)
      ])
   and
   (
      preceding-sibling::*[1][self::dot or self::mn-group-s]
      or
      following-sibling::*[1][self::dot or self::mn-group-s]
   )
 ]
-_-_-

<..mn modified under..>
 ancestor::munder[
   not( descendant::*[
         (count( <.math content element.> ) &gt; 1)
      ])
   and
   (
      preceding-sibling::*[1][self::dot or self::mn-group-s]
      or
      following-sibling::*[1][self::dot or self::mn-group-s]
   )
 ]
-_-_-