Quelles sont les nouveautés de la version 1.1 du schéma XML ?
Depuis l'introduction de XML Schema 1.0, cette norme a été largement adoptée. Au fil des années, les développeurs ont demandé plusieurs modifications, notamment la possibilité de spécifier et de valider des règles métier plus précises, ainsi que de permettre une évolution plus souple des schémas. La recommandation XML Schema 1.1 comporte de nombreuses modifications et améliorations visant à résoudre ces problèmes.
Examinons les nouvelles fonctionnalités les plus importantes, ainsi que certaines ressources pour en apprendre davantage ou pour commencer immédiatement à utiliser XML Schema 1.1.

Découvrez les nouveautés de la version 1.1 du schéma XML
Une explication détaillée des nouvelles fonctionnalités et des améliorations apportées à XML Schema 1.1 est disponible dans notre documentation gratuite Cours de formation en ligne sur les schémas XML, Vous pouvez y accéder à tout moment et le compléter à votre propre rythme. Si vous êtes un développeur de schémas expérimenté et que vous souhaitez simplement découvrir les nouveautés et les améliorations de XSD 1.1, passez directement au chapitre 9. Ce cours est un excellent moyen de se familiariser avec XML Schema 1.1 et d'adapter rapidement vos schémas pour profiter des nouvelles fonctionnalités.

Dans cet article, je vais vous expliquer plusieurs aspects importants et vous montrer comment vous pouvez implémenter les nouvelles fonctionnalités en utilisant XMLSpy. Les versions de XMLSpy 2014 et ultérieures offrent une prise en charge complète de la norme XML Schema 1.1, incluant la validation des fichiers XSD et des instances XML basés sur XML Schema 1.1, ainsi que des outils de modification intelligents pour les fichiers XSD 1.1 dans l'éditeur graphique XML Schema 1.1.
Affirmations
Les assertions, également appelées contraintes conjointes, dans XML Schema 1.1 permettent la validation basée sur des règles des politiques métier impliquant plus d'un élément. Ces règles sont définies à l'aide d'expressions XPath. Par exemple, vous pouvez utiliser le nouvel élément
![]()
Et dans le code correspondant :
![]()
Il est facile de consulter les assertions définies dans un schéma en utilisant la vue Globals, qui propose un onglet "Assertions" pour les documents XML Schema 1.1. Vous pouvez également ajouter de nouvelles assertions et sélectionner l'espace de noms XPath par défaut ici.
![]()
Vous pouvez également les définir dans la vue du modèle de contenu en cliquant avec le bouton droit sur un élément dans cette vue et en choisissant l'option « Ajouter une assertion enfant ». Vous pouvez définir le test XPath directement dans le modèle de contenu via la fenêtre d'assistance "Détails".
![]()
Cette capacité à définir et à valider les règles métier est un avantage majeur de XML Schema 1.1, et cette représentation graphique vous aide à suivre le processus.
Alternatives aux types conditionnels
Les alternatives de types conditionnels sont une autre fonctionnalité conçue pour rendre les schémas XSD plus performants en ajoutant une flexibilité intégrée. Elles permettent d'attribuer dynamiquement un type à un élément en fonction de la valeur d'un attribut dans le document XML. L'élément xs:alternative possède deux attributs : type et test. Voici un exemple utilisant le schéma "Meeting" que nous avons commencé à définir précédemment.
![]()
Si l'heure de fin de la réunion est avant midi, le type de réunion est "Réunion du matin". Après midi, c'est une "Réunion de l'après-midi". Pour définir cela dans.. Concepteur de schémas XML, Nous faisons simplement un clic droit sur l'élément "Réunion" et nous choisissons "Ajouter un élément enfant / alternatif". Utilisez l'outil d'aide à la saisie des détails pour entrer une expression XPath, puis sélectionnez le type qui sera attribué dynamiquement à l'élément dans le menu déroulant "Type".
![]()
Désormais, tout élément "Meeting" dans une instance XML dont l'heure de fin est postérieure à 12h00 sera associé au type de réunion "MeetingType AfternoonMeeting". L'utilisation d'un éditeur graphique XSD facilite la visualisation et la configuration de ces relations.
Attributs globaux du schéma
La norme XML Schema 1.1 vous permet de définir un ensemble d'attributs par défaut qui sont automatiquement appliqués à tous les types complexes du schéma. Par exemple, dans notre schéma de réunion, il est utile que les attributs startTime et endTime soient appliqués à tous les éléments, sans avoir à les ajouter manuellement, ce qui est fastidieux et peut entraîner des erreurs, surtout dans un schéma comportant un grand nombre d'éléments. L'élément xs:schema dans XML Schema 1.1 possède un élément facultatif appelé defaultAttributes, qui identifie un groupe d'attributs. (Si vous souhaitez qu'un attribut par défaut ne soit pas appliqué à un élément particulier, vous pouvez spécifier cela en utilisant l'attribut defaultAttributesApply="false".) Il est facile d'ajouter un groupe d'attributs et de définir les attributs par défaut dans la vue Globals de l'éditeur XML Schema.
![]()
Ensuite, utilisez la boîte de dialogue des paramètres du schéma, accessible via le menu de conception du schéma, pour sélectionner le groupe d'attributs que vous venez de créer comme attributs par défaut, à partir d'une liste déroulante.
![]()
Ci-dessus, vous trouverez quelques-unes des principales améliorations apportées par XML Schema 1.1. D'autres incluent des attributs héritables, des fonctionnalités améliorées pour les groupes de substitution, un type de données xs:error, et bien d'autres. Toutes ces améliorations sont expliquées en détail, avec des exemples concrets, dans le chapitre 9 de la formation en ligne sur XML Schema.
Ressources et outils supplémentaires :
XML Schema 1.1 Recommendation XMLSpy XML Schema 1.1 Editor and validator RaptorXML XML Schema 1.1 Validation Server Free Online XML Schema 1.1 Training