Partager via


Prise en charge de la liaison de l'élément Annotation

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 <annotation>.

Lors de la génération de code source à partir d'un document de schéma XML, Xsd.exe ignore l'élément <annotation>.

Explication

Lors de la génération de code source à partir d'un document de schéma XML, Xsd.exe ignore l'élément <annotation>. En conséquence, les éléments enfants <appinfo> et <documentation> ne sont pas pris en charge.

La seule fois où Xsd.exe utilise l'élément <annotation> implique la correspondance entre les deux entités suivantes :

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.

Example

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

id

L'utilitaire Xsd.exe ignore l'attribut id qui a pour but de fournir un identificateur unique.

Éléments parents possibles : nombreux

Éléments enfants possibles :  <appinfo>, <documentation>

Voir aussi

Référence

XmlSchemaAnnotation
XmlSchemaAnnotation