Nillable 특성의 바인딩 지원
이 항목은 레거시 기술과 관련된 것입니다. 이제 XML Web services와 XML Web services 클라이언트는 다음을 사용하여 만들어야 합니다. Windows Communication Foundation.
.NET Framework에서는 nillable 특성에 대한 부분 바인딩 지원을 제공합니다.
설명
<element> 선언에서 nillable 특성이 true
로 설정된 경우 XML 인스턴스 문서에서 표준을 따르는 요소에 xsi:nil 특성을 사용할 수 있습니다. 접두사 xsi는 일반적으로 XML 스키마 인스턴스 네임스페이스(http://www.w3.org/2001/XMLSchema-instance)에 사용됩니다.
XML 요소의 xsi:nil 특성 값이 true
이면 해당 요소에 자식 요소나 본문 텍스트와 같은 콘텐츠가 없음을 명시적으로 지정합니다. XmlSerializer 클래스는 nil 특성의 true
값을 null 참조(Visual Basic에서는 Nothing)와 동일한 것으로 간주합니다. XmlSerializer 클래스에서 nil 특성을 serialize 및 deserialize하는 방법과 이와 관련된 특수한 경우에 대해서는 xsi:nil 특성을 참조하십시오.
요소가 nillable="false"
로 선언되거나 nillable 특성 없이 선언된 경우 해당 인스턴스 요소에 nil 특성이 어떤 값을 지정하든 올바로 사용할 수 없습니다.
코드에서 nillable 특성 생성
어셈블리의 클래스 집합에서 XML 스키마 문서를 생성할 때 Xsd.exe는 해당 형식이 nullable 형식이면 값 형식의 멤버에 대해 nillable 특성을 만듭니다. 이는 값 형식을 null 참조(Nothing)로 설정할 수 없기 때문입니다.
참조 형식의 개체인 경우 Xsd.exe에서는 특정 XML 관련 특성의 IsNullable 속성 값을 확인합니다. IsNullable 속성이 true
값으로 설정된 경우 Xsd.exe에서는 nillable 특성을 만들어 그 값을 true
로 설정합니다. IsNullable 속성은 XML과 관련된 특정 특성 클래스에 사용됩니다. 이 속성은 다음과 같이 표시됩니다.
사용 예는 다음과 같습니다.
[System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
public string NameNullable;
이 코드에서 Xsd.exe는 다음 XSD 요소 선언을 생성합니다.
<xs:element minOccurs="1" maxOccurs="1" name="NameNullable" nillable="true" type="xs:string" />
IsNullable 속성이 true
로 설정되고 런타임에 적용 가능한 개체가 null 참조(Nothing)로 설정된 경우 XmlSerializer 클래스는 true
값을 갖는 xsi:nil 특성을 생성합니다.
nullable 값 형식에 적용된 특성의 경우 IsNullable 속성을 true
로 설정해야 합니다.
참조 형식의 경우 IsNullable 속성의 값에 따라 <element> 요소의 minOccurs 특성 값이 결정됩니다. IsNullable의 값이 true
이면 minOccurs 값이 1
이고, 그렇지 않으면 0
입니다. minOccurs 특성을 참조하십시오.
또한 Xsd.exe는 IsNullable 속성이 명시적으로 true
로 설정되지 않은 특정 상황에서도 <element> 선언에 nillable="true"
설정을 생성합니다.
nillable 특성에서 코드 생성
nillable="true"
설정이 나타나면 Xsd.exe는 생성된 클래스나 멤버에 적용되는 적절한 XML 관련 특성에 대해 IsNullable=true
매개 변수를 생성합니다. 값 형식의 경우에는 null을 허용하는 형식이 생성됩니다.
포함할 수 있는 요소: <element>
참고 항목
참조
Xsi:nil 특성의 바인딩 지원
System.Xml.Schema.XmlSchemaElement.IsNillable