Vous êtes sur la page 1sur 14

Langage XML

 Présentation
 Besoin d'origine
 Domaine d'application
 La technique
 Technologies disponibles
 Applications de XML
 XSL
Besoin d'origine
 Séparation Données/Présentation
 Décrire ses propres données
– HTML
• Fonctionne avec une collection fixe de balises
• Données non structurées et sans sémantique
• Impossible de leur appliquer un traitement
– SGML
• Très puissant
• Mais trop complexe

 Le compromis : XML (norme W3C)


Domaines d'application

 Description de document
– Document de présentation
– Document texte
– Document Hyper liens

 Échange de données
– inter et intra applications

 Définition de protocoles de communication


XML : la technique (1/4)

 Langage de BALISES (TAG)

 Langage extensible
– Métalangage de définition de types de document
– Création de balises à volonté

 Description des nouvelles balises dans une


DTD
XML : la technique (2/4)

 Exemple de DTD :
<!ELEMENT personne (telephone*)>
<!ATTLIST personne
nom CDATA #REQUIRED
prenom CDATA #REQUIRED >
<!ELEMENT telephone EMPTY>
<!ATTLIST telephone
lieu CDATA #REQUIRED
numero CDATA #REQUIRED >
XML : la technique (3/4)

 Exemple de document XML :

<?xml version="1.0"?>
<!DOCTYPE personne SYSTEM "personne.dtd">
<personne prenom="benjamin" nom="poussin">
<telephone numero="0240947868" lieu="bureau"/>
<telephone numero="0240949608" lieu="fax"/>
</personne>
XML : la technique (4/4)
 Structuration des données :
 XML est un arbre, si le document est bien formé.

 personne
– prenom="benjamin"
– nom="poussin”
– telephone
• numero="0240947868”
• lieu="bureau"
– telephone
• numero="0240949608"
• lieu="fax"
Technologies disponibles
 Analyseurs syntaxiques normalisés
– SAX - Permet le traitement d’un document XML au
fur et à mesure de sa lecture.
– DOM - Permet le traitement d’un document XML à
partir d’une structure d’arbre.
 Disponible sous forme de composant binaire
(ActiveX microsoft.xmldom)
 Disponible en Open Source
– open XML (Java)
– lib XML (C/C++)
– Xerces (Java, projet Apache)
Applications XML
 RDF - Resource Description Framework
– Met en place un framework de représentation de
méta-données.
 XSL - Extensible Stylesheet Language
– Permet la transformation d’un document XML en
un autre document, XML ou non.
 SVG - Scalable Vector Graphics
– Permet la description de dessin 2D en XML.
 SMIL - Synchronized Multimedia Integration
Language
– Permet la description de présentation multimédia.
Applications XML
 MathML - Mathematical Markup Language
– Permet la représentation d’expressions
mathématiques.

 XForm
– Permet la description de formulaires.

 XPointer - XML Linking Language


– Remplace les liens HTML, en beaucoup plus puissant.
 …
Feuilles de style XSL
 XSL permet la transformation d’un document en un
autre.
 XSL est lui même du XML.
 Il est l’équivalent du DSSSL pour le SGML.

 Exemple de transformation:
<?xml version="1.0"?>
<?xml-stylesheet href="hello.xsl" type="text/xsl"?>
<?cocoon-process type="xslt"?>
<page>
<title>Hello</title>
<content>
<paragraphe>Bonjour le monde!</paragraphe>
</content>
</page>
Feuilles de style XSL
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:template match="page">
<xsl:processing-instruction name="cocoon-
format">type="text/html"</xsl:processing-instruction>
<html> <head> <title> <xsl:value-of select="title"/> </title> </head>
<body bgcolor="#ffffff">
<xsl:apply-templates/>
</body> </html>
</xsl:template>

<xsl:template match="title">
<h1 align="center"> <xsl:apply-templates/> </h1>
</xsl:template>

<xsl:template match="paragraph">
<p align="center"> <i> <xsl:apply-templates/> </i> </p>
</xsl:template>
</xsl:stylesheet>
Feuilles de style XSL
 Le résultat:
<html>
<head>
<title>Hello</title>
</head>
<body bgcolor="#ffffff">
<h1 align="center">Hello</h1>
<p align="center">
<i> Bonjour le monde! </i>
</p>
</body>
</html>
Bibliographie
 XML spécification
– http://babel.alis.com/web_ml/xml/REC-xml.fr.html
 XSL spécification
– http://www.w3.org/TR/xsl/
 w3C
– http://www.w3c.org
 openxml
– http://www.openxml.org
 xerces, cocoon, …
– http://xml.apache.org/