0

とともに XForms アクションを使用していiterateます。ノードのiterateセットを (XPath を使用して) 選択し、そのアクションを繰り返します。問題は、ノード セットを選択する条件が複数あることです。

  1. readOnlyノードがあってはなりません。
  2. リストの一部であってはなりませんignoreProperties(このリストは別のインスタンスにあります)。

コード:

<xf:action ev:event="setValues" iterate="
    instance('allProps')/props/prop[
        not(readOnly) and
        not(instance('ignoreProperties')/ignoredProperties/property[text() = name]
    ]
">

最初の条件がnot(readOnly)機能します。しかし、2 番目の条件は機能しません。XPath ノードのコンテキストに問題があるように感じます。

結果を達成するには、2番目の条件をどのように置き換える必要がありますか?

ターゲット XML は単純なignoredPropertiesドキュメントです。

<ignoredProperties>
  <property>c_name</property>
  <property>c_tel_no</property>
</ignoredProperties>
4

2 に答える 2