Partager via


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

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 prend en charge la liaison partielle pour l'élément <include>.

Lors de la génération du code source à partir de l'élément <include>, Xsd.exe localise un document XSD inclus en tant que chemin d'accès de système de fichiers absolu spécifié via l'attribut schemaLocation.

Explication

L'élément <include> ressemble à l'élément <import>. Ces deux éléments apparaissent en tant qu'enfants de l'élément <schema> racine ; ils doivent apparaître avant tout autre enfant. Ils entrent tous deux une définition <schema> séparée, généralement définie dans un autre fichier .xsd. Il existe une distinction clé :

  • <import> : importe des déclarations et des définitions de schéma dans un espace de noms séparé spécifié via l'attribut namespace.

  • <include> : inclut des déclarations et des définitions de schéma supplémentaires dans le même espace de noms spécifié comme targetNamespace pour la définition de schéma XML existante.

Une définition de schéma XML qui utilise des éléments <include> est syntaxiquement équivalente à une définition de schéma XML dans laquelle les définitions incluses apparaissent directement.

Lors de la génération de documents de schéma XML à partir d'un ensemble de classes dans un assembly, Xsd.exe crée un seul fichier .xsd par espace de noms cible. En d'autres termes, les deux fichiers .xsd générés n'ont pas la même valeur pour l'attribut targetNamespace de l'élément <schema> racine. Par conséquent, l'élément <include> n'est jamais généré. Un développeur peut toujours diviser manuellement un fichier .xsd généré en plusieurs fichiers à l'aide de l'élément <include>.

Lors de la génération de code source à partir d'un document de schéma XML, Xsd.exe reconnaît l'élément <include>. Les documents XSD inclus ne doivent pas être passés comme arguments supplémentaires à Xsd.exe. En revanche, ils sont localisés via l'attribut schemaLocation. La valeur d'attribut doit être un chemin d'accès de système de fichiers absolu.

L'exemple suivant montre une valeur schemaLocation valide :

<xsd:include schemaLocation="c:\\projectRoot\\source\\xsd\\included1.xsd" />
2x3c3hhs.note(fr-fr,VS.100).gifRemarque :
Xsd.exe ignore l'attribut schemaLocation lorsqu'il apparaît dans l'élément <import>. En effet, pour Xsd.exe, les fichiers sont spécifiés comme arguments de ligne de commande supplémentaires. Consultez Prise en charge de la liaison de l'élément Import.

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.

schemaLocation

Consultez le paragraphe précédent.

Éléments parents possibles :  <schema>

Éléments enfants possibles :  <annotation>

Voir aussi

Référence

XmlSchemaInclude