Prise en charge de la liaison de l'élément Appinfo
Cette rubrique est spécifique à une technologie existante. Les services Web XML et les clients du service Web XML doivent à présent être créés à l'aide de Windows Communication Foundation.
Le .NET Framework ne prend pas en charge la liaison pour l'élément <appinfo>.
Lors de la génération de code source à partir d'un document de schéma XML, Xsd.exe ignore l'élément <appinfo>.
Explication
Lors de la génération de code source à partir d'un document de schéma XML, Xsd.exe ignore l'élément <appinfo>. Cela est également vrai pour le parent de l'élément <appinfo>, <annotation>.
La correspondance entre les deux entités suivantes constitue une exception :
Un attribut de type XmlNamespaceDeclarationsAttribute appliqué à un champ ou une propriété de type XmlSerializerNamespaces.
Un élément XML .NET Framework appelé <keepNamespaceDeclarations> et contenu dans l'élément <appinfo>.
Un objet XmlSerializerNamespaces est utilisé pour stocker un jeu de mappages entre des préfixes et les espaces de noms qu'ils représentent. Le texte de l'élément annotation/appinfo/keepNamespaceDeclarations
correspond au nom du champ ou de la propriété XmlSerializerNamespaces. Cette traduction est effectuée dans les deux sens, c.-à-d. du fichier XSD vers le code et vice versa, afin que les préfixes d'espaces de noms puissent être contrôlés.
Exemple
Classe C# d'entrée :
public class MyClass {
[XmlAttribute]
public string name;
public string xpath;
[XmlNamespaceDeclarationsAttribute]
public XmlSerializerNamespaces xmlns;
}
Document de schéma XML généré à partir d'un assembly compilé depuis la source C# précédente :
<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>
La classe C# générée à partir du document de schéma XML précédent est identique à la classe C# d'origine à partir de laquelle le schéma XML a été généré.
Attributs possibles | Prise en charge de la liaison |
---|---|
source |
Dans la mesure où le .NET Framework ne lie pas l'élément <appinfo>, il ne lie pas l'attribut source de cet élément. |
Éléments parents possibles : <annotation>
Éléments enfants possibles : illimité