我对XSL很新,我正在尝试编辑别人的代码。
xsl调用模板" formatAustralianDate"并返回一个数字。但是,如果@created为null,则返回NaN天数
<xsl:call-template name="formatAustralianDate">
<xsl:with-param name="dateValue" select="@Created"/>
</xsl:call-template> day(s)
有没有办法可以测试@Created是否为空(或空白),如果是,那么只返回0天?甚至更好,空白
答案 0 :(得分:1)
您可以在此使用xsl:choose
<xsl:choose>
<xsl:when test="normalize-space(@created)">
<xsl:call-template name="formatAustralianDate">
<xsl:with-param name="dateValue" select="@created"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:text>0</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:text> day(s)</xsl:text>
如果created
不存在,或者是一个空字符串(或者是一个只有空格的字符串,那么规范化空间然后转换为空字符串),那么测试将返回false,并且{而是评估{1}}。
答案 1 :(得分:0)
在XSLT上有点生疏,但可能还有以下几点:
<xsl:if test="floor(@Created)>0">
<!-- code here if test passes -->
</xsl:if>