XSL проверяет целое число - PullRequest
1 голос
/ 25 октября 2010

Как проверить целочисленное значение в XSL? Я использую версию 1.0

Это то, что я пробовал, но не работает:

<xsl:variable name="ShowEmailEventId"
     select="com.zoniac.emailevent.NewEmailEventBean/emailEventIdString"/>
<xsl:if test="$ShowEmailEventId !=48">
    <table align="center"
           width="96%"
           border="1"
           style="border-color:#2E73AD;border-collapse:collapse"
           cellspacing="0"
           cellpadding="10">
        <tr>
            <td width="10%"
                style="border-color:#2E73AD;color: black; font: 11px verdana;padding:2px"
                align="left"
                valign="top">
                <b>S.No</b>
            </td>
        </tr>
    </table>
</xsl:if>

Ответы [ 2 ]

4 голосов
/ 25 октября 2010

Это, вероятно, самое короткое выражение , возвращающее true(), если $ x можно использовать как целое число:

Просто используйте :

floor($x) = $x

Полный тест будет :

<xsl:if test="floor($x) = $x">
 <!-- $x is an integer -->
</xsl:if>

или

<xsl:when test="floor($x) = $x">
 <!-- $x is an integer -->
</xsl:when>

или

someXPathExpression[floor($x) = $x]
3 голосов
/ 25 октября 2010

TO, чтобы проверить, является ли значение nameofint целым числом ... (очевидно, вы захотите изменить внутреннюю часть условия if.

<xsl:template match="CheckInt">
   <xsl:if test="not(string(.) castable as xs:integer)">
    <xsl:text>NOT AN INT: </xsl:text>
    <xsl:value-of select="."/>
  </xsl:if>
 </xsl:template>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...