Dérivation de type simple à l'aide du mécanisme de restriction
Vue d’ensemble
Lorsque vous déduisez un nouveau type simple à l'aide du mécanisme de restriction à partir d'un type simple existant, vous limitez généralement les valeurs autorisées dans un message d'instance pour cette valeur d'attribut ou d'élément à un sous-ensemble des valeurs autorisées par le type simple de base. Par exemple, vous pouvez limiter un type de chaîne à être une chaîne énumérée parmi plusieurs autres.
Pour obtenir des informations complètes sur la dérivation de nouveaux types simples par le biais du mécanisme de restriction, reportez-vous au site Internet de W3C. Pour obtenir différents liens vers ce site web et d’autres, consultez Ressources XSD sur le web.
Field, élément et attribut field
Pour dériver un type simple à l’aide de la restriction, sélectionnez le nœud Élément field ou Attribut de champ approprié dans l’arborescence de schéma, puis, dans le Fenêtre Propriétés, sélectionnez un type simple dans la liste déroulante pour la propriété Type de données de base. Dès que vous avez sélectionné une valeur pour cette propriété, la propriété Derived By passe automatiquement de sa valeur par défaut à Restriction, qui sert de valeur par défaut pour la dérivation de type. En outre, une toute nouvelle catégorie de propriétés, appelée Restriction, devient disponible dans le Fenêtre Propriétés.
En fonction du type de données de base que vous sélectionnez, les propriétés pouvant être définies dans cette nouvelle catégorie sont différentes. Par exemple, si le type de données de base est numérique, les propriétés Type MaxFacet (lorsque la valeur MaxFacet est définie), Valeur MaxFacet, Type MinFacet (lorsque La valeur MinFacet est définie) et Valeur MinFacet sont disponibles pour définir une plage inclusive ou exclusive de valeurs autorisées. Si le type de données de base est un type de chaîne, les propriétés Length, Maximum Length et Minimum Length sont disponibles pour limiter la longueur de la chaîne.
Pour plus d’informations sur les différentes propriétés de restriction des nœuds de champ, consultez Les propriétés des nœuds d’élément de champ dans les instructions de l’interface utilisateur et les informations de référence sur l’espace de noms d’API des développeurs.
Lorsque vous modifiez pour la première fois un nœud d’élément field ou un nœud Attribut de champ d’un type de données à un type de données de base (ce qui démarre le processus de dérivation de type simple), laissez la propriété Derived By définie sur Restriction et fournissez une restriction basée sur l’énumération aux valeurs de chaîne autorisées, vous pouvez observer les modifications suivantes dans le fragment correspondant dans la vue XSD :
Auparavant, avec un nœud Élément Field nouvellement inséré nommé WestCoastStates.
<xs:element name="ContainingRecord"> <xs:complexType> <xs:sequence> <xs:element name="WestCoastStates" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element>
Après avoir défini la propriété Type de données de base sur « xs :string » et laissé la valeur par défaut de dérivation Restriction pour la propriété Derived By .
<xs:element name="ContainingRecord"> <xs:complexType> <xs:sequence> <xs:element name="WestCoastStates" > <xs:simpleType> <xs:restriction base="xs:string" /> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element>
Après avoir défini la propriété Énumération dans la catégorie Restriction sur les noms des trois états de la côte ouest de la États-Unis continentale.
<xs:element name="ContainingRecord"> <xs:complexType> <xs:sequence> <xs:element name="WestCoastStates"> <xs:simpleType> <xs:restriction base="xs:string" /> <xs:enumeration value="Washington" /> <xs:enumeration value="Oregon" /> <xs:enumeration value="California" /> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element>