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>

LIRE AUSSI :  Le pilotage par les processus et les compétences

………

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 *