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

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 pour l'élément <extension>.

L'outil Xsd.exe génère une classe de base, qui correspondant à la valeur de l'attribut base, pour du contenu complexe uniquement, et non pour du contenu simple.

Explication

Le langage XSD permet la dérivation de nouveaux types de données à partir des types de base à travers l'extension et la restriction. L'extension est toujours utilisée pour dériver des types complexes. L'extension peut être basée sur du contenu simple ou du contenu complexe, différenciés comme suit :

  • Contenu simple : Utilise le complexType/simpleContent/extension XPath. Le type complexe dérivé ne contient pas d'éléments enfants, mais uniquement du contenu simple (attributs et/ou corps du texte).

  • Contenu complexe : Utilise le complexType/complexContent/extension XPath. Les types complexes dérivés et de base contiennent des éléments enfants. Ils peuvent également contenir des attributs et du corps de texte.

Les extensions de type de schéma XML sont toujours exprimées entièrement à travers des définitions de classe dans le .NET Framework. La manière dont Xsd.exe génère du code source à partir d'un document de schéma XML varie selon que l'extension est basée sur du contenu simple ou complexe, comme expliqué ci-dessous :

  • Contenu simple : Xsd.exe génère une nouvelle classe avec un champ public d'un type qui correspond au type de données de base, spécifié par l'attribut base de l'élément <extension>.

  • Contenu complexe : Xsd.exe génère une classe qui correspond au type de données de base, spécifié par l'attribut base de l'élément <extension>, et une classe pour le type de données dérivé. Cette dernière hérite de la première classe, à l'aide d'une déclaration de classe comme celle qui suit : public class DerivedClass : BaseClass.

Xsd.exe conserve l'un de ces types d'extension lors d'une traduction aller-retour d'un schéma XML vers des classes, puis vers un nouveau document de schéma XML.

Pour obtenir un exemple d'extension de contenu simple, consultez l'élément <simpleContent>.

Attributs possibles Prise en charge de la liaison

base

L'élément <extension> requiert un attribut base dont la valeur correspond au nom qualifié du type de données de base.

Pour l'extension de contenu simple, l'outil Xsd.exe génère un champ public à partir de la valeur de l'attribut base. Pour l'extension de contenu complexe, Xsd.exe génère une classe de base à partir de la valeur base. Consultez le paragraphe précédent.

id

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

Éléments parents possibles :  <complexContent>, <simpleContent>

Éléments enfants possibles :  <all>, <annotation>, <anyAttribute>, <attribute>, <attributeGroup>, <choice>, <group>, <sequence>

Voir aussi

Référence

XmlSchemaComplexContentExtension
XmlSchemaSimpleContentExtension