как правильно проверить xs: decimal в XSL?

Пытаюсь отображать разную информацию в зависимости от входящих данных. Если это целое число, я хочу отображать только число, если это десятичное число, я хочу использовать шаблон 0.00 #. Да, я знаю, немного перепутал, но это спецификация разработки. :>

У меня есть следующий XSL для этого конкретного раздела, но я не вижу, как пройти через xsl: when сообщение об ошибке

" "отливной". число (SAVG) -> castable <- as xs: decimal "

<xsl:choose>
    <xsl:when test="number(SAVG) > 0">
        <xsl:choose>
            <xsl:when test="number(SAVG) castable as xs:decimal">
                <xsl:value-of select="format-number(SAVG, '###,###,##0.00#')"/>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="format-number(SAVG, '###,###,##0.###')"/>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:when>
    <xsl:when test="number(SAVG) = 0">
        <xsl:text disable-output-escaping="yes">&amp;lt;</xsl:text>1
    </xsl:when>
    <xsl:otherwise>N/A</xsl:otherwise>
</xsl:choose>

Я пробовал искать / ковыряться в поисках ответов, и я пробовал" instance of ", я пробовал использовать xsl: if и т. д., но я не могу заставить это работать. Любая помощь будет принята с благодарностью.

Спасибо.

Из комментариев:

Да, мы используем 1.0. Извините, я новичок в обработке XSL, как мне склейте свой XSL и введите данные для создания html?

6
задан PHenry 29 September 2010 в 19:29
поделиться