Cours XSLT langage de transformation d’arbre

Sommaire: Cours XSLT langage de transformation d’arbre

Introduction
Prélude d’une feuille de style
Règles de réécriture : Template,
Parcours récursifs
Regles par défaut
Parcours itératifs
Modularité
Variables, Tri, conditionnelle, passage de paramètres
Définition de fonctions récursives
Les clés – un mécanisme d’indexation de documents

Extrait du cours XSLT langage de transformation d’arbre

Transformation de documents
•XSL (eXtensible Stylesheet Language)
• Deux normes indépendantes
XSLT : langage de transformation
– XSLT : langage de transformation
• XPath : langage pour adresser les nœuds d’un arbre
– XSL-FO : langage de formatage
• Permet de spécifier un formatage plus fin que celui que
l’on obtient à l’aide de HTML+CSS
XSLT le langage de transformation
• Un langage déclaratif (Turing complet !)
– avec une syntaxe XML !
• Les programmes XSLT s’appellent des feuilles de styles
– Mais c’est beaucoup plus puissant que CSS
– Exprime une transformation d’arbre en un autre arbre
• Modèle de calcul
– Utilise une technique de filtrage à base de motifs (patterns) et de modèles (template) décrits dans des règles (template rules) pour transformer des arbres
XSLT est un langage XML
• Les instructions sont des éléments XML
<?xml version= »1.0″ encoding= »UTF-8″?>
<xsl:stylesheet version= »1.0″ xmlns:xsl=
« http://www.w3.org/1999/XSL/Transform »>
<!– Format de sortie –>
<xsl:output method= »xml » version= »1.0″
encoding= »UTF-8″ indent= »yes »/>
<!– … règles XSLT … –>
</xsl:stylesheet>
Prélude d’une feuille de style
Elément <xsl:stylesheet>
• Élement racine d’un document XSLT
<xsl:stylesheet version= »1.0″>
eso .0
xmlns:xsl=
« http://www.w3.org/1999/XSL/Transform »
– Attribut version : version de langage XSL
(obligatoire)
– Attribut
xmlns:xsl : espace de nom XSL
XSLT – Yves bekkers – IFSIC
Elément <xsl:output>
• Format de sortie du document résultat
<xsl:output method= »xml » version= »1.0″
encoding= »UTF-8″ indent= »yes »/>
encoding= UTF 8 indent= yes />
– Attribut method : type du document en sortie– Attribut
encoding : codage du document
– Attribut
indent : indentation en sortie
Type de document en sortie
• Trois types de document en sortie
–xml: vérifie que la sortie est bien formée
•(sortie par défaut)
– html : accepte les balises manquantes génère les
– html : accepte les balises manquantes, génère les
entités HTML (&eacute; …)
•(sortie par défaut si XSL reconnaît l’arbre de sortie
HTML4)
–text: tout autre format textuel :
• du code Java, format Microsoft RTF, LaTex
Règles par défaut
Règles par défaut (1)
Traverser la racine et tous les noeuds « élément »
<xsl:template match= »*|/ »>
<xsl:apply-templates/>
</xsl:template>
Sortir les feuilles « texte » et les « attributs »
<xsl:template match= »text()|@* »>
<xsl:value-of select= ». »/>
</xsl:template>
Règles par défaut (2)
• Commentaires et instructions de traitement
<xsl:template match= »processinginstruction()|comment() »/>
• Ne rien faire
Feuille de style minimum
<?xml version= »1.0″?>
<xsl:stylesheet version= »1.0″
xmlns:xsl=
« http://www.w3.org/1999/XSL/Transform »>
<xsl:output method= »text »/>
</xsl:stylesheet>
• Traverse tout l’arbre et sort les feuilles
(contenu d’élément texte et valeur d’attribut)
Génération de contenu Résultat littéral ou non ?
Méthodes de génération de contenu
• Deux méthodes de génération de contenu :
1) Résultat litéral
<xsl:template match= »subtitle »>
<h2><xsl:apply-templates/></h2>
</xsl:template>
2) Résultat non litéral
(validation possible de la feuille de style)
<xsl:template match= »subtitle »>
<xsl:element name= »h2″>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
Valeur d’attribut par résultat
littéral évalué
Évaluation d’expression xpath en accolades dans les valeurs d’attribut
• Arbre en entrée
<a href= »fic.tx
t »/>
• Template
<xsl:template match= »a »>
<b id= »{@href} »/>
</xsl:template>

………

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours XSLT langage de transformation d’arbre (260 ko) (Cours PDF)
Langage de transformation d’arbre

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *