大于(>)和小于(<)运算符在XSLT中不起作用

时间:2015-06-02 19:15:42

标签: xml xslt-1.0 ibm-datapower

下面是我的XSL,我试图检查条件,如果文件的大小大于预设值并尝试停止处理,但看起来条件没有得到执行。我不确定它是否没有正确格式化。任何人都可以查看它,看看是否有任何问题?

变量IncomingFileSize和SetFileSize的值的类型为' number'

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dp="http://www.datapower.com/extensions" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dpconfig="http://www.datapower.com/param/config" extension-element-prefixes="dp" exclude-result-prefixes="dp dpconfig inc">
<xsl:template match="/">
    <xsl:variable name="File_CD" select="document('local:///FileIntake/Resources/FileServiceConfigData.xml')"/>
    <xsl:variable name="IncomingFileSize" select="number(dp:variable('var://service/mpgw/request-size'))"/>
    <!-- <xsl:variable name="SetFileSize" select="$File_CD/FileServiceConfig/FileSize"/> -->
    <xsl:variable name="SetFileSize" select="number($File_CD/FileServiceConfig/FileSize)"/>
    <dp:set-variable name="'var://context/var/IncomingFileSize'" value="$IncomingFileSize"/>
    <dp:set-variable name="'var://context/var/SetFileSize'" value="$SetFileSize"/>
    <xsl:choose>
        <xsl:when test="'$IncomingFileSize '&gt;' $SetFileSize'">
            <dp:reject/>
        </xsl:when>
        <xsl:otherwise>
            <dp:accept/>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

1 个答案:

答案 0 :(得分:1)

我弄清楚我哪里出错了。以下是编写条件的正确方法。我把不必要的单引号。

<xsl:when test="$IncomingFileSize &gt; $SetFileSize">