Annotation 요소의 바인딩 지원
이 항목은 레거시 기술과 관련된 것입니다. 이제 XML Web services와 XML Web services 클라이언트는 다음을 사용하여 만들어야 합니다. Windows Communication Foundation.
.NET Framework에서는 <annotation> 요소에 대한 바인딩 지원을 제공하지 않습니다.
XML 스키마 문서에서 소스 코드를 생성할 경우 Xsd.exe는 <annotation> 요소 및 해당 콘텐츠를 무시합니다.
설명
XML 스키마 문서에서 소스 코드를 생성할 경우 Xsd.exe는 <annotation> 요소 및 해당 콘텐츠를 무시합니다. 따라서 자식 요소인 <appinfo> 및 **<documentation>**도 지원되지 않습니다.
Xsd.exe에서 <annotation> 요소를 사용하는 유일한 경우는 다음 두 엔터티가 일치하는 경우입니다.
필드에 적용되는 XmlNamespaceDeclarationsAttribute 형식의 특성 또는 XmlSerializerNamespaces 형식의 속성
<appinfo> 요소에 포함된 **<keepNamespaceDeclarations>**라는 .NET Framework 고유의 XML 요소
XmlSerializerNamespaces 개체는 접두사와 이 접두사가 나타내는 네임스페이스 간의 매핑 집합을 저장하는 데 사용됩니다. annotation/appinfo/keepNamespaceDeclarations
요소의 텍스트는 XmlSerializerNamespaces 필드 또는 속성의 이름입니다. 이러한 변환은 네임스페이스 접두사를 제어할 수 있도록 XSD 파일에서 코드로 또는 그 반대로 수행됩니다.
Example
입력 C# 클래스:
public class MyClass {
[XmlAttribute]
public string name;
public string xpath;
[XmlNamespaceDeclarationsAttribute]
public XmlSerializerNamespaces xmlns;
}
앞의 C# 소스에서 컴파일된 어셈블리에서 생성된 XML 스키마 문서:
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="MyClass" nillable="true" type="MyClass" />
<xs:complexType name="MyClass">
<xs:annotation>
<xs:appinfo>
<keepNamespaceDeclarations>xmlns</keepNamespaceDeclarations>
</xs:appinfo>
</xs:annotation>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="1" name="xpath" type="xs:string" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
</xs:schema>
앞의 XML 스키마 문서에서 생성된 C# 클래스는 XML 스키마가 생성된 원래 C# 클래스와 사실상 같습니다.
가능한 특성 | 바인딩 지원 |
---|---|
id |
Xsd.exe 유틸리티는 고유 식별자를 제공하기 위한 id 특성을 무시합니다. |
가능한 부모 요소: 많음
가능한 자식 요소: <appinfo>, <documentation>