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 partielle Bindungsunterstützung für das <anyAttribute>-Element bereit.
Beim Generieren von Quellcode aus einem XML-Schemadokument wandelt Xsd.exe das <anyAttribute>-Feld in ein Feld des Typs XmlAttribute mit einem XmlAnyAttributeAttribute-Attribut um.
Erklärung
Über den <anyAttribute>-Platzhalter können beliebige Attribute (Attribut mit einem beliebigen Namen oder des einfachen Typs) mit ein paar Einschränkungen in einem angegebenen Element in einem XML-Instanzendokument angezeigt werden.
Beim Generieren von Quellcode aus einem XML-Schemadokument wandelt Xsd.exe das <anyAttribute>-Feld in ein Feld des Typs XmlAttribute mit einem XmlAnyAttributeAttribute-Attribut um. Über dieses Attribut kann eine Klasse beliebige XML-Attribute darstellen, ohne diese an nicht XML-spezifische Typen zu binden, die über andere mögliche Felder oder Eigenschaften der Klasse angegeben werden.
Beim Generieren eines XML-Schemadokuments aus einer Reihe von Klassen in einer Assembly führt Xsd.exe eine Rückübersetzung durch: Ein Feld oder eine Eigenschaft des Typs System.Xml.XmlAttribute mit dem XmlAnyAttributeAttribute-Attribut wird in ein <anyAttribut>-Element übersetzt.
namespace-Attribut und processContents-Attribut
Beim Generieren von XML-Schemadefinitionen oder Klassen werden das namespace-Attribut und das processContents-Attribut ignoriert. Wenn diese Attributwerte in einer ursprünglichen XML-Schemadefinition vorhanden sind und Xsd.exe Klassen aus der Definition und anschließend ein anderes XML-Schema aus den Klassen generiert, verfügt das <anyAttribute>-Element des generierten XML-Schemas daher nicht mehr über diese Attribute. Daher werden im letzteren Schema die folgenden Standardwerte übernommen:
namespace="##any": Das namespace-Attribut gibt die Namespaces an, in denen das Attribut definiert werden muss. Ein Wert von##anylässt jeden Namespace zu.processContents="strict": Achten Sie bei der Überprüfung eines XML-Instanzendokuments auf Übereinstimmung mit dem entsprechenden angegebenen XML-Schema darauf, dass alle Elementtypen entsprechend den angegebenen Namespaces überprüft werden. Wenn ein Elementtyp nicht erkannt wird, schlägt die Validierung fehl.
Ebenso werden das namespace-Attribut und das processContents-Attribut bei der Deserialisierung von XML-Dokumenten in Objekte ignoriert. Stattdessen verhält sich die XmlSerializer-Klasse so, als ob die beiden Attribute auf die folgenden Werte festgelegt wurden:
namespace="##any": Dies ist der Standardwert.processContents="lax": Prüfen Sie bei der Überprüfung eines XML-Instanzendokuments auf Übereinstimmung mit dem entsprechenden angegebenen XML-Schema das Attribut nur, wenn der zugehörige Namespace abgerufen werden kann. Achten Sie andernfalls darauf, dass ein nicht erkanntes Attribut aus wohlgeformter XML besteht.
Hinweis: |
|---|
Obwohl .NET Framework zur Laufzeit processContents="lax" voraussetzt, werden zur Bereitstellungszeit XML-Schemadefinitionen generiert, in denen das standardmäßige processContents="strict" implizit angegeben ist.
|
Xsd.exe und die XmlSerializer-Klasse stellen die gleichen Bindungen für das namespace-Attribut und das processContents-Attribut bereit, wenn sie im <any>-Element angezeigt werden.
| Mögliche Attribute | Bindungsunterstützung |
|---|---|
id |
Das Hilfsprogramm Xsd.exe ignoriert das id-Attribut, mit dem ein eindeutiger Bezeichner bereitgestellt werden soll. |
namespace |
Weitere Informationen finden Sie im Abschnitt Namespace-Attribut und processContents-Attribut in diesem Thema. |
processContents |
Siehe den Abschnitt über das namespace-Attribut und das processContents-Attribut in diesem Thema. |
Mögliche übergeordnete Elemente: <attributeGroup>, <complexType>, <extension>, <restriction>
Mögliche untergeordnete Elemente: <annotation>
Hinweis: