Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod XSL 2.0 XPath 2.0 Xml Stylesheet Language
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod ? Qu’apporte XSL 2.0 Détails Exemples
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod XSL –1.0 s’appuie sur la structure XML d’une entrée pour produire une sortie –2.0 d’une entrée en produit plusieurs, en fonction de paramètres. XPath –1.0 navigue dans la structure –2.0 analyse les contenus Qu’apportent XSL 2.0 et XPath 2.0 ?
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod De XSL 1.0 à 2.0 Des fonctionnalités nouvelles –(non) traitement des éléments « blancs » –Sérialisation en XHTML –<xsl:value_of select= accepte plusieurs valeurs –<xsl:for-each traite n’importe quelle sorte de séquence, non limitée aux nœuds. –<xsl:perform-sort renvoie une liste triée d’objets –Production de plusieurs sorties <xsl:result-document href= –Appel à un « template » nommé (autorisant la mutualisation de l’appel d ’une même feuille –Possibilité de paramétrage d’appel d’une feuille de style –Et l’utilisation de Xpath 0.2…
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod <xsl:stylesheet version="2.0" xmlns:xsl=" xmlns:xhtml=" <xsl:output name="toc-format" method="xhtml" indent="yes" doctype system=" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"/> <xsl:output name="section-format" method="xhtml" indent="no" doctype-system=" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/> Table of Contents Table of Contents
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod –Possibilité d’appel de fonctions « utilisateur » –Des fonctions nouvelles standardisées Algébriques –fn:abs(-23.4) renvoie 23.4 –fn:ceiling(23.4) renvoie 24 –fn:floor(23.4) renvoie 23 –fn:round(23.4) renvoie 23 –fn:round(23.5) renvoie 24 Booléennes –fn:not(0) renvoie fn:true() –fn:not(fn:true()) renvoie fn:false() –fn:not("") renvoie fn:true() –fn:not((1)) renvoie fn:false() De Xpath 1.0 à Xpath 2.0
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Fonctions (suite) Traitement de chaînes de caractères –fn:concat("HT","ML") renvoie "HTML" –fn:concat("HT","ML"," ","book") renvoie "HTML book" –fn:string-join(("HTML","book")," ") renvoie "HTML book" –fn:string-join(("1","2","3"),"+") renvoie "1+2+3" –fn:substring("HTML book",6) renvoie "book" –fn:substring("HTML book",3,5) renvoie "ML b" –fn:string-length("HTML book") renvoie 9 –fn:upper-case("HTML book") renvoie "HTML BOOK" –fn:lower-case("HTML book") renvoie " html book"
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Fonctions (suite) Expressions régulières –fn:contains("HTML book","HTML") renvoie fn:true() –fn:matches("HTML book",« HTM..[a-z]*") renvoie fn:true() –fn:matches("HTML book",".*Z.*") renvoie fn:false() –fn:replace("HTML book","HTML","Web") renvoie "Web book" –fn:replace("HTML book","[a-z]","8") renvoie "HTML 8888« Evaluation de cardinalité –fn:exists(()) renvoie fn:false() –fn:exists((1,2,3,4)) renvoie fn:true() –fn:empty(()) renvoie fn:true() –fn:empty((1,2,3,4)) renvoie fn:false() –fn:count((1,2,3,4)) renvoie 4 –fn:count(//rcp:recipe) renvoie 5
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Fonctions (suite) Transformations de séquences –fn:distinct-values((1, 2, 3, 4, 3, 2)) renvoie (1, 2, 3, 4) –fn:insert-before((2, 4, 6, 8), 2, (3, 5)) renvoie (2, 3, 5, 4, 6, 8) –fn:remove((2, 4, 6, 8), 3) renvoie (2, 4, 8) –fn:reverse((2, 4, 6, 8)) renvoie (8, 6, 4, 2) –fn:subsequence((2, 4, 6, 8, 10), 2) renvoie (4, 6, 8, 10) –fn:subsequence((2, 4, 6, 8, 10), 2, 3) renvoie (4, 6, 8)
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Exercice 1 Copyright (c) Gilles Chagnon Casimir Recette du Gloubi-Boulga Pour une personne Remplir un saladier avec de la confiture de fraises, du chocolat râpé, des bananes écrasées, de la moutarde forte, des saucisses de Toulouse écrasées tièdes mais crues. Mélanger vigoureusement jusqu'à obtenir une bouillie marron-clair. Il est normal qu'il y ait des grumeaux. Les proportions sont environ égales pour tous les ingrédients, mais il est possible de varier selon les goûts de chacun. Créer une feuille de style XSL permettant à partir de cette fiche recette de produire une page HTML qui : a pour titre le contenu de la balise titre ; commence par un titre ayant comme contenu le contenu de l'élément titre ; donne ensuite le nom de l'auteur de la recette ; affiche ensuite le mot Remarque : puis le contenu de l'élément remarque ; affiche Procédure en niveau ; dans un paragraphe, présente la procédure à suivre.
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Corrigé exercice 1 Auteur: Remarque: Procédure
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Exercice2 Copyright (c) Gilles Chagnon Casimir Recette du Gloubi-Boulga Pour une personne Remplir un saladier avec les ingrédients... confiture de fraises chocolat râpé bananes écrasées moutarde forte saucisses de Toulouse écrasées tièdes mais crues Mélanger vigoureusement jusqu'à obtenir une bouillie marron-clair. Il est normal qu'il y ait des grumeaux. Les proportions sont environ égales pour tous les ingrédients, mais il est possible de varier selon les goûts de chacun. Reprendre l'exercice précédent, mais cette fois-ci en affichant dans la procédure une liste des ingrédients, puis les opérations à pratiquer. Remarque : Il est également possible de réarranger par ordre alphabétique la liste des ingrédients, mais cela n'est possible qu'en appelant des commandes XSL évoluées.
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Corrigé exercice 2 <xsl:stylesheet version="1.0" xmlns:xsl=" Auteur: Remarque: Procédure Ingrédients: --> Opérations: -->
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Exercice 2 bis Produire le fichier XML de l’exercice 2 en structurant automatiquement le ficher XML de l’exercice 1
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Exercice 3 Copyright (c) Gilles Chagnon Soleil G2 5 Mercure Vénus Terre e Mars Jupiter Saturne Uranus Neptune Pluton A l'aide d'une boucle, présenter les données sous la forme d'une liste donnant pour chaque planète son nom, sa distance par rapport au Soleil, sa masse et son diamètre, Ajouter à la distance, la masse et le diamètre les unités employées en récupérant la valeur de l'attribut unit pour chacun de ces éléments. Effectuer pour chaque planète un test sur l'élément satellite. S'il existe, afficher le nombre de satellites Ne plus afficher les informations sur la Terre, Classer les planètes par ordre croissant de masse ;masse A l'aide d'un élément, faire un test sur le type de planète et afficher suivant le cas : "Planète de type tellurique" si la planète est de type... tellurique ; "Planète pleine de gaz!" si la planète est de type gazeuse ; "Autre type de planète" dans les cas restants.
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Hery Jean-Francois Angers jfh.jpg Laleuf Jean-Claude Paris jcl.jpg Exercice 4
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod À publier comme ceci…
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Ou comme ça…
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Et encore comme ça !
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod belle marquise, vos beaux yeux me font mourir d’amour Exercice 5 exprimer en XML les autres façons dont Monsieur Jourdain peut tourner son poème
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod belle marquise, vos beaux yeux me font mourir d’amour Exercice 6 (le même, en moins structuré, à publier en HTML)
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Exercice 7 : le même a publier en prose belle marquise, vos beaux yeux me font mourir d’amour