Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
Créez une instance du XsdDataContractExporter.
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.
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
Exportméthode à l’étape suivante.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
Exportentraînent l’ajout de plusieurs éléments dans le mêmeXmlSchemaSetélément. Un type n’est pas généré dans leXmlSchemaSets’il y existe déjà. Par conséquent, l’appelExportplusieurs fois sur le mêmeXsdDataContractExporterest préférable à la création de plusieurs instances de laXsdDataContractExporterclasse. Cela évite de générer des types de schémas en double.Remarque
En cas d’échec lors de l’exportation, le
XmlSchemaSetsera dans un état imprévisible.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 :
KnownTypes. Cette collection de
Typereprésente les types connus pour les types exportés. (Pour plus d’informations, consultez Types connus de contrat de données.) Ces types connus sont exportés sur chaqueExportappel en plus des types passés à laExportméthode.DataContractSurrogate. Une IDataContractSurrogate option peut être fournie via cette propriété qui personnalisera le processus d’exportation. Pour plus d’informations, consultez Les substituts de contrat de données. Par défaut, aucune substitution n’est utilisée.
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
Typeet 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
Typeet 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 retournenull.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
nullpour tous les autres types. Pour les types anonymes, cette méthode retourne une XmlSchemaType valeur qui représente une donnéeType.
Les options d’exportation affectent toutes ces méthodes.