Lexique Langages & Documents Réfs Techs Smmaire Paul Franchi SI /01/2014 Transparent - 1 Chap IX - XSL Transformations XSL: Programmation par règles XSL: Programmation fonctionnelle Production de Documents XSL-FO Processeurs XSLT révision Nov 2013: "trucs": ; nav, uri policy etc. XSL_ASSIST vers text av vers HTML5 mode "toc" call template w. param if test ="Xpath"
SmmaireLexique Réfs Techs Transparent 2 13/01/2014 Sommaire du Cours n Chap I - Documents: Historique, Modèles, Standards et Références Chap I n Chap II - HTML: voir le cours CIP1-CMD & HTML5 Chap IIvoir le cours CIP1-CMD n Chap III - XML: "eXtensible Markup Language", les Bases Chap III n Chap IV - DTD: "Document Type Definition" Chap IV n Chap V - CSS: Feuilles de Styles en Cascades& CSS3 Chap V n Chap VI - DOM, DHTML: "Domain Object Model "& Programmation Dynamique en HTML & SPRY & JQuery Chap VI n Chap VII - XSD: Schémas XML Chap VII n Chap VIII - XML "Advanced" Processeurs et Dialectes: XPath, Xlink Chap VIII n Chap IX - XSLT: Transformations XML Chap IX n Chap X - RDF: "Resource Description Framework" Chap X n Chap IX - AJAX: "Asynchronous JavaScript And XML" Chap IX Savoir-Faire: Know Hows Know Hows HTMLHTML XHTML CSS JS+DOM MATHML XPATH XLINK XSLTXHTMLCSS JS+DOMMATHMLXPATHXLINKXSLT n Etat de l'art: HTML5HTML5 CSS3 SPRY SVG RDF AJAX XULCSS3 SPRYSVGRDFAJAXXUL
SmmaireLexique Réfs Techs Transparent 3 13/01/2014 n Web XSLT ASSIST (SI4 - Polytech) XSLT ASSIST W3C tutorial : Mozilla Development Center W3C, Edutech XSL tutoriel, edutechwikiedutechwiki Webucator Tutorial Web Developer's Bookmarks n Biblio: XSLT(pdf) XSLT xsltfondamental.pdf many issues at EPU's lib Some Références
SmmaireLexique Réfs Techs Transparent 4 13/01/2014 Documentation et Manuels n Documents du web liste de balises HTML code des couleurs RVB code HTML des caractères ISO liste des extensions de fichiers (formats) liste des extensions de fichiers (formats) Expressions Rationnelles n Manuels. Expressions régulières sous Emacs Expressions régulières sous Emacs Recherche et remplacement sous Emacs Recherche et remplacement sous Emacs compléments Emacs grep sous Unix n Tutoriaux du Web W3C : CSS Play : Zen Garden : CSS in10 steps : training/css/positioning/ training/css/positioning/ Edutech XSL tutoriel, edutechwikiedutechwiki
SmmaireLexique Réfs Techs Transparent 5 13/01/2014 Références Web
SmmaireLexique Réfs Techs Transparent 6 13/01/2014 API – Application Programming Interface ANSI – American National Standards Institute ASCII – American Standard Code for Information Interchange (128 car.) AJAX – Asynchronous JavaScript & XML CSS – Cascading Style Sheets DHTML – Dynamic HTML DOM – Document Object Model DTD – Document Type Definition HTML – HyperText Markup Language HTTP – HyperText Transfer Protocol ISO - International Standards Organization Mozilla - Fondation (global community for free and open Internet software)) MVC - Model View Controler RDF - Resource Description Framework REST - Representational State Transfer RIA - Rich Internet Application RSS - Really Simple Syndication SGML - Standard Generalized Markup Language SOAP - Simple Access Object Protocol SPRY - Extensions JS pour HTML - Adobe Lab. SVG - Scalable Vector Graphics UNICODE – World wide Code (16 bits) UTF-8 – Unicode version 8 bits URL / URI – Uniform Resource Locator / Identifier XML – eXtensible Markup Language XBL – XML Binding Language (Mozilla) XForms – XML Forms XHTML – HTML 4 en XML XLink – XML Linking Language XPath – XML Path Language XPointer – XML Pointer Language XSL - eXtensible Stylesheet Language XSLT – XSL Transformations XSL-FO – XSL Formatting Objects XSD – XML Schémas Définition Language XUL – XML User Language (Mozilla) W3C – World Wide Web Consortium Web2.0 – Web dit "sémantique" WHATWG - Web Hypertext Application Technology Working Group WSDL - Web Service Description Language Lexique
Langages & Documents Réfs Techs Smmaire Paul Franchi SI /01/2014 Transparent - 7 Chap IX - XSL Transformations XSL: Programmation par règles XSL: Programmation fonctionnelle Production de Documents XSL-FO Processeurs XSLT
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 8 13/01/2014 XSLT – Xml Transformations (W3C 1999) Un langage de haut niveau pour spécifier des transformations de documents Xml par remplacement de sous-arbres ("tree templates") Affichage, présentation, etc vers HTML, XHTML, PDF, etc. Echange de données au format XML Autres besoins: requêtes, contrôles, etc. Proc. XSLT: MSN, Oracle, Saxon, Xalan, xsltproc() xsltproc() Doc Source XML Parseur XML Source XSLT Doc Rés. Code Html Xml Proc.XSLT XPath DOM XSL-FO
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 9 13/01/2014 XSLT - une transformation simple n Le source XML en entrée../XML_CSS/XSLT.xml../XML_CSS/XSLT.xml n Le résultat recherché (en XHTML) ROUGE VERT BLEU Palette de Couleurs Palette Couleurs possibles ROUGE VERT BLEU
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 10 13/01/2014 XSLT – une transformation simple n Le source XSL../XML_CSS/XSLT.xml../XML_CSS/XSLT.xml <xsl:stylesheet version="1.0" xmlns:xsl=" Palette de Couleurs Palette Couleurs possibles
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 11 13/01/2014 XSL - eXtensible Stylesheet Language. n Eléments Racine (2) n Eléments "top-level" (12) n Eléments "instructions" (22)
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 12 13/01/2014 XSL – Programmation par Règles n racine … n Inclusion & Importation de règles n application des règles à un noeud n sélection d'un nœud de contexte … n extraction de valeurs n commentaire …
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 13 13/01/2014 XSL – Programmation Fonctionnelle (Impérative) n définition d'un template … n application par appel n affectation de variables n utilisation de variables n test … … … … n itération …
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 14 13/01/2014 XSLT - le XML n catalogCD.xmlcatalogCD.xml Empire Burlesque Bob Dylan USA Columbia
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 15 13/01/2014 XSLT – (v1: incomplet) <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/> My CD Collection Title Artist xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 16 13/01/2014 XSLT – (v2: impérative, avec test) <xsl:stylesheet version="1.0" xmlns:xsl=" My CD Collection Title Artist xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 17 13/01/2014 XSLT – (v3: impérative, avec tri) <xsl:stylesheet version="1.0" xmlns:xsl=" My CD Collection Title Artist xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 18 13/01/2014 XSLT – (v4, avec choix) <xsl:stylesheet version="1.0" xmlns:xsl=" My CD Collection Title Artist xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 19 13/01/2014 XSLT – (v5& v6: déclarative) <xsl:stylesheet version="1.0" xmlns:xsl=" My CD Collection Title: Artist: xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 20 13/01/2014 XSL – Règles par défaut pour n R1: En l'absence de règle applicable à un élément, la recherche ("matching") s'applique récursivement au source (dfs: nœuds fils,…) jusqu'aux éléments terminaux ("feuilles" du source XML) n R2: En l'absence de règle applicable, sur un nœud terminal de type texte, le texte (#PCDATA) est recopié dans le nœud courant de l'arbre généré n R3: Les nœuds de type "processing-instruction" et "commentaire" sont ignorés. n Remarque: les nœuds "indentation" ou "espaces" du document XML source sont examinés suivant le mode de "matching" ("select", "(strip | preserve)-space")
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 21 13/01/2014 XSLT – Le source XML n catalogCD.xmlcatalogCD.xml Empire Burlesque Bob Dylan USA Columbia
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 22 13/01/2014 XSLT – XML vers XML <xsl:stylesheet version="1.0" xmlns:xsl=" Mon catalogue de CD n Version 1 : "matching" par défaut total xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 23 13/01/2014 XSLT – XML vers XML <xsl:stylesheet version="1.0" xmlns:xsl=" Mon catalogue de CD n Version 2 : "matching" par défaut avec "select" xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 24 13/01/2014 XSLT – Le source XML (W3C ) n CartePtitDej.xmlCartePtitDej.xml Belgian Waffles $5.95 two of our famous Belgian Waffles with plenty of real maple syrup 650 Strawberry Belgian Waffles $7.95 light Belgian waffles covered with strawberries and whipped cream 900 Berry-Berry Belgian Waffles $8.95 light Belgian waffles covered with fresh berries and whipped cream 900 French Toast $4.50 thick slices made from our homemade sourdough bread 600 Homestyle Breakfast $6.95 two eggs, bacon or sausage, toast, and our popular hash browns 950 xml
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 25 13/01/2014 XSLT – Le source XSL <body style="font-family:Arial,sans-serif; font-size:12pt; background-color:#EEEEEE"> ( calories per serving) xsl n CartePtitDej.xsl CartePtitDej.xsl xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 26 13/01/2014 XSL – Production de Documents n Définition du format de sortie < xsl:output method= " " version=" " encoding=" " indent=" " /> n Duplication … n Création de noeuds … n Création de liens n Intégration multi-documents avec document (')
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 27 13/01/2014 XSL – Transformations vers Text, Html, Xml n Xml Text n Xml Html n Xml Xml n Xml Xhtml <xsl:output method="xml" doctype-system= " doctype-public="-//W3C/DTD XHTML1.0Transitional//EN" encoding=" UTF-8 " indent="yes" />
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 28 13/01/2014 XSLT – XML vers XML + CSS <xsl:stylesheet version="1.0" xmlns:xsl=" href="catalogCD.css" type="text/css" Mon catalogue de CD n en associant une feuille CSS xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 29 13/01/2014 XSLT – call template with parameters <xsl:stylesheet version="1.0" xmlns:xsl=" xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 30 13/01/2014 <xsl:template match="/" °°° Table of Liens °°° <xsl:template match="CD" mode="toc"> °°°.... XSLT – "Double Passe pour ToC" [ ] <xsl:apply-templates select="YEAR | COUNTRY | COMPANY " /> xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 31 13/01/2014 <xsl:stylesheet version="1.0" xmlns:xsl=" .... XSLT – Numérotation xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 32 13/01/2014 XSLT – la copie "intégrale" Xml vers Xml <!-- copie XSL "intégrale" de XML vers XML les instructions de styles d'origine CSS sont recopiées mais non interprétées pendant la transformation XSL --> <xsl:stylesheet version="1.0" xmlns:xsl=" xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 33 13/01/2014 XSLT – la copie "rebalisée" Xml vers Xml <xsl:stylesheet version="1.0" xmlns:xsl=" xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 34 13/01/2014 <xsl:stylesheet version="1.0" xmlns:xsl=" href="bib.css" type="text/css" COM{} STYLE{} Authors Author{} xsl XSLT – la copie "reStylée" Xml vers Xhtml
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 35 13/01/2014 XSLT – Variables <xsl:stylesheet version="1.0" xmlns:xsl="
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 36 13/01/2014 XSLT - Attributs <xsl:stylesheet version="1.0" xmlns:xsl=" doIt(2, ' / ').xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 37 13/01/2014 XSLT - Réaliser une importation XML <xsl:stylesheet version="1.0" xmlns:xsl=" 1999/XSL/Transform"> <xsl:variable name=" imp " select=" " /> # Auteurs: # … Bernd Amann Philippe Rigaux <?xml-stylesheet type="text/xsl" href="copieAvecImport.xsl"?> ….xml.xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 38 13/01/2014 // Load XML var xml = new ActiveXObject("Microsoft.XMLDOM") xml.async = false xml.load("cdcatalog.xml") // Load XSL var xsl = new ActiveXObject("Microsoft.XMLDOM") xsl.async = false xsl.load("cdcatalog.xsl") // Transform document.write(xml.transformNode(xsl)).xsl XSLT – Appliquer avec JavaScript
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 39 13/01/2014 XSLT "Fragment" avec JS+DOM function transform (xml, xsl, id) { try { // navigateur basé sur Gecko if (window.XSLTProcessor) { var fragment; var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); fragment = xsltProcessor.transformToFragment(xml, document); var target = document.getElementById(id); target.innerHTML = fragment.firstChild.innerHTML ; // pfz //target.appendChild(fragment); //orig //document.replaceChild(target, fragment); //orig // ActiveX pour Internet Explorer } else if (window.ActiveXObject) { var target = document.getElementById(id); target.innerHTML = xml.transformNode(xsl); } } catch (e) {return e;} } var XML= loadXML(xmlURL); var XSL= loadXML(xslURL); function doTheJob() { transform (XML, XSL, 'ICI');.... } XSLT.js
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 40 13/01/2014 XSL-FO – un dialecte de formatage pour Xml n Les modèles de mise en page orientation, tailles, découpage, marges, etc. n Les séquences de pages chapitre ou ensemble continu du document qui doit être affiché sur autant de page que nécessaire n Les flux un ou plusieurs flux sur la même séquence de page n Les paragraphes (ou blocs) un paragraphe de texte
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 41 13/01/2014 XSL-FO – un dialecte de formatage pour Xml n Le modèle ICI LE CONTENU TEXTE
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 42 13/01/2014 XSLT : savoir-faire n Production de Documents XML vers XML XML vers (X)HTML XML vers Text n Styler avec HTML+CSS avec XML + CSS n Transformer XML: Duplication, Extraction, Filtrage, Importation RDF vers XML SVG vers XHTML MathML vers XHTML n XML vers DHTML avec JS+DOM n XML vers DXML modifier DOM du XML source modifier DOM du XSL source sur le Web W3Schools - XSL Tutorial W3Schools - XSL Tutorial XSLT- developpez.com XSLT- developpez.com XSL avec Café con leche XSL avec Café con leche Edutech XSL tutoriel, edutechwiki edutechwiki.xsl XSL
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 43 13/01/2014 XSLT "inside" n RefsWeb n TechnosWeb n DocExShow n XSLT ASSIST ss PHP/SQL(SI4 project) n ShowML & SI4 Project Log n Rendus SI4 n Sites Web (ébauches) n PFZ 2011 "state of the art" sous HTML5 XSL.xsl
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 44 13/01/2014 Quelques Environnements XSLT n Mozilla - Firefox 1.5 => 25.0 n SAFARI 5.0 n I.E. 6. = > I.E. 10, Google Chrome avec des restrictions sur les fichiers "locaux" n Editix XSLT n Altova XSLT n Le projet Apache – APIs Java Xerces – analyseurs XML, Dom, Sax, Xpath Xalan – processeur XSLT 1.0 FOP – formateur XSL-FO vers PDF n Le projet Gnome (GNU) – Lib C/C++ libxml2 – analyseurs XML, Dom, Sax, Xpath libxslt – processeur XSLT 1.0 xmllint & xmlcatalog
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 45 13/01/2014 Quelques Processeurs XSLT n xsltproc() ss linux n Saxon XSL 1.0 & Xpath n Xalan pour C++ & Java n XML Parser for C, for Java, for PL/SQL n Koala XSL Engine avec Sax 1.0 et Dom 1.0
Lexique XSLT - une transformation simple XSLT - une transformation simple Programmation par Règles Programmation par Règles XSLT – la copie "intégrale" Xml vers Xml XSLT – la copie "intégrale" Xml vers Xml XSLT – Variables XSL - eXtensible Stylesheet Language. XSL - eXtensible Stylesheet Language. XSL – Règles par défaut pour XSL – Règles par défaut pour <xsl:apply- templates> XSLT - Attributs XSLT "Fragment" avec JS+DOM XSLT "Fragment" avec JS+DOM Programmation Fonctionnelle (Impérative) Programmation Fonctionnelle (Impérative) Réfs Techs Smmaire XSL-FO – un dialecte de formatage pour Xml XSL-FO – un dialecte de formatage pour Xml Transparent 46 13/01/2014 Quelques "trucs" à savoir... n XSLT côté serveur Google Chrome ne supporte que les XSLT "servies", donc pas de fichiers locaux I.E. refuse le mélange fichier locaux et distants dans une XSLT n Exporter le bon type MIME peut nécessiter une défintion dans.htaccess côté serveur n Dans FF, pour utiliser des feuilles XSL, non placées dans la sous arborescence XML Changer dans "about:config" "fileuri strict security policy" à "false"