Le format XML
Historique
SGML
HTML
Le format XML
XML
Ce qu’XML va
permettre
Exemple
Mise en oeuvre
Structure 16 janvier 2014
Présentation
Le prologue
L’arbre d’éléments
Les commentaires
Bien former le
document
Les sections littérales
[email protected]Exemple complet
Le format XML 16 janvier 2014 1 / 30
Sommaire
Le format XML
1 Historique
SGML
HTML
Historique
SGML
XML
HTML
XML
2 Ce qu’XML va permettre
Ce qu’XML va 3 Exemple
permettre
4 Mise en oeuvre
Exemple
Mise en oeuvre
5 Structure
Structure
Présentation
Présentation
Le prologue
Le prologue
L’arbre d’éléments
Les commentaires
L’arbre d’éléments
Bien former le
document
Les commentaires
Les sections littérales
Bien former le document
Exemple complet
Les sections littérales
6 Exemple complet
Le format XML 16 janvier 2014 2 / 30
Historique : de SGML à XML
SGML
Le format XML
Historique
SGML
HTML SGML (Standard Generalized Markup Language)
XML
Langage de balisage standard généralisé.
Ce qu’XML va
permettre Adopté comme standard en 1986.
Exemple Trop général ⇒ difficile d’apprentissage et complexe
Mise en oeuvre d’emploi.
Structure Inadapté à l’écriture de documents pour Internet
Présentation
Le prologue Nécessité d’en dériver le langage HTML.
L’arbre d’éléments
Les commentaires
Bien former le
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 3 / 30
Historique : de SGML à XML
HTML
Le format XML
Historique
SGML HTML (HyperText Markup Language)
HTML
XML Langage de balisage permettant d’écrire de l’hypertexte.
Ce qu’XML va Standard de 1995 à 1999.
permettre
Champ d’action limité : pas possible de définir autre
Exemple
chose qu’une page Web.
Mise en oeuvre
Langage conçu uniquement pour ça.
Structure
Présentation HTML rencontre ses limites ⇒ demande de plus en plus
Le prologue
L’arbre d’éléments forte pour définir un nouveau langage.
Les commentaires
Bien former le
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 4 / 30
Historique : de SGML à XML
XML
Le format XML
Historique XML (eXtensible Markup Language)
SGML
HTML
Langage de balisage générique.
XML Tente d’allier la simplicité du HTML et la souplesse
Ce qu’XML va
permettre
SGML.
Exemple
Sert essentiellement à stocker/transférer des données de
type texte, structurées en champs arborescents.
Mise en oeuvre
”eXensible” car il permet à l’utilisateur de définir son
Structure
Présentation balisage.
Le prologue
L’arbre d’éléments
Les commentaires
Langage adapté à beaucoup plus d’usages que ses
Bien former le
document
concepteurs ne le pensaient au départ.
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 5 / 30
Ce qu’XML va permettre
Le format XML
Historique Dans un document XML, la mise en forme des données
SGML
HTML
XML
est totalement séparée des données elles-mêmes ⇒
Ce qu’XML va
séparation totale de l’information (le contenu) de son
permettre
apparence (le contenant).
Exemple
Mise en oeuvre
XML va permettre aux logiciels de
Structure
Présentation
comprendre/exploiter au mieux le contenu de ces pages,
Le prologue
L’arbre d’éléments
rendu désormais explicite par un balisage spécifique,
Les commentaires
Bien former le
indépendant de toute application.
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 6 / 30
Ce qu’XML va permettre
Le format XML
Historique
XML va permettre aux utilisateurs :
SGML
HTML
D’avoir un fichier plus lisible et modifiable :
XML
informations étiquetées comme on veut,
Ce qu’XML va
permettre ordonnancement laissé au choix de l’utilisateur.
Exemple De saisir/mettre à jour une seule fois l’information pure
Mise en oeuvre (le contenu) :
Structure sans s’occuper de la présentation ou des traitements
Présentation
Le prologue futurs,
L’arbre d’éléments
Les commentaires
sans saisir de libellés, comme on alimenterait une base
Bien former le
document
de données.
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 7 / 30
Ce qu’XML va permettre
Le format XML
D’en générer automatiquement :
Historique
de multiples présentations (tableau, graphique, image,
SGML HTML, PDF...)
HTML
XML éventuellement, couplé aux feuilles de style XSLT : des
Ce qu’XML va tris, des sélections, des réorganisations, des générations
permettre
automatiques de libellés, de tables des matières, index...
Exemple
le tout sur de multiples médias (écran de téléphone
Mise en oeuvre portable, ordinateur de bureau, base de données,
Structure papier...)
Présentation
Le prologue
L’arbre d’éléments
Les commentaires
Bien former le
Conclusion
document
Les sections littérales Tout cela grâce à l’indépendance du balisage par rapport à la
Exemple complet présentation.
Le format XML 16 janvier 2014 8 / 30
Exemple : bibliographie
Code source HTML
Le format XML
<h2>Bibliographie XML</h2>
Historique <ul>
SGML <li>Thierry Boulanger et Sebastien Lecomte,
HTML
XML <br /><i>XML par la pratique - Bases
Ce qu’XML va indispensables, concepts et cas pratiques</i>,
permettre
<br />Paris, Editions ENI, 2008</li>
Exemple
<li>Alexandre Brillant,
Mise en oeuvre
<br /><i>XML : Cours et exercices</i>,
Structure
Présentation
<br />Paris, Eyrolles, 2007 </li>
Le prologue <li>Kevin Howard Goldberg,
L’arbre d’éléments
Les commentaires <br /><i>Manuel de Prise en Main de XML</i>,
Bien former le
document <br />Paris, Pearson Education, 2009</li>
Les sections littérales
</ul>
Exemple complet
Le format XML 16 janvier 2014 9 / 30
Exemple : bibliographie
Résultat sous Firefox
Le format XML
Historique
SGML
HTML
XML
Ce qu’XML va
permettre
Exemple
Mise en oeuvre
Structure
Présentation
Le prologue
L’arbre d’éléments
Les commentaires
Bien former le
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 10 / 30
Exemple : bibliographie
Une partie en XML
Le format XML
<?xml version="1.0" encoding="ISO-8859-1" ?>
<biblio>
Historique <livre langue="fr" sujet="xml">
SGML
HTML
<titre>XML : Cours et exercices</titre>
XML <auteur>
Ce qu’XML va <nom>Brillant</nom>
permettre
Exemple
<prenom>Alexandre</prenom>
</auteur>
Mise en oeuvre
<editeur>
Structure
Présentation <nom>Eyrolles</nom>
Le prologue
L’arbre d’éléments
<ville>Paris</ville>
Les commentaires
Bien former le
</editeur>
document
Les sections littérales
<annee>2007</annee>
Exemple complet
</livre>
</biblio>
Le format XML 16 janvier 2014 11 / 30
Mise en oeuvre
Le format XML
Exemple : production d’un document HTML à partir de
données formatées en XML.
Historique
SGML
Il faut écrire au moins deux fichiers :
HTML Dans l’un, les données à mettre en forme ⇒ document
XML
XML.
Ce qu’XML va
permettre Dans l’autre, les informations pour la mise en forme ⇒
Exemple
document XSLT.
Mise en oeuvre Un troisième fichier peut être nécessaire pour définir les
Structure
balises reconnues pour ce document XML :
Présentation Une DTD (Document Type Definition)
Le prologue
L’arbre d’éléments Un schéma.
Les commentaires
Bien former le
Ce fichier sera par exemple écrit pour contraindre la
document saisie/mise à jour du document XML.
Les sections littérales
Exemple complet Pour le document HTML, mieux vaut ajouter une feuille
de style CSS.
Le format XML 16 janvier 2014 12 / 30
Mise en oeuvre
Le format XML
Historique
Résumé
SGML
HTML
Pour produire un fichier HTML à partir de données
XML
formatées en XML :
Ce qu’XML va
permettre 1/ Créer un fichier définissant les balises utilisables :
Exemple DTD (Optionnel)
Mise en oeuvre
2/ Créer un fichier de données XML.
Structure
Présentation
Le prologue
3/ Créer une feuille de style XSL (permet de produire le
L’arbre d’éléments
Les commentaires
fichier HTML).
Bien former le
document 4/ Créer une feuille de style CSS (Optionnel).
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 13 / 30
Structure d’un document XML
Présentation
Le format XML
Historique
SGML
HTML
XML
Un fichier XML doit être composé :
Ce qu’XML va
permettre d’un prologue,
Exemple d’un arbre d’éléments,
Mise en oeuvre de commentaires et instructions de traitement
Structure
(facultatif).
Présentation
Le prologue
L’arbre d’éléments
Les commentaires
Bien former le
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 14 / 30
Structure d’un document XML
Le prologue
Le format XML
La déclaration XML :
Historique
SGML
HTML
<?xml version=‘‘1.0’’ encoding=‘‘ISO
XML -8859-1’’ standalone=‘‘yes’’?>
Ce qu’XML va
permettre
Exemple
xml version=“1.0” : décrit la version utilisée
Mise en oeuvre
encoding=“ISO-8859-1” : code les caractères utilisés
dans le document
Structure
Présentation standalone : indique si le document fait référence à
Le prologue
L’arbre d’éléments
d’autre documents (optionnel). Par défaut il est à “no”
Les commentaires
Bien former le
document Cette déclaration fait partie des instructions de
Les sections littérales
traitements.
Exemple complet
Le format XML 16 janvier 2014 15 / 30
Structure d’un document XML
Le prologue
Le format XML
Historique
SGML
HTML Cette déclaration XML :
XML
Ce qu’XML va les attributs ”version”, ”encoding” et ”standalone”
permettre
doivent être placés dans cet ordre ;
Exemple
Mise en oeuvre
elle doit être positionnée en toute première ligne du
Structure
document XML. Par exemple, il ne faut ni
Présentation
Le prologue
commentaire, ni même une simple ligne code avant elle.
L’arbre d’éléments
Les commentaires
Bien former le
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 16 / 30
Structure d’un document XML
L’arbre d’éléments
Le format XML
Historique
SGML
HTML
XML
Un document a un unique élément racine :
Ce qu’XML va c’est la base du document XML,
permettre
il est unique et englobe tous les autres éléments,
Exemple
il s’ouvre juste après le prologue et se ferme à la toute
Mise en oeuvre fin du document.
Structure
Présentation Dans notre exemple, l’élément racine est biblio.
Le prologue
L’arbre d’éléments
Les commentaires
Bien former le
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 17 / 30
Structure d’un document XML
Les éléments
Le format XML
Les éléments forment la structure même du document :
ce sont les branches et les feuilles de l’arborescence.
Historique
SGML Un élément :
HTML
XML possède un nom (son type) ;
Ce qu’XML va il ne doit pas contenir d’espace, ni commencer par un
permettre
chiffre
Exemple
il peut comprendre des lettres de l’alphabet, des
Mise en oeuvre chiffres et les caractères - et
Structure contient du texte (une chaı̂ne de caractères), des
Présentation
Le prologue attributs (autres éléments), des instructions de
L’arbre d’éléments
Les commentaires traitement ;
Bien former le
document il ne peut pas avoir deux attributs de même nom ;
Les sections littérales
il peut aussi être vide.
Exemple complet
L’élément contenant est nommé “élément parent”.
Le format XML 16 janvier 2014 18 / 30
Structure d’un document XML
L’arbre d’éléments
Le format XML
Exemple d’élément contenant du texte :
Historique <titre>XML : Cours et exercices</titre>
SGML
HTML
XML Exemple d’élément contenant d’autres éléments :
Ce qu’XML va
permettre <auteur>
Exemple <nom>Brillant</nom>
Mise en oeuvre <prenom>Alexandre</prenom>
Structure </auteur>
Présentation
Le prologue
L’arbre d’éléments Exemple d’élément vide (il ne contient pas d’élément
Les commentaires
Bien former le
document
enfant) :
Les sections littérales
Exemple complet
<couverture couleur=‘‘rouge’’ />
Le format XML 16 janvier 2014 19 / 30
Structure d’un document XML
Les attributs
Le format XML
Historique Un attribut permet de stocker des informations
SGML
HTML
supplémentaires sur un élément, sans ajouter de texte
XML
au contenu de l’élément lui-même.
Ce qu’XML va
permettre Tous les éléments peuvent contenir de 0 à n attributs
Exemple uniques.
Mise en oeuvre
Un attribut a un nom et une valeur.
Structure
Présentation
Le prologue
Un attribut ne peut être présent que dans la balise
L’arbre d’éléments
Les commentaires
ouvrante de l’élément (par exemple, il est interdit
Bien former le
document d’écrire </livre langue=“en”>).
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 20 / 30
Structure d’un document XML
Les attributs
Le format XML
Historique
SGML
HTML
Exemple d’un élément avec attribut :
XML
Ce qu’XML va
<fruit coeur=’’noyau‘‘>abricot</fruit>
permettre
Exemple Exemple d’élément vide avec attributs :
Mise en oeuvre
<img src=’’lapin.png‘‘ alt=’’Petit lapin‘‘
Structure
Présentation width=’’50‘‘ height=’’50‘‘ />
Le prologue
L’arbre d’éléments
Les commentaires
Bien former le
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 21 / 30
Structure d’un document XML
Elément/Attribut
Le format XML
Historique
SGML Faut-il plutôt déclarer un élément ou un attribut ?
HTML
XML Le choix de la structure d’un document XML n’est pas
Ce qu’XML va
permettre
complètement arbitraire. Il faut réfléchir à l’utilisation
Exemple
des informations :
Mise en oeuvre
information sur le contenu du document XML ⇒
Structure
préférer l’attribut,
Présentation information à utiliser régulièrement ⇒ préférer
Le prologue
L’arbre d’éléments l’élément.
Les commentaires
Bien former le
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 22 / 30
Structure d’un document XML
Les commentaires
Le format XML
Les commentaires XML se déclarent de la même
Historique manière qu’en HTML :
SGML
HTML ils commencent par < !- -
XML
Ce qu’XML va
ils se terminent par - ->
permettre
Ils peuvent être placés n’importe où, du moment qu’ils
Exemple
sont à l’extérieur d’une autre balise.
Mise en oeuvre
Structure Exemple de commentaires valides :
Présentation
Le prologue
L’arbre d’éléments <!--commentaire correct -->
Les commentaires
Bien former le
<texte><!-- commentaire correct -->
document
Les sections littérales
petit texte</texte>
Exemple complet
Le format XML 16 janvier 2014 23 / 30
Structure d’un document XML
Bien former le document
Le format XML
Historique Le document doit également respecter des critères
SGML
HTML syntaxiques : la casse, des cotes simples ou doubles autour
XML
des attributs...
Ce qu’XML va
permettre Exemples :
Exemple
<LIVRE>...<livre> : mal formé
Mise en oeuvre
Structure
<livre>...</livre> : bien formé
Présentation
Le prologue <livre langue=fr>...</livre> : mal formé
L’arbre d’éléments
Les commentaires
Bien former le
<livre langue=”fr“>...</livre> : bien formé
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 24 / 30
Structure d’un document XML
Bien former le document
Le format XML
Un document est bien formé si c’est un arbre d’éléments
Historique
SGML
respectant les règles précédentes.
HTML
XML
Exemple d’un document mal formé (on a deux arbres) :
Ce qu’XML va <?xml version=’’1.0‘‘>
permettre
Exemple
<livre><auteur>Zola</auteur></livre>
<livre><auteur>Dumas</auteur></livre>
Mise en oeuvre
Structure
Présentation
Exemple acceptable en HTML et mal formé en XML
Le prologue
L’arbre d’éléments
(imbrication incorrecte des balises) :
Les commentaires
Bien former le
document <p>petit texte en <i>italique</p></i>
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 25 / 30
Structure d’un document XML
Les sections littérales
Le format XML
Il n’est pas permis de placer directement dans le
contenu d’un document XML des caractères tels que
Historique
SGML
”<”, ”>” ou ”&”.
HTML
XML Il faut utiliser un section CDATA. Elle permet d’inclure
Ce qu’XML va du texte qui n’est pas analysé par le parseur.
permettre
Exemple Cette instruction est à utiliser avec parcimonie.
Mise en oeuvre
Exemple incorrect :
Structure
Présentation
Le prologue
<test>if(i<4 && j>10){println(i);}</test>
L’arbre d’éléments
Les commentaires
Bien former le
document
Exemple correct :
Les sections littérales
Exemple complet
<test><![CDATA[if(i<4 && j>10){println(i);}]]></
test>
Le format XML 16 janvier 2014 26 / 30
Exemple d’un document XML
Le format XML
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- Prologue -->
Historique
SGML
HTML
<!-- Element racine -->
XML <biblio>
Ce qu’XML va <!-- Premier enfant -->
permettre
Exemple
<livre langue="fr" sujet="xml">
<!-- Element enfant titre -->
Mise en oeuvre
<titre>XML par la pratique - Bases
Structure
Présentation indispensables, concepts et cas pratiques</
Le prologue
L’arbre d’éléments
titre>
Les commentaires
Bien former le
<auteur>
document
Les sections littérales
<nom>Boulanger</nom>
Exemple complet
<prenom>Thierry</prenom>
</auteur>
Le format XML 16 janvier 2014 27 / 30
Exemple d’un document XML
Le format XML
<editeur>
Historique <nom>Editions ENI</nom>
SGML <ville>Paris</ville>
HTML
XML </editeur>
Ce qu’XML va <annee>2008</annee>
permettre
</livre>
Exemple
<!-- Second enfant -->
Mise en oeuvre
<livre langue="fr" sujet="exemples">
Structure
Présentation
<titre>XML : Cours et exercices</titre>
Le prologue <auteur>
L’arbre d’éléments
Les commentaires <nom>Brillant</nom>
Bien former le
document <prenom>Alexandre</prenom>
Les sections littérales
</auteur>
Exemple complet
Le format XML 16 janvier 2014 28 / 30
Exemple d’un document XML
Le format XML
<editeur>
Historique <nom>Eyrolles</nom>
SGML <ville>Paris</ville>
HTML
XML </editeur>
Ce qu’XML va <annee>2007</annee>
permettre
</livre>
Exemple
<!-- Troisime enfant -->
Mise en oeuvre
<livre langue="fr" sujet="manuel">
Structure
Présentation
<titre>Manuel de Prise en Main de XML</titre>
Le prologue <auteur>
L’arbre d’éléments
Les commentaires <nom>Goldberg</nom>
Bien former le
document <prenom>Kevin Howard</prenom>
Les sections littérales
</auteur>
Exemple complet
Le format XML 16 janvier 2014 29 / 30
Exemple d’un document XML
Le format XML
Historique
SGML
HTML <editeur>
XML
<nom>Pearson Education</nom>
Ce qu’XML va
permettre <ville>Paris</ville>
Exemple </editeur>
Mise en oeuvre <annee>2009</annee>
Structure
</livre>
Présentation </biblio>
Le prologue
L’arbre d’éléments
Les commentaires
Bien former le
document
Les sections littérales
Exemple complet
Le format XML 16 janvier 2014 30 / 30