La génération d'un schéma XML à partir
d'un fichier DTD vous permet de créer un schéma XML automatiquement rempli avec les éléments et les attributs
provenant de votre fichier DTD. Cela peut vous permettre de gagner du temps si vous voulez utiliser un schéma XML
plutôt qu'un fichier DTD pour valider votre fichier XML, tout en utilisant des règles déjà configurées dans votre
fichier DTD.
A propos de cette tâche
Les instructions suivantes ont été écrites pour la perspective Ressource, mais elles fonctionneront
également dans de nombreuses autres perspectives.
Pour générer un schéma XML à partir d'un fichier DTD,
effectuez les opérations suivantes :
- Dans la vue Navigateur, faites un clic droit sur votre DTD et
sélectionnez .
- Sélectionnez le dossier ou le projet qui contiendra le schéma.
- Acceptez le nom par défaut ou entrez-en un nouveau et cliquez sur Suivant.
- Si vous voulez créer un schéma XML qui contiendra votre fichier DTD et tout autre fichier DTD auquel il fait référence, cliquez
sur le bouton d'option Créer un schéma XML qui comprend tous les fichiers DTD.
- Sinon, si vous voulez créer un schéma individuel pour votre fichier DTD et chaque fichier DTD qu'il référence,
cliquez sur le bouton d'option Créer un schéma XML pour chaque fichier DTD. Si vous sélectionnez cette option, chaque schéma XML aura le même nom que la DTD référencée à partir de laquelle
il a été généré. Par exemple, si votre DTD est appelée Greetings.dtd et qu'elle fait référence à Hello.dtd et
Goodbye.dtd, vous aurez un schéma généré à partir de Greetings.dtd (avec le nom que vous avez spécifié pour lui) et
deux schémas supplémentaires appelés Hello.xsd et Goodbye.xsd.
- Cliquez sur Terminer.
Résultats
Vos schémas apparaissent dans la vue Navigateur.
Ils portent le même nom que le fichier DTD à partir duquel ils ont été générés (si vous avez accepté la valeur par
défaut dans la zone Nom de fichier lorsque vous avez généré le
schéma XML).
Les entités qui étaient présentes dans votre fichier DTD ne sont pas reprises dans le schéma XML (puisque les entités ne
sont pas prises en charge dans les schémas XML). En revanche, les éléments ou attributs qui faisaient référence à une
entité emportent avec eux la valeur de cette entité dans le schéma XML.
Exemple
Par exemple, vous avez une DTD appelée "Legal" contenant une entité
appelée "Copyright". La valeur de l'entité est "Copyright 2004. MyCompany Publishing". Dans votre DTD, vous avez un
élément appelé "MyCopyright", qui fait référence à l'entité Copyright. Après la création du schéma XML, l'entité
Copyright n'apparaîtra pas dans celui-ci, mais sa valeur est transposée (autrement dit, l'élément MyCopyright a la
valeur : Copyright 2004. MyCompany Publishing).
Tous les éléments et attributs qui existaient dans votre fichier
DTD se retrouvent dans le fichier de schéma XML.
Les éléments de votre DTD avec un modèle de contenu
(#PCDATA) (sans attribut) apparaissent vides dans l'éditeur de schéma XML.
Ils sont marqués comme ayant le type simple intégré string.
Autrement dit, un élément de la DTD ayant la valeur (#PCDATA) est mappé à un élément du schéma XML
dont le type de données est le type primitif XML Schema string.
Remarque : Lorsque vous générez un
schéma XML à partir d'un fichier DTD contenant des éléments en hébreu ou en arabe, certains noms d'élément peuvent
être encodés avec leur équivalent hexadécimal en arabe ou en hébreu. Pour éviter ce problème, modifiez l'attribut
d'encodage du fichier de schéma XML ou du fichier DTD d'origine en UTF-8 avant de procéder à la génération : la
déclaration XML devrait donc être la suivante : <?xml version="1.0" encoding="UTF-8"?> La liste
des valeurs d'encodage affectées est : ISO-8859-8-I, ISO-8859-8, Windows-1256 et ISO-8859-6.