TME DTD
Lire le sujet
Fichier dtdFamille.dtd
<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT famille (nom, personne+)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT personne (prenom, age, (poids-kg | poids-lb), taille?)>
<!ATTLIST personne
pnumber ID #REQUIRED
pere IDREF #IMPLIED
mere IDREF #IMPLIED >
<!ELEMENT prenom (#PCDATA) >
<!ELEMENT age (#PCDATA) >
<!ELEMENT poids-kg (#PCDATA) >
<!ELEMENT poids-lb (#PCDATA) >
<!ELEMENT taille (#PCDATA) >
DTD du projet PHP
- Télécharger le fichier createbase.tgz
- Décompressez l'archive par la commande tar zxvf createbase.tgz
- Utilisez le schéma relationnel décrit dans les fichiers sql pour répondre à la question 3 du TME.
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).
- la valeur d'un attribut ID ne peut pas être un nombre, elle doit commencer par une lettre.
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.