Annotation Element Binding Support
The .NET Framework does not provide binding support for the <annotation> element.
When generating source code from an XML Schema document, Xsd.exe ignores the <annotation> element and its contents.
Explanation
When generating source code from an XML Schema document, Xsd.exe ignores the <annotation> element and its contents. Accordingly, the child elements <appinfo> and <documentation> are not supported either.
The only time Xsd.exe uses the <annotation> element involves the correspondence between the following two entities:
An attribute of type XmlNamespaceDeclarationsAttribute applied to a field or property of type XmlSerializerNamespaces.
A .NET Framework-specific XML element named <keepNamespaceDeclarations> that is contained in the <appinfo> element.
An XmlSerializerNamespaces object is used to store a set of mappings between prefixes and the namespaces they represent. The text of the element annotation/appinfo/keepNamespaceDeclarations
is the name of the XmlSerializerNamespaces field or property. This translation is done both ways—from XSD file to code, and vice versa—so that namespace prefixes can be controlled.
Example
Input C# class:
public class MyClass {
[XmlAttribute]
public string name;
public string xpath;
[XmlNamespaceDeclarationsAttribute]
public XmlSerializerNamespaces xmlns;
}
XML Schema document generated from an assembly compiled from the preceding C# source:
<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>
The C# class generated from the preceding XML Schema document is effectively the same as the original C# class from which the XML schema was generated.
Possible Attributes | Binding Support |
---|---|
id |
The Xsd.exe utility ignores the id attribute, which is intended to provide a unique identifier. |
Possible parent elements: numerous
Possible child elements: <appinfo>, <documentation>