8.2 Word Fractions
Example: ‘1 \ove 2’ int ‘one half’
<xsl:when test="
(string-length(
normalize-space(child::mrow[ @class = ’mrow-numerator’ ][1])
) = 1)
and
(string-length(
normalize-space(child::mrow[ @class = ’mrow-enumerator’ ][1])
) = 1)
">
<.a := numerator; b := enumerator.>
<xsl:choose>
<xsl:when test="
(translate($a,’123456789’,’’) != ’’)
or
(translate($b,’123456789’,’’) != ’’)
" >
<xsl:apply-templates select="*|@*|text()|comment()" />
</xsl:when>
<xsl:when test=" $a < $b ">
<xsl:attribute name="class">
<xsl:text>word-frac</xsl:text>
</xsl:attribute>
<.word numerator.>
<.word enumerator.>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="*|@*|text()|comment()" />
</xsl:otherwise>
</xsl:choose>
</xsl:when> -_-_-
<xsl:variable name="a">
<xsl:value-of select="
normalize-space(child::mrow[ @class = ’mrow-numerator’ ][1])
" />
</xsl:variable>
<xsl:variable name="b">
<xsl:value-of select="
normalize-space(child::mrow[ @class = ’mrow-enumerator’ ][1])
" />
</xsl:variable>
-_-_-
<xsl:choose>
<xsl:when test=" $a = 1 "><xsl:text> one </xsl:text></xsl:when>
<xsl:when test=" $a = 2 "><xsl:text> two </xsl:text></xsl:when>
<xsl:when test=" $a = 3 "><xsl:text> three </xsl:text></xsl:when>
<xsl:when test=" $a = 4 "><xsl:text> four </xsl:text></xsl:when>
<xsl:when test=" $a = 5 "><xsl:text> five </xsl:text></xsl:when>
<xsl:when test=" $a = 6 "><xsl:text> six </xsl:text></xsl:when>
<xsl:when test=" $a = 7 "><xsl:text> seven </xsl:text></xsl:when>
<xsl:when test=" $a = 8 "><xsl:text> eight </xsl:text></xsl:when>
<xsl:when test=" $a = 9 "><xsl:text> nine </xsl:text></xsl:when>
</xsl:choose>
-_-_-
<xsl:choose>
<xsl:when test=" $b = 2 "><xsl:text> half</xsl:text></xsl:when>
<xsl:when test=" $b = 3 "><xsl:text> third</xsl:text></xsl:when>
<xsl:when test=" $b = 4 "><xsl:text> fourth</xsl:text></xsl:when>
<xsl:when test=" $b = 5 "><xsl:text> fifth</xsl:text></xsl:when>
<xsl:when test=" $b = 6 "><xsl:text> sixth</xsl:text></xsl:when>
<xsl:when test=" $b = 7 "><xsl:text> seventh</xsl:text></xsl:when>
<xsl:when test=" $b = 8 "><xsl:text> eighth</xsl:text></xsl:when>
<xsl:when test=" $b = 9 "><xsl:text> nineth</xsl:text></xsl:when>
</xsl:choose>
<xsl:if test=" $a > 1 "><xsl:text>s</xsl:text></xsl:if>
<xsl:text> </xsl:text>
-_-_-