RecentChanges
|
FindPage
|
LikePages
|
BackLinks
View Source:
TmeDtd
Note:
This page has been locked and cannot be edited.
!!!TME XML (1) : Les DTD !!Préparation Prérequis : votre environnement doit être configuré. Votre fichier ~/.bash_profile doit contenir la ligne : source /Infos/bd/config10 Ouvrir une fenêtre de terminal (xterm), pour exécuter les commandes suivantes : |^ __commande__ |^ __description__ | cd | aller dans votre répertoire $HOME | tar zxvf $BD_TOOL/dtd.tgz | installer l'archive dtd.tgz dans votre répertoire principal | cd dtd | aller dans votre répertoire de travail | emacs ville.dtd & | éditer le fichier définissant le type des données | File > Open ville.xml & | éditer le fichier contenant les données !Validation La validation consiste à vérifier que la DTD est syntaxiquement correcte et que le document XML respecte la DTD. Dans le document XML, ajouter un DOCTYPE pour faire référence à la DTD utilisée. Puis, utiliser la commande ''valide'' pour lancer la validation : valide ''fichier.xml''. Exemple : * __valide__ ville.xml !!Exercice : voir poly ---- !!Questions / réponses fréquentes * Un élément X __vide__ peut s'écrire indiféremment <X /> ou <X></X> sans aucun espace entre la balise de début et de fin. * Un élément vide peut avoir des attributs. * La syntaxe d'une DTD diffère de la syntaxe XML: le nom des balises: <!ELEMENT> et <!ATTLIST> est en majuscule, sans espace après le « __!__ ». * Définition d'un élément et de son modèle de contenu: ** l'espace est obligatoire entre le nom d'un élément et son modèle de contenu : *** <!ELEMENT XXX ''espace'' (YYY)> ** le contenu vide s'écrit EMPTY sans parenthèses. Rmq: le contenu (EMPTY) avec parenthèses signifie : « contient un sous élément nommé EMPTY» ** Le contenu (#PCDATA) signifie : contient une feuille de type chaîne de caractère. ** les attributs d'un éléments ne sont pas déclarés dans le modèle de contenu de l'élément mais ils sont déclarés séparément avec <!ATTLIST ...> * Les types des attributs sont CDATA, ID, IDREF, IDREFS, ... (mais pas #PCDATA ni aucun type numérique). * Comment est définie l'intégrité référentielle ? ** Le domaine des valeurs d'une référence (attribut de type ''IDREF'') est l'ensemble des valeurs des identifiants (tous les attributs de type ''ID''). * Quelle est la syntaxe d'une valeur de type __IDREFS__ ? ** c'est une liste de valeur séparées par un espace. ex: auteurs="A2 A5 A1" * Comment associer un document XML avec sa DTD ? ** Utiliser <!DOCTYPE ''racine'' SYSTEM "fichier.dtd"> : ''racine'' est le nom de l'élément racine du document XML. * Peut-on __inclure__ un fragment de DTD dans une deuxième DTD ? Oui, mais pas en TME (pour éviter de débugger plusieurs DTD à la fois). Exemple pour base1.dtd : <verbatim> <!ENTITY % ville SYSTEM "ville.dtd" > %ville; <!ELEMENT base (ville+)> </verbatim> !!Documentation Lire la documentation avant la séance de TME. !La syntaxe du langage XML La [spécification XML|http://www-master.ufr-info-p6.jussieu.fr/2006/Ext/naacke/bdweb2008/extra/doc/xml/xml-fr.html] traduite en français, un [tutoriel XML|http://www-master.ufr-info-p6.jussieu.fr/2006/Ext/naacke/bdweb2008/extra/doc/xml/xml-tutorial/General/contents.html]. ! Le type d'un document XML : DTD Un [tutoriel sur les DTD|http://www-master.ufr-info-p6.jussieu.fr/2006/Ext/naacke/bdweb2008/extra/doc/xml/dtd-tutorial/General/contents.html] (exemples 1 à 8). ---- [XML], [TME XSchema|TmeXschema], [Les Travaux Dirigés|LesTravauxDirigés], [Accueil|HomePage]