XML Wire 형식은 메시지 내에서 널 값의
핸들링을 지원합니다. XML의 널(null) 인코딩
등록 정보는 메시지 세트에만 설정되며, 메시지 세트 내에 정의된 모든
오브젝트에 적용됩니다.
다음 두 개의 등록 정보를 사용하여 XML Wire 형식 내의
널(null)에 대한 숫자 및 숫자가 아닌 인코딩을 표시할 수 있습니다.
- 숫자 널(null) 인코딩
- 숫자가 아닌 널(null) 인코딩
이는
각각 NULL에 해당되는 숫자 및 숫자가 아닌 인코딩을 표시합니다.
- 숫자 데이터 유형은 다음과 같습니다.
- 10진 스키마 유형: decimal, integer, negativeInteger,
nonNegativeInteger, nonPositiveInteger, positiveInteger
- Float
스키마 유형: double, float
- 정수 스키마 유형:
byte, int, long, short, unsignedByte, unsignedInt, unsignedLong, unsignedShort
- 비숫자 데이터 유형은 다음과 같습니다.
- 2진 스키마 유형: base64Binary, hexBinary
- Boolean 스키마 유형: Boolean
- DateTime
스키마 유형: date, dateTime, gDay, gMonth, gMonthDay, gYear, gYearMonth,
time
- 문자열 스키마 유형: anyURI,duration, ENTITIES, ENTITY, ID, IDREF,
IDREFS, language, Name, NCName, NMTOKEN, NMTOKENS, normalizedString, NOTATION,
QName, string, token
이러한 인코딩 각각에는 다음과 같이 나열된 값이 있습니다.
- NULLEmpty(디폴트)
- NULLValue
- NULLXMLSchema
- NULLValueAttribute
- NULLAttribute(사용되지 않음)
- NULLElement(사용되지 않음)
NULLEmpty, NULLXMLSchema 및
NULLValueAttribute에 대한 추가 정보를 제공하지 않아도 되지만,
NULLValue, NULLAttribute 또는 NULLElement를
선택한 경우, 숫자 널(null) 인코딩 값 및 숫자가 아닌 널(null) 인코딩 값 메시지 세트 등록 정보에 널(null) 조건을
표시하기 위해 지정할 추가 값을 정의해야 합니다.
다음 표는
각 인코딩의 작동 방법을 보여줍니다. 인코딩마다 예 XML은
요소 myElem이 값 NULL을 제공하도록 합니다.
주: - Boolean 참 값이 사용됩니다.
- XML 렌더링 옵션에 지정된 대로
XMLElementAttrVal 요소 렌더링에만 유효합니다.
요소를 이 방법으로 렌더링되고 있는 것으로 표시하거나 널로 설정하는 것은
요소의 값을 설명하는 요소의 속성을 제거하는 것과 같습니다.
- XML 렌더링 옵션에 지정된 대로
XMLElementAttrIdVal 요소 렌더링에만 유효합니다.
요소를 이 방법으로 렌더링되고 있는 것으로 표시하거나 널로 설정하는 것은
요소의 값을 설명하는 요소의 속성을 제거하지만 속성 ID는 제거하지 않는 것과 같습니다.
숫자 널(null) 인코딩
비숫자 널 인코딩
|
숫자 널(null) 인코딩 값
비숫자 널(Null) 인코딩 값
|
XML 예 |
NULLEmpty |
|
<myElem/>
<myElem></myElem>
|
NULLValue |
zzz |
<myElem>zzz</myElem> |
NULLXMLSchema |
|
<myElem xsi:nil='true'/>1 |
NULLValueAttribute |
|
<myElem></myElem>2
<parent id="myElem"></parent>3
|
NULLElement |
null4 |
<myElem><null/></myElem> |
NULLAttribute |
null4 |
<myElem null='true'/>1 |
주: - 속성은 true로 평가해야 하므로, 값은 "true", "1" 또는
Boolean 참 값 등록 정보여야 합니다.
- XML 렌더링 옵션에 지정된 대로
XMLElementAttrVal 요소 렌더링에만 유효합니다.
요소를 이 방법으로 렌더링되고 있는 것으로 표시하거나 널로 설정하는 것은
요소의 값을 제공하는 요소의 속성을 제거하는 것과 같습니다.
- XML 렌더링 옵션에 지정된 대로
XMLElementAttrIdVal 요소 렌더링에만 유효합니다.
요소를 이 방법으로 렌더링되고 있는 것으로 표시하거나 널로 설정하는 것은
요소의 값을 설명하는 요소의 속성을 제거하지만 요소 이름을 제공하는 속성은
제거하지 않는 것과 같습니다.
- NULLElement 및 NULLAttribute는 모두 더 이상 사용되지 않았습니다. 제공되는
요소나 속성 이름에는 네임스페이스 URI나 접두부를 포함할 수 없습니다.
메시지 세트에 네임스페이스를 사용할 경우 이름은 모든 네임스페이스와 일치합니다.
NULLEmpty 및 NULLValAttr의
추가 설명을 제공하지 않아도 되지만, NULLValue, NULLAttribute 또는 NULLElement를
선택한 경우, 널(null) 숫자 인코딩 값 및 널(null) 비숫자 인코딩 값 메시지 세트 등록 정보에 널(null) 조건을
표시하기 위해 지정할 추가 값을 정의해야 합니다(위의 표 참조).