1 3.Langage XSL = XSLT + XSL-FO transformationFormatage
2 Document XML prog. XSLT Document HTML Document WML Document XML XSLT Transformation de documents XML
3 Structure dun programme XSLT Un programme XSLT est un ensemble de règles permettant de construire un résultat. (construit à partir dune structure explicitement définie) Une règle (TEMPLATE) = élément de base pour produire un résultat : - sapplique à un élément du document xml (un ou plusieurs sous-arbres) - produit un fragment du résultat
4 university institute school ident ident nameaddressnameaddress... namedurationenrolled... school... school … Exemple
5 Exemple de règle : … affichage de texte … On peut extraire des données Nom étudiant = Chemin daccès à un nœud à partir du nœud courant. (Ici, accès au fils name du nœud student)
6 Lélément sutilise pour produire un résultat textuel. Lattribut select permet de spécifier un nœud de larbre. - si le nœud est de type texte ou attribut, alors sa valeur est produite - si le nœud est de type élément alors le sous-arbre est converti en chaîne (concaténation des valeurs de toutes les feuilles) 2 bob lille 2 fred lens bob fred premier élément school second élément school
7 On peut faire des boucles Etudiant inscrit
8 Exemple produisant un document html Ecole de l'université Ecole : Liste inscrits Nom : habite
9 Ecole de l'université Ecole : aa Liste inscrits Nom : tom habite paris Nom : bill habite lille Résultat
10 Insertion dune valeur dans un attribut délément html va produire
11 Dans une règle XSLT, on peut désigner des nœuds qui seront à traiter ensuite Etudiant : / / Ecole Universite = En labsence de lattribut select, ce sont tous les fils du nœud courant qui seront traités.
12 Recopier un fragment darbre dans le résultat aa bill paris
13
14 Fonctionnement du processeur XSLT. Un programme xslt est un ensemble de templates. Chaque template ne sapplique quau(x) nœud(s) de larbre xml désignés par la valeur de lattribut match. Il est donc possible que pour certains nœuds de larbre aucune règle du programme ne puisse sappliquer. Il existe une règle par défaut permettant un traitement récursif de larbre xml même en cas de non concordance entre un nœud de larbre et une règle du programme.
15 university institute school ident ident nameaddressnameaddress... namedurationenrolled... school... school
16 Une seconde règle par défaut prévoit laffichage du texte des éléments et des valeurs dattributs. Cette règle sapplique aux nœuds textes pour lesquels à aucun ascendant on a pu appliquer un template. On peut la redéfinir :
17 Variable = nom + valeur Attribut select avec une valeur Arbre temporaire Le contenu de lélément variable est la valeur de la variable... Utilisation de la valeur …...