Mode XSD : XSD 1.0 ou 1.1
Dans le Mode schéma, vous pouvez choisir si le schéma XML (XSD) doit être édité et validé selon la spécification XML Schema 1.0 (XSD 1.0) ou la spécification XML Schema 1.1 (XSD 1.1). Le mode XSD utilisé pour éditer un fichier dépend de deux paramètres : l'un dans l'application, l'autre dans le document XSD.
Sélectionner le mode XSD
Le mode XSD détermine les fonctionnalités d'édition et de validation du Mode schéma (XSD 1.0 ou 1.1) disponibles pour le document actif. Vous pouvez soit : (i) définir un paramètre pour l'ensemble de l'application, auquel cas tous les documents XSD dans le mode schéma seront édités dans le mode sélectionné, ou (ii) enregistrer le numéro de version XSD dans le document XSD et laisser l'application sélectionner automatiquement le mode XSD en fonction de cette information.
Mode pour l'ensemble de l'application
Le paramètre pour l'ensemble de l'application est défini dans la section Validation du dialogue Options (Outils | Options, voir capture d'écran ci-dessous). Si vous sélectionnez le bouton radio Version 1.0 ou Version 1.1, le mode sélectionné devient le mode à l'échelle de l'application. Tous les documents de schéma XML ouverts dans le Mode schéma seront désormais modifiés dans ce mode. (Si vous sélectionnez le paramètre v1.1 si <xs:schema vc:minVersion=« 1.1 », v1.0 otherwise, le mode dépendra des informations contenues dans le document et ne sera pas à l'échelle de l'application. Pour plus d'informations à ce sujet, voir la section Mode spécifique au document et les autres sections ci-dessous.

Vous pouvez basculer à tout moment entre les deux modes à l'échelle de l'application (Version 1.0 et Version 1.1) en sélectionnant l'option souhaitée dans le paramètre Version du schéma XML du dialogue Options (capture d'écran ci-dessus).
Note : si le paramètre actuel est un paramètre à l'échelle de l'application et que vous passez d'un mode à l'autre à l'aide du bouton XSD 1.0 ou XSD 1.1 dans la barre d'outils Conception de schéma (voir section suivante), le changement de mode effectué à l'aide du bouton sera temporaire et le mode reviendra au mode à l'échelle de l'application lorsque le document sera rechargé. Un rechargement a lieu chaque fois que la vue est modifiée ou lorsque la vue Schéma est actualisée (via Fichier | Recharger).
Mode spécifique au document
Vous pouvez également choisir d'enregistrer les informations relatives au mode XSD dans le document XSD lui-même. Cela permettrait au Mode schéma de passer automatiquement au mode XSD du document lorsque celui-ci est chargé. Vous pouvez ajouter des informations sur le mode XSD à un document XSD en cliquant sur le bouton XSD 1.0 ou XSD 1.1 dans la barre d'outils Conception de schéma (capture d'écran ci-dessous). Ce faisant, le mode sélectionné est enregistré dans l'attribut vc:minVersion de l'élément xs:schema de niveau supérieur. (La valeur de vc:minVersion peut également être ajoutée manuellement dans le Mode texte.)

Note : l'attribut vc:minVersion, s'il est présent, doit se trouver dans l'espace de noms http://www.w3.org/2007/XMLSchema-versioning. Dans ce cas, le document de schéma XML doit comporter une déclaration d'espace de noms liant le préfixe d'espace de noms vc: à cet espace de noms. Si vous utilisez le bouton de la barre d'outils XSD 1.1 (capture d'écran ci-dessus), l'espace de noms est ajouté automatiquement. Cliquer sur le bouton de la barre d'outils XSD 1.0 supprime cette déclaration d'espace de noms si aucun autre nom de nœud dans le document ne se trouve dans cet espace de noms.
Pour activer le mode spécifique au document et spécifier le mode XSD d'un document, procédez comme suit :
1.Activez le mode spécifique au document : dans la section Validation du dialogue Options (Outils | Options), définissez l'option Version du schéma XML sur v1.1 si <xs:schema vc:minVersion=« 1.1 », v1.0 otherwise (voir capture d'écran ci-dessous). Cela indique à XMLSpy que le mode XSD dans le Mode schéma doit être défini en fonction de l'attribut vc:minVersion de l'élément xs:schema.

2.Spécifiez la version XSD du document : dans la barre d'outils Conception de schéma (capture d'écran ci-dessus), cliquez sur le bouton XSD 1.0 ou XSD 1.1. Un dialogue de confirmation (capture d'écran ci-dessous) s'affiche.

3.Cliquez sur Oui pour obtenir le résultat suivant : (i) la valeur correspondante est saisie dans l'attribut vc:minVersion de l'élément xs:schema, et (ii) si XSD 1.1 a été sélectionné, l'espace de noms XMLSchema-versioning est déclaré avec une liaison au préfixe d'espace de noms vc: ; si XSD 1.0 a été sélectionné, la déclaration d'espace de noms est supprimée si aucun autre nœud ne se trouve dans l'espace de noms XMLSchema-versioning. Le document XML Schema contient désormais le numéro de version XSD. Lorsque vous enregistrez le fichier, les informations relatives au mode XSD sont également enregistrées. Lorsque vous rouvrez ou rechargez le fichier, Schema View passe automatiquement au mode XSD du document tel qu'il est défini dans l'attribut vc:minVersion de l'élément xs:schema.
Note : si l'option de mode spécifique au document est sélectionnée et si le document XSD ne possède pas d'attribut vc:minVersion ou si la valeur de l'attribut vc:minVersion est différente de 1.0 ou 1.1, Schema View passe par défaut en mode XSD 1.0.
Note : ne confondez pas l'attribut vc:minVersion avec l'attribut xsd:version. Le premier contient le numéro de version XSD, tandis que le second contient le numéro de version du document.
Mode XSD des nouveaux documents
Lorsque vous créez un nouveau document XSD, vous êtes invité à indiquer si vous souhaitez le créer en tant que document XSD 1.0 ou XSD 1.1. Si vous sélectionnez XSD 1.1, le nouveau document est créé avec l'attribut /xs:schema/@vc:minVersion="1.1" et l'espace de noms XMLSchema-versioning avec une liaison au préfixe d'espace de noms vc: est déclaré. Si vous sélectionnez XSD 1.0, ni l'attribut vc:minVersion ni la déclaration d'espace de noms XMLSchema-versioning ne sont ajoutés. Cependant, le mode XSD réellement activé dans la vue Schéma dépend également de la version du schéma XML sélectionnée dans la section Validation du dialogue Options (Outils | Options). Voir la section suivante pour plus de détails sur l'interaction entre ces deux paramètres.
Mode XSD activé
Le mode XSD activé dans la vue Schéma dépend à la fois (i) de la présence/absence — et, le cas échéant, de la valeur — de l'attribut /xs:schema/@vc:minVersion du document XSD, et (ii) de l'option Version du schéma XML sélectionnée dans la section Validation du dialogue Options (Outils | Options, capture d'écran ci-dessous).

Les situations suivantes sont possibles. La Version du schéma XML dans le tableau ci-dessous fait référence à la sélection dans le volet Version du schéma XML illustré ci-dessus. Les valeurs vc:minVersion dans le tableau ci-dessous font référence à la valeur de l'attribut xs:schema/@vc:minVersion dans le document de schéma XML.
Version du Schéma XML | vc:minVersion attribut | Mode XSD |
Toujours v1.0 | Absent ou présent avec n'importe quelle valeur. | 1,0 |
Toujours v1.1 | Absent ou présent avec n'importe quelle valeur. | 1,1 |
Valeur de @vc:minVersion | L’attribut a la valeur 1.1 | 1,1 |
Valeur de @vc:minVersion | L'attribut est absent ou présent avec une valeur autre que 1.1 | 1,0 |
Note : dans les situations décrites dans les deux premières lignes, il est possible qu'un schéma XSD 1.1 soit ouvert en mode XSD 1.0 et vice versa. Les incohérences seront traitées comme décrit ci-dessous.
Fonctionnalités du mode XSD
L'interface et les fonctionnalités d'édition de Schema View changeront en fonction du mode XSD (XSD 1.0 ou XSD 1.1) activé.
Si le mode XSD 1.0 est activé :
•La prise en charge de l'édition des nouveaux composants et propriétés XML Schema 1.1 n'est pas disponible. Toutefois, si des composants ou propriétés XSD 1.1 sont déjà présents dans le document XSD, ceux-ci s'affichent et peuvent être supprimés.
•La validation est effectuée par rapport à la spécification XSD 1.0. Ainsi, si un composant ou une propriété exclusivement XSD 1.1 existe (déjà) dans le schéma, une erreur de validation est signalée.
Si le mode XSD 1.1 est activé, la prise en charge de l'édition est fournie pour toutes les fonctionnalités de XML Schema 1.1. La validation est effectuée par rapport à la spécification XML Schema 1.1.
Gestion des fonctionnalités XSD 1.1 en mode XSD 1.0
Si une fonctionnalité XSD 1.1 qui n'est pas prise en charge dans XSD 1.0 est présente dans le document (par exemple, une assertion), la manière dont cette fonctionnalité est affichée et gérée en mode XSD 1.0 est décrite ci-dessous.
•Assertions : si au moins une assertion est présente sur le type simple sélectionné, l'onglet Assertions est présent dans l'assistant de saisie Facettes. Aucune modification n'est possible, à l'exception de la suppression de l'assertion.
•Assertions : l'assertion est affichée dans le diagramme du type complexe, si elle est présente. Aucun onglet Assertions n'est disponible dans le volet AAIDC. L'assertion ne peut pas être ajoutée via le menu contextuel. Aucune modification des propriétés n'est possible, à l'exception de la suppression.
•Attributs : la nouvelle propriété héritable est affichée si elle est présente. Aucune modification n'est possible, à l'exception de la sélection de la valeur vide (ce qui revient à supprimer les propriétés).
•Types complexes : la nouvelle propriété defaultAttributesApply, si elle est présente, s'affiche dans l'aide à la saisie Détails. Aucune modification n'est possible, à l'exception de la sélection de la valeur vide (ce qui revient à supprimer les propriétés).
•Documentation : les nouveaux composants et propriétés spécifiques à XSD 1.1 ne sont pas inclus dans la documentation du Mode schéma.
•Facettes : les facettes inconnues provoquent des erreurs de validation et s'affichent en rouge.
•Rechercher dans les schémas : les nouveaux composants et propriétés spécifiques à XSD 1.1 sont ignorés.
•Contraintes d'identité (IDC) : la propriété isRef s'affiche en cas de référence et peut être désactivée. Elle sera désactivée dès que le nom de l'IDC sera modifié.
•Groupes de substitution multiples : zone de liste déroulante permettant de sélectionner un seul groupe de substitution (seuls les groupes de substitution uniques sont autorisés dans XSD 1.0).
•Contenu ouvert : affiché dans le diagramme s'il est présent. Ne peut pas être ajouté via le menu contextuel. Aucune modification n'est possible, sauf la suppression. Le contenu ouvert par défaut n'est pas affiché dans les types complexes.
•Remplacement : affiché dans la grille globale s'il est présent. Ne peut pas être ajouté via le menu. Aucune modification (de l'emplacement) n'est possible, sauf la suppression. Les composants de remplacement (c'est-à-dire les enfants de xs:override) sont ignorés et ne seront pas inclus dans l'aide à la saisie Composants.
•Paramètres du schéma : les nouvelles propriétés defaultAttributes et xpathDefaultNamespace sont affichées dans le dialogue si elles sont présentes. Aucune modification n'est possible, à l'exception de la sélection de la valeur vide (ce qui revient à supprimer les propriétés).
•Types simples : les types inconnus provoquent des erreurs de validation et s'affichent en rouge.
•Alternatives de type : affiché dans le diagramme s'il est présent. Ne peut pas être ajouté via le menu contextuel. Aucune modification (des propriétés) n'est possible, sauf la suppression.
•Caractères génériques : nouvelles propriétés affichées si elles sont présentes. Aucune modification n'est possible, sauf la sélection d'une valeur vide (ce qui revient à supprimer les propriétés).