2016-10-06 29 views
0

インスタンスがサブフォームにロードされているため、インスタンス 'addressDetails'が存在する場合にのみ、アクションをディスパッチしたいと思います。インスタンスがXFormsに存在するかどうかを確認する方法は?

XFの属性の場合は、 '私が使用しようとした次のようにアクションが、うまくいきませんでした:

<xf:action ev:event="save" if="instance('addressDetails') != ''">

私はXPath式のインスタンスを評価するエラー「エラーを得ました「(住所の詳細')"。

インスタンスが存在するかどうかを確認する方法はありますか?

exists(instance('addressDetails')) 

をそれとも、書くことができます::

答えて

0

のXPath 2.0では、単に書く

count(instance('addressDetails')) > 0 
+0

ハズレを。存在もカウントも機能しません。 existsについては、存在が定義されていないというエラーを出し、countに対してはXPath式を評価できませんでした。 – Crusaderpyro

+0

現時点で(一時的な回避策)、メインフォーム(サブフォームではない)に値がブール値の別のインスタンスを作成しました。ページの読み込みではfalseです。サブフォームがロードされると、このインスタンス値が 'true'かどうかをチェックするだけです。 – Crusaderpyro

+0

'count()'はXPath 1.0でも動作します。たぶんXSLTFormsに報告するバグかもしれません(もし私があなたがXSLTFormsを使用しているのであれば)。しかし、あなたには回避策があることを知っておいてよかったです。 – ebruchez

関連する問題