<xsl:when test=" child::*[
(position() = 2)
and
(self::msub or self::msup or self::msubsup)
]" >
<xsl:variable name="content">
<xsl:apply-templates
select="child::*[2] / child::*[
(@class = ’mrow-base’)
or (@class = ’limits-mrow-base’) ]"
mode="content" />
</xsl:variable>
<xsl:choose>
<xsl:when test="
string-length( normalize-space( $content )) = 1
or
(translate($content,’0123456789 ’,’’) = ’’)
" >
<xsl:attribute name="class">
<xsl:text>semi-math</xsl:text>
</xsl:attribute>
<PROS PITCH="-5">
<BREAK SIZE="small"/>
<xsl:apply-templates select="*[2]" />
<BREAK SIZE="small"/>
</PROS>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="*|@*|text()" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
-_-_-