Vous êtes sur la page 1sur 20

Plan Introduction XML

Par Yves Bekkers


Mise jour : 4 dcembre 2006

Balisage textuel Un peu dhistoire XML - concepts de base Outils de la galaxie XML Exemples dapplications Conclusions
XML - Yves Bekkers - IFSIC 2

XML - Yves Bekkers - IFSIC

Le balisage une longue histoire


Balisages des manuscrits pour l'imprimerie Balisages des documents numriques
Photocomposition Unix : troff, Latex GML - SGML

Balisage textuel

XML - Yves Bekkers - IFSIC

XML - Yves Bekkers - IFSIC

Des manuscrits pour l'imprimerie


Balisage : processus par lequel un rdacteur introduisait des marques (balises) dans un manuscrit pour indiquer limprimeur comment composer (formater) le manuscrit. Balise : gnralement, commentaire crit la main :
composer le titre avec la police Hevetica-mdiumItalic corps 12 et avec un interlignage de 14 points, justifi sur une largeur de 22 picas avec renfoncement de un demi cadratin gauche et de zro droite
XML - Yves Bekkers - IFSIC 5 XML - Yves Bekkers - IFSIC 6

Le balisage de texte numriques avant les rseaux

Photo-composition
le langage Nortext-100 de Norsk Data
<CC 15,5,12>On demande la police numro 5, en corps 12 et avec une justification de 15 units. <SS><QL> <CC 20,8>Maintenant. on prend la police 8 et une justification de 20 units. <QL> <RS>Et maintenant on repart avec les valeurs typographiques initiales.<EP>
XML - Yves Bekkers - IFSIC 7

Troff
Une commande Unix pour le formatage de texte
.\" @(#)troff.1 1.66 95/10/09 SMI; .TH troff 1 "6 Oct 1992" .SH NAME troff \- typeset or format documents .SH SYNOPSIS .B troff

XML - Yves Bekkers - IFSIC

Tex & LaTex


Quoi : langage pour dcrire des documents imprims de qualit Par qui : Donald Knuth Quand : 1970-1980
\noindent Ce texte comporte 3 pages\hfill \vspace*{1cm} \section{Analyse syntaxique et les DCG} La syntaxe BNF offre des oprateurs tels que ``|'' qui signifie un choix parmi
XML - Yves Bekkers - IFSIC 9

Balisage de documents numriques pour le WEB


Exemples

XML - Yves Bekkers - IFSIC

10

Visualiser une carte de visite


Exemple
Yves Bekkers IFSIC 42 avenue gnral Leclerc 35042 Rennes Enseigne XML au SEP de Rennes 1

HTML
(visualis par Mozilla)

Trois manires de visualiser ce contenu sur le WEB


Sur un cran : HTML Par impression : PDF Graphique : SVG
XML - Yves Bekkers - IFSIC 11 XML - Yves Bekkers - IFSIC 12

PDF
(visualis par Acrobat)

Graphe SVG
(visualis par Mozilla + Adobe SVG-Viewer)

XML - Yves Bekkers - IFSIC

13

XML - Yves Bekkers - IFSIC

14

Question-rponse
Question
Quest ce qui relie ces trois exemples ?

Carte de visite en html


<html> <head><title>Carte de visite</title></head> <body> <p>Yves Bekkers</p> <p>IFSIC</p> <p>42 avenue gnral Leclerc</p> <p>35042 Rennes</p> <p>Enseigne <em>XML</em> au SEP de Rennes 1</p> </body> </html>
15 XML - Yves Bekkers - IFSIC 16

Rponse
Documents structurs Les langages balises

XML - Yves Bekkers - IFSIC

Arbre - HTML

Utilisation du format HTML

Netscape ou IExplorer

XML - Yves Bekkers - IFSIC

17

XML - Yves Bekkers - IFSIC

18

Format imprimable Xsl-FO


<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="first" margin-left="2cm" margin-right="2cm" margin-bottom="0.5cm" margin-top="0.75cm"> <fo:region-body /> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-name="first"> <fo:flow flow-name="xsl-region-body" font-size="16pt"> <fo:block>Yves Bekkers</fo:block> <fo:block>IFSIC</fo:block> <fo:block>42 avenue Gnral Leclerc</fo:block> <fo:block>35042 Rennes</fo:block> <fo:block>Enseigne <fo:inline font-style="italic"> XML</fo:inline> au SEP de Rennes 1</fo:block> </fo:flow> </fo:page-sequence> XML - Yves Bekkers - IFSIC 19 </fo:root>

Arbre - format FO

XML - Yves Bekkers - IFSIC

20

Utilisation du format FO
Processeur FOP dApache pdf

Carte de Visite graphique en SVG


<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%"> <defs><path id="MyPath" d="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"/></defs> <use xlink:href="#MyPath" fill="none" stroke="red"/> <text font-family="Verdana" font-size="19" fill="blue"> <textPath xlink:href="#MyPath"> Yves Bekkers, IFSIC, 42 avenue Gnral Leclerc, 35042 Rennes, Enseigne XML au SEP de Rennes 1 </textPath> </text> XML - Yves Bekkers - IFSIC 22 </svg>

Acrobat

XML - Yves Bekkers - IFSIC

21

Arbre SVG

Utilisation du format SVG

Netscape ou Iexplorer + Adobe viewer

XML - Yves Bekkers - IFSIC

23

XML - Yves Bekkers - IFSIC

24

A propos de ces trois exemples


Quatre outils
Netscape IExplorer Processeur FOP dApache Adobe SVG viewer

Une mme information trois structures

Le problme :
tre en mesure de diffrencier la forme du fond au sein dun document La solution : les langages balise
XML - Yves Bekkers - IFSIC 25 XML - Yves Bekkers - IFSIC 26

Trois langages balises


trois dialectes xml
xhtml Xsl-FO

Un peu d'histoire

svg

SGML, HTML les deux prcurseurs dXML

XML - Yves Bekkers - IFSIC

27

XML - Yves Bekkers - IFSIC

28

GML premire normalisation du balisage


Quoi : unifier trois systmes disparates
une application ddition de texte, une application de composition une base pour linterrogation documentaire.

GML : comment
Des documents contenant un mlange harmonieux :
dinformation et de mta-information de structure

Par qui : Charles Goldfarb O : IBM, New York Pour qui : un consortium davocats Quand : 1969
XML - Yves Bekkers - IFSIC 29

Documents comprhensibles par les machines Documents textuels faciles mettre en uvre
ditables laide de nimporte quel diteur de texte
XML - Yves Bekkers - IFSIC 30

Un exemple de dialect GML (1978)

GML : comment (bis)


Comme les bases de donnes
On peut rechercher linformation par son contenu On peut tiqueter linformation par identificateur unique

DCF (Document Composition Facility), un anctre de html


Le premier dialect GML qui Goldfarb va donner une DTD.
:h1.Chapter 1: Introduction :p.GML supported hierarchical containers, such as :ol. :li.Ordered lists (like this one), :li.Unordered lists, and :li.Definition lists :eol. as well as simple structures. :p.Markup minimization (later generalized and formalized in SGML), allowed the end-tags to be omitted for the "h1" and "p" elements.
31 XML - Yves Bekkers - IFSIC 32

XML - Yves Bekkers - IFSIC

GML un norme succs


La mise en oeuvre est gnrique, elle sapplique dautres types de documents
Exemple : documenter un porte avion pour le DOD

Naissance dHTML
Contexte : 1991, gnralisation des rseaux Problme : afficher en nimporte quel point dun rseau de linformation conserve de manire rpartie sur divers machines du rseaux Qui : Tim Berners-Lee, CERN

1986 norme ISO (ISO 8879) pour Standard GML (SGML)

XML - Yves Bekkers - IFSIC

33

XML - Yves Bekkers - IFSIC

34

Solution au problme de publication sur rseau (1)


Contexte : dj 15 ans d'exprience SGML On conoit un dialecte de SGML pour dcrire dans un mme document linformation et son mode de prsentation La simplicit du langage garantit quon peut raliser rapidement sur toute machine des processeurs de prsentation des documents : naissance des XML navigateurs - Yves Bekkers - IFSIC 35

Solution au problme de publication sur rseau (2)


Contexte : SGML ne prend pas en compte la dimension rseau Solution : On tend le dialecte SGML par un systme dadressage universel des documents travers les rseaux
naissance des liens hypertexte ou URLs
XML - Yves Bekkers - IFSIC 36

Solution au problme de publication sur rseau (3)


Contexte : De nouveaux types de documents tels que des images et du son, ont fait leur apparition. Solution : On tend les possibilits daffichage des navigateurs
naissance du multimdia
XML - Yves Bekkers - IFSIC 37

HTML - les avantages


Un langage balise issu de SGML permettant de transporter en mme temps linformation et la mta-information qui dcrit sa prsentation Accs rparti sur le rseau grce aux liens hypertexte Extension de la notion daffiche dautres documents que les textes, introduction du multimdia XML - Yves Bekkers - IFSIC 38

HTML un norme succs mais ...


Succs repris par Le World Wide Web Consortium (W3C) structuration limite
lie l'dition sur cran

Rflexions issues de lexprience HTML


Le World Wide Web Consortium (W3C) Crer en 1996 d'un groupe de rflexion sur SGML et HTML Ide : recherche dun schma gnral de langage pour la structuration de l'information et sa communication sur le WEB Intrt : mise en commun des efforts
par des outils par des normes complmentaires XML - Yves Bekkers - IFSIC
40

cache la structure logique liens hypertexte trop pauvres mta-donnes pas assez riches simple ==> compliqu
plus de 100 balises normalises, foisonnement des XML - Yves Bekkers - IFSIC 39 balises propritaires

Conclusions du groupe de Travail


Rsultats donns en 1998 Prendre SGML
sa simplicit l'accessibilit l'information la gnricit (pas de balise prdfinie)

HTML versus XML


HTML publication hypertexte sur cran XML gnricit + change de donnes
pas de balises normalises, l'auteur cre ses propres balises balisages plus strict pour simplifier le traitement des documents la casse des caractres dans les noms d'lments est significative Structurer linformation selon sa propre logique

Prendre HTML
liens hypertexte en les gnralisant notion de document multimdia La notion de mta-donnes en la gnralisant
XML - Yves Bekkers - IFSIC 41

XML - Yves Bekkers - IFSIC

42

Carte de visite logique Les dates


1969 naissance de GML -------------------------------GML SGML Tim Berners-Lee - CERN HTML Charles Goldfarb - IBM

1980 premier draft sur SGML -------------------------1986 norme ISO pour SGML 1991 naissance d'HTML et du premier navigateur ---1993 explosion du WEB 1996 constat de limites d'HTML 1997 norme HTML 4 par le WWW -----------------1998 publication de "XML, Java et le futur du WEB" ---1999 norme XHTML -------------------------------------

HTML4 XML XHTML


43

XML - Yves Bekkers - IFSIC

<carteDeVisite> <prnom>Yves</prnom> <nom>Bekkers</nom> <organisme>IFSIC</organisme> <adresse> <numro>42</numro> <voie type="avenue">Gnral Leclerc</voie> <ville codepostal="35042">Rennes</ville> </adresse> <note> Enseigne <cl>XML</cl> au SEP de Rennes 1 </note> XML - Yves Bekkers - IFSIC 44 </carteDeVisite>

Arbre logique

Le prix dun arbre logique (1)


?

Navigateur
XML - Yves Bekkers - IFSIC 45 XML - Yves Bekkers - IFSIC 46

Le prix dun arbre logique (2)


Prog. Feuille de style

Intrt dun arbre logique

Processeur XSLT html Navigateur Xsl-FO svg

Un mme source, de multiples formatages diffrents


47 XML - Yves Bekkers - IFSIC 48

XML - Yves Bekkers - IFSIC

XHTML
XHTML = HTML + XML
plus qu'un simple changement de syntaxe production automatique de table des matires production automatique de multiples versions combinaison avec d'autres documents (MathML, SVG, ...) modularit ( venir)

XHTML versus XML


XHTML un dialecte XML ddi la prsentation
<body> <p><b>Titre</b> : XSLT : Programmer's Reference</p> <p><b>Auteur</b> : Michael Kay</p> <p><b>Pages</b> : 392</p> <p><b>Editeur</b> : Wrox</p> <p><b>Srie</b> : Programmer to Programmer</p> </body>

XML des dialectes qui permettent la recherche par le contenu


<livre> <titre>XSLT : Programmer's Reference</titre> <auteur>Michael Kay</auteur> <pages>392</pages> <editeur>Wrox</editeur> <serie>Programmer to Programmer</serie> </livre>
XML - Yves Bekkers - IFSIC

diter du xhtml : Amaya produire du xhtml avec du html : Tidy


XML - Yves Bekkers - IFSIC 49

50

Les trois dimensions de XML XML


Publication

eXtensible Markup Language


SGML XML SGBD
Systme d'information

LATEX

HTML

Concepts de base

URL
Adressage hypertexte

XML - Yves Bekkers - IFSIC

51

XML - Yves Bekkers - IFSIC

52

Elment
Un nom + des attributs ventuels + un contenu <nom attr1="val1" > contenu </nom>

La forme + le fond
La forme

Balise d'ouverture Contenu

<p>

Le fond

Yves Bekkers </p>

Balise de dbut avec un nom + balise de fin avec le mme nom 2 Exemples :
<p> Yves Bekkers </p>

Balise de fermeture
<personne> <prnom>Yves</prnom> <nom>Bekkers</nom> </personne>
XML - Yves Bekkers - IFSIC 53

A limage des SGBD, un document XML contient le texte et son rfrent


XML - Yves Bekkers - IFSIC 54

Contenu dlment
Quatre

types de contenus
<p> Yves Bekkers </p> <body> <p></p> <p></p> </body> <p> enseigne <em>XML</em> au SEP de Rennes1 </p> <br></br>
XML - Yves Bekkers - IFSIC 55

lments contenu vide


<br></br> Raccourci autoris <br/>

Texte Elments Contenu mixte

Vide

XML - Yves Bekkers - IFSIC

56

Construire des arbres


<p> enseigne <em>XML</em> au SEP de Rennes1 </p>
P enseigne em XML
XML - Yves Bekkers - IFSIC 57

Attribut
Quoi : un nom + une valeur O : au sein de balise ouvrante dlment Signification : qualifie llment Exemple :

au SEP de Rennes1

<fo:inline font-style="italic"> XML </fo:inline>

XML - Yves Bekkers - IFSIC

58

Attribut (bis)
Exemple dlment : <fo:inline font-style="italic"> XML </fo:inline>
fo:inline

Documents bien forms

et son arbre :

XML

@font-style italic

XML - Yves Bekkers - IFSIC

59

XML - Yves Bekkers - IFSIC

60

10

Structure dun document - exemple Structure dun document XML


Un Prologue (ventuellement) Un lment racine (et un seul)
arbre d'lments et leurs attributs
<?xml version="1.0" encoding="ISO-8859-1"?> Prologue <!-- ceci est une carte de visite --> <carteDeVisite> Commentaire <prnom>Yves</prnom> <nom>Bekkers</nom> lment racine <adresse> <numro>42</numro> <voie type="avenue">gnral Leclerc</voie> <ville codepostal="35042">Rennes</ville> </adresse> <note> Enseigne <cl>XML</cl> au SEP de Rennes 1 </note> </carteDeVisite>
61 XML - Yves Bekkers - IFSIC 62

Des Commentaires Des instructions de traitement

XML - Yves Bekkers - IFSIC

Document bien form


Rgle : Un document XML comporte un seul lment racine
<?xml version="1.0"?> <livre>XLST Programmer's reference</livre> <livre>XML et Java</livre>

Document bien form (bis)


Rgle : Le parenthsage doit tre correct <a><b></b></a> est bien form, quivalent [ ( ) ]

Est interdit

<a><b></a></b>
Rgle : Toute balise ouvrante doit avoir sa balise fermante <br> sans </br> est interdit en XML
XML - Yves Bekkers - IFSIC 63

est mal form, quivalent [ ( ] )


XML - Yves Bekkers - IFSIC 64

Syntaxe des noms dlment (exemples)


Name

Syntaxe des noms dlments (bis)


::=(Letter | '_' | ':') (NameChar)* ::= Letter | Digit | '.' | '-' | '_' | ':' ::= 0 | 1 | | 9 Toutes les lettres de tous les alphabets (par exemple les lettres accentues de l'alphabet latin)
XML - Yves Bekkers - IFSIC 66

nom prnom -la-ligne xsl:value-of n123 dcompte.client first_name


XML - Yves Bekkers - IFSIC 65

NameChar Digit Letter

11

Syntaxe des noms dlments (ter)


Rgle : Les majuscules et les minuscules sont diffrencies (plus stricte quHTML)

Notation des valeurs dattributs


Rgle : Les valeurs dattribut doivent tre encadres par des doubles cotes " ou des simples cotes mais <a href=monFichier></a> est interdit (plus stricte quHTML)

XML - Yves Bekkers - IFSIC

67

XML - Yves Bekkers - IFSIC

68

Attribut
Rgle : Un attribut pour un lment donn ne peut avoir quune seule valeur Exemple <a href="val1" href="val2"> ... </a> est interdit
XML - Yves Bekkers - IFSIC 69

Composants complmentaires
Entits (macro)
dclaration <!ENTITY lp "lambdaProlog"> rfrence &lp;

Commentaires
<!-- ceci est un commentaire -->

Instructions de traitement
<?nom arg1 arg2 ... argn ?>

Sections littrales (chappements)


<![CDATA[if i < 2 then i++]]>

XML - Yves Bekkers - IFSIC

70

Instructions de traitement Exemples


Schma d'une instruction de traitement
<?nom arg1 arg2 ... argn ?>

Rsum
Un document XML est compos de
lments
Texte Autres lments Mixte (texte + lments) Vide

Appel d'un processeur XSLT


<?xml-stylesheet type="text/xsl" href="myXsl.xslt"?>

Rfrence une feuille de stype CSS


<?xml-stylesheet type="text/css" href="myCss.css"?>

Commentaires Instructions de traitement Sections littrales


XML - Yves Bekkers - IFSIC 72

XML - Yves Bekkers - IFSIC

71

12

Exemple complet
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- ceci est un document XML --> <?xml-stylesheet type="text/css" href="prog.css"?> <programme id="p1"> <!- Instruction conditionnelle --> <instruction> <test><![CDATA[x < 2]]></test> <instruction>x = x +1</instruction> <instruction> </programme>

Codage

Attention
La premire ligne ne fait pas partie du document, elle est consomme au moment de la lecture du document par les applications
XML - Yves Bekkers - IFSIC 73 XML - Yves Bekkers - IFSIC 74

Codage
Deux niveaux de codage
codage externe : dpendant des outils de saisie codage interne : Unicode
Ascii, UTF8, IsoLatin-1, ... Unicode

Unicode
Codage sur 16 bits (au dbut) 21 bit actuellement Ambitieux : toutes les langues de la terre Unification : liminer les redondances Spare la dfinition du jeu de caractres (la liste des caractres, leur nom et leur index) de celle de l'encodage
on ne peut donc pas parler de la taille d'un caractre Unicode (dpend de l'encodage choisi )

Prs de 100000 caractres

Dtection semi automatique du type de codage externe


s'aide du premier caractre de la premire ligne : "<"
XML - Yves Bekkers - IFSIC 75

caractres composites

Convertibilit
Ascii dans le bas du tableau

>1000 pages de dfinitions ...


XML - Yves Bekkers - IFSIC 76

Composition de caractres
Unicode ne code pas les descriptions des caractres, les glyphes c'est--dire la reprsentation graphique du caractre. ainsi, le caractre franais peut-il tre dcrit de deux manires :
en utilisant directement le numro correspondant au , en faisant suivre le numro du 'e' par celui de l'accent aigu sans chasse. Quelle que soit l'option choisie le mme glyphe sera affich. On dira du premier caractre qu'il est prcompos, du second que c'est une composition (deux caractres forment un seul glyphe compos des deux).

Partionnement
0000..007F; Latin de base 0080..00FF; Supplment Latin-1 ... 0370..03FF; Grec et copte 0400..04FF; Cyrillique 0500..052F; Supplment cyrillique 0530..058F; Armnien 0590..05FF; Hbreu 0600..06FF; Arabe ... 1780..17FF; Khmer 1800..18AF; Mongol ... 10100..1013F; Nombres gens ... 1D000..1D0FF; Symboles musicaux byzantins 1D100..1D1FF; Symboles musicaux occidentaux XML - Yves Bekkers - IFSIC ...

De nombreux glyphes peuvent tre cods de ces deux manires. Le plus souvent, le glyphe prcompos est prfrable
XML - Yves Bekkers - IFSIC 77

78

13

Codages externes - exemples Codage externe


Dpend de loutil utilis pour la saisie du document et du systme qui le supporte :
Word sous windows Emacs sous linux

Ascii ou Iso 646 (adopt en 1963)


Codage 7 bits (27 = 128 caractres)

Latin 1 (ISO-8859-1)
Codage 8 bits (27 = 256 caractres), les 128 premiers caractres sont ceux dAscii (manque le )

Latin 9 (ISO-8859-15)
Codage 8 bits (28 = 256 caractres), lgre modification de Latin 1 apparition de : , , et
79 XML - Yves Bekkers - IFSIC 80

XML - Yves Bekkers - IFSIC

UTF Unicode Transformation Format


Unicode accepte plusieurs formes de prsentation pour reprsenter un caractre (au sens de symbole). UTF8 (le plus courant)
codage sur une squence d'octets (1 4) nombreuses proprits intressantes pour les logiciels de traitement
ASCII sur un seul caractre Chaque octet une nature qui facilite la reconnaissance du multi-octet

Exemple - le symbole Euro


Glyphe (il) Code Unicode Latin 9 UTF8 (3 octets)

UTF16 (java, Windows)


codage sur une squence d'octets (2 ou 4)

UTF32 Le chiffre aprs UTF reprsente le nombre minimal de bits avec lequel un caractre est cod.
XML - Yves Bekkers - IFSIC 81

UTF16

20AC A4 11100010 10000010 10101100 20AC

XML - Yves Bekkers - IFSIC

82

Dsigner un caractre par son code


Notation qui permet de dsigner un caractre par son code unicode
Rfrence En dcimal En hexadcimal
&#238; &#x2200; &#x0152; &#xA9;

Caractres spciaux
Cinq entits prdfinies
Rfrence
&amp; &lt; &gt; &apos; &quot;

Glyphe & < > ' "

Nom ampersand plus petit plus grand apostrophe double quote

Caractre

Exemple d'utilisation : "le gte et le couvert"


<titre>le g&#238;te et le couvert<titre>
XML - Yves Bekkers - IFSIC 83

Exemple d'utilisation : "A >5"


<if>A &gt; 5</if>
XML - Yves Bekkers - IFSIC 84

14

Gnricit d'XML
XML comme SGML nest pas un langage
cest un cadre pour dfinir des langages

Chaque application dfinit son (ses) dialect(s)

Notion de dialects XML

Un dialect = un type de document

Il existe des grammaires pour dfinir les dialects


DTD, Schma XML,
Contexte SGBDR Programmation objet XML Mta donnes Dfinition de schma Dfinition de classe DTD, XMLShema
XML - Yves Bekkers - IFSIC

Information Instance de table Instance de classe Document XML


86

XML - Yves Bekkers - IFSIC

85

Exemple de DTD
<!ELEMENT carteDeVisite (prnom, nom, organisme, adresse)> <!ELEMENT prnom (#PCDATA) > <!ELEMENT nom (#PCDATA) > <!ELEMENT organisme (#PCDATA) > <!ELEMENT adresse (numro, voie, ville)> <!ELEMENT numro (#PCDATA) > <!ELEMENT voie (#PCDATA) > <!ATTLIST voie type (rue | avenue | impasse | cours | square | boulevard | chemin | quai | route | passage | place | rondPoint ) 'rue' > <!ELEMENT ville (#PCDATA) > <!ATTLIST ville codepostal CDATA #IMPLIED >
XML - Yves Bekkers - IFSIC 87

Dclaration de DTD
Dans le prologue du document Dclaration interne
<!DOCTYPE carteDeVisite [ ... dclarations ... ]>

Dclaration externe, la chane est une URL


<!DOCTYPE carteDeVisite SYSTEM "maDTD.dtd">

Dclaration mixte
<!DOCTYPE carteDeVisite SYSTEM "maDTD.dtd" [ ... dclarations ... ]>
XML - Yves Bekkers - IFSIC 88

Dclaration externe public


Exemple
dclaration pour un document SVG 1.0
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG20010904/DTD/svg10.dtd">
DTD

Validation de document

La premire chane est une identification


Le systme cherche une correspondance dans des tables internes

XML

Analyse syntaxique niveau 1

Bien form

Analyse syntaxique niveau 2

Valide selon une DTD

La seconde chane est une URL


utiliser en cas de dfaut de la premire
XML - Yves Bekkers - IFSIC 89 XML - Yves Bekkers - IFSIC 90

15

Liens internes
MyPath

Structurer en graphe
Lien

<path id="MyPath" d="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"/> <use xlink:href="#MyPath fill="none" stroke="red"/>
XML - Yves Bekkers - IFSIC 91 XML - Yves Bekkers - IFSIC 92

Modularit des documents Liens externes


<livre> <chapitre href="chap1.xml"/> <chapitre href="chap2.xml"/> <chapitre href="chap3.xml"/> </livre>

La galaxie XML

Document compos de plusieurs documents Hritage dHTML


XML - Yves Bekkers - IFSIC 93 XML - Yves Bekkers - IFSIC 94

Galaxie des normes par catgories


Formatage Transformation de documents
XSL = XSLT + XSLFO CSS Documents XML XPATH XML Schema XML Namespace

Interrogation de documents
XML Query RDF

Dfinition de documents
DTD

Quelques dtails sur principaux composants de la galaxie XML

XLINK

XPointer

Analyseur DOM

Analyseur SAX

Relations entre documents


XML - Yves Bekkers - IFSIC

Manipulation de documents par programme


95 XML - Yves Bekkers - IFSIC 96

16

Feuille de style CSS Visualisation de documents


Exemple : visualiser un carnet d'adresses
Le document carnetDAdresse.xml CSS Cascading Style Sheets
Conu pour les langages balise (HTML, XML) Permet d'associer des proprits de prsentation des balises Partage : peuvent tre crites dans une page spare.
<?xml-stylesheet type="text/css" href="fic.css" charset="ISO-8859-1"?>

Deux possibilits
Appliquer une feuille de style CSS au document XML
Appliquer

Exemple de dfinition de proprit


prnom,organisme,note { text-align: left; margin-top: 12.000000pt; margin-bottom: 6.000000pt; font-size: 12.000000pt; font-weight: medium; font-style: Regular; color: #000000; font-family: "Times New Roman"; }
97 XML - Yves Bekkers - IFSIC 98

Transformer le document xml en html l'aide d'XSLT


Transformer
XML - Yves Bekkers - IFSIC

Transformation XSL
XSL (eXtensible Stylesheet Language) Le langage Perl dXML Trois parties
Xpath : langage pour adresser les nuds dun arbre XSLT : langage de transformation XSL-FO : langage de formatage
XML - Yves Bekkers - IFSIC 99

Transformation de document (1)


XSL
Feuille de style

+
XML Documents

XSL-FO

imprimante

XML - Yves Bekkers - IFSIC

100

Transformation de document (2)


XSL
Feuille de style 1 XSL-FO

Limites de CSS par rapport XSLT


CSS ne permet pas de visualiser les attributs CSS ne permet pas de rarranger l'information CSS n'offre pas de vrai moyen de faire des calculs La cible ne peut pas tre un autre dialecte XML (CSS est un outil de prsentation)

+
XML Documents Feuille de style 2

imprimante

+ XSL

HTML cran

XML - Yves Bekkers - IFSIC

101

XML - Yves Bekkers - IFSIC

102

17

Quatres moyens dutiliser une feuille de style XSLT

XML NameSpace Espaces de noms


Objectif : faire cohabiter au sein dun mme document des lments appartenant des dialectes diffrents Comment : Mise en place dun mcanisme de prfixes de nom
Dclaration de prfixe au sein dune balise ouvrante
<p xmlns:M='http://www.w3.org/RECMathML'>

Utilisation de prfixe
<M:mfrac>
XML - Yves Bekkers - IFSIC 103 XML - Yves Bekkers - IFSIC 104

Mta-donnes
Des donnes propos des donnes, pour dcrire l'information RDF : Resource Description Framework Lisible lil, comprhensible par les machines Norme gnrique : proprits (ou relations) dfinir pour chaque domaine d'application Applications : cartes de site, tiquetage, recherche d'information, bibliothques lectroniques, dition cooprative, proprit intellectuelle, commerce lectronique, etc.
XML - Yves Bekkers - IFSIC 105

Exemples dapplication
SVG Graphiques structurs, vectoriss SMIL Synchronisation de documents multimdia MathML Manipulation de formules mathmatiques XUL Le langage dinterface de Mozilla exemples.html
XML - Yves Bekkers - IFSIC 106

Editeurs
Conception d'applications
Emacs avec mode sgml XML spy (trs cher, Windows uniquement) Eclipse avec le plugin XMLBuddy, Bocaloco Software Eclipse WTP Amaya (XML, mathML, SVG, XHTML)

Conclusions

Exploitation :
diteurs graphiques qui masquent le code Exemples : White all, Xmetal, XML spy

XML - Yves Bekkers - IFSIC

107

XML - Yves Bekkers - IFSIC

108

18

Quest ce quXML
XML est une mthode pour conserver des donnes structures dans des fichiers texte XML est une technologie (famille de norme, doutils, espace ouvert pour dfinir des dialectes propritaires) XML ressemble HML mais ne remplace pas HTML XML ressemble aux SGBD mais ne remplace pas un SGBD XML est un texte (pas toujours fait pour un humain) XML est bavard (mais cela nest pas un problme) XML nest pas si nouveau que a
XML - Yves Bekkers - IFSIC 109

A propos de vocabulaire
Les mots document et feuille de style sont hrits de l'dition
GML tait un projet d'dition HTML est un langage d'dition

Les mots sont trompeurs


XML est un systme d'information plus qu'un systme d'dition On peut interroger un document par son contenu, le transformer
XML - Yves Bekkers - IFSIC 110

Similitude avec les SGBDR


Structure Mta information Information Contrainte d'unicit Intgrit de rfrence Langage de manipulation SGBDR Relation (table) Langage de dfinition Contenu de table Cl primaire Cl trangre SQL
XML - Yves Bekkers - IFSIC

SGBD-XML-HTML
SGBD, XML, HTML ne sont pas des technologies concurrentes
Elles sont complmentaires
Xml en aval SGBD des SGBD Xml en amont de HTML HTML

XML Arbre DTD - XML Schma Instance de document Attribut ID Attribut IDREF

XML

PDF

XSLT
111 XML - Yves Bekkers - IFSIC 112

Multiples applications d'XML


diffusion de contenu sur le web
complment HTML, CSS, aux SGBD

Apport dXML
Gains qualitatifs
robustesse :
force labstraction un unique niveau dabstraction

change entre applications distribues


EDI, Ebisness,

archivage :
fichiers de configuration information au faible dynamisme (annuaires)

partage des efforts : mutualisation des outils technologie ouverte : qui va traverser le temps simplicit : texte ditable

Gains quantitatifs
mise en uvre rapide car elle est directe
113 XML - Yves Bekkers - IFSIC 114

gestion de la connaissance
XML - Yves Bekkers - IFSIC

19

Quelques rfrences
Le site XML du W3C
http://www.w3.org/XML/

Livre en franais (concis)


XML prcis et concis
OReilly, par Robert Eckstein et Michel Casabianca

Un site francophone XML


http://www.chez.com/xml/

Un glossaire XML
http://www.xmlstarterkit.com/xmlzone/glossary.htm

Une histoire des langages balise


http://www.gutenberg.eu.org/pub/GUTenberg/publi cations/cahiers.html#Cahier12

XML - Yves Bekkers - IFSIC

115

XML - Yves Bekkers - IFSIC

116

20

Vous aimerez peut-être aussi