Partager via


Exportation de schémas à partir de classes

Pour générer des schémas XSD (XML Schema Definition Language) à partir de classes utilisées dans le modèle de contrat de données, utilisez la XsdDataContractExporter classe. Cette rubrique décrit le processus de création de schémas.

Processus d’exportation

Le processus d’exportation de schéma commence par un ou plusieurs types et produit un XmlSchemaSet qui décrit la projection XML de ces types.

Il XmlSchemaSet fait partie du Modèle d'Objet de Schéma (SOM) du .NET Framework, qui représente un ensemble de documents de schéma XSD. Pour créer des documents XSD à partir d’un XmlSchemaSet, utilisez la collection de schémas à partir de la Schemas propriété de la XmlSchemaSet classe. Sérialisez ensuite chaque XmlSchema objet à l’aide du XmlSerializer.

Pour exporter des schémas

  1. Créez une instance du XsdDataContractExporter.

  2. Optionnel. Passez un XmlSchemaSet dans le constructeur. Dans ce cas, le schéma généré pendant l’exportation de schéma est ajouté à cette XmlSchemaSet instance au lieu de commencer par un vide XmlSchemaSet.

  3. Optionnel. Appelez une des méthodes CanExport. La méthode détermine si le type spécifié peut être exporté. La méthode a les mêmes surcharges que la Export méthode à l’étape suivante.

  4. Appelez une des méthodes Export. Il y a trois surcharges qui prennent un Type, un List<T> d'objets Type , ou un List<T> d'objets Assembly . Dans le dernier cas, tous les types de tous les assemblages donnés sont exportés.

    Plusieurs appels à la méthode Export entraînent l’ajout de plusieurs éléments dans le même XmlSchemaSet élément. Un type n’est pas généré dans le XmlSchemaSet s’il y existe déjà. Par conséquent, l’appel Export plusieurs fois sur le même XsdDataContractExporter est préférable à la création de plusieurs instances de la XsdDataContractExporter classe. Cela évite de générer des types de schémas en double.

    Remarque

    En cas d’échec lors de l’exportation, le XmlSchemaSet sera dans un état imprévisible.

  5. Accédez au XmlSchemaSet via la Schemas propriété.

Options d’exportation

Vous pouvez définir la Options propriété de la XsdDataContractExporter classe sur une instance de la ExportOptions classe pour contrôler différents aspects du processus d’exportation. Plus précisément, vous pouvez définir les options suivantes :

Méthodes d’assistance

En plus de son rôle principal d’exportation de schéma, il XsdDataContractExporter fournit plusieurs méthodes d’assistance utiles qui fournissent des informations sur les types. Voici quelques-uns des éléments suivants :

  • MéthodeGetRootElementName . Cette méthode prend un Type et retourne un XmlQualifiedName qui représente le nom de l’élément racine et l’espace de noms qui serait utilisé si ce type était sérialisé en tant qu’objet racine.

  • MéthodeGetSchemaTypeName . Cette méthode prend un Type et retourne un XmlQualifiedName qui représente le nom du type de schéma XSD qui serait utilisé si ce type était exporté. Pour IXmlSerializable les types représentés sous forme de types anonymes dans le schéma, cette méthode retourne null.

  • MéthodeGetSchemaType . Cette méthode fonctionne uniquement avec IXmlSerializable les types représentés en tant que types anonymes dans le schéma et retourne null pour tous les autres types. Pour les types anonymes, cette méthode retourne une XmlSchemaType valeur qui représente une donnée Type.

Les options d’exportation affectent toutes ces méthodes.

Voir aussi