问题描述
我将在 XML (orbeon) 中将布尔值转换为数字,并且我在公式中使用数字,但它仍然显示布尔类型。
这是我的公式,我使用的是圆形但仍然显示正确:
round(seconds($total-time-calculation-mental)div 60) or round(seconds($control-2)div 60)
#Orbeon
解决方法
这实际上是一个 XPath 问题,而不是一个 XML 或 orbeon 问题。
XPath“或”运算符需要两个布尔值作为输入,并产生一个布尔值作为输出:TRUE 或 FALSE => TRUE。您作为输入提供的数字将转换为布尔值(0 = FALSE,任何其他 = TRUE),但没有理由将结果转换回。
你实际上期望这个表达式返回什么?
也许您在 (A = 5 或 6) 之类的结构中错误地使用了“或”来表示 (A = 5 或 A = 6)?
或者也许您已经想到了 Javascript 用法,其中 A || B的意思是“如果A存在则返回A,否则返回B”?