Я наткнулся на странный дефект.Я использую Orbeon 3.9 CE на Tomcat.В зависимости от значения текстового поля = 'true' ссылка будет отображаться как на скриншоте.Обратите внимание, что триггер ссылается на «безопасный для данных» экземпляр для отображения и скрытия.
<xforms:trigger appearance="minimal" ref=".[instance('data-safe')/data-safe='true']">
<xforms:label>
Add
</xforms:label>
</xforms:trigger>
Так должен выглядеть экран.
Теперь для повышения производительности у меня есть один экземпляр с атрибутом xxforms:readonly="true"
Здесь 1-й экземпляртолько для чтения
затем отображаемая форма изменится на следующую.где ссылка для добавления отключена.
теперь, если я изменю порядок экземпляра только для чтения с 1-й позиции в модели на где-то ниже.как показано
добавлена ссылка для добавления
Вот пример кода для объяснения проблемы
<xhtml:head>
<xhtml:title>SO question</xhtml:title>
<!-- CSS StyleSheet test-->
<!-- Link to the Model goes Here -->
<!-- Needs exslt to do some fancy things with Dates and Time -->
<xforms:model id="model">
<!-- -->
<!-- Places Instances Here -->
<!-- -->
<xforms:instance id="dropdown-values" src="oxf:/apps/TSDM/global_instances/Dropdown-Values.xml" xxforms:readonly="true"/>
<xforms:instance id="form-attributes">
<attributes>
<form-global>
<current-page>1</current-page> <!-- Always starts on 1 -->
<previous-page></previous-page> <!-- Always starts on 1 -->
<next-page></next-page> <!-- Always starts on 1 -->
<first-page>1</first-page> <!-- First Page Boundary: 1 always -->
<last-page>12</last-page> <!-- Last Page Boundary: Change based on form -->
<summary>false</summary> <!-- Enable Summary View indicator -->
</form-global>
</attributes>
</xforms:instance>
<xforms:instance id="data-safe">
<flag>
<data-safe>true</data-safe>
<data-safe1></data-safe1>
</flag>
</xforms:instance>
<xforms:bind id="group-level-specifications-credit-effective-end-date" nodeset="instance('data-safe')/data-safe"
calculate="."
readonly="false()"/>
<!--xforms:bind nodeset="instance('data-safe')/data-safe1" type="xforms:date"
calculate="months(xforms:dayTimeDuration(../data-safe))"
readonly="false()"/-->
</xforms:model>
</xhtml:head>
<!-- End of Head -->
<!-- Start of the Body of the Page -->
<xhtml:body class="MainBODY">
<xforms:switch>
<xforms:case>
<xforms:trigger appearance="minimal" ref=".[instance('data-safe')/data-safe='true']">
<xforms:label>
Add
</xforms:label>
</xforms:trigger>
</xforms:case>
</xforms:switch>
<xforms:input ref="instance('data-safe')/data-safe" />
<br/>
<xforms:input ref="instance('data-safe')/data-safe1" />
</xhtml:body>