iterate
과 함께 XForms 작업을 사용하고 있습니다. iterate
은 (XPath를 사용하여) 노드 집합을 선택하고 그에 대한 동작을 반복합니다. 문제는 노드 집합을 선택하는 데 여러 조건이 있다는 것입니다.XForms 액션 요소의 반복에서 다른 인스턴스를 참조하는 방법은 무엇입니까?
readOnly
노드가 없어야합니다.ignoreProperties
목록에 속하지 않아야합니다 (이 목록은 다른 경우에 있음).
코드 :
<xf:action ev:event="setValues" iterate="
instance('allProps')/props/prop[
not(readOnly) and
not(instance('ignoreProperties')/ignoredProperties/property[text() = name]
]
">
첫 번째 조건 not(readOnly)
작품.하지만 두 번째 조건은 작동하지 않습니다. XPath 노드의 컨텍스트에 문제가 있다고 생각합니다.
결과를 얻으려면 두 번째 조건을 어떻게 바꾸어야합니까?
<ignoredProperties>
<property>c_name</property>
<property>c_tel_no</property>
</ignoredProperties>
불행하게도 문제가 해결되지 않았다. 결과는 이전과 같습니다. ignore 속성은 여전히 결과의 일부입니다. – Crusaderpyro
대상이되는 XML을 게시하십시오. – Tomalak
샘플 대상 XML을 추가했습니다. 그러나 name = 'c_name'이 작동하고 예상대로 단일 속성을 사용하여 결과를 생성하지만 not (name = 'c_name')는 효과가 없음을 알았습니다 (총 속성 -c_name이 필요합니다). 그 부분이 아닌가요? – Crusaderpyro