Решил свою проблему так
Код:
<!--Сумма-->
<xsl:variable name="summa_str" select="java:java.lang.String.new(st:summaToString(@total_sum))"/>
<!--/Сумма-->
<!--Копейки-->
<xsl:variable name="kop_str" select="substring-after(@total_sum, '.')"/>
<!--/Копейки-->
<!--Возможные варианты спряжения рубля-->
<!--Еденицы-->
<xsl:variable name="odin_rub" select="substring-before($summa_str, 'один рубль')"/>
<xsl:variable name="dva_rub" select="substring-before($summa_str, 'два рубля')"/>
<xsl:variable name="tri_rub" select="substring-before($summa_str, 'три рубля')"/>
<xsl:variable name="chetire_rub" select="substring-before($summa_str, 'четыре рубля')"/>
<xsl:variable name="pyat_rub" select="substring-before($summa_str, 'пять рублей')"/>
<xsl:variable name="shest_rub" select="substring-before($summa_str, 'шесть рублей')"/>
<xsl:variable name="sem_rub" select="substring-before($summa_str, 'семь рублей')"/>
<xsl:variable name="devyat_rub" select="substring-before($summa_str, 'девять рублей')"/>
<xsl:variable name="desyat_rub" select="substring-before($summa_str, 'десять рублей')"/>
<!--/Еденицы-->
<!--Десятки-->
<xsl:variable name="desyyat_rub" select="substring-before($summa_str, 'десят рублей')"/>
<xsl:variable name="dvadcat_rub" select="substring-before($summa_str, 'двадцать рублей')"/>
<xsl:variable name="tridcat_rub" select="substring-before($summa_str, 'тридцать рублей')"/>
<xsl:variable name="nadcat_rub" select="substring-before($summa_str, 'надцать рублей')"/>
<xsl:variable name="rok_rub" select="substring-before($summa_str, 'рок рублей')"/>
<!--/Десятки-->
<!--Сотни-->
<xsl:variable name="sto_rub" select="substring-before($summa_str, 'то рублей')"/>
<xsl:variable name="sti_rub" select="substring-before($summa_str, 'сти рублей')"/>
<xsl:variable name="sta_rub" select="substring-before($summa_str, 'ста рублей')"/>
<xsl:variable name="sot_rub" select="substring-before($summa_str, 'сот рублей')"/>
<!--/Сотни-->
<!--Тысячи-->
<xsl:variable name="tisyachi_rub" select="substring-after($summa_str, 'тысячи ')"/>
<xsl:variable name="tisyachi_rub3" select="substring-before($tisyachi_rub, ' коп')"/>
<xsl:variable name="tisyachi_rub2" select="substring-before($summa_str, 'рублей')"/>
<xsl:variable name="tisyacha_rub" select="substring-after($summa_str, 'тысяча ')"/>
<xsl:variable name="tisyacha_rub3" select="substring-before($tisyacha_rub, ' коп')"/>
<xsl:variable name="tisyacha_rub2" select="substring-before($summa_str, 'рублей')"/>
<xsl:variable name="tisyach_rub" select="substring-after($summa_str, 'тысяч ')"/>
<xsl:variable name="tisyach_rub3" select="substring-before($tisyach_rub, ' коп')"/>
<xsl:variable name="tisyach_rub2" select="substring-before($summa_str, 'рублей')"/>
<!--/Тысячи-->
<!--/Возможные варианты спряжения рубля-->
<!--Сравнение-->
<!--/Еденицы-->
<xsl:if test="$odin_rub!=''">
<xsl:variable name="odin_rub2" select="java:concat(java:toUpperCase(java:substring($odin_rub,0,1)),java:substring($odin_rub,1))"/>
<xsl:value-of select="$odin_rub2"/>одна гривня <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$dva_rub!=''">
<xsl:variable name="dva_rub2" select="java:concat(java:toUpperCase(java:substring($dva_rub,0,1)),java:substring($dva_rub,1))"/>
<xsl:value-of select="$dva_rub2"/>две гривни <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$tri_rub!=''">
<xsl:variable name="tri_rub2" select="java:concat(java:toUpperCase(java:substring($tri_rub,0,1)),java:substring($tri_rub,1))"/>
<xsl:value-of select="$tri_rub2"/>три гривни <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$chetire_rub!=''">
<xsl:variable name="chetire_rub2" select="java:concat(java:toUpperCase(java:substring($chetire_rub,0,1)),java:substring($chetire_rub,1))"/>
<xsl:value-of select="$chetire_rub2"/>четыре гривни <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$pyat_rub!=''">
<xsl:variable name="pyat_rub2" select="java:concat(java:toUpperCase(java:substring($pyat_rub,0,1)),java:substring($pyat_rub,1))"/>
<xsl:value-of select="$pyat_rub2"/>пять гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$shest_rub!=''">
<xsl:variable name="shest_rub2" select="java:concat(java:toUpperCase(java:substring($shest_rub,0,1)),java:substring($shest_rub,1))"/>
<xsl:value-of select="$shest_rub2"/>шесть гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$sem_rub!=''">
<xsl:variable name="sem_rub2" select="java:concat(java:toUpperCase(java:substring($sem_rub,0,1)),java:substring($sem_rub,1))"/>
<xsl:value-of select="$sem_rub2"/>семь гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$devyat_rub!=''">
<xsl:variable name="devyat_rub2" select="java:concat(java:toUpperCase(java:substring($devyat_rub,0,1)),java:substring($devyat_rub,1))"/>
<xsl:value-of select="$devyat_rub2"/>девять гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$desyat_rub!=''">
<xsl:variable name="desyat_rub2" select="java:concat(java:toUpperCase(java:substring($desyat_rub,0,1)),java:substring($desyat_rub,1))"/>
<xsl:value-of select="$desyat_rub2"/>десять гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<!--/Еденицы-->
<!--Десятки-->
<xsl:if test="$desyyat_rub!=''">
<xsl:variable name="desyyat_rub2" select="java:concat(java:toUpperCase(java:substring($desyyat_rub,0,1)),java:substring($desyyat_rub,1))"/>
<xsl:value-of select="$desyyat_rub2"/>десят гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$dvadcat_rub!=''">
<xsl:variable name="dvadcat_rub2" select="java:concat(java:toUpperCase(java:substring($dvadcat_rub,0,1)),java:substring($dvadcat_rub,1))"/>
<xsl:value-of select="$dvadcat_rub2"/>двадцать гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$tridcat_rub!=''">
<xsl:variable name="tridcat_rub2" select="java:concat(java:toUpperCase(java:substring($tridcat_rub,0,1)),java:substring($tridcat_rub,1))"/>
<xsl:value-of select="$tridcat_rub2"/>тридцать гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$rok_rub!=''">
<xsl:variable name="rok_rub2" select="java:concat(java:toUpperCase(java:substring($rok_rub,0,1)),java:substring($rok_rub,1))"/>
<xsl:value-of select="$rok_rub2"/>рок гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$nadcat_rub!=''">
<xsl:variable name="nadcat_rub2" select="java:concat(java:toUpperCase(java:substring($nadcat_rub,0,1)),java:substring($nadcat_rub,1))"/>
<xsl:value-of select="$nadcat_rub2"/>надцать гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<!--Десятки-->
<!--/Сотни-->
<xsl:if test="$sto_rub!=''">
<xsl:variable name="sto_rub2" select="java:concat(java:toUpperCase(java:substring($sto_rub,0,1)),java:substring($sto_rub,1))"/>
<xsl:value-of select="$sto_rub2"/>то гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$sti_rub!=''">
<xsl:variable name="sti_rub2" select="java:concat(java:toUpperCase(java:substring($sti_rub,0,1)),java:substring($sti_rub,1))"/>
<xsl:value-of select="$sti_rub2"/>сти гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$sta_rub!=''">
<xsl:variable name="sta_rub2" select="java:concat(java:toUpperCase(java:substring($sta_rub,0,1)),java:substring($sta_rub,1))"/>
<xsl:value-of select="$sta_rub2"/>ста гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<xsl:if test="$sot_rub!=''">
<xsl:variable name="sot_rub2" select="java:concat(java:toUpperCase(java:substring($sot_rub,0,1)),java:substring($sot_rub,1))"/>
<xsl:value-of select="$sot_rub2"/>сот гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:if>
<!--/Сотни-->
<!--/Тысячи-->
<xsl:choose>
<xsl:when test="$tisyachi_rub3=concat(' рублей ', $kop_str)">
<xsl:variable name="tisyachi_rub4" select="java:concat(java:toUpperCase(java:substring($tisyachi_rub2,0,1)),java:substring($tisyachi_rub2,1))"/>
<xsl:value-of select="$tisyachi_rub4"/> гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:when>
<xsl:when test="$tisyacha_rub3=concat(' рублей ', $kop_str)">
<xsl:variable name="tisyach_rub4" select="java:concat(java:toUpperCase(java:substring($tisyach_rub2,0,1)),java:substring($tisyach_rub2,1))"/>
<xsl:value-of select="$tisyach_rub4"/> гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:when>
<xsl:when test="$tisyach_rub3=concat(' рублей ', $kop_str)">
<xsl:variable name="tisyach_rub4" select="java:concat(java:toUpperCase(java:substring($tisyach_rub2,0,1)),java:substring($tisyach_rub2,1))"/>
<xsl:value-of select="$tisyach_rub4"/> гривень <xsl:value-of select="$kop_str"/> коп.
</xsl:when>
</xsl:choose>
<!--/Тысячи-->
<!--/Сравнение-->
С UpperCase