2010-06-19 7 views
1

조건이 참일 때만 새로운 노드를 삽입하는 xquery 표현식을 만들려고합니다. 조건이 거짓이면 오류를 반환합니다. 내 상태의 simplyfied 버전은 다음과 같습니다XQuery가 true이면 업데이트되고 그렇지 않으면 오류가 반환됩니다.

let $a := [...] 

return 
    if($a/@something != "true") then (
    insert node (
      element {'Foobar'} { } 
     ) into $a/somenode 
) else ( 

) 

내 문제 : 다른 사람에 <Error/> 같은 것을 넣으면 내가 오류 "[XUST0001] 없음 업데이트 표현이 컨텍스트에서 허용되지 않습니다"를 얻을 때마다.

/e : 알았어요 ... 내가 이것을 올바르게 이해하면 업데이트 표현식과 반환 값을 가질 수 없습니다 .... 그래서 다른 방법을 찾아야합니다.

답변

3

fn : error()를 사용하여 오류를 발생 시키거나()를 사용하여 아무 것도하지 않을 수 있습니다. 불행히도 XQuery 업데이트를 사용하면 원하는 작업을 수행 할 수 없습니다. 향후 버전에서 수정 될 수도 있습니다.

관련 문제