Langages de l Internet : XML XSL. Taha Zerrouki

Documents pareils
XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Production de documents avec XSLT. Production de documents p.1/??

<?xml version="1.0" encoding="iso " standalone="yes"?>

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

SII Stage d informatique pour l ingénieur

Module : programmation site Web dynamique Naviguer entre les pages via site map

Formation HTML / CSS. ar dionoea

Les outils de création de sites web

Programmation Web. Madalina Croitoru IUT Montpellier

Master d Informatique Corrigé du partiel novembre 2010

Programmation Internet Cours 4

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Comment développer et intégrer un module à PhpMyLab?

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Systèmes d Information (SI) Zohra Zelfani

Présentation du Framework BootstrapTwitter

ING & NEWSLETTER NEWSLETTER RESPONSIVE

HTML, CSS, JS et CGI. Elanore Elessar Dimar

HTML/CSS - Travaux Pratiques 2

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Formation : WEbMaster

XML : documents et outils

HTML. Notions générales

From supply chain to demand chain

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

STID 2ème année : TP Web/PHP

Server-side XML. PAS FINI... mais ok pour un début. Originaux. Auteurs et version. Prérequis: Java de base, servlets, GUI et XML

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

Gestion Électronique de Documents et XML. Master 2 TSM

SP1 : Intégration d'une vidéo dans une mardi 21/01/2014. page web, fonction du format vidéo et 3 mercredi 22/01/2014

Sana Sellami. Licence Professionnelle SIL

L'API DOM : Document Object Model

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Architecture Multi-Niveaux

Titres de créances NégOciables Refonte Informatique et organisationnelle

Intégrateur Web HTML5 CSS3

Client / Serveur. Rémy Courdier. Normes et Standards. C/S et l Internetl

CMS Open Source : état de l'art et méthodologie de choix

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Document Object Model (DOM)

les techniques d'extraction, les formulaires et intégration dans un site WEB

Séance d ED n 5 : HTML et JavaScript

Notes pour l utilisation d Expression Web

Introduction au développement SharePoint. Version 1.0

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

Formulaire pour envoyer un mail

Spétechs Mobile. Octobre 2013

Module BD et sites WEB

creer votre site internet en html/css

Annexe C Spécification pour les fichiers importés en format XML

Gestion d identités PSL Exploitation IdP Authentic

Rapport d'étude projet NF29 A2011

Formation Webmaster : Création de site Web Initiation + Approfondissement

Couches 4 à 7 : Traitement des données

UE 8 Systèmes d information de gestion Le programme

WebSSO, synchronisation et contrôle des accès via LDAP

Joomla! Création et administration d'un site web - Version numérique

Création d'un site Internet dynamique avec HTML-CSS ou un CMS Formation à distance sur le réseau Pyramide

Examen organisé en vue du recrutement et de la constitution de réserves de recrutement. d'assistants (gestionnaire de systèmes et développeur)

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

SUPPORT DE COURS / HTML

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

34. DOM (Document Object Model)

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Les types de fichiers

Création d un formulaire de contact Procédure

WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x

TIC 12 ATELIER INTEGRATION CAHIER DES CHARGES. Page 1/5

Manuel : Comment faire sa newsletter

Un site web collaboratif avec Drupal. Judith Hannoun - Journées INSHS 16 Octobre 2012

Démonstration de la mise en cache via HTML 5 sur iphone

BES WEBDEVELOPER ACTIVITÉ RÔLE

DMP1 DSFT des Interfaces DMP des LPS Annexe : complément de spécification sur l impression des documents à remettre au patient

Sommaire. Introduction. Nouveautés d Adobe InDesign CS3. Visite guidée d Adobe InDesign

Logiciels de référencement

TP JAVASCRIPT OMI4 TP5 SRC

LANDPARK COMMENT ÉTABLIR RAPIDEMENT VOS RAPPORTS

TD3 - Facturation avec archivage automatisé

Les services usuels de l Internet

Tutoriel : Feuille de style externe

1. Considérations sur le développement rapide d'application et les méthodes agiles

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Les outils actuels permettent-ils d automatiser la production de cartes? De quels outils dispose-t-on?

Optimiser pour les appareils mobiles

Qui sommes-nous? Contact

Outils logiciels pour l'ingénierie documentaire

Webmaster / Webdesigner / Wordpress

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

PloneLabs un gestionnaire de contenu pour les laboratoires

UNIVERSITE BORDEAUX - MONTAIGNE. Projet HK_Lime

Réseaux. 1 Généralités. E. Jeandel

Profil. Formations Certifications. Etienne de LONGEAUX Architecte logiciel/ Lead développeur PHP5/SYMFONY2/ZEND 13 ans d expérience.

Déploiement d application Silverlight

ENVOI EN NOMBRE DE Mails PERSONNALISES

Transcription:

Langages de l Internet : XML XSL Taha Zerrouki Taha.zerrouki@gmail.com 1

Partie 4 XSL : Plan Syntaxe Règles XSL Incorporer des éléments HTML Mise en pratique 2

XSL Transformer ou mettre en forme les données (complémentaire de CSS) Peut refondre entièrement la structure de l arbre XML Réorganiser Cacher des parties Transformer les types Règles qui associent un sélecteur et une forme à générer 3

Insérer dans XML <?xml version= 1.0?> <?xml-stylesheet type= text/xsl href= transform.xsl?> 4

Fichier XSL Fichier XML avec l extension.xsl <?xml version="1.0" encoding="iso-8859-1"?> La définition de XSL (et de XHTML) <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns="http://www.w3.org/1999/xhtml" version="1.0"> Ce qui va sortir de la transformation (ici du XHTML): <xsl:output method="html" doctype-public="-//w3//dtd XHTML 1.0 Transitional//EN" doctype-system=" http://www.w3.org/tr/xhtml1/dtd/xhtml1- transitional.dtd"/> 5

Fichier XSL Commence par <xsl:stylesheet> et finit par </xsl:stylesheet> Contient un certain nombre de <xsl:template> </xsl:template> Les <xsl:template> définissent la transformation opérée sur les éléments <xsl:template match= / > : sur la racine du document <xsl:template match= element > : sur l element <element> 6

Règles XSL <xsl:stylesheet> </xsl:stylesheet> Eléments (règles) <xsl:template match="critère"> </xsl:template> <xsl:value-of select="critère"/> <xsl:for-each select="critère"> </xsl:for-each> <xsl:sort select= critère /> <xsl:apply-templates /> <xsl:apply-templates select="critère" /> Élément racine Signification règle qui précise ce qui doit être produit en sortie pour tout élément vérifiant le critère ; si le critère est "/", cela concerne l'ensemble du document règle qui produit directement en sortie le contenu de l'élément spécifié par le critère règle qui itère sur tous les éléments satisfaisant le critère ; il faut préciser ce qui doit être produit pour chaque occurrence d'éléments sélectionnés trie les éléments pris en compte dans une itération xsl:for-each dit que toutes les règles portant sur des sous-éléments de l'élément courant doivent être appliquées règle disant qu'on n'applique que les règles qui portent sur les sous-éléments de l'élément courant précisés par le critère 7

Critères <xsl:template match= equipe > <xsl:for-each select= personne > toutes les <personne> de l <equipe> <xsl:for-each select= personne/nom > tous les <nom> des <personne> de l <equipe> <xsl:for-each select= */*/nom > tous les element <nom> quelque part en profondeur 2 <xsl:for-each select= *//age > tous les element <age> à n importe quelle profondeur <xsl:for-each select=../laboratoire > tous les <laboratoire> au même niveau que <equipe> 8

Critères. élément courant / élément racine * tous les éléments @* tous les attributs d'une balise @langue attribut langue 9

Critères <xsl:template match= equipe > <xsl:for-each select= personne[telephone] > chaque <personne> qui a un <telephone> <xsl:for-each select="personne[@sexe = femme ]"> chaque <personne> dont l attribut sexe est femme <xsl:for-each select= personne > <xsl:sort select= nom /> trie sur la valeur de l élément <nom> dans <personne> <xsl:sort select= @grade /> trie sur la valeur de l attribut grade de <personne> 10

Génération/transformation Si output est réglé sur html, on écrit directement les balises dans le xsl: <table> <xsl:for-each select= personne > <tr><td><xsl:value-of select= nom /></td> <td><xsl:value-of select= prenom /></td> <td><xsl:value-of select= @sexe /></td> <td><xsl:value-of select= addresse/telephone /></td></tr> </xsl:for-each> </table> 11

Génération/transfomation Pour générer des éléments XML <xsl:element name= personne > </xsl:element> Des attributs à l élément courant <xsl:attribute name= sexe > bidule </xsl:attribute> ATTENTION EN HTML: Pas de: <a name= #<xsl:value-of select= nom > ></a> Mais: <a><xsl:attribute name= name > #<xsl:value-of select= nom /></xsl:attribute></a> 12

Règles relatives <xsl:stylesheet > <xsl:template match= / > <xsl:for-each select="article/ > <xsl:apply-templates select="texte"/> </xsl:for-each> </xsl:template> <xsl:template match="texte"> <xsl:apply-templates /> </xsl:template> <xsl:template match="paragraphe"> <p><xsl:value-of /></p> </xsl:template> </xsl:stylesheet> 13

Exemple xsl:template inventaire07.xml <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="inventaire07.xsl"?> <!-- Nom de fichier : inventaire07.xml --> <!DOCTYPE INVENTAIRE[ <!ELEMENT INVENTAIRE (LIVRE*)> <!ELEMENT LIVRE (TITRE, AUTEUR+, EDITEUR, ANNEE, PAGES, PRIX)> <!ELEMENT TITRE (#PCDATA)> <!ELEMENT AUTEUR (#PCDATA)> <!ELEMENT EDITEUR (#PCDATA)> <!ELEMENT ANNEE (#PCDATA)> <!ELEMENT PAGES (#PCDATA)> <!ELEMENT PRIX (#PCDATA)> ]> <INVENTAIRE> <LIVRE> <TITRE>Introduction au XML</TITRE> <AUTEUR>Samir Souidi</AUTEUR> <EDITEUR>Osman Eyrolles Multimedia</EDITEUR> <ANNEE>2000</ANNEE> <PAGES>364</PAGES> <PRIX>euro 175.00</PRIX> </LIVRE> </INVENTAIRE> inventaire07.xsl <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl" version="1.0"> <!-- Nom de fichier Inventaire07.xsl --> <xsl:template match="/"> <H2>Description de livres</h2> <SPAN style="font-style:italic">titre : </SPAN> <xsl:value-of select="inventaire/livre/titre"/> <BR/> <SPAN style="font-style:italic">auteur : </SPAN> <xsl:value-of select="inventaire/livre/auteur"/> <BR/> <SPAN style="font-style:italic">editeur : </SPAN> <xsl:value-of select="inventaire/livre/editeur"/><br/> <SPAN style="font-style:italic">annee : </SPAN> <xsl:value-of select="inventaire/livre/annee"/><br/> <SPAN style="font-style:italic">nombre de pages : </SPAN> <xsl:value-of select="inventaire/livre/pages"/> <BR/> <SPAN style="font-style:italic">prix : </SPAN> <xsl:value-of select="inventaire/livre/prix"/> </xsl:template> </xsl:stylesheet> 14

Règles XSL <xsl:if test="expression-booléenne"> </xsl:if> test="expression- <xsl:choose> <xsl:when booléenne"> </xsl:when> <xsl:when booléenne"> </xsl:when> <xsl:otherwise> </xsl:otherwise> </xsl:choose> test="expression- <xsl:element name="nomelement"> </xsl:element> <xsl:attribute name="nomattribut"> </xsl:attribute> règle disant ce que l'on fait si l'expression booléenne est évaluée à vrai if généralisé ; permet de tester plusieurs conditions et d'avoir une alternative lorsque tous les tests échouent. règle qui produit en sortie un élément du nom indiqué. On peut y imbriquer des éléments xsl:attribute. règle qui produit en sortie un attribut qui sera inséré dans l'élément de sortie courant. 15

Contact Taha Zerrouki http://tahadz.com http://infobouirauniv.wordpress.com Taha.zerrouki@gmail.com 16