Académique Documents
Professionnel Documents
Culture Documents
XML (eXtensible Markup Language = Langage de balisage extensible) est un langage informatique qui
permet de décrire la structure logique d’un document numérique* dans le monde du
Web/Internet. Cette description s’appuie sur un système de marquage du contenu par des
balises. Le document XML ainsi obtenu est un fichier au format « texte » dans lequel les
données sont structurées en arborescence. Ceci facilitant l’interopérabilité entre systèmes et
les échanges de données.
Le langage XML est spécifié dans une recommandation de 1999 qui fournit des règles et des
outils pour décrire la structure logique d’un document numérique mais qui ne précise rien ni
sur sa forme ou son aspect, ni sur la signification de son contenu.
D’autres standards, brièvement présentées dans cette note, sont donc nécessaires au
développement des documents XML.
2 organismes principaux éditent des standards pour le Web et plus particulièrement XML :
W3C (consortium du World Wide Web) est un organisme international fondé en octobre 1994 regroupant
plus de 500 membres, orientés R&D. Il fédère les acteurs du domaine (entreprises, R&D) et développe des
langages et protocoles en garantissant l’interopérabilité du Web et la cohérence de son développement.
XML, RDF, DTD, Schéma XML, URI, …
OASIS (Organization for the Advancement of Structured Information Standards) est un consortium centré sur
les technologies d'intégration interentreprise.
OpenDocument et DocBook, Atom, …
Ces deux consortium développent des standards ouverts. Mais début 2006, l’OASIS annonçait
l’éventualité d’utiliser le brevet pour protéger certains standards.
Le terme document est pris ici comme tout objet porteur d’information, quel que soit le contexte de
production et d’usage ou la nature de l’information. Dans ce contexte, un document XML peut être : un
livre ou un article, mais également une feuille de calcul de la comptabilité d’un mois, une transaction
d’achat, un répertoire d'adresses, une librairie de ressources sur une plateforme de e-learning, un
message de fil d’agence de presse, une fiche de recette de cuisine, la description d’un génotype, un
formulaire d’abonnement, le manuel d’utilisation d’une machine, une fiche des paramètres de
configuration, une émission de télévision, des documents techniques, etc..
Tous ces objets d’information sont considérés comme des documents numériques pouvant être traités
selon le formalisme et les standards XML.
3/17
PREALABLE 3 - RDF (Resource Description Framework)
Le Web a été conçu à l’origine pour être compris par l’homme. Pour améliorer la compréhension des
contenus du Web par les machines, on utilise des métadonnées qui décrivent les données du Web.
C’est dans ce contexte que le langage RDF (système descriptif de ressource) a été défini. Il permet de
décrire précisément les métadonnées contenues dans un document. RDF est fondé lui-même sur le
langage XML. Il permet d'encoder, d’échanger et de réutiliser les métadonnées, ces dernières étant
elles-mêmes sous la forme de DTD ou de Schéma XML. Avec RDF, toutes les ressources sont identifiées
par des adresses spécifiques appelées « URI » (Uniform Resource Identifier) où se trouve la
documentation utile. RDF a fait l’objet d’une Recommandation en 1999.
La DTD Dublin Core selon la recommandation RDF > http://dublincore.org/schemas/rdfs
La définition de l’élément creator du Dublin core se trouve ici > http://purl.org/dc/elements/1.1/creator
PREALABLE 4 - Quelques caractéristiques du document XML
- Interne ou externe ?
Un document XML peut préciser dans son en-tête qu’il respecte telle DTD ou tel schéma XML. Cette DTD
ou ce schéma peut être défini dans un document à part - on parle alors de DTD/Schéma externe-, ou
dans le corps même du document XML - on parle alors de DTD ou Schéma interne1.
- Formé et valide ?
Un document XML a deux niveaux de conformité : bien formé et valide .
Un document XML bien formé est un document qui respecte la syntaxe XML.
Un document XML valide est un document bien formé qui se conforme à la définition de la grammaire
(DTD ou Schéma) à laquelle il est associé.
1
Attention à ne pas confondre la présence dans le document de la référence à une DTD ou un schéma, avec la
présence ou non dans le document des métadonnées elles-mêmes
1. Ce que l’on va obtenir !
XML ne dit rien sur le contenu du document ni sur sa structure.
Les DTD sont aujourd’hui supportées par de nombreuses applications, mais leur puissance de
description est considérée comme limitée pour certains usages sur le Web. Par exemple, la DTD
n’indique pas la typologie des données contenues dans ces balises (chaîne de caractère, date, entier,
etc). Il peut donc subsister des ambiguïtés entre deux documents XML utilisant une même DTD. Les DTD
sont donc à utiliser lorsque la typologie des données contenues dans le document XML est de moindre
importance pour les traitements automatiques visés.
b) Schémas XML et Relax-NG
Schéma XML est un langage développé en 2001, pour décrire la structure d'un document XML d'une
façon beaucoup plus complète que les DTD. Il est par exemple possible de spécifier la typologie des
données (chaîne de caractères, décimal, etc..) que va contenir le document XML. Mais cette
recommandation est aussi plus complexe à utiliser. Elle est utilisée lorsque les documents XML - et donc
leurs structures - risquent d’évoluer ou quand il est important de valider le contenu (transactions d’achat par
exemple).
Relax-NG est un langage de description de documents XML déployés par l’Oasis ; il ne spécifie ni la
structure ni la valeur des éléments d’un document XML, ces dernières étant contrôlées par des schémas
XML. Relax-NG est utilisé par exemple pour spécifier le format OpenDocument (le format ouvert de la
suite bureautique OpenOffice). Il est en passe de devenir la norme ISO 19757-2 (langages de définitions
de schéma de documents=DSDL). Il reste moins connu en France que les schémas XML.
2. A quoi cela va ressembler !
XML ne dit rien sur la présentation du document
XSL (Extensible Stylesheet Language) et CSS (Cascading Style Sheets) sont des langages de
description de feuille de style, riches et puissants.
CSS est un langage plus simple que XSL, développé pour être utilisé avec HTML.
XLS se compose de deux segments : XSL/FO (langage permettant d'appliquer des styles à un document
XML) et XSLT (langage de transformation de document XML) pour réorganiser, ajouter ou supprimer des
balises et des attributs.
3. Comment faut-il traiter les documents XML !
XML ne dit rien sur la façon de traiter le document XML
XSLT (XSL - Transformations)
Un fichier contenant un document structuré XML doit pouvoir être exploité par différents systèmes
informatiques.
Le langage XSLT fournit un puissant langage de transformation qui permet de manipuler les fichiers XML
dans différentes structures ou formats pour permettre les échanges entre systèmes différents, et des
sorties vers divers périphériques.
4. Identifier ce qui est relié ou inclus dans un document XML
XML ne dit rien sur la façon de lier ou d’inclure des documents ou des parties
de documents à l’intérieur d’un même document XML
Le Web repose sur le principe de liens entre documents ou au sein d’un document.
Il existe trois recommandations spécifiques :
Xlink : méthode standard pour décrire des liens hypertextes dans un document XML.
XPointer et Xfragments : ce sont des syntaxes spécifiques pour pointer sur des parties d'un document
XML.
XInclude est un standard qui permet de composer un document XML à partir de plusieurs autres.
5. Comment encoder les contenus ?
XML ne dit rien sur contenus
Le document XML est auto-documenté : il contient les informations qui le décrivent et/ou la localisation
de cette information.
Sources des principaux standards
Traductions en Français : www.w3.org/2005/11/Translations/Lists/ListLang-fr.html
CSS (feuilles de style) : www.yoyodesign.org/doc/w3c/css2/cover.html
DOM (format de document) : //xmlfr.org/w3c/TR/REC-DOM-Level-1/
HTML : www.eisti.fr/eistiweb/docs/normes/html4/cover.html
HTTP : www.w3.org/Protocols/
PNG (multimédia) : www.w3.org/Graphics/PNG/
RDF : www.la-grange.net/w3c/REC-rdf-syntax/
Services Web : www.servicesweb.org
SKOS (thesaurus) : www.w3.org/2004/02/skos/
SMIL (multimédia) www.yoyodesign.org/doc/w3c/smil1/
SOAP/XMLP (échanges) : www.w3.org/2000/xp/Group/
SVG (graphique) : www.yoyodesign.org/doc/w3c/svg1/
URI/URL : www.w3.org/Addressing/
XHTML www.la-grange.net/w3c/xhtml11/
Xlink : www.w3.org/XML/Linking XPath : //xmlfr.org/w3c/TR/xpath
XML 1.0 (3è éd) : www.w3.org/TR/REC-xml/ XSL: www.yoyodesign.org/doc/w3c/xsl1/
XML Schema : //http://www.w3.org/TR/xmlschema-0/ XSLT : //xmlfr.org/w3c/TR/xslt/
XML Schema : //xmlfr.org/w3c/TR/xmlschema-0/ Logiciels XML : //www.xmlsoftware.com
XMLQuery : www.w3.org/XML/Query Dublin Core : //dublincore.org/index.shtml
XMLSignature : //www.w3.org/Signature/ En Documentation //peccatte.karefil.com
Note établie à partir de : XML. Daniel Rivers-Moore de RivCom, UER – Revue Technique– Sélection 2001 (287-