Exemple : Book Library
Cet exemple illustre comment utiliser les bibliothèques de schema wrapper générées afin d’écrire ou de lire des documents XML conforme en terme de programmation au schéma. Avant d’utiliser le code d’échantillon, veuillez prendre le temps de comprendre la structure du schéma d’exemple inclus.
Le schéma utilisé dans cet exemple décrit une bibliothèque de livres. La définition complète du schéma est affichée ci-dessous. Enregistrer cet extrait de code en tant que Library.xsd si vous souhaitez obtenir les mêmes résultats que dans cet exemple. Vous aurez besoin de ce schéma pour générer les bibliothèques de code utilisées dans cet exemple.
<?xml version="1.0" encoding="UTF-8"?> |
Library est un élément racide d’un complexType qui peut être représenté graphiquement comme suit dans le mode Schéma de XMLSpy:
Comme indiqué ci-dessus, la bibliothèque contient un attribut LastUpdated (défini en tant que xs:dateTime), et stocke une séquence de livres. Chaque livre est un xs:complexType et possède deux attributs : un ID (défini en tant que xs:integer), et un Format. Le format de chaque livre peut être hardcover, paperback, audiobook, ou e-book. Dans le schéma, Format est défini en tant que xs:simpleType qui utilise une énumération des valeurs mentionnées ci-dessus.
Chaque livre présente aussi un élément Title (défini en tant que xs:string), et un ou plusieurs Author éléments (définis en tant que xs:string).
La bibliothèque peut aussi contenir des livres qui sont des dictionnaires. Dictionaries ont le type DictionaryType, qui est dérivé par extension depuis BookType. En d’autres termes, un dictionnaire hérite de tous les attributs et éléments d’un Book (livre), plus deux éléments supplémentaires : FromLang et ToLang, comme illustré ci-dessous.
Les éléments FromLang et ToLang stockent le langage de source et de destination du dictionnaire.
Un fichier d’instance XML valide conformément au schéma ci-dessus peut donc ressembler à l’exemple affiché dans l’exemple ci-dessous (s’il se trouve dans le même répertoire que le fichier de schéma) :
<?xml version="1.0" encoding="utf-8"?> |
La rubrique suivante illustre comment lire ou écrire dans un tel fichier par le biais d’un programme. Pour commencer, générer le code de schema wrapper depuis le schéma ci-dessus, en utilisant les étapes décrites dans Générer du code depuis des Schémas XML ou des DTD.