Académique Documents
Professionnel Documents
Culture Documents
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
Description de document
– Document de présentation
– Document texte
– Document Hyper liens
Échange de données
– inter et intra applications
Langage extensible
– Métalangage de définition de types de document
– Création de balises à volonté
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)
<?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.
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/