티스토리 뷰

XML을 XML로 생각하고 있는지 아니면 여기에서 거기로 Java (또는 기타) 객체를 전송하는 방법으로 XML을 생각하고 있는지 결정해야합니다.

XML에서 nillable <myelement xsi:nil='true'/>은 SQL NULL과 같이 명시적인 부재 값의 표시기로 구성 허용합니다 . 이것은 단지 <myelement/>. 그리고 둘 다 아무것도 아닌 것과 구별됩니다. 따라서 XML을 볼 때 네 가지 경우를 구별해야합니다.

<!-- nothing -->
<myElement attr1='true'>some content</myElement>
<myElement/>
<myElement xsi:nil='true'/>

반면에, 당신이 주로 자바에 관심이 있다면-아마도 당신이 SOAP를 사용하고 있기 때문이라면, 자바 객체가 어떻게 앞뒤로 매핑되는지 생각 해봐야합니다.

Object에서 상속되는 Java 항목의 경우 JAXB 및 기타 매핑 기술에는 null 값을 처리하는 방법이 필요합니다. Nillable은 그렇게하는 방법입니다. 객체가 될 수있는 것에 대해 nillable을 금지하는 경우 툴킷은 성가 시게 배열을 사용하여 부재를 나타내는 방법을 찾습니다.

반면에 배열이있는 경우 배열 자체 는 객체이며 null 일 수 있습니다. 따라서 모든 툴킷은 요소가없는 배열과 널을 구별해야합니다.

반면에 기본 유형 (예 int:)이있는 경우 xsi : nil에서 기본 유형으로의 매핑이 없기 때문에 nillable은 문제를 일으킬 것입니다.



출처
https://stackoverflow.com/questions/1903062
댓글
공지사항
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31