Vous êtes sur la page 1sur 17

La nébuleuse des standards XML

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.

Sylvie Dalbin, Février 2006


Note établie dans le cadre d’une formation dédiée aux TiC dans les systèmes d’information documentaires.
PREALABLE 1 – W3C et OASIS, consortium du Web

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.

Site du W3C : http://www.w3.org et rapports techniques : http://www.w3.org/TR/


Traductions en français : http://www.w3.org/2005/11/Translations/Lists/ListLang-fr.html
Site d’OASIS : http://www.oasis-open.org
PREALABLE 2 – Un document XML

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.

a) DTD (Définition de type de document = Document Type Definition)


La DTD est un document (au format texte) qui décrit les règles à appliquer pour organiser la structure
d’un document XML. Les prescriptions fournies couvrent les balises ou les noms des éléments qui
peuvent ou doivent être utilisés pour structurer le document, les attributs attachés à ces éléments
(forme des dates…) et la mise en séquence et la structure finale du document.
La DTD Dublin Core définit la structure pour la description minimale des notices des ressources électroniques
NewsML est une DTD pour la description des messages d’actualité,…

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

Des contenus « métier » (formules chimiques, mathématiques, géographiques, nouvelles de presse,


documents pédagogiques,…)
MathML pour des formules mathématiques
CML pour des séquences moléculaires
NewML pour des informations d’actualité
BiblioML pour des notices au format MARC
Atom (Oasis) ou RSS pour les billets des blogs
P3P pour les préférences de confidentialité

Des données non textuelles (images, animations,…)


SVG (Scalable Vector Graphics) pour les objets graphiques à 2 dimensions
PNG (Portable Network Graphics) pour les images numériques
SMIL (Synchronized Multimedia Integration Language) pour les objets multimédias
X3D pour des objets à trois dimensions
Unicode (ISO 10646) pour l’encodage des données textuelles
6. Comment prendre en compte tous les utilisateurs ?
Pour que le Web soit accessible au plus grand nombre, quel que soit leur handicap (visuels, auditifs,
physiques, cognitifs ou neurologiques) et plus largement quel que soit leur équipement (navigateur, ordinateur
embarqué, logiciel vocal, téléphone mobile…) ou leur environnement d’utilisation (main libre, lieu bruyant…), le
W3X a développé à l’attention des créateurs de contenu et de site Web, des Guides pour s’assurer que
les technologies du Web dont XML soient compatibles avec ce critère d’accessibilité.
Web Content Accessibility (WAI) Guidelines 2.0 (WCAG 2.0)
7. Regardez là pour comprendre ce que cela veut dire !
XML ne dit rien sur les règles qui ont été utilisées
pour définir telle ou telle catégorie de documents XML
XML est « eXtensible » c’est-à-dire qu’il permet de définir un nouveau format de document en associant
et en réutilisant d'autres formats préexistants. Il peut donc exister dans un document XML des
ambiguïtés. Pour éviter tout conflit lors de l’utilisation de plusieurs formats, XML fournit un mécanisme
appelé « espaces de noms » (namespace) qui permet de lever ces ambiguïtés. Dans un document
XML, cet espace de nom (ou de nommage) est déclaré à l'aide d'attributs réservés (xmlns ou xmlns). Ce
mécanisme offre une méthode simple pour préciser et qualifier les éléments de données et les attributs
utilisés dans des documents XML en leur associant des « espaces de noms».
En RDF, l’identification de l’espace de nom peut se faire grâce à un FPI (Format Public Identifier), un URL
(Uniform Resource Locator) ou URN (Universal Resource Name). Ce qui se traduit par un URI (Uniform
Resource Identifier).
8. Comment échanger et communiquer entre programmes informatiques ?
XML ne dit rien sur la façon dont on se sert d’un document XML
Les recommandations autour d’XML ne portent pas uniquement sur les documents eux-mêmes, mais
aussi sur les protocoles d’échanges et de transports entre programmes.
SOAP (Simple Object Access Protocol) est un langage d’échange qui formalise l’enveloppe pour le
transport, et un modèle pour les informations à transmettre
Les Services Web sont des composants « logiciel » d’une fonction applicative. Ils peuvent être
implémentés dans n'importe quel langage, déployé sur n'importe quelle plate-forme et enveloppé dans
une couche de standards dérivés du XML. Les Services Web s’articulent autour de : SOAP, d’un langage
de description des Services Web au format XML appelé le WSDL (Web Services Description Working Group),
et de UDDI (Universal Description, Discovery and integration) qui normalise les annuaires qui référencent les
Services Web exploitables.
XQuery est une recommandation qui permet d’élaborer des requêtes pour extraire des données de
documents ou collections de documents XML.
9. Comment publier un document XML ?
Le langage XHTML est le successeur de HTML. La syntaxe du langage HTML 4 a été légèrement
modifiée afin de se conformer aux règles du langage XML. XHTML 1.0 est une reformulation de HTML 4
en XML 1.0.
La version originale : http://www.w3.org/TR/xhtml1
La version française de la spécification : http://www.la-grange.net/w3c/xhtml1/
Exemple
<?xml version="1.0" encoding="UTF-8"?> Codage de caractères : UTF-8 (unicode)
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" Espace de nommage (xlmns) ce document suit le
standard RDF de 1999, et la DTD Dublin core dont
xmlns:dc="http://purl.org/dc/elements/1.1/">
les règles sont à l’adresse indiquée.
<rdf:Description rdf:about="http://www.adbs.fr»
<dc:title>Site de l’association des professionnels de l’information-documentation</dc:title>
<dc:author> ADBS </dc:author>
<dc:date>2006-01-05</dc:date> about : la ressource décrite
</rdf:Description>
</rdf:RDF> Les balises de la DTD Dublin Core (dc)

Partie du document en RDF

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-

Vous aimerez peut-être aussi