2016-10-06 7 views
0

인스턴스가 하위 양식에로드되어 있기 때문에 'addressDetails'인스턴스가있는 경우에만 작업을 전달하려고합니다. XForms에 인스턴스가 있는지 확인하는 방법은 무엇입니까?

내가 사용하는 시도 XF의 속성 '경우'다음하지만 작동하지 않았다 작업으로 : 나는 XPath 식의 인스턴스를 평가하는 오류 "오류를 가지고

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

(' addressDetails ') ".

인스턴스가 있는지 확인할 수있는 방법이 있습니까?

exists(instance('addressDetails')) 

을 또는 당신은 쓸 수 :

답변

0

의 XPath 2.0, 단지 쓰기

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

아니합니다. 존재하지도 않고 계산되지도 않습니다. 존재하는 경우 존재하지 않는다는 오류가 발생했으며 count의 경우 XPath 표현식을 평가하지 못했습니다. – Crusaderpyro

+0

지금 (일시적인 해결 방법) 현재 하위 폼이 아닌 기본 폼에 값이 부울 인 다른 인스턴스를 만들었습니다. 페이지로드시 false입니다. 일단 하위 폼이로드되면이 인스턴스 값이 'true'인지 확인합니다. – Crusaderpyro

+0

'count()'는 XPath 1.0에서도 작동합니다. 어쩌면 XSLTForms에보고하는 버그 일 수도 있습니다 (XSLTForms를 사용하는 것이 맞다면). 그러나 당신에게 해결 방법이 있다는 것을 아는 것이 좋습니다. – ebruchez