Prise en charge de la liaison de l'élément Import
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 <import>.
Pour l'élément <import>, l'outil Xsd.exe ignore l'attribut schemaLocation et attend les fichiers importés comme arguments de ligne de commande supplémentaires.
Explication
L'élément <import> ressemble à l'élément <include>. 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é par 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.
Voici un exemple de l'utilisation de l'élément <import> :
<xsd:import namespace="http://example.org/attr" schemaLocation="http://example.org/definitions/attr.xsd" />
Attribut SchemaLocation
L'attribut schemaLocation a pour but de spécifier l'emplacement du fichier .xsd importé. Cependant, 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.
Le fichier source généré obtient le nom du dernier fichier XSD passé comme argument. Par exemple, l'appel de ligne de commande suivant de Xsd.exe :
xsd importedAttribute.xsd attributeRef.xsd /classes /language:CS
Le nom attributeRef.cs est attribué au fichier source résultant.
Remarque : |
---|
Xsd.exe utilise bien l'attribut schemaLocation lorsqu'il apparaît dans l'élément <include>. Lors de la génération du code source à partir d'un document de schéma XML, Xsd.exe reconnaît un chemin d'accès de système de fichiers absolu pour la valeur. Pour plus d'informations, consultez Prise en charge de la liaison de l'élément Include. |
Attribut Namespace
L'attribut namespace permet d'identifier l'espace de noms cible importé, qui doit être différent de l'espace de noms cible du document XSD qui fait l'importation (celui contenant l'élément <import>).
Lors de la génération du code source à partir d'un document de schéma XML, Xsd.exe définit une propriété Namespace sur l'attribut .NET Framework qui s'applique à chaque type ou champ correspondant à une entité importée. Même lorsque aucun espace de noms supplémentaire n'est importé, Xsd.exe affecte à la propriété Namespace des deux attributs suivants la valeur de l'espace de noms cible du document XSD d'origine :
XmlTypeAttribute : si des types de données sont définis dans le schéma.
Un espace de noms importé peut être spécifié à l'aide de la propriété Namespace de certaines classes d'attributs XML. La propriété apparaît comme suit :
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. |
namespace |
Consultez la précédente section Namespace Attribute. |
schemaLocation |
Consultez la précédente section SchemaLocation Attribute. |
Éléments parents possibles : <schema>
Éléments enfants possibles : <annotation>