LIC 2011 Cours XML
28 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
28 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Olivier Mellinger - Cours XML - Promotion 2011 XML Le langage XML (pour eXtensible Markup Language) est un langage d'organisation de données sous la forme de balises qui peuvent être imbriquées, répétées et ordonnées. Ce n’est absolument pas un langage de programmation (pas de structure de tests, pas de boucles, pas de variables). Le langage XML a été développé pour faciliter les échanges de données entre différents systèmes. Le W3C, consortium qui a pour objectif de développer les standards de l’internet, a défini des règles simples mais extensibles. Ceci a permit à ce langage d’être très largement adopté dans le monde informatique ces dernières années. Tous les langages informatiques modernes comprennent des extensions ou des librairies pour générer ou manipuler des données au format XML. Tout un écosystème de normes et d’outils s’est développé autour du XML pour en faire un outil de tous les jours pour le développeur. Utilisations dérivées du langage XML HTML/XHTML C’est l’utilisation la plus courante de la structure XML. Les balises sont en nombre limitées dans le but d’être reconnues et correctement interprétées par tous les navigateurs web. XHTML est un langage plus strict qu’HTML qui avait pas mal de largesse dans sa définition. RSS Les flux Atom et RSS sont de parfaits exemples de l’utilisation de l’XML pour organiser les données avec une structure définie et fixe. Cette structure de flux est rapidement devenue un standard ce qui a ...

Sujets

Informations

Publié par
Nombre de lectures 112
Langue Français

Extrait

Olivier Mellinger - Cours XML - Promotion 2011
XML

Le langage XML (pour eXtensible Markup Language) est un langage d'organisation de données
sous la forme de balises qui peuvent être imbriquées, répétées et ordonnées. Ce n’est
absolument pas un langage de programmation (pas de structure de tests, pas de boucles, pas
de variables).

Le langage XML a été développé pour faciliter les échanges de données entre différents
systèmes. Le W3C, consortium qui a pour objectif de développer les standards de l’internet, a
défini des règles simples mais extensibles.
Ceci a permit à ce langage d’être très largement adopté dans le monde informatique ces
dernières années. Tous les langages informatiques modernes comprennent des extensions ou
des librairies pour générer ou manipuler des données au format XML.

Tout un écosystème de normes et d’outils s’est développé autour du XML pour en faire un outil
de tous les jours pour le développeur.

Utilisations dérivées du langage XML
HTML/XHTML
C’est l’utilisation la plus courante de la structure XML. Les balises sont en nombre limitées dans
le but d’être reconnues et correctement interprétées par tous les navigateurs web.
XHTML est un langage plus strict qu’HTML qui avait pas mal de largesse dans sa définition.
RSS
Les flux Atom et RSS sont de parfaits exemples de l’utilisation de l’XML pour organiser les
données avec une structure définie et fixe. Cette structure de flux est rapidement devenue un
standard ce qui a provoqué une adoption rapide et massive.
Un fichier RSS définit les propriétés d’un canal d’information ainsi que tous les éléments qui le
composent.
Autres utilisations SVG, SDMX, mathML
SVG est un format XML permettant de définir des ensembles graphiques.

Exemple de définition d’un fichier SVG (voir exemple sur fr.wikipedia.org/wiki/SVG)

Page 1 sur 28 Olivier Mellinger - Cours XML - Promotion 2011
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="300"
height="200">
<title>Exemple simple de figure SVG</title>
<desc>Cette figure est constituée d'un rectangle, d'un
segment de droite et d'un cercle.
</desc>
<rect width="100" height="80" x="0" y="70" fill="green" />
<line x1="5" y1="5" x2="250" y2="95" stroke="red" />
<circle cx="90" cy="80" r="50" fill="blue" />
<text x="180" y="60"> Un texte</text>
</svg>


SDMX est un format de données permettant de représenter de manière générique des données
statistiques. Le but principal est d’encourager l’échange de données statistiques dans un format
unique compréhensible par n’importe quel organisme.

MathML est généralement utilisé pour représenter des formules mathématiques complexes
dans une page internet.

Pour plus de précisions sur ces formats, n’hésitez pas à consulter leur page Wikipédia
respective.

Règles de bases à respecter pour générer un fichier XML
Exemple de fichiers XML
<?xml version="1.0" encoding="UTF-8"?>
<revue_de_presse>
<article>
<title>Les nouvelles mesures fiscales de l’année 2011</title>
<date>01-10-2010</date>
<author>lemonde.fr</author>
</article>
<article>
<title>Google présente un nouveau produit</title>
<date>04-11-2010</date>
<author>liberation.fr</author>
</article>
</revue_de_presse>
Page 2 sur 28 Olivier Mellinger - Cours XML - Promotion 2011
Définir l’encodage
L’encodage est une déclaration devenue primordiale à l’heure des sites internet multi-langues et
des échanges de données inter-plateformes.
Généralement l’encodage utilisé pour nos alphabets latins est l’encodage ISO-8859-1.

Histoire de faire cohabiter nos alphabets latins avec les autres encodages de caractères, il est
vivement recommandé d’utiliser l’encodage UTF-8 qui permet de représenter un panel plus
large de caractères. Ainsi un fichier encodé en UTF-8 sera par exemple lisible par un chinois
sans que les caractères accentués spécifiques à la langue française soient mal interprétés.

Il faut savoir également que l’encodage en UTF-8 doit être appliqué sur toute la chaîne de
développement :
• Le serveur d’application (Apache, Tomcat, etc ..),
• Le langage de programmation,
• Le SGBD mais surtout le driver du SGDB,
• Le script en lui-même (Attention à vos éditeurs de texte, l’encodage par défaut n’est
généralement pas UTF-8)

Une balise racine

Un document XML doit contenir au minimum un élément, qu’on appelera l’élément racine.
Toute balise ouverte doit être fermée
C’est l’un des principes fondamentaux de la syntaxe XML où l’information est délimitée par une
balise ouvrante et une balise fermante.
Une balise fermante doit reprendre exactement le même nom que la balise ouvrante, dans la
même casse. La syntaxe de la balise fermante est de la forme “</nom_de_l_element>”.

Si aucune donnée n’est définie dans un élément et qu’il ne contient pas de sous éléments, on
peut utiliser sa notation raccourcie.

Ainsi, l’élément suivant

<balise attribut=”valeur_de_l_attribut”></balise>


pourrait être écrit de la façon suivante :

<balise attribut=”valeur_de_l_attribut”/>

Page 3 sur 28 Olivier Mellinger - Cours XML - Promotion 2011

Dans la syntaxe XHTML, les balises LINK, IMG, HR et BR sont des exemples de ces balises où
la notation raccourcie est courante.
L’imbrication des balises est possible mais doit être rigoureuse

Par exemple, ceci est incorrect

<mabalise1>du texte<mabalise2>encore un peu de
texte</mabalise1></mabalise2>

alors que ce code est correct

<mabalise1>du texte<mabalise2>encore un peu de
texte</mabalise2></mabalise1>

Élément ou attribut ?
Cette question peut se poser lorsque l’on décide de la structure d’un fichier XML. Concrètement
pour un exemple donné, il s’agit de choisir entre cette structure :

<personnes>
<personne>
<id>1</id>
<nom>Durant</nom>
<prenom>Pierre</prenom>
</personne>
</personnes>

et celle-ci :

<personnes>
<personne id=”1”>
<nom>Durant</nom>
<prenom>Pierre</prenom>
</personne>
</personnes>

ou encore celle-ci :
Page 4 sur 28 Olivier Mellinger - Cours XML - Promotion 2011
<personnes>
<personne id=”1” nom=”Durant” prenom=”Pierre”></personne>
</personnes>


Tout d’abord, ces 3 structures sont correctes, bien formées et fonctionnent. Mais pour optimiser
la structure de son fichier XML, il convient de distinguer les attributs des éléments : on placera
en attributs tous les éléments de métadonnées qui définissent l’élément.
Dans l’exemple donné, qui est volontairement simpliste, ce n’est pas forcément facile d’arbitrer
ce choix mais si on prend l’exemple suivant plus complet :
<personnes>
<personne>
<id>1</id>
<nom>Durant</nom>
<prenom>Pierre</prenom>
<adresse>
<type>personnelle</type>
<rue>Ile du Saulcy</rue>
<ville>Metz</ville>
<code_postal>FR-57000</code_postal>
</adresse>
<adresse>
<type>professionnelle</type>
<rue>11 rue Eugène Ruppert</rue>
<ville>Luxembourg</ville>
<code_postal>LU-2453</code_postal>
</adresse>
</personne>
</personnes>


on pourra lui préférer la structure suivante

Page 5 sur 28 Olivier Mellinger - Cours XML - Promotion 2011
<personnes>
<personne id=”1”>
<nom>Durant</nom>
<prenom>Pierre</prenom>
<adresse type=”personnelle”>
<rue>Ile du Saulcy</rue>
<ville>Metz</ville>
<code_posta

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents