AnyAttribute 요소의 바인딩 지원

이 항목은 레거시 기술과 관련된 것입니다. 이제 XML Web services와 XML Web services 클라이언트는 다음을 사용하여 만들어야 합니다. Windows Communication Foundation.

.NET Framework에서는 <anyAttribute> 요소에 대한 부분 바인딩 지원을 제공합니다.

XML 스키마 문서에서 소스 코드를 생성할 경우 Xsd.exe는 XmlAnyAttributeAttribute 특성을 사용하여 <anyAttribute> 요소를 XmlAttribute 형식 필드로 변환합니다.

설명

<anyAttribute> 와일드카드를 사용하면 일부 제약이 있긴 하지만 모든 특성(모든 이름 또는 단순 형식의 특성)을 XML 인스턴스 문서의 지정된 요소에 표시할 수 있습니다.

XML 스키마 문서에서 소스 코드를 생성할 경우 Xsd.exe는 XmlAnyAttributeAttribute 특성을 사용하여 <anyAttribute> 요소를 XmlAttribute 형식 필드로 변환합니다. 이 특성을 사용하면 임의의 XML 특성을 클래스의 다른 가능한 필드나 속성에 의해 식별된 비 XML 형식에 바인딩하지 않고도 클래스에서 이러한 특성을 표시할 수 있습니다.

어셈블리의 클래스 집합에서 XML 스키마 문서를 생성하면 Xsd.exe에서 역방향 변환을 수행합니다. 즉, XmlAnyAttributeAttribute 특성을 갖는 System.Xml.XmlAttribute 형식의 필드나 속성을 <anyAttribute> 요소로 변환합니다.

namespace 및 processContents 특성

XML 스키마 정의나 클래스를 생성하는 과정에서 namespaceprocessContents 특성은 무시됩니다. 즉, 이러한 특성 값이 원본 XML 스키마 정의에 있더라도 Xsd.exe가 해당 정의에서 클래스를 생성한 다음 이러한 클래스에서 다른 XML 스키마를 생성할 경우, 생성된 XML 스키마의 <anyAttribute> 요소에 이러한 특성이 없습니다. 따라서 생성된 스키마는 다음 기본값으로 되돌려집니다.

  • namespace="##any": namespace 특성은 특성을 정의해야 하는 네임스페이스를 지정합니다. ##any 값을 지정하면 모든 네임스페이스를 사용할 수 있습니다.

  • processContents="strict": 인스턴스 XML 문서의 유효성을 검사하여 지정된 스키마를 따르는지 확인할 때, 지정된 네임스페이스에 따라 모든 요소 형식의 유효성을 검사하는지 확인합니다. 요소 형식이 인식되지 않으면 유효성 검사가 실패합니다.

마찬가지로 XML 문서에서 개체로 deserialize하는 동안 namespaceprocessContents 특성이 무시됩니다. 대신, XmlSerializer 클래스는 두 특성이 다음 값으로 고정된 것처럼 동작합니다.

  • namespace="##any": 이 값은 기본값입니다.

  • processContents="lax": 인스턴스 XML 문서의 유효성을 검사하여 지정된 XML 스키마를 따르는지 확인할 때, 네임스페이스를 얻을 수 있는 경우에만 특성의 유효성을 검사합니다. 얻을 수 없는 경우, 인식할 수 없는 특성이 올바른 형식의 XML로 구성되어 있는지 확인합니다.

bts9x74y.note(ko-kr,VS.100).gif참고:
런타임에는 .NET Framework에서 processContents="lax"를 가정하지만, 배포할 때는 .NET Framework에서 기본값 processContents="strict"가 암시적으로 지정된 XML 스키마 정의를 생성합니다.

Xsd.exe와 XmlSerializer 클래스에서는 namespaceprocessContents 특성이 <any> 요소에 표시될 경우 이러한 특성에 대해 동일한 바인딩을 제공합니다.

가능한 특성 바인딩 지원

id

Xsd.exe 유틸리티는 고유 식별자를 제공하기 위한 id 특성을 무시합니다.

namespace

이 항목의 네임스페이스 및 processContents 특성 단원을 참조하십시오.

processContents

이 항목의 네임스페이스 및 processContents 특성 단원을 참조하십시오.

가능한 부모 요소: <attributeGroup>, <complexType>, <extension>, <restriction>

가능한 자식 요소: <annotation>

참고 항목

참조

XmlAnyAttributeAttribute