• Fondements de la technologie XML
• Modélisation et validation de documents XML
• Présentation des documents XML
• Programmation en utilisant XML
Fondements et notions de base
Notion de document électronique
• Définitions
– Objet qui joue un rôle de médiateur entre les hommes dans le temps et l’espace (échange d’information)
– Moyen de communication de la pensée, de la connaissance, de l’information et du savoir
– Un document est un « ensemble formé par un support et une information » (ISO TC-46)
– Se présente sous la forme de textes, tableaux, dessins, photos, …
– Un document a un contenu (structure logique) et un fond (structure physique)
Modèles de document
• Structure logique
– Décrit le contenu d’un document (information)
– Par exemple: Chapitre, section, paragraphes, figures, notes…
• Structure physique
– Décrit la forme et le support du document (formatage)
– Par exemple: tomes, pages, cadres, pavés, fenêtres
• Caractéristiques communes des 2 structures:
– Composées ou élémentaires (molécule / atomes)
– Générique ou spécifique (date / le 29-11-2006)
Exemple d’un document: Structure logique
<Article>
<Titre> XML: eXtensible Markup Language </Titre>
<Auteur>Wikipédia</Auteur>
<Section titre = « Introduction »>
<Paragraphe>XML (Extensible Markup Language, « langage de balisage extensible ») est un langage informatique de balisage générique. Le W3C recommande XML pour exprimer des langages de balisages spécifiques (exemples : XHTML, SVG, XSLT). …
</Paragraphe>
<Paragraphe> Son objectif initial est de faciliter l’échange automatisé de contenus entre systèmes d’informations hétérogènes, notamment, surInternet. XML est un sous-ensemble de SGML dont il retient plusieurs principes dont : la structure d’un document XML est définissable et validable par un schéma, un document XML est entièrement transformable dans un autre document XML. </Paragraphe>
</Section>
<Section titre= « Objectif initial »> …
</Section>
</article>
Exemple d’un document: Structure physique
<Article>
<Titre police= »Times » taille= »24″ position= »centré » format= »gras »/>
<Auteur police= »Times » taille= »20″ position= »centré »
format= »italique »/>
<Section numero= »1″ police= »Times » taille= »18″
position= »centré » format= » gras « />
<Paragraphe police= »Times » taille= »18″ position= »justifié »/>
</article>
World Wide Web Consortium
• W3C – Fondé en 1994
• Consortium industriel international accueilli par différents sites
– MIT/LCS aux Etats-Unis
– INRIA en Europe
– Keio University au Japon
• 448 membres industriels en septembre 2000
• Accroitre le potentiel du WEB
– Standards et Normes
– Techniques, langages et architectures pour l’échange de documents sur le WEB
Langages de représentation de documents
• Par ordre chronologique:
– SGML (Norme ISO 8879 en 1986, révisée en 1988 et 1994)
• Méta-langage général
– HTML (Standard W3C depuis 1989)
• Structure générale figée
– XML (Standard W3C depuis 1998)
• Méta-langage simplifié compatible SGML
SGML: présentation
• Une norme internationale :
– Standard Generalized Markup Language
– ISO 8879 – 1989
• Un métalangage de balisage de documents
– lisible par l’être humain et traitable par une machine
– permet de définir des langages de balisage
• Les documents sont balisés conformément à la grammaire (la DTD)
– instances de DTD
– permet un balisage sémantique du fond.
• Implique la notion de validité d’un document
SGML : objectifs
• Séparation du fond et de la forme
– possibilité de multiples présentations
– un seul document en SGML
– plusieurs formats : Postcript, HTML, etc.
• Support de traitements sur le contenu des documents sans prise en compte de la forme
• Proposition d’un cadre défini pour l’expression des modèles documentaires (validité, contrôle)
• Format de stockage et d’échange normalisé
SGML : critiques
• Très lourd et complexe pour la mise en œuvre de documents respectant ce format
• Une grande rigueur est demandée à l’entrée des documents
• Standard complexe et complet pour le traitement des documents
HTML : présentation
• Proposé par le W3C comme format de documents s le Web
• Langage simple avec des balises standardisées permettant la mise en forme d’un texte.
• Standard reconnu par tous les navigateurs.
• Langage très populaire sur le Web
<HTML>
<HEAD>
<TITLE> Exemple </TITLE>
</HEAD>
<BODY>
<H1>Contenu du document</H1>
<A HREF = « http://www.server.fr/Info /dir/test.html »> une référence externe</A>
</BODY>
</HTML>
HTML : inconvénients
• Normalisation des différentes balises difficile
– les constructeurs ont eu tendance à définir leurs propres balises
pour répondre à leurs besoins (incompatibilité)
– HTML est dédié pour un seul type de terminaux
• Mises à jour difficiles
– restructuration ou remise en forme de l’ensemble des pages du
site fastidieux
– Incapacité d’extension sans « plugins » coté client (formules
mathématiques, modélisations de molécules, scènes 3D…)
• Mélange de structures logique et physique
– données utiles mélangée avec la mise en forme
– Difficultés à trouver l’information recherchée
SGML et HTML : Résumé
• SGML
– lange puissant pouvant décrire toute structure
– Documents difficile à définir
– Documents difficiles à utiliser
• HTML
– spécialisation de SGML
– adapté à la présentation
– inadapté à l’échange entre programmes
XML : Présentation
• XML= un nouveau langage d’échange basé sur le balisage
• XML= plus simple que SGML
• XML= plus ouvert que HTML
• XML = développé par XML Working Group dirigé par le W3C (depuis 1996)
• XML 1.0 = recommandation officielle du W3C depuis le 10 février 1998
XML: objectifs fixés par le W3C (1)
• XML doit pouvoir être utilisé sans difficulté sur Internet
• XML doit soutenir une grande variété d’applications
• XML doit être compatible avec SGML et HTML
• Il doit être facile d’écrire des programmes traitant les documents XML
• Le nombre d’options dans XML doit être réduit au minimum, idéalement à aucune
XML: objectifs fixés par le W3C (2)
• Les documents XML doivent être lisibles par l’homme
• Les documents XML doivent être raisonnablement clairs
• La spécification de XML doit être disponible rapidement
• La conception de XML doit être formelle et concise
• Il doit être facile de créer des documents XML
…