oXygen 편집기를 사용하여 요소 oXygen 내부의 노드를 주석 처리하면 단순히 (:<foo>foo 1</foo>:)
으로 감싸였습니다. 그런 다음 노드가 주석 처리되지 않았 음을 알았지 만 문자 노드로 접두사가 붙습니다. (:
접미사는 :)
인 텍스트 노드로 끝납니다.동봉 된 표현식의 주석 이외에 빈 시퀀스()가 필요합니까?
그런 다음 구문을 살펴본 후 주석 구문에 액세스하기 위해 동봉 된 표현식 {(:<foo>foo 1</foo>:)}
을 사용해야한다는 것을 알았습니다.
그러나 BaseX와 Saxon 9.8은 {(:<foo>foo 1</foo>:)}
을 기쁘게 받아 들일 수 있지만 Altova는 불만이 있으며 추가 빈 시퀀스 {(:<foo>foo 1</foo>:)()}
이 필요합니다.
https://www.w3.org/TR/xquery-31/#doc-xquery31-EnclosedExpr은 XQuery 3.1에서 중괄호 안에있는 표현식은 선택 사항이며 기본값은 ()
입니다.
XQuery 3.1에서는 빈 시퀀스없이 중괄호 안에있는 주석만으로도 충분합니까?
요약하면 Saxon과 BaseX는 <root>{(:<foo>foo 1</foo>:)}</root>
을 사용하고 Altova는 잘못된 구문을 사용하여 <root>{(:<foo>foo 1</foo>:)()}</root>
을 사용해야합니다.
XQuery 3.1에서도 여전히 필요합니까?
는 XQuery 3.1 표현식은 선택한다 :
계산 된 요소 생성자는 여전히 XQuery에 주석을 사용합니다. 이것은 Altova 버그처럼 보입니다. –