Version PDF

Transcription

Version PDF
Introduction au XML
Table des matières
1 XML : Une première définition
1
2 Historique d’XML
1
2.1
SGML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2.2
HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
3 XML : eXtensible Markup Language
2
4 Un exemple XML complet
3
5 Utilisation du XML
4
5.1
XML pour vérifier un document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5.2
Production de documents électroniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5.3
XML et le WEB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
5.4
Chaı̂ne de traitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1
XML : Une première définition
XML (eXtensible Markup Language) permet de représenter des données semi-structurées sous la forme d’un
arbre en mémoire et d’un document.
Sérialisation
Analyse
2
2.1
<doc>
<doc>
<personne>
<personne>
<nom>A</nom>
<nom>A</nom>
<adresse>...</adresse>
<adresse>...</adresse>
</personne>
</personne>
<ville>...</ville>
<ville>...</ville>
<pays>....</pays>
<pays>....</pays>
</doc>
</doc>
Historique d’XML
SGML
1986 - SGML (Standard Generalized Markup Language). Un format texte enrichi de balises qui apportent
une sémantique :
1
<!doctype linuxdoc system>
<article>
<title>SGML-Tools User’s Guide
<date>1.0 ($Revision: 1.14 $), 10 November 1997
<abstract>This document is a user’s guide</abstract>
<sect>Installation
<p>You can get <tt/sgml-tools-1.0.x.tar.gz/
•
•
•
•
•
•
2.2
Les rédacteurs travaillent sur le sens et pas la forme.
Description de la structure d’un document (définition d’un jeu de balises).
Vérification de la validité des documents.
Portabilité des documents.
Production de plusieurs cibles (ps, rtf, pdf, html, doc...).
Disponibilité de nombreux outils.
HTML
1990 - HTML (Hyper Text Markup Language) :
• Développé et normalisé par le W3C (World Wide Web Consortium) ( http://www.w3c.org ).
• Choix à priori d’un ensemble de balises : <body> , <table> , etc.
• La structure du document est implicite (il faut connaı̂tre les normes).
• Avantages : format texte portable et simple.
Discussion critique :
• Demandes continuelles de modifications (versions 3.0, 4.01, 5, etc.).
• Mélange de balises sémantiques ( <address> , <title> , <h1> ) et de balises de mise en forme ( <b> ,
<i> , <font> ).
Une première réponse : Feuille de style (CSS1 en 1996 et CSS2 en 1998 normalisés par le W3C,
puis CSS3, ...).
• Système de liens trop simple.
3
XML : eXtensible Markup Language
• 1997 : L’adaptation de SGML aux besoins du WWW donne XML.
Objectif 1 : Séparer la structure, les données et la mise en forme.
2
Document
Type
Definition
DTD
Informations
XML
XSL
• Objectif 2 : Assurer la portabilité des données.
+- Machine A -------+
+- Machine B -------+
|
|
|
|
| Appli. A : XML ------> réseau ------> XML : Appli. B |
|
|
|
|
+-------------------+
+-------------------+
4
Un exemple XML complet
Le document produits.xml (eXtensible Markup Language) et sa DTD :
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE stock SYSTEM "produits.dtd">
<stock>
<produit>
<nom> Livre </nom>
<prix monnaie="Euros"> 50 </prix>
</produit>
<produit>
<nom> CD </nom>
</produit>
</stock>
<!ELEMENT stock
<!ELEMENT produit
<!ELEMENT nom
(produit+)>
(nom,prix?)>
(#PCDATA)>
<!ELEMENT prix
<!ATTLIST prix
(#PCDATA)>
(Dollars|Euros) #IMPLIED >
monnaie
Le fichier produits.xsl (eXtensible Style Language) :
3
CSS
Feuilles
de
style
<?xml version="1.0" encoding="iso-8859-1" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="html"/>
<xsl:template match="stock">
<html><body>
<h1>Stock de la société</h1>
<xsl:apply-templates/>
</body></html>
</xsl:template>
<xsl:template match="produit">
<h2>Produit <xsl:value-of select="nom"/></h2>
<xsl:apply-templates select="prix"/>
</xsl:template>
<xsl:template match="prix">
<p>Prix : <xsl:value-of select="."/> en
<xsl:value-of select="@monnaie"/></p>
</xsl:template>
</xsl:stylesheet>
le traitement des fichiers produits.xml , produits.dtd , produits.xsl donne le fichier produits.html
suivant :
<html>
<body>
<h1>Stock de la soci&eacute;t&eacute;</h1>
<h2>Produit
<p>Prix :
Livre </h2>
<h2>Produit
50 en Euros</p>
CD </h2>
</body>
</html>
5
Utilisation du XML
• XML pour communiquer :
XML
application 1
application 2
• Quelques exemples :
4
.
.
.
.
protocole de transmission (XML-RPC, SOAP),
définition de normes (XHTML, SMIL, XML-FO, SVG),
Bases de données semi-structurée,
Fichiers de configuration (JSP, EJB, ...),
• Avantages : portabilité, extensibilité, réutilisation d’outils,
5.1
XML pour vérifier un document
• XML pour vérifier la conformité :
DTD
Oui
Validation
XML
Non
• Avantages :
.
.
.
.
5.2
Validité assurée
Intégration facilitée
Aide à la rédaction
Normalisation
Production de documents électroniques
• Production de documents XML :
DTD
XML
XML
HTML
PS
FO
PDF
Text
DVI
Processeur
XSL
XSL
• On peut ajouter des sorties WML, XHTML ou des langages normalisés définis à partir d’XML.
5.3
XML et le WEB
• Production de documents à la demande :
5
Serveur
Client
DTD
HTML, XHTML, WML, texte
XML
XSL
Serveur
Client
DTD
XML
XSL
5.4
Chaı̂ne de traitement
• Intégration de plusieurs sources de données dans une chaı̂ne de traitement XML :
S.G.B.D.R.
XML
Filtre
B.D. XML
Production
Extraction
HTML, WML, XML
XSL
Publication
6
XML