xslt - XSLT 模板 - 文本输出文件使用 in
问题描述
下面是示例 XSLT 代码
<xsl:choose>
<xsl:when test="(TargetBonus >= 0)"><xsl:value-of select="TargetBonus"/></xsl:when>
<xsl:otherwise>Main</xsl:otherwise>
</xsl:choose>
上面的逻辑我得到的错误如下:
无法将字符串“”转换为双精度
我无法找到确切的问题
解决方案
您的输入中有一个空<TargetBonus>
元素。这将导致测试TargetBonus >= 0
失败并出现类型转换错误。
显式转换为数字。
<xsl:when test="number(TargetBonus) >= 0]">...</xsl:when>
这会将任何无效值(包括空字符串)转换为NaN
,然后可以进行比较。NaN >= 0
将导致false
,这可能是您所期望的。
推荐阅读
- python - matplotlib 创建多组堆叠直方图
- c - 如何将系统(命令)输出打印到文件 C?
- cypher - 向查询添加附加特异性后无法检索节点的属性
- haskell - 如何存储从中间件生成的值并从路由中检索它们
- ios - 如何访问 alamofire 响应
- ios - Landscape中的PKPaymentAuthorizationViewController导致异常
- ruby-on-rails - 为什么在 Rails 中使用 /app/lib 而不是 /lib?
- firebase - 使用 Firebase 进行 SAML 身份验证
- html - 鼠标悬停按钮并同时触发 svg 圆
- python - Conda create 卡在“解决包规范”上