slam:donneestructurees:le_format_xml_1

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_1 [2024/12/18 23:04] dthevenotslam:donneestructurees:le_format_xml_1 [2024/12/20 09:13] (Version actuelle) – [Règles de composition] dthevenot
Ligne 1: Ligne 1:
 +~~SLIDESHOW~~
 ======= Langage XML ======= ======= Langage XML =======
  
 ====== Historique : de SGML à XML ====== ====== Historique : de SGML à XML ======
  
-**XML**(**Extensible Markup Language**) dérive d'un langage développé dans les années 80, le **SGML** . Ce langage était complexe à apprendre et utiliser quotidiennement. Une version allégée, le **HTML** a donc été développée ; mais ce dernier, malgré de nombreuses adaptations, ne pouvait pas être étendu à l'infini, au fur et à mesure de l'augmentation des besoins des développeurs. C'est alors que fut créé le XML. +**XML**(**Extensible Markup Language**) dérive d'un langage développé dans les années 80, le **SGML**(Standard Generalized Markup Language). Ce langage était complexe à apprendre et utiliser quotidiennement. Une version allégée, le **HTML** a donc été développée ; mais ce dernier, malgré de nombreuses adaptations, ne pouvait pas être étendu à l'infini, au fur et à mesure de l'augmentation des besoins des développeurs. C'est alors que fut créé le **XML**
 +=====  =====
 Le XML est un dérivé du SGML. Il tente de se servir des principes de simplicité du HTML et de la souplesse SGML.  Le XML est un dérivé du SGML. Il tente de se servir des principes de simplicité du HTML et de la souplesse SGML. 
  
Ligne 10: Ligne 11:
  
 Cette association n'est cependant pas obligatoire, et un fichier XML peut très bien se suffire à lui-même, sans DTD. Cette association n'est cependant pas obligatoire, et un fichier XML peut très bien se suffire à lui-même, sans DTD.
 +=====  =====
 Une autre caractéristique importante est que dans un document XML, **la mise en forme des données est totalement séparée des données** elles-mêmes. Cela permet de séparer complètement l'information (le contenu) de son apparence (le contenant), et donc de fournir plusieurs types de sortie pour un même fichier de données, en fonction de l'utilisateur ou de l'application demandeuse (autre document XML, tableau, graphique, image, animation multimédia, fichier HTML, fichier PDF...). Une autre caractéristique importante est que dans un document XML, **la mise en forme des données est totalement séparée des données** elles-mêmes. Cela permet de séparer complètement l'information (le contenu) de son apparence (le contenant), et donc de fournir plusieurs types de sortie pour un même fichier de données, en fonction de l'utilisateur ou de l'application demandeuse (autre document XML, tableau, graphique, image, animation multimédia, fichier HTML, fichier PDF...).
 +=====  =====
 +Un document XML peut ainsi prévoir **plusieurs cibles**, comme par exemple l'écran d'un téléphone portable, celui d'un ordinateur de bureau, une base de données, une application logicielle, etc.
  
-Un document XML peut ainsi prévoir plusieurs cibles, comme par exemple l'écran d'un téléphone portable, celui d'un ordinateur de bureau, une base de données, une application logicielle, etc. +De plus, la possibilité de créer les éléments que l'on désire permet de rendre le fichier lui-même **lisible et modifiable**- par un être humain : on peut donner aux informations contenues dans un tel fichier les étiquettes que l'on veut, et les ordonner selon son désir. 
- +=====  ===== 
-De plus, la possibilité de créer les éléments que l'on désire permet de rendre le fichier lui-même lisible et modifiable- par un être humain : on peut donner aux informations contenues dans un tel fichier les étiquettes que l'on veut, et les ordonner selon son désir. +Il est également possible d'effectuer des sélections par tri, des générations automatiques de tables des matières et bien d'autres choses encore, grâce au langage de feuilles de style **XSLT**.
- +
-Il est également possible d'effectuer des sélections par tri, des générations automatiques de tables des matières et bien d'autres choses encore, grâce au langage de feuilles de style XSLT.+
 ===== Caractéristiques de XML ===== ===== Caractéristiques de XML =====
  
-  * il est destiné à décrire le contenu du document, pas son affichage (les feuilles de style CSS et XSL gèrent l'affichage), +  * il est destiné à décrire le **contenu du document**, pas son affichage (les feuilles de style CSS et XSL gèrent l'affichage), 
-  * il est flexible, on peut définir ses balises, et les utiliser dans un ou plusieurs documents, +  * il est **flexible**, on peut définir ses balises, et les utiliser dans un ou plusieurs documents, 
-  * le document ne sera affiché que s'il est bien formé et valide (s'il suit une DTD ou un schéma), +  * le document ne sera affiché que s'il est bien formé et valide (s'il suit une **DTD** ou un **schéma**), 
-  * il est lisible pour l'humain (l'information contenue sera toujours accessible, contrairement aux fichiers de certains logiciels, par exemple, il est impossible de visualiser du RTF sans un logiciel qui connaisse ce format),+=====  ===== 
 +  * il est **lisible pour l'humain** (l'information contenue sera toujours accessible, contrairement aux fichiers de certains logiciels, par exemple, il est impossible de visualiser du RTF sans un logiciel qui connaisse ce format),
   * le document XML est un texte qui n'est pas destiné à être lu par l'humain (mais le fait que ce soit un texte permet aux experts d'utiliser un éditeur de texte pour corriger le fichier).    * le document XML est un texte qui n'est pas destiné à être lu par l'humain (mais le fait que ce soit un texte permet aux experts d'utiliser un éditeur de texte pour corriger le fichier). 
 +=====  =====
 ===== Mise en œuvre ===== ===== Mise en œuvre =====
  
Ligne 31: Ligne 33:
  
 XML permet de séparer forme et fond. Par exemple, cela signifie que pour produire un document HTML à partir de données en utilisant le format XML, il est nécessaire d'écrire au moins deux fichiers, le premier contenant les données à mettre en forme, le second les informations nécessaires à cette mise en forme.  XML permet de séparer forme et fond. Par exemple, cela signifie que pour produire un document HTML à partir de données en utilisant le format XML, il est nécessaire d'écrire au moins deux fichiers, le premier contenant les données à mettre en forme, le second les informations nécessaires à cette mise en forme. 
 +=====  =====
 En pratique, et dans un souci de normalisation et de généralisation, il peut s'avérer nécessaire d'ajouter un troisième fichier à l'ensemble : En pratique, et dans un souci de normalisation et de généralisation, il peut s'avérer nécessaire d'ajouter un troisième fichier à l'ensemble :
-  - Optionnel : un fichier peut être nécessaire pour définir a priori les balises auxquelles le document XML pourra avoir recours. Ce fichier peut être soit une Document Type Definition soit un Schema (voir plus loin dans le cours) ;+  - Optionnel : un fichier peut être nécessaire pour définir a priori les balises auxquelles le document XML pourra avoir recours. Ce fichier peut être soit **une Document Type Definition soit un Schema** (voir plus loin dans le cours) ;
   - Le document contenant les données elles-mêmes, c'est-à-dire le document XML à proprement parler (une instance du document, au sens SGML) ;   - Le document contenant les données elles-mêmes, c'est-à-dire le document XML à proprement parler (une instance du document, au sens SGML) ;
   - Le document contenant les informations de mise en forme, permettant de produire un fichier dans le format de sortie voulu : une feuille XSLT (eXtensive Stylesheet Language Transformations).   - Le document contenant les informations de mise en forme, permettant de produire un fichier dans le format de sortie voulu : une feuille XSLT (eXtensive Stylesheet Language Transformations).
 +=====  =====
 Dans le cas d'un format de sortie HTML, il peut être également nécessaire d'ajouter une feuille de style CSS. Dans le cas d'un format de sortie HTML, il peut être également nécessaire d'ajouter une feuille de style CSS.
  
Ligne 44: Ligne 46:
   - Créer la feuille de style XSL permettant la production du fichier HTML ;   - Créer la feuille de style XSL permettant la production du fichier HTML ;
   - Créer éventuellement une feuille de style CSS.   - Créer éventuellement une feuille de style CSS.
 +=====  =====
 Nous verrons au long de ce cours successivement les étapes 2, 1 et 3. Nous verrons au long de ce cours successivement les étapes 2, 1 et 3.
 ==== 2)Exemple : une bibliographie ==== ==== 2)Exemple : une bibliographie ====
 <code> <code>
-<?xml version="1.0" encoding="ISO-8859-1"?>+<?xml version="1.0" encoding="UTF-8"?>
 <!-- La ligne ci-dessus est le prologue --> <!-- La ligne ci-dessus est le prologue -->
 <!-- Élément racine --> <!-- Élément racine -->
Ligne 70: Ligne 72:
 </biblio> </biblio>
 </code> </code>
 +=====  =====
 ==== 3)Structure ==== ==== 3)Structure ====
  
 Comme cela est illustré par l'exemple précédent, un fichier XML est composé d'un **prologue**, d'un **élément racine** et d'un **arbre**. Cet arbre est constitué d'éléments imbriqués les uns dans les autres (ayant une relation parent-enfant) et d'éléments adjacents. Comme cela est illustré par l'exemple précédent, un fichier XML est composé d'un **prologue**, d'un **élément racine** et d'un **arbre**. Cet arbre est constitué d'éléments imbriqués les uns dans les autres (ayant une relation parent-enfant) et d'éléments adjacents.
 +=====  =====
   * Les premières lignes forment le **prologue**, constitué dans l'exemple précédent de la déclaration XML, puis éventuellement d'une déclaration de type de document (une DTD)    * Les premières lignes forment le **prologue**, constitué dans l'exemple précédent de la déclaration XML, puis éventuellement d'une déclaration de type de document (une DTD) 
   * L'élément biblio est notre élément **racine** (en anglais : document element) ; il est constitué de trois éléments livre. Dans chacun d'entre eux nous retrouvons la même composition, c'est-à-dire : un élément titre, un élement auteur et éventuellement un élément nb_tomes. L'élément livre, de plus, peut avoir un attribut lang ;   * L'élément biblio est notre élément **racine** (en anglais : document element) ; il est constitué de trois éléments livre. Dans chacun d'entre eux nous retrouvons la même composition, c'est-à-dire : un élément titre, un élement auteur et éventuellement un élément nb_tomes. L'élément livre, de plus, peut avoir un attribut lang ;
 +=====  =====
 Même s'il est simple de comprendre ce code, on s'aperçoit mieux d'une éventuelle erreur lorsqu'on visualise ce même fichier dans un navigateur. Même s'il est simple de comprendre ce code, on s'aperçoit mieux d'une éventuelle erreur lorsqu'on visualise ce même fichier dans un navigateur.
  
-**Visualisation dans un navigateur :**+=== Visualisation dans un navigateur : ===
  
 Copier l’exemple ci-dessus dans un éditeur de texte, enregistrez-le au format xml et exécutez-le. Que remarquez-vous ? Copier l’exemple ci-dessus dans un éditeur de texte, enregistrez-le au format xml et exécutez-le. Que remarquez-vous ?
 +=====  =====
 +=== Le prologue=Déclaration XML ===
  
- Le prologue +Cette déclaration fait partie des « instructions de traitement ». Exemple de déclaration XML : <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> 
-Déclaration XML +=====  =====
-Cette déclaration fait partie des « instructions de traitement ». Exemple de déclaration XML : +
-<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>+
 On distingue trois informations fournies dans cette déclaration : On distingue trois informations fournies dans cette déclaration :
-1. version : version du XML utilisée dans le document, 1.0 en ce qui nous concerne ; +  * version : version du XML utilisée dans le document, 1.0 en ce qui nous concerne ; 
-2. encoding : le jeu de codage de caractères utilisé. Par défaut, encoding a la valeur UTF-8. Cela permet à l'ordinateur de « savoir » quel caractère il doit afficher en réponse aux combinaisons de 1 et de 0 que contient le fichier sur le disque dur ; +  encoding : le jeu de codage de caractères utilisé. Par défaut, encoding a la valeur UTF-8. Cela permet à l'ordinateur de « savoir » quel caractère il doit afficher en réponse aux combinaisons de 1 et de 0 que contient le fichier sur le disque dur ; 
-3. standalone : dépendance du document par rapport à une déclaration de type de document. Si standalone a la valeur yes, le processeur de l'application n'attend aucune déclaration de type de document extérieure au document. Sinon, le processeur attend une référence de déclaration de type de document. La valeur par défaut est yes. +=====  ===== 
-Cette déclaration est facultative, mais il est préférable de l'utiliser. Dans ce cas version, encoding et standalone doivent être placés dans cet ordre. Si elle est utilisée, elle doit être placée en toute première ligne du document XML. Par exemple, il ne faut placer ni commentaire, ni même de simple ligne vide avant elle.+  * standalone : dépendance du document par rapport à une déclaration de type de document. Si standalone a la valeur yes, le processeur de l'application n'attend aucune déclaration de type de document extérieure au document. Sinon, le processeur attend une référence de déclaration de type de document. La valeur par défaut est yes. Cette déclaration est facultative, mais il est préférable de l'utiliser. Dans ce cas version, encoding et standalone doivent être placés dans cet ordre. Si elle est utilisée, elle doit être placée en toute première ligne du document XML. Par exemple, il ne faut placer ni commentaire, ni même de simple ligne vide avant elle. 
 +=====  ===== 
 +=== Les commentaires ===
  
- Les commentaires 
 En XML, les commentaires se déclarent de la même façon qu'en HTML, car ils reprennent la syntaxe du SGML. Ils commencent donc par <!-- et se terminent par -->. Ils peuvent être placés à n'importe quel endroit tant qu'ils se trouvent à l'extérieur d'une autre balise. En XML, les commentaires se déclarent de la même façon qu'en HTML, car ils reprennent la syntaxe du SGML. Ils commencent donc par <!-- et se terminent par -->. Ils peuvent être placés à n'importe quel endroit tant qu'ils se trouvent à l'extérieur d'une autre balise.
-Exemples de commentaires valides : + 
-<!-- ceci est correct --> +Exemples de commentaires valides : <!-- ceci est correct --> 
-<elt> <!-- ceci est correct aussi --> + 
-Un peu de texte </elt> +<elt> <!-- ceci est correct aussi --> Un peu de texte </elt> 
-Remarque : En raison de la compatibilité XML/SGML, la chaîne de caractères -- est interdite dans un commentaire. +=====  ===== 
- L'arbre d'éléments +__Remarque__ : En raison de la compatibilité XML/SGML, la chaîne de caractères -- est interdite dans un commentaire. 
-a. Introduction+ 
 +=== L'arbre d'éléments === 
 +  a. Introduction
 Un document XML peut se représenter sous la forme d'une arborescence d'éléments. Cette arborescence comporte une racine (unique), des branches et des feuilles. Reprenons l'exemple précédent. Un document XML peut se représenter sous la forme d'une arborescence d'éléments. Cette arborescence comporte une racine (unique), des branches et des feuilles. Reprenons l'exemple précédent.
-b. Élément racine+=====  ===== 
 +  * b. Élément racine
 L'élément-racine (en anglais : document element) est, comme son nom l'indique, la base du document XML. Il est unique et englobe tous les autres éléments. Il s'ouvre juste après le prologue, et se ferme à la toute fin du document. Dans l'exemple ci-dessus, l'élément racine est biblio. L'élément-racine (en anglais : document element) est, comme son nom l'indique, la base du document XML. Il est unique et englobe tous les autres éléments. Il s'ouvre juste après le prologue, et se ferme à la toute fin du document. Dans l'exemple ci-dessus, l'élément racine est biblio.
-c. Les éléments+=====  ===== 
 +  * c. Les éléments
 Les éléments forment la structure même du document : ce sont les branches et les feuilles de l'arborescence. Ils peuvent contenir du texte, ou bien d'autres éléments, qui sont alors appelés « éléments enfants », l'élément contenant étant quant à lui appelé logiquement « élément parent ». Les éléments forment la structure même du document : ce sont les branches et les feuilles de l'arborescence. Ils peuvent contenir du texte, ou bien d'autres éléments, qui sont alors appelés « éléments enfants », l'élément contenant étant quant à lui appelé logiquement « élément parent ».
-Exemple d'élément contenant du texte : +=====  ===== 
-<titre>Les Misérables</titre>+Exemple d'élément contenant du texte : <titre>Les Misérables</titre> 
 Exemple d'élément contenant d'autres éléments : Exemple d'élément contenant d'autres éléments :
 +<code>
 <livre> <livre>
   <titre>L'Assommoir</titre>   <titre>L'Assommoir</titre>
Ligne 115: Ligne 125:
   <couverture couleur="rouge" />   <couverture couleur="rouge" />
 </livre> </livre>
 +</code>
 D'autres éléments sont vides : ils ne contiennent pas d'élément-enfant.  D'autres éléments sont vides : ils ne contiennent pas d'élément-enfant. 
-Exemple d'élément vide : 
-    <couverture couleur="rouge" /> 
  
-  +Exemple d'élément vide : <couverture couleur="rouge" /> 
- + =====  ===== 
- +**Arborescence de l’exemple « bibliographie » :** 
- +<code> 
-  +biblio
-Arborescence de  +
-l’exemple « bibliographie » : +
- +
-Biblio+
 | |
 --- livre --- livre
Ligne 143: Ligne 148:
     --- auteur     --- auteur
     --- nbtomes     --- nbtomes
- +</code> 
-  +=====  =====  
-Fichier XML exemple2 : +**Fichier XML exemple2 :** 
 +<code>
 <?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
-<BTSSIO> +  <BTSSIO> 
-<section> +    <section> 
-<LibelleSection>SISR</LibelleSection> +        <LibelleSection>SISR</LibelleSection> 
-<Etudiant Matricule="M1"> +        <Etudiant Matricule="M1"> 
-<NomEtudiant>Allibert</NomEtudiant> +          <NomEtudiant>Allibert</NomEtudiant> 
-<PrenomEtudiant>Maxime</PrenomEtudiant> +          <PrenomEtudiant>Maxime</PrenomEtudiant> 
-<Cursus>Bac STG</Cursus> +          <Cursus>Bac STG</Cursus> 
-</Etudiant> +        </Etudiant> 
-<Etudiant Matricule="M2"> +        <Etudiant Matricule="M2"> 
-<NomEtudiant>Brun</NomEtudiant> +          <NomEtudiant>Brun</NomEtudiant> 
-<PrenomEtudiant>Pascal</PrenomEtudiant> +          <PrenomEtudiant>Pascal</PrenomEtudiant> 
-<Cursus>Bac STI</Cursus> +          <Cursus>Bac STI</Cursus> 
-</Etudiant> +         </Etudiant> 
-</section> +    </section> 
-<section> +    <section> 
-<LibelleSection>SLAM</LibelleSection> +        <LibelleSection>SLAM</LibelleSection> 
-<Etudiant Matricule="M3"> +        <Etudiant Matricule="M3"> 
-<NomEtudiant>Grand</NomEtudiant> +          <NomEtudiant>Grand</NomEtudiant> 
-<PrenomEtudiant>Louis</PrenomEtudiant> +          <PrenomEtudiant>Louis</PrenomEtudiant> 
-<Cursus>Bac STG</Cursus> +          <Cursus>Bac STG</Cursus> 
-</Etudiant> +        </Etudiant> 
-</section>+     </section>
 </BTSSIO> </BTSSIO>
 +</code>
 +=====  ===== 
 + Arborescence Exemple2 :// à réaliser//
  
 +
 +=====  =====
 +==== Les attributs ====
    
- Arborescence Exemple2 : 
- 
- 
- 
- 
- 
-Mise en œuvre 
-d. Les attributs 
 Les attributs apportent des informations sur l'élément qui les contient (ils ne sont pas appropriés pour contenir des données). Il n'y a pas de limite sur le nombre d'attributs utilisables dans un élément; il faut cependant trouver un compromis entre l'utilisation d'attributs ou l'emploi d'un nouvel élément.  Les attributs apportent des informations sur l'élément qui les contient (ils ne sont pas appropriés pour contenir des données). Il n'y a pas de limite sur le nombre d'attributs utilisables dans un élément; il faut cependant trouver un compromis entre l'utilisation d'attributs ou l'emploi d'un nouvel élément. 
 +=====  =====
 Tous les éléments peuvent contenir un ou plusieurs attributs. Chaque élément ne peut contenir qu'une fois le même attribut. Un attribut est composé d'un nom et d'une valeur. Il ne peut être présent que dans la balise ouvrante de l'élément (par exemple, on n'a pas le droit d'écrire </livre lang="en">). Tous les éléments peuvent contenir un ou plusieurs attributs. Chaque élément ne peut contenir qu'une fois le même attribut. Un attribut est composé d'un nom et d'une valeur. Il ne peut être présent que dans la balise ouvrante de l'élément (par exemple, on n'a pas le droit d'écrire </livre lang="en">).
-Exemple d'utilisation d'un élément avec attribut : +=====  ===== 
-<instrument type="vent">trompette</instrument> +**Exemple d'utilisation d'un élément avec attribut :** <instrument type="vent">trompette</instrument> 
-Exemple d'utilisation d'un élément vide avec attributs : + 
-<img src="ours.png" alt="Gros ours" width="56" height="100" />+**Exemple d'utilisation d'un élément vide avec attributs :** <img src="ours.png" alt="Gros ours" width="56" height="100" /> 
 +=====  =====
 L'ordre d'utilisation des attributs au sein d'une balise n'a pas d'importance. L'ordre d'utilisation des attributs au sein d'une balise n'a pas d'importance.
-e. Les entités +==== Les entités ==== 
-Il existe des entités définissables et définies. Elles peuvent être analysables ou non, internes ou externes. La déclaration des entités s'effectue au sein de la DTD. Elles peuvent être utilisées aussi bien dans la DTD que dans le document XML. Nous reviendrons plus en détails sur les entités et leur utilisation ultérieurement. + 
-Caractère Entité +Il existe des entités définissables et définies. Elles peuvent|être analysables ou non, internes ou externes. La déclaration des entités s'effectue au sein de la DTD. Elles peuvent être utilisées aussi bien dans la DTD que dans le document XML. Nous reviendrons plus en détails sur les entités et leur utilisation ultérieurement. 
-& &amp; +=====  ===== 
-< &lt; +Caractère| Entité| 
-> &gt; +|& |&amp;| 
-" &quot; +|< |&lt;| 
-' &aquot;+|> |&gt;| 
 +|" |&quot;| 
 +|' |&aquot;
 +=====  =====
 Certains caractères ayant un sens précis en XML, il est nécessaire de leur trouver un remplaçant lorsque l'on a besoin de les insérer dans un document. On a recours dans ce cas à des entités prédéfinies. Ces entités sont : Certains caractères ayant un sens précis en XML, il est nécessaire de leur trouver un remplaçant lorsque l'on a besoin de les insérer dans un document. On a recours dans ce cas à des entités prédéfinies. Ces entités sont :
 +=====  =====
 +==== Règles de composition ====
  
 +Un document XML est **bien formé** (well formed - l'analyseur XML peut construire son arborescence) si :
 +  - il contient une déclaration XML ;
 +  - il contient un ou plusieurs éléments ;
 +  - il contient un élément racine encapsulant tous les autres éléments et leurs attributs (ex <HTML> ... </HTML>) ;
 +  - les éléments non vides ont une balise de début et de fin ;
 +  - les éléments non vides sont correctement imbriqués (<P> <EM> ... </EM> </P>) ;
 +  - les noms des balises ouvrantes et fermantes correspondent ;
 +  - un nom d'attribut apparaît uniquement dans la balise ouvrante et une seule fois dans cette balise ;
 +  - les valeurs des attributs sont entre guillemets ou apostrophes ;
 +  - la valeur des attributs n'appelle pas d'entités externes directement ou indirectement ;
 +  - les caractères réservés sont remplacés par des références d'entités (par ex. &lt; pour <) ;
 +  - toutes les références à des entités non binaires doivent commencer par & et finir par ;
 +  - s'il n'y a pas de DTD, les seules entités utilisées sont celles réservées de XML &amp; &lt; &gt; &apos; &quot; ;
 +  - s'il y a une DTD toutes les entités non réservées utilisées sont déclarées dans la DTD.
 +  - Un nom d'élément ne peut commencer par un chiffre. Si le nom n'est composé que d'un seul caractère, ce doit être une lettre comprise entre « a » et « z » pour les minuscules, « A » et « Z » pour les majuscules. S'il est composé d'au moins deux caractères, le premier peut être « _ » ou « : ». Le nom peut ensuite être composé de lettres, chiffres, tirets, tirets bas et deux points. La syntaxe XML est sensible à la casse (le format distingue majuscules et minuscules).
 +  - Toutes les balises portant un contenu non vide doivent être fermées. 
 +  - Les balises n'ayant pas de contenu doivent se terminer par /> (voir la balise <img .../> ci-dessus) ;
 +=====  =====
 +<badge>A vous de jouer (1), créez votre premier fichier XML bien formé :</badge>
  
- +**Proposer une présentation structurée au format XML des données contenues dans le texte ci-dessous :**
- +
- Règles de composition +
-Un document XML est bien formé ((well formed - l'analyseur XML peut construire son arborescence) si : +
-1) il contient une déclaration XML ; +
-2) il contient un ou plusieurs éléments ; +
-3) il contient un élément racine encapsulant tous les autres éléments et leurs attributs (ex <HTML> ... </HTML>) ; +
-4) les éléments non vides ont une balise de début et de fin ; +
-5) les éléments non vides sont correctement imbriqués (<P> <EM> ... </EM> </P>) ; +
-6) les éléments vides ont un / à la fin de la balise avant le > ; +
-7) les noms des balises ouvrantes et fermantes correspondent ; +
-8) un nom d'attribut apparaît uniquement dans la balise ouvrante et une seule fois dans cette balise ; +
-9) les valeurs des attributs sont entre guillemets ou apostrophes ; +
-10) la valeur des attributs n'appelle pas d'entités externes directement ou indirectement ; +
- +
-11) les caractères réservés sont remplacés par des références d'entités (par ex. &lt; pour <) ; +
-12) toutes les références à des entités non binaires doivent commencer par & et finir par ; +
-13) s'il n'y a pas de DTD, les seules entités utilisées sont celles réservées de XML &amp; &lt; &gt; &apos; &quot; ; +
-14) s'il y a une DTD toutes les entités non réservées utilisées sont déclarées dans la DTD. +
-15) Un nom d'élément ne peut commencer par un chiffre. Si le nom n'est composé que d'un seul caractère, ce doit être une lettre comprise entre « a » et « z » pour les minuscules, « A » et « Z » pour les majuscules. S'il est composé d'au moins deux caractères, le premier peut être « _ » ou « : ». Le nom peut ensuite être composé de lettres, chiffres, tirets, tirets bas et deux points. La syntaxe XML est sensible à la casse (le format distingue majuscules et minuscules). +
-16) Toutes les balises portant un contenu non vide doivent être fermées.  +
-17) Les balises n'ayant pas de contenu doivent se terminer par /> (voir la balise <img .../> ci-dessus) ; +
-A vous de jouer (1), créez votre premier fichier XML bien formé : +
-Proposer une présentation structurée au format XML des données contenues dans le texte ci-dessous :+
  
 Une bouteille d'eau Cristaline de 150 cl contient par litre 71 mg d'ions positifs calcium, et 5,5 mg d'ions positifs magnésium. On y trouve également des ions négatifs comme des chlorures à 20 mg par litre et des nitrates avec 1 mg par litre. Elle est recueillie à St-Cyr la Source, dans le département du Loiret. Son code barre est 3274080005003 et son pH est de 7,45. Comme la bouteille est sale, quelques autres matériaux comme du fer s'y trouvent en suspension.  Une bouteille d'eau Cristaline de 150 cl contient par litre 71 mg d'ions positifs calcium, et 5,5 mg d'ions positifs magnésium. On y trouve également des ions négatifs comme des chlorures à 20 mg par litre et des nitrates avec 1 mg par litre. Elle est recueillie à St-Cyr la Source, dans le département du Loiret. Son code barre est 3274080005003 et son pH est de 7,45. Comme la bouteille est sale, quelques autres matériaux comme du fer s'y trouvent en suspension. 
Ligne 229: Ligne 235:
  
 PS : Volvic est dans le Puy-de-Dôme... PS : Volvic est dans le Puy-de-Dôme...
 +=====  =====
  
 +__Remarque__ : Un fichier XML est un fichier texte dont l’extension est .xml
  
-Remarque : Un fichier XML est un fichier texte dont l’extension est .xml 
 Il peut s’écrire dans n’importe quel éditeur de texte (blocnote, notepad) et il existe des éditeurs spécifiques pour xml (XMLSpy, Editix, …) Il peut s’écrire dans n’importe quel éditeur de texte (blocnote, notepad) et il existe des éditeurs spécifiques pour xml (XMLSpy, Editix, …)
  
-  +**Exemple 3 de fichier XML** 
- +<code> 
-Exemple 3 de fichier XML  +1. <?xml version="1.0" encoding="UTF-8"?>
-  +
- +
-Travail à faire +
- +
-1 Quelle est la balise racine du fichier XML de l’exemple 3 ?  +
-2 Réalisez l’arbre du fichier XML de l’exemple 3. +
- +
-Exemple 4 de fichier XML +
-1. <?xml version="1.0" encoding="ISO-8859-1"?>+
 2. <course numéro="8"> 2. <course numéro="8">
 3. <gagnant temps=35>Dupont</gagne> 3. <gagnant temps=35>Dupont</gagne>
Ligne 255: Ligne 253:
 9. <gagnant/>Rameau</gagnant> 9. <gagnant/>Rameau</gagnant>
 10. </course> 10. </course>
 +</code>
  
-Travail à faire+<badge>A vous de jouer (2)</badge>
  
-4 Ce fichier est mal formé, indiquez les numéros de ligne qui posent problème et expliquer le problème. +  - Quelle est la balise racine de l’exemple 3. 
-Proposez une correction pour rendre bien formé le document XML ci-dessus en respectant une logique de structuration des informations. +  - Réalisez l’arbre du fichier XML de l’exemple 3. 
-5 Testez votre correction en ligne+  - Ce fichier est mal formé, indiquez les numéros de ligne qui posent problème et expliquer le problème. 
 +  Proposez une correction pour rendre bien formé le document XML ci-dessus en respectant une logique de structuration des informations. 
 +  Testez votre correction en ligne
  
  
  
  • slam/donneestructurees/le_format_xml_1.1734559470.txt.gz
  • Dernière modification : 2024/12/18 23:04
  • de dthevenot