6.3 Word Fractions

<..constant fracs..>
 <xsl:when test="
    (string-length(
       normalize-space(child::span[ @class = ’mrow-numerator’ ][1])
      ) = 1)
    and
    (string-length(
      normalize-space(child::span[ @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 &lt; $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>
-_-_-

<..a := numerator; b := enumerator..>
 <xsl:variable name="a">
    <xsl:value-of select="
       normalize-space(child::span[ @class = ’mrow-numerator’ ][1])
    " />
 </xsl:variable>
 <xsl:variable name="b">
    <xsl:value-of select="
       normalize-space(child::span[ @class = ’mrow-enumerator’ ][1])
    " />
 </xsl:variable>
-_-_-

<..word numerator..>
 <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>
-_-_-

<..word enumerator..>
 <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 &gt; 1 "><xsl:text>s</xsl:text></xsl:if>
 <xsl:text> </xsl:text>
-_-_-