Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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>