Bindungsunterstützung für das annotation-Element
Dieses Thema bezieht sich auf eine veraltete Technologie. XML-Webdienste und XML-Webdienstclients sollten nun mithilfe der folgenden Technologie erstellt werden: Windows Communication Foundation.
.NET Framework stellt keine Bindungsunterstützung für das <annotation>-Element bereit.
Beim Generieren von Quellcode aus einem XML-Schemadokument ignoriert Xsd.exe das <annotation>-Element und seinen Inhalt.
Erklärung
Beim Generieren von Quellcode aus einem XML-Schemadokument ignoriert Xsd.exe das <annotation>-Element und seinen Inhalt. Dementsprechend werden auch die untergeordneten Elemente <appinfo> und <documentation> nicht unterstützt.
Xsd.exe verwendet das <annotation>-Element ausschließlich dann, wenn die Korrespondenz zwischen folgenden beiden Entitäten involviert ist:
Ein Attribut des Typs XmlNamespaceDeclarationsAttribute, das auf ein Feld oder eine Eigenschaft des Typs XmlSerializerNamespaces angewendet wurde.
Ein für .NET Framework spezifisches XML-Element mit dem Namen <keepNamespaceDeclarations>, das im <appinfo>-Element enthalten ist.
Ein XmlSerializerNamespaces-Objekt wird verwendet, um einen Satz an Zuordnungen zwischen Namespaces und den sie darstellenden Päfixen zu speichern. Der Text des annotation/appinfo/keepNamespaceDeclarations
-Elements ist der Name des XmlSerializerNamespaces-Felds oder der entsprechenden Eigenschaft. Diese Übersetzung erfolgt in beide Richtungen – von der XSD-Datei in Code und umgekehrt –, sodass Namespacepräfixe gesteuert werden können.
Example
Eingabe-C#-Klasse:
public class MyClass {
[XmlAttribute]
public string name;
public string xpath;
[XmlNamespaceDeclarationsAttribute]
public XmlSerializerNamespaces xmlns;
}
Ein XML-Schemadokument, das aus einer Assembly generiert wurde, die ihrerseits aus dem vorhergehenden C#-Quellcode kompiliert wurde:
<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>
Die C#-Klasse, die aus dem vorhergehenden XML-Schemadokument generiert wurde, ist identisch mit der ursprünglichen C#-Klasse, aus der das XML-Schema generiert worden war.
Mögliche Attribute | Bindungsunterstützung |
---|---|
id |
Das Hilfsprogramm Xsd.exe ignoriert das id-Attribut, mit dem ein eindeutiger Bezeichner bereitgestellt werden soll. |
Mögliche übergeordnete Elemente: sehr viele
Mögliche untergeordnete Elemente: <appinfo>, <documentation>