다음을 통해 공유


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> 요소를 사용하는 유일한 경우는 다음 두 엔터티가 일치하는 경우입니다.

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>

참고 항목

참조

XmlSchemaAnnotation
XmlSchemaAnnotation