Предупреждение с помощью xforms со сложным выражением

У меня проблема с xform, которую видит только системный администратор клиента. И я не могу видеть в моем компьютере. Существует код xforms, в котором выходные данные имеют атрибут ref ("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)

Кто-нибудь, помогите мне, как исправить эту проблему? Спасибо

1 ответ

Решение

Как гласит ошибка, проблема в том, что выражение в вашем <xforms:output ref="..."> элемент, оценивается как строка, а не узел.

ref Атрибут в элементе управления xforms должен ссылаться на узел в модели данных, а не на строку.

Другие вопросы по тегам