我遇到了xform问题,只能看到客户系统管理员。我在电脑里看不到。 有一个xforms代码,其中output有一个ref-attribute(“if(license)..”)
<xforms:group ref="content">
<xforms:label>The shop list</xforms:label>
<xforms:output ref="name"><xforms:label>Name</xforms:label></xforms:output>
<!--There is a complex expression-->
<xforms:output
ref="if(licence) then
if(licence/to) then
concat(licence/code,' (',
concat(substring(licence/from,9,2),'.',substring(licence/from,6,2),'.',substring(licence/from,1,4))
,' - ',
concat(substring(licence/to,9,2),'.',substring(licence/to,6,2),'.',substring(licence/to,1,4))
,')')
else
concat(licence/code,' (no due date, from ',
concat(substring(licence/from,9,2),'.',substring(licence/from,6,2),'.',substring(licence/from,1,4))
,')')
else
'You have not a licence!'">
<xforms:label>licence</xforms:label>
</xforms:output>
</xforms:group>
管理员可以看到他的日志中的下一个错误,那就是这么多。
WARN XFormsServer - exception while evaluating XPath expression {throwable: "org.orbeon.oxf.common.ValidationException: (preparing XPath expression: expression='{if (not(exf:relevant( ... the same expression ... ))) then 'xforms-disabled-subsequent' else ''}'): Required item type of first argument of exf:relevant() is node(); supplied value has item type xs:string
Required item type of first argument of exf:relevant() is node(); supplied value has item type xs:string
at org.orbeon.oxf.common.ValidationException.wrapException(ValidationException.java:119)
at org.orbeon.oxf.util.XPathCache.handleXPathException(XPathCache.java:418)
有人帮助我,如何修复这个问题? 谢谢
答案 0 :(得分:1)
正如错误所述,问题是<xforms:output ref="...">
元素中的表达式计算为字符串而不是节点。
xforms控件上的ref
属性需要引用数据模型中的节点,而不是字符串。