slam:donneestructurees:le_format_xml_2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam:donneestructurees:le_format_xml_2 [2024/12/20 08:33] dthevenotslam:donneestructurees:le_format_xml_2 [2025/01/09 14:12] (Version actuelle) – [8. Élément à contenu mixte] dthevenot
Ligne 33: Ligne 33:
 <!DOCTYPE biblio [ <!DOCTYPE biblio [
 <!ELEMENT biblio (livre*) > <!ELEMENT biblio (livre*) >
-<!ELEMENT livre (titre, auteur, nb_pages) >+<!ELEMENT livre (titre, auteur, nb_tomes) >
 <!ELEMENT titre (#PCDATA) > <!ELEMENT titre (#PCDATA) >
 <!ELEMENT auteur (#PCDATA) > <!ELEMENT auteur (#PCDATA) >
-<!ELEMENT nb_pages (#PCDATA) >+<!ELEMENT nb_tomes (#PCDATA) >
 ]> ]>
 </code> </code>
Ligne 49: Ligne 49:
 Le fichier associé est le suivant : Le fichier associé est le suivant :
 <!ELEMENT biblio (livre*) > <!ELEMENT biblio (livre*) >
-<!ELEMENT livre (titre, auteur, nb_pages) >+<!ELEMENT livre (titre, auteur, nb_tomes) >
 <!ELEMENT titre (#PCDATA) > <!ELEMENT titre (#PCDATA) >
 <!ELEMENT auteur (#PCDATA) > <!ELEMENT auteur (#PCDATA) >
-<!ELEMENT nb_pages (#PCDATA) >+<!ELEMENT nb_tomes (#PCDATA) >
 </code> </code>
 =====  ===== =====  =====
Ligne 61: Ligne 61:
 Dans l'exemple précédent, la chaîne de caractères après le mot PUBLIC fait référence tout d'abord à l'identifiant de la DTD (ici -, qui signifie que la DTD n'a pas de numéro d'enregistrement officiel), au propriétaire de la DTD (ici le W3C), puis son nom, enfin sa langue. Dans l'exemple précédent, la chaîne de caractères après le mot PUBLIC fait référence tout d'abord à l'identifiant de la DTD (ici -, qui signifie que la DTD n'a pas de numéro d'enregistrement officiel), au propriétaire de la DTD (ici le W3C), puis son nom, enfin sa langue.
  
 +<badge>A vous de jouer(3)-tester ces 2 manières de lier un fichier XML à sa DTD avec le fichier biblio.xml créé précédemment</badge>
 ====== Déclarations d'éléments ====== ====== Déclarations d'éléments ======
  
Ligne 155: Ligne 156:
  
   * elt1 ne comprend aucune indication  . Il doit donc apparaître une seule et unique fois dans l'élément elt0 ;   * elt1 ne comprend aucune indication  . Il doit donc apparaître une seule et unique fois dans l'élément elt0 ;
-  * elt2 a pour indication d’occurrence?. Cela signifie que l'élément doit apparaître au maximum une fois (il peut ne pas apparaître du tout) ;+  * elt2 a pour indication d’occurrence ?. Cela signifie que l'élément doit apparaître au maximum une fois (il peut ne pas apparaître du tout) ;
   * elt3 a pour indication d’occurrence+. Cela signifie que l'élément doit apparaître au moins une fois ;   * elt3 a pour indication d’occurrence+. Cela signifie que l'élément doit apparaître au moins une fois ;
   * elt4 a pour indication d’occurrence*. Cela signifie que l'élément peut apparaître autant de fois que l'auteur le désire, voire pas du tout.   * elt4 a pour indication d’occurrence*. Cela signifie que l'élément peut apparaître autant de fois que l'auteur le désire, voire pas du tout.
Ligne 235: Ligne 236:
 Pour reprendre l'exemple précédent, écrire <!ELEMENT citation (auteur|#PCADATA)*> est incorrect. Pour reprendre l'exemple précédent, écrire <!ELEMENT citation (auteur|#PCADATA)*> est incorrect.
  
-<badge>A vous de jouer(2)</badge>+<badge>A vous de jouer(4)</badge>
 **Rédiger une DTD pour le fichier xml bibliographie. Cette bibliographie :** **Rédiger une DTD pour le fichier xml bibliographie. Cette bibliographie :**
    • contient des livres et des articles ;    • contient des livres et des articles ;
    • les informations nécessaires pour un livre sont :    • les informations nécessaires pour un livre sont :
         ◦ son titre général ;         ◦ son titre général ;
-        ◦ les noms du ou des auteurs ;+        ◦ les noms du ou des auteurs(au moins 1) ;
         ◦ son nombre de tomes         ◦ son nombre de tomes
         ◦ pour chaque tome, son numéro et son nombre de pages ;         ◦ pour chaque tome, son numéro et son nombre de pages ;
Ligne 246: Ligne 247:
     • les informations nécessaires pour un article sont :     • les informations nécessaires pour un article sont :
         ◦ son titre ;         ◦ son titre ;
-        ◦ les noms du ou des auteurs ;+        ◦ les noms du ou des auteurs(certains articles peuvent être anonymes) ;
         ◦ ses références de publication : nom du journal, numéro des pages, année de publication et numéro du journal         ◦ ses références de publication : nom du journal, numéro des pages, année de publication et numéro du journal
     • on réservera aussi un champ optionnel pour un avis personnel.     • on réservera aussi un champ optionnel pour un avis personnel.
-Tester cette DTD avec un fichier XML que l'on écrira (inventer des valeurs) et validera (xmlvalidation.com avec DTD interne – en ligne; XMLSpy -version essai 30j-windows)+**Tester cette DTD** avec un fichier XML que vous écrirez (inventer des valeurs) et validerez : 
 +  - xmlvalidation.com avec DTD interne – en ligne; XMLSpy -version essai 30j-windows 
 +  - fiche de tests papier 
  
 ===== Déclarations d'attributs ===== ===== Déclarations d'attributs =====
Ligne 299: Ligne 303:
 L'utilité d'un tel attribut peut sembler bizarre à première vue, puisqu'il ne peut prendre qu'une seule valeur. Cette fonctionnalité est cependant utile lors d'une mise à jour d'une DTD, pour anticiper la compatibilité avec des versions ultérieures. L'utilité d'un tel attribut peut sembler bizarre à première vue, puisqu'il ne peut prendre qu'une seule valeur. Cette fonctionnalité est cependant utile lors d'une mise à jour d'une DTD, pour anticiper la compatibilité avec des versions ultérieures.
  
 +=====  =====
 ==== 4. Types ID et IDREFS ==== ==== 4. Types ID et IDREFS ====
  
Ligne 339: Ligne 344:
 Cet exemple déclare un attribut format d'un élément img. La valeur de cet attribut peut être PNG, GIF ou JPEG. Si aucune valeur n'est affectée à cet attribut, c'est la valeur par défaut qui le sera, ici PNG. On notera l'absence de guillemets dans la liste des valeurs possibles. En ajouter est une erreur courante dans la rédaction d'une DTD. Cet exemple déclare un attribut format d'un élément img. La valeur de cet attribut peut être PNG, GIF ou JPEG. Si aucune valeur n'est affectée à cet attribut, c'est la valeur par défaut qui le sera, ici PNG. On notera l'absence de guillemets dans la liste des valeurs possibles. En ajouter est une erreur courante dans la rédaction d'une DTD.
  
 +=====  =====
 ==== 6. Utilisation de liste pour les attributs ==== ==== 6. Utilisation de liste pour les attributs ====
  
Ligne 351: Ligne 357:
 Les retours à la ligne sont optionnels, et la mise en page n’est pas contrainte. Les retours à la ligne sont optionnels, et la mise en page n’est pas contrainte.
 =====  ===== =====  =====
-<badge>A vous de jouer(3)</badge>+<badge>A vous de jouer(4)</badge>
 **Modifier la DTD précédente (biblio)...** **Modifier la DTD précédente (biblio)...**
     • ... en ajoutant un attribut optionnel soustitre à l'élément titre ;     • ... en ajoutant un attribut optionnel soustitre à l'élément titre ;
Ligne 361: Ligne 367:
  
 ===== SYNTHESE ===== ===== SYNTHESE =====
 +{{:promo_2025:slam:xmlsynthese.png?600|}}
  
 **LIMITES DTD** : **LIMITES DTD** :
Ligne 384: Ligne 391:
 =====  ===== =====  =====
 Comparaison : Comparaison :
-Fichier xml à valider : +Fichier xml à valider : {{:promo_2025:slam:xmlavalider.png?400|}}
  
-DTD : Schéma XML :  +DTD : {{:promo_2025:slam:xml-dtd.png?400|}} Schéma XML :  {{:promo_2025:slam:xmlschema.png?400|}}
  
  
-Référence DTD externe entre le prologue et la racine : +Référence DTD externe entre le prologue et la racine : 
 + 
 <!DOCTYPE note SYSTEM"https://www.w3schools.com/xml/note.dtd"> <!DOCTYPE note SYSTEM"https://www.w3schools.com/xml/note.dtd">
 +
 Référence schéma XML externe dans l’élément racine : Référence schéma XML externe dans l’élément racine :
 +
 <note <note
 xmlns="https://www.w3schools.com" xmlns="https://www.w3schools.com"
  • slam/donneestructurees/le_format_xml_2.1734679992.txt.gz
  • Dernière modification : 2024/12/20 08:33
  • de dthevenot