Smart Restrictions
Lors de la restriction d'un type complexe, certaines parties du modèle de contenu du type de base sont réécrites dans le type dérivé. Cela peut prêter à confusion si le contenu du modèle est complexe parce que tout en éditant le type dérivé, il peut être difficile de se souvenir exactement à quoi ressemble le modèle de contenu du type de base.
Les Smart Restrictions combinent et lient entre elles deux modèles de contenu dans le mode graphique du modèle de contenu dérivé. Dans le type complexe dérivé, toutes les particules du type de base complexe et la manière dont ils sont liés au type dérivés, peuvent être vus. De plus, les Smart Restrictions fournissent des indices visuels pour vous montrer les possibilités de limiter le type de base. Cela permet de limiter correctement le type dérivé.
Pour activer les Smart Restrictions:
•Cliquer sur l'icône Smart Restrictions . dans la barre d'outils Conception de Schéma.
L'exemple qui suit sert à illustrer les fonctions des Smart Restrictions.
Le type complexe suivant est le type de base utilisé dans cet exemple :
Le type complexe "dérivé" est dérivé du type de "base" comme suit :
1.Créer un nouveau type complexe dans le schéma et le nommer "dérivé".
2.Dans l'assistant à la saisie Détails sélectionner "base" depuis la liste déroulante base et "restriction" depuis la liste déroulante derivedBy.
Une fois Smart Restrictions activé, le nouveau type dérivé ressemble à :
Veuillez noter les différentes commandes qui peuvent être utilisées pour limiter le type dérivé dans cet exemple :
•Utiliser cette icône pour retirer les éléments qui se trouvent dans le type de base depuis le type dérivé. Ici, elem1 a été supprimé. Pour le rajouter, cliquer sur cette icône .
•Cliquer sur la flèche vers le bas sur le compositeur de choix pour obtenir la liste suivante, qui vous permet de changer le groupe de modèle Choix en un groupe de modèle Séquence :
Il est également possible de changer les caractères génériques de la même manière, comme dans l'exemple suivant : |
Pour obtenir une liste complète des particules pouvant être remplacées par d'autres particules, voir la spécification de schéma XML . |
•Changer le nombre d'occurrences du groupe de modèle à l'aide de la commande suivante afin d'augmenter le nombre minimum d'occurrences en cliquant sur le signe plus à côté du "1", o pour réduire le nombre minimum d'occurrences en cliquant sur le signe moins sous le "4". Ces commandes sont affichées si la gamme de l'occurrence dans la base décrit une vraie plage (par ex., 2-5) et non une certaine quantité (par ex. 4-4). Elles sont aussi affichées si la plage d'occurrence est erronée.
Ici, vous pouvez constater que le minimum d'occurrences pour cet élément a été modifié à 2. Veuillez noter que le groupe de modèle présente maintenant un fond bleu, ce qui signifie qu'il n'est plus le même que le groupe de modèle dans le type complexe de base. Ainsi, la plage d'occurrence permise du groupe de modèle dans la particule de base est maintenant affichée entre parenthèses. |
•Il est possible de modifier les types de données des attributs ou des éléments si le nouveau type de données est une restriction valide du type de données de base tel que défini dans la spécification de schéma XML . Par exemple, vous pouvez changer le type de données d'elem3 dans le type de données "dérivé" de décimal en entier. Ensuite, l'élément aura un fond bleu pour vous avertir qu'il est différent de l'élément contenu dans le type de base, et le type que l'élément a dans le type de base est affiché entre parenthèses :
Cet exemple montre des attributs dont les types de données ont été limités dans le type complexe dérivé : |
•Smart Restrictions vous préviennent en cas d'occurrences inutiles dans le modèle de contenu. Une occurrence inutile se produit par exemple, lorsqu'une séquence qui est présente dans le modèle de contenu n'est pas nécessaire. Cet exemple montre une occurrence inutile :
Note : les occurrences inutiles sont uniquement affichées si le modèle de contenu contient une erreur. Il est possible qu'un modèle de contenu contienne une occurrence inutile et soit valide, dans ce cas, l'occurrence inutile n'est pas affichée explicitement afin d'éviter toute confusion. |
Voir la spécification de schéma XML pour plus d'informations concernant les occurrences inutiles. |