0% ont trouvé ce document utile (0 vote)
10 vues25 pages

Publication XML avec XSL et XSLT

Transféré par

François Bonneville
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues25 pages

Publication XML avec XSL et XSLT

Transféré par

François Bonneville
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd

Publication de XML : XSL

XPath, XLink, XForms


1. Introduction
2. XPATH
3. XSLT
4. XSLFO
5. XLink et RDF
6. XForms
7. Conclusion
02/01/23 1
1. Introduction à XSL

 Un document XML publiable :


– Le document XML lui-même
– la DTD ou le schéma pour décrire les balises
– CSS ou XSL pour adapter le format aux besoins
 XSL = eXtended Style Langage
 XSL est par exemple utilisé pour convertir les données
en HTML pour l’affichage
 XSL est un véritable langage de programmation par
règles

2
XSL
Publications avec XSL
 Plusieurs formats de publication d’un même jeu de données

Format ( PDF)

XML Browser Netscape/IE


Document (XHTML, DHTML, HTML)

XSL
Processor

Format (XML)
pour Word,
Excel

XSL
Stylesheet
Format (XML)
application
 Il permet la présentation sur des terminaux variés [Link]

format
(WML)

3
XSL
Architectures

HTML
XML
ASP Affichage
S ou
Programme E JSP

XML R Processeur HTML


V XSL
Fichier E Affichage
U
XML XML
R

Processeur
Base de données XSL •Affichage
•Traitement
4
XSL
Principe de fonctionnement

Document XML Document XML Formatage Impression


Transformation Processeur
Processeur XSL-FO
XSLT
Publication
HTML/WML
en ligne

Feuille
de style XML Applications
XSL

5
XSL
Les outils XSL

 Au départ, il y avait quelques processeurs XSLT


conformes à la spécification:
– Apache Group ([Link]): Xalan 1.0.1 (ex-LotusXSL
d’IBM)
– Oracle XDK ([Link]): XML Parser 2.0.2
– James Clark ([Link]): XT (quasiment conforme)
 Tous les navigateurs WEB récents embarquent un
processeurs XSLT

6
XSL
XSLT
 Permet de transformer un document
– régulier ou irrégulier
– de XML à XML
– XHTML est un cas particulier
 Un document est un arbre comportant :
– Une racine
– Des éléments
– Du texte
– Des attributs
– Des espaces de noms
– Des instructions de traitement
– Des commentaires
 Un autre arbre de même nature est produit en sortie

7
XSLT
Les feuilles de style

 Une feuille de style XSL


– est un document XML de racine <xsl:stylesheet>
– contient une liste de règles de transformation <xsl:template>
 Chaque règle (<xsl:template>) est définie par:
– Une condition spécifiant le sous-arbre du document d’entrée auquel elle
s’applique
– Une production spécifiant le résultat de l’application de la règle
 Utilisation d'un nom de domaine spécifique
– Toutes les instructions XSL sont des éléments du namespace
"[Link]
– Le préfixe généralement utilisé est xsl

8
XSLT
Exemple de document
 
<?xml version="1.0" ?>
<Guide>
<Restaurant Categorie="**"> 
<Nom>Le Romantique</Nom>
<Adresse> 
<Ville>Cabourg</Ville>  
<Dept>Calvados</Dept>
  </Adresse> 
</Restaurant>
<Restaurant Categorie="***"> 
<Nom>Les TroisGros</Nom>
<Adresse> 
<Ville>Roanne</Ville>  
<Dept>Loire</Dept>  
</Adresse>
</Restaurant>
</Guide>

9
XSLT
Exemple de feuille de style XSL
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="[Link]
<xsl:template match="/">
<html><head><B>ESSAI XSL</B></head> <body>
<xsl:apply-templates/></body></html> 
</xsl:template>
<xsl:template match="Guide"> 
<H1>BONJOUR LE GROUPE XML</H1>  
<H2>SUIVEZ LE GUIDE</H2>  
<xsl:apply-templates />  
</xsl:template>
<xsl:template match="Restaurant">
<P> <I>Restaurant :</I>  
<xsl:value-of select="Nom"/></P> 
</xsl:template> 
</xsl:stylesheet>

10
XSLT
Les règles de production

 Définition des règles par <xsl:template …>


 Attributs
– match: condition de sélection des nœuds sur lesquels la règle s'applique
(Xpath)
– name: nom de la règle, pour invocation explicite (en conjonction avec <call-
template>)
– mode: permet d'appliquer à un même élément des règles différentes en
fonction du contexte
– priority: priorité, utilisé en cas de conflit entre deux règles ayant la même
condition
 Exemples
– <xsl: template match="/">
– <xsl: template match="auteur">

11
XSLT
Exercice : document XML

<?xml version="1.0" encoding="iso-8859-1"?>


<?xml-stylesheet href="[Link]" type="text/xsl"?>

<CATALOGUE>
<ARTICLE>
<REFERENCE>JT3006</REFERENCE>
<PRIX UNIT=  "Euro" TAX="TTC">1874</PRIX>
</ARTICLE>
<ARTICLE>

</ARTICLE>
</CATALOGUE>

12
XSLT
Arbre correspondant
Racine

<?xml-stylesheet ...

Catalogue

Article Article

Prix Reference

Prix=   " Euro" 1874 JT3006


 Les attributs apparaissent comme
Tax="TTC" des fils de l’élément auquel ils
s’appliquent
13
XSLT
Exemple de feuille de style
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http:// [Link]

<xsl:template match="CATALOGUE">
<html>
<xsl:apply-templates/>
</html>
</xsl:template>

<xsl:template match="ARTICLE">
<P>
<xsl:apply-templates/>
</P>
</xsl:template>

</xsl:stylesheet>

14
XSLT
Que fait l'exemple?

 La première règle:
– Remplace l'élément racine <CATALOGUE> par l'élément <html>
– L ’element <xsl:apply-templates/> indique qu ’il faut appliquer le
traitement à tous les enfants directs de la racine
 La seconde règle:
– Remplace chaque élément <ARTICLE> par un élément <P>
– Le contenu de <P> est le texte (sans les balises) contenu dans les
descendants de l'élément <ARTICLE> (règle par défaut)

15
XSLT
Résumé des commandes
 <xsl:template>, définir une règle et son contexte
 
 <xsl:apply-templates/>, appliquer les transformations
 
 <xsl:for-each>, définir un traitement itératif
 
 <xsl:pi>, générer une processing instruction

 <xsl:element>, générer un élément


 
 <xsl:attribute>, générer un attribut
 
 <xsl:if>, définir un traitement conditionnel
 

16
XSLT
Mise en oeuvre

 Trois types de mise en œuvre possible:


– Transformation statique
– Transformation dynamique sur le serveur Web
– Transformation dynamique sur le client
 Le choix de l'approche dépend:
– De l'utilisation des documents produits (impression papier,
publication Web)
– Du type de données XML manipulées (statique ou dynamique)
– Des capacités du serveur Web utilisé
– Des capacités du client Web utilisé

17
Architectures

ASP HTML
XML S ou
Programme JSP Affichage
E XML
R Processeur
XML XSL
V •Traitement
XML E •Affichage
Fichier U Processeur HTML
R XSL
PS WML
XML HTML PDF
Base de données
Affichage
Processeur
XSL
18
Transformation statique

 Les documents XML sont transformés à l'avance:


– Impression papier
– Stockage HTML sur un site Web standard
 Avantages:
– Pas de problèmes de performance
– Serveur et client Web standards
 Inconvénients
– Impossibilité de gérer des données XML dynamiques
– Cohérence entre source et résultat

19
Transformation sur le serveur

 Les documents XML sont transformés à la demande


par le serveur:
– Publication Web en HTML
– Échanges inter-application
 Avantages:
– Permet de gérer des données XML dynamiques
– Client Web standard (HTML)
 Inconvénients:
– Nécessite un serveur compatible XSL
– Problèmes de performances sur le serveur

20
Transformation sur le client

 Le document XML et la feuille XSL sont transmises


par le serveur avant transformation:
– Publication Web
 Avantages:
– Permet de gérer des données dynamiques
– Serveur Web standard
– Pas de problèmes de performances sur le serveur
 Inconvénients:
– Nécessite un client Web compatible XSL
– Les données XML ne sont pas filtrées avant envoi

21
Association document-feuille XSL

 Transformation statique:
– Le document XML et la feuille XSL sont deux paramètres du
programme de transformation
 Transformation dynamique:
– L'association est gérée par une instruction de traitement dans le
fichier XML
– <?xml-stylesheet href="[Link]" type="text/xsl"?>

22
Les éditeurs

XML XSLT Rendu


23
XSLT
Bilan XSLT

 XSLT est un langage très puissant de transformation


d'un arbre XML en un autre
 XSL permet en particulier de publier des données
XML sur le Web par transformation en un document
HTML standard
 XSL est utilisé :
– Pour publier des contenus XML
– Pour transformer des données (EAI, B2B)

24
XSLT
6. Conclusion

 XSL pour transformer et présenter


– puissant mais complexe
– problème de performance des processeurs ?
 Recommandation XSL version 1.0
– [Link]
 Recommandation Xlink
– [Link]

25
Références

Vous aimerez peut-être aussi