|
|
XML
(eXtensible Markup Language) est un nouveau langage
normalisé de balisage numérique, permettant
de décrire la structure hiérarchique
d'un document. Non propriétaire et indépendant
des plate-formes et des systèmes d'exploitation,
XML est une solution incontournable pour la représentation
et l'échange de documents sur Internet. Il
offre de nombreuses fonctionnalités en matière
de publication électronique, d'e-commerce et
de personnalisation des transactions.
Ainsi, XML est devenu le langage universel d’échange
de données informatiques, qu’il s’agisse
de les stocker, de les échanger, de les traiter
ou de les afficher.
« L’apparition de XML a été
prédominante. Grâce à lui, il
est possible de séparer les données
de leur structure. Cela permet notamment de stocker
ces informations sur le web de façon qu’elles
soient exploitées automatiquement par différents
serveurs et de présenter le résultat
final, sous forme de service web, par exemple, à
l’utilisateur (...). L’avenir appartient
aux entreprises capables d’exploiter les données
et de les visualiser. »
Je vais essayer, à travers ce cours, de présenter
sommairement ce méta-langage, ainsi que quelques
langages dérivés, tout en décrivant
les techniques qui permettent de présenter
un document XML sur un navigateur, à savoir
les feuilles de style. J’essaierai aussi de
présenter les DTD qui permettent de valider
un document par rapport à un méta-modèle,
tout en faisant la différence entre les DTD
et les schémas XML qui viennent répondre
à certaines insuffisances des premières.
Plusieurs exemples seront présentés
pour faciliter la compréhension.
Le cours est composé donc d’une introduction
générale et de 7 chapitres complétés
par une conclusion, une bibliographie et un glossaire.
Ces chapitres sont :
1- Les documents XML : structure et DTDs
2- Les schémas XML
3- La navigation XPath et les liens XLL
4- Les feuilles de style
XML : définition
et objectifs
XML
peut être considéré comme une
généralisation de HTML où, au
lieu d'avoir un jeu de balises prédéfinies
ayant une signification prédéfinie,
l'auteur peut "inventer" à volonté
ses propres balises.
Le but de XML est de faciliter le traitement automatisé
de documents et de données. L'idée est
de pouvoir structurer les informations de telle manière
qu'elles puissent être à la fois lues
par des personnes sur le web et traitées par
des applications qui exploiteront de manière
automatisée les informations en question.
L'objectif majeur de XML donc est d'étendre
les fonctionnalités de HTML afin de faciliter
les échanges de documents sur le WEB. Pour
cela les acteurs du W3C (World Wide Web Consortium)
souhaitaient définir un langage bénéficiant
des principales fonctionnalités de SGML (Standard
Generalized Markup Language) tout en étant
plus simple à apprendre et à utiliser
que ce dernier.
Ces évolutions comprennent :
•
la définition libre de nouvelles balises
et de nouveaux attributs,
• le support de structure complexe de documents,
• la vérification de la structure d'un
document par rapport à une grammaire type
définie dans un document appelé DTD
(Document Type Definition),
• la séparation entre le contenu (document
XML) et la mise en page (feuille de style CSS ou
XSL).
XML peut donc être défini comme étant
un langage de description et d'échanges de
données structurés.
Exemple
de document XML
Description XML des informations carte de visite
<cartes>
<personne>
<nom>Mkadmi</nom>
<prenom>Abderrazak</prenom>
<bureau>
<laboratoire>PARAGRAPHE</laboratoire>
<adresse>
<rue>2, rue de la liberté </rue>
<code postal>93526</code postal>
<ville>SAINT-DENIS</ville>
</adresse>
<téléphone>(33) 1 49 40 67 89</téléphone>
</bureau>
</personne>
</cartes>
ORIGINE
Les objectifs étaient donc
- d'étendre les fonctionnalités du langage
HTML qui est limité,
- d'offrir un standard équivalent à
SGML auxquels les acteurs du W3C reprochaient les
éléments suivants :
- il est trop complexe pour être implémenté
dans des navigateurs,
- il impose que tout document soit conforme à
une structure type spécifiée et validée,
- il ne possède pas de mécanismes de
liens évolués.
Mais les concepts de SGML (séparation entre
contenu et forme, garantie d'une plus grande pérennité,
indépendance vis à vis des évolutions
technologiques et des médias ; écran,
imprimantes, ...) ont pu être validés
par de nombreux industriels en particulier sur la
gestion de documentation.
Les objectifs qui ont guidé le groupe
de travail XML :
- Utilisable sur l'infrastructure Internet
- Supporter une grande variété d'applications
- Être compatible avec SGML
- Facile à traiter un document XML par programme
- Fournir un balisage compréhensible par l'homme
- La concision dans le balisage n'est pas importante
- Rendre l'écriture d'un document facile
- Livrer une spécification formelle et concise
(42 pages)
- Rédiger la spécification rapidement
(18 mois)
HISTORIQUE
1996: groupe de travail au sein du W3C
1998 : publication de recommandations pour la version
1.0 de XML
XML est une recommandation du W3C en date du 10 Février
1998, référencée à :
http://www.w3.org/TR/1998/REC-xml-19980210
Quelques standards gérés par le W3C
:
• XSL (eXtensible Stylesheet Language) : XSLT
+ XSLFO : Règles de transformation et de présentation
de documents XML,
• XLL (eXtensible Linking Language Xlink + Xpointer
: Liaison et adressage entre documents,
• XPath (utilisé pour XSLT et XPointer)
: Expression de la navigation dans des documents XML,
• DOM (Document Object Model) : API d'accès
et de manipulation de documents XML sous forme d'objets,
• XML Schema : Définition de la structure
des documents XML en XML,
• XQL (eXtensible Query Language) : Requêtes
pour la recherche d'information dans un arbre XML.
Limites
de HTML
En
fait HTML est très bien adapté à
la création de sites simples. Son apprentissage
est aisé et les sites ainsi développés
sont simples à manipuler. Cependant l'évolution
des besoins a fait évoluer les simples documents
hypertextes vers des documents dont le contenu est
généré dynamiquement à
partir de bases de données. HTML a alors très
vite montré ses limites
-
Un balisage prédéfini dans la norme,
-
Beaucoup de balises de description de formes (br,
b, center, etc.) et peu de balises à caractères
sémantiques (title, address, dl, etc.),
- Une
dépendance très forte du contenu et
de la forme : Les documents HTML se voulaient indépendant
de toute problématique technologique. Les
utilisateurs ont aujourd'hui besoin d'un langage
permettant un affichage utilisant au mieux les capacités
des navigateurs actuels sans que les documents créés
ne soient pour autant liés à leurs
évolutions.
Une évolution en 1997 avec l'apparition des
CSS (Cascading Style Sheets) et en 1998 avec HTML
4.0 a permis de repousser cette limite mais cela
ne repose que sur le bon vouloir des développeurs.
Rien n'empêche de continuer à utiliser
HTML de la même façon qu'auparavant.
- Une
interopérabilité limitée :
on ne sait pas extraire une information particulière
d'un document HTML, ce qui limite l'échange
d'informations avec d'autres applications ainsi
que les possibilités de recherche sémantique
sur le contenu d'un site ou d'un document;
- Une
gestion des liens trop simples : Deux types de liens
dans HTML : le lien "Link" (lien vers
un autre élément, par exemple une
feuille de style) et le lien "a" (lien
vers une autre page). Dans la pratique le "l"
n'est presque pas utilisé mis à part
pour la gestion des feuilles de style CSS. Aujourd'hui
rien n'empêche d'utiliser un lien "a"
là où un lien "link" aurait
été plus adapté;
- Des
recherches lourdes et des réponses très
nombreuses, rendant leurs traitements difficiles
car il n'y a pas de notion de sémantique
dans l'information recherchée.
Aujourd'hui la recherche des ouvrages d'un auteur
particulier se fait en recherchant sur une chaîne
de caractères qui peut apparaître sous
n'importe quelle forme sur les sites. Les réponses
pourront donc inclure les ouvrages recherchés
mais aussi toutes informations faisant référence
à l'auteur. XML permettra de faire la recherche
en spécifiant des mots clés de recherche
du type AUTEUR=" xxxxx ". Ce qui limitera
les réponses ramenées aux seules pages
contenant une information de ce type.
Apports de XML
EXTENSIBILITÉ
ET STRUCTURE :
Dans XML, il est possible de définir ses propres
balises. Ce qui permet d'améliorer la lisibilité
et les possibilités de traitement.
Exemple :
<date>15 novembre 2002</date>
<date>
<annee>2002</annee>
<mois>11</moi>
<jour>15</jour>
</date>
Ce découpage permettra d'afficher la date sous
différents formats sans avoir à effectuer
de traitement complexe. Par contre si l'on désire
pouvoir systématiser certains traitements sur
les dates et les rendre opérationnelles sur
l'ensemble des navigateurs, cela suppose de définir
une norme sur le format de la date.
Exemple
<date format ="ISO-8601">2000-11-02</date>
STRUCTURE TYPE : MODULARISATION ET RÉUTILISATION
La
définition de nouvelles balises permettra
de structurer l'information sous une forme ou une
autre afin de permettre le traitement et l'échange
de données de façon beaucoup plus
importante qu'avec HTML.
Les domaines du commerce électronique, des
échanges de données informatisés
(EDI), les transactions financières sont
directement concernés par ces nouvelles fonctionnalités.
Cependant, il est important qu'il n'y ait pas d'ambiguïté
sur la structure et la sémantique des différentes
données échangées entre des
particuliers ou des entreprises. C'est pourquoi
XML propose des structures types de documents (les
DTD).
En outre, ces dernières ouvre la porte vers
des outils (API ou logiciel) permettant de manipuler
ces différentes structures.
Nous pouvons résumer les principaux apports
de XML comme suit :
- La lisibilité
: aucune connaissance ne doit théoriquement
être nécessaire pour comprendre un
contenu d'un document XML
- Autodescriptif
: il parle de lui même ;
- Une structure
arborescente : permettant de modéliser
la majorité des problèmes informatiques
;
- Universalité
et portabilité
: les différents jeux de caractères
sont pris en compte ;
- Déployable
: il peut être facilement
distribué par n'importe quel protocole
à même de transporter du texte, comme
HTTP ;
- Intégrabilité
: un document XML est utilisable par toute application
pourvue d'un parser (c'est-à-dire un logiciel
permettant d'analyser un code XML) ;
- Extensibilité
: un document XML doit pouvoir être utilisable
dans tous les domaines d'applications…
|