XPath中的三元逻辑用于测试null

时间:2013-08-01 10:54:24

标签: sharepoint xpath infopath logical-operators

在XPath 1.0中,有没有办法测试已计算表达式的存在并代表它修改结果?

我正在尝试实现这个伪代码:

if ID is empty
     then 0 + 1
     else ID + 1

实际代码,到目前为止:

xdMath:Eval(xdMath:Max(
    xdXDocument:GetDOM("FetchID")/dfs:myFields/dfs:dataField‌​s/d:SharePointListItem_RW/d:ID),
    'concat("(ID = ", (d:ID or 0) + 1,")")'
)

如果列表中没有项目,则此表达式不起作用,因此max(d:ID)为空。

1 个答案:

答案 0 :(得分:2)

通常有一个丑陋的解决方法,比如

concat("0", ID) + 1