TP : Les feuilles de style XSL



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

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

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

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

Master Technologies numériques appliquées à l'histoire Deuxième année

SII Stage d informatique pour l ingénieur

Environnements informatiques

TP 5 Les CMS, la forme et le fond Internet et Outils (IO2)

1 Démarrage de Marionnet

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

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Adobe Technical Communication Suite 5

Gestion Électronique de Documents et XML. Master 2 TSM

BES WEBDEVELOPER ACTIVITÉ RÔLE

Master d Informatique Corrigé du partiel novembre 2010

Revue de code Sécuritéou Test d Intrusion Applicatif. Quel est le plus efficace pour évaluer un niveau de sécurité applicatif?

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

En date du 11 décembre 2008

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

PHP 5.4 Développez un site web dynamique et interactif

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

Gestion documentaire (Extraits du CCI version 1.2)

BIRT (Business Intelligence and Reporting Tools)

GOOGLE ANALYTICS. Ajout du code de suivi sur PowerBoutique. Ajout du code de suivi Google Analytics. Page 1 / 7 TUTO / GOOGLE ANALYTICS

VOLÉE Master of Advanced Studies RAPID APPLICATION DEVELOPMENT.

1 Questions générales PDF et PAdES Archivage Visualisation Signature DSS en tant que service...

Master Informatique Aix-Marseille Université

HTML. Notions générales

Année Universitaire ère année de Master Droit Mention Droit Privé 1 er semestre. 1 er SEMESTRE 8 matières CM TD COEFF ECTS.

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

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

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

Programmation Web. Madalina Croitoru IUT Montpellier

BASE DE DONNÉES XML NATIVE

INFO-F-404 : Techniques avancées de systèmes d exploitation

Programmation Mobile Android Master CCI

Outils logiciels pour l'ingénierie documentaire

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

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

IP & Co. 1. Service DHCP. L'objectif de ce TP est de voir l'ensemble des services élémentaires mis en oeuvre dans les réseaux IP.

Bon ben voilà c est fait!

Travaux Pratiques sur GRID 5000

SSIS Implémenter un flux

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

La base de données XML exist. A. Belaïd

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

D r o i t s D r o i t s Q u i z z : i n t e r n e t t e x t e

Référentiel ASUR. UE 1 : Enseignement général (132h) MCang = Anglais 30h Session 1 à 4 Anglais technique (en groupe de niveaux) TD 2h

Pelleas : Le projet XML pour le systeme d information documentaire du polytechnicum de Marne- la Vallée

LICENCE ADMINISTRATION PUBLIQUE. DROIT, ECONOMIE, GESTION

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

TCP/IP, NAT/PAT et Firewall

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Référentiel ASUR Prévisionnel

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

Programmation des Applications Réparties. Parsers XML DOM et SAX

Base de Connaissances SiteAudit. Utiliser les Rapports Planifiés. Sommaire des Fonctionnalités. Les Nouveautés

OFFRE DE FORMATION DANS LE SYSTÈME LMD

Projet de Semestre. Page Web Didactique de Visualisation d Algorithme. Université de Genève - semestre de printemps 2012

Introduction à Microsoft InfoPath 2010

Plate-forme de tests des fichiers XML virements SEPA et prélèvements SEPA. Guide d'utilisation

DOM - Document Object Model

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

EndNote X7.

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

UNIVERSITE DE TOULON UFR FACULTE DE DROIT REGLEMENT D EXAMEN ANNEE 2012/2017 LICENCE DROIT MENTION DROIT GENERAL

4. SERVICES WEB REST 46

Modification d une feuille de style

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

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

Netfilter & Iptables. Théorie Firewall. Autoriser le trafic entrant d'une connexion déjà établie. Permettre le trafic entrant sur un port spécifique

Services de SMS professionnels

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Windows Serveur 2008

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

TP Administration Oracle

Interagir avec le SharePoint. Version 1.0

SQL Parser XML Xquery : Approche de détection des injections SQL

D022751/01 TEXTE SOUMIS EN APPLICATION DE L ARTICLE 88-4 DE LA CONSTITUTION PAR LE GOUVERNEMENT, À L ASSEMBLÉE NATIONALE ET AU SÉNAT.

Manipulation 4 : Application de «Change».

Une Architecture de Bureaux Graphiques Distants Sécurisée et Distribuée

Le standard d'échange de données pour l'archivage (SEDA)

Administration de Parc Informatique TP03 : Résolution de noms

Notes pour l utilisation d Expression Web

Réalisation d un portail captif d accès authentifié à Internet

données en connaissance et en actions?

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Alarme intrusion filaire AEI HA zones

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

Navigation dans les fichiers de configuration 1

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

Les outils de création de sites web

RELEASE NOTES. Les nouveautés Desktop Manager 2.8

Transcription:

TP : Les feuilles de style XSL 1 Documents XML et DTD A l issue du TP précédent vous devez disposer d un document XML qui regroupe : la définition des unités, la définition des intervenants, la composition des parcours en semestres et unités, 2 Feuilles de style XSL Objectifs : A partir du document XML (séance précédente) qui décrit les unités d enseignement, les intervenants, les semestres et les parcours du M1, nous allons maintenant produire une page XHTML puis, plus tard, une série de pages. 2.1 Première transformation Construisez une feuille de style XSL permettant de produire une page XHTML qui liste les UE et les informations dont nous disposons (utilisez la commande xsltproc ). Faites en sorte que la page produite soit valide vis à vis de la norme du W3C (utilisez tidy ). Conseil 1 : Prenez soin de concevoir des feuilles de style qui ne sont pas dirigées par les données mais qui, au contraire, choisissent les données et leur traitement. Conseil 2 : Utilisez la clause xsl:output 1 pour produire des documents codés en iso-8859-1 et bien associés à la DTD du XHTML en version stricte. Conseil 3 : structurez votre feuille XSL autour d une règle nommée 2 qui effectue le travail : <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:template match="/"> <html><body> <xsl:call-template name="liste-des-unites" /> </body></html> <xsl:template name="liste-des-unites"> construire la liste des unités </xsl:stylesheet> Conseil 4 : N hésitez pas à construire, pour les éléments principaux (UE, intervenant, semestre, etc.), des règles XSL spécifiques pour produire le code XHTML. Conseil 5 : A l aide du script bash ci-dessous augmentez la taille de votre fichier XML : 1. 05-xsl.html#xsl :output 2. 05-xsl.html#regle-nommee 1

#!/bin/bash for((i=1; i<10; i++)); do echo "<UE id= ue-$i >"; echo " "; echo " <ref-intervenant ref= intervenant-$i >"; echo "</UE>"; echo " "; done for((i=1; i<10; i++)); do echo "<intervenant id= intervenant-$i >"; echo " "; echo "</intervenant>"; done exit 0 2.2 Lister les données Étape 1 : ajoutez une règle nommée pour produire les fiches de chaque intervenant avec toutes les informations disponibles (utilisez par exemple un <h2> par intervenant). Étape 2 : Faites en sorte que chaque intervenant ait un identifiant dans le fichier XML (attribut id de type ID). Utilisez cet identifiant et l attribut id du XHTML (sur l élément de votre choix) pour que des ancres soient définies dans votre fichier XHTML. L URL ci-dessous doit pouvoir vous amener directement à la description de l enseignant en question : votre-page.html#identifiant-enseignant Étape 3 : Dans une nouvelle règle nommée, utilisez le principe des ancres pour construire, au début de votre fichier XHTML, une liste des intervenants (avec <ul><li>..</li>..</ul>). Dans chaque élément de cette liste, vous placerez un lien permettant un accès direct à la fiche d un intervenant : <li><a href="#identifiant-de-xyz">xyz</a></li> Étape 4 : Faites la même chose pour les unités d enseignement. Conseil : pour l instant, ne traitez pas finement les champs de desciption contenant du texte enrichi. Vous pouvez simplement construire un paragraphe : <p><xsl:value-of select="string(resume)" /></p> 2.3 Lier les données Modifiez l affichage des unités d enseignement afin que chaque UE soit accompagnée de la liste de ses intervenants. Chaque intervenant sera présenté sous la forme d un lien direct vers sa fiche. Conseil : pour chaque entité susceptible d être la cible d un lien, je vous conseille de mettre en place deux règles : 2

<xsl:template match="intervenant"> produire la fiche d un intervenant <xsl:template match="intervenant" mode="ref"> produire un lien vers la fiche d un intervenant 3 Construire un site Web statique 3.1 Sorties multiples Étape 1 : Consultez la documentation sur XSLT 1.1 3 pour comprendre le fonctionnement de l élément <xsl:document>. Étape 2 : Modifiez votre feuille de style et utilisez cette directive pour produire trois fichiers XHTML : index.html : point d entrée du site, unites.html : description des unités d enseignement, intervenants.html : description des intervenants, Attention : Les liens entre UE et intervenants doivent toujours fonctionner. Étape 3 : En utilisant l élément xsl:for-each 4 de XSL, faites en sorte de produire autant de fichiers XHTML que d unités d enseignement. Étape 4 : Même principe pour les intervenants (une page XHTML par intervenant). 3.2 Traiter les parcours et les semestres Ajoutez à votre feuille XSL la production d une page XHTML par parcours. Ces pages doivent présenter le parcours, sa description, les semestres et mettre en place les liens entre semestres et unités d enseignement. Conseil : N hésitez pas à construire une nouvelle feuille que vous allez ensuite inclure dans la feuille principale (clause xsl:include 5 ). 3.3 Ajouter les liaisons inverses Étape 1 : Ajoutez à la fiche de chaque intervenant, la liste des unités d enseignement qu il assure. Faites en sorte que cette liste soit constituée de liens vers les fiches de ces unités d enseignement. Conseil : Utilisez une variable XSL associée à une expression XPATH qui va, pour chaque intervenant, extraire les UE utiles. Étape 2 : Ajoutez à la fiche de chaque intervenant les liens vers le(s) parcour(s) dont il est le responsable. Étape 3 : Ajoutez à la fiche de chaque UE, la liste des parcours dans lesquels elle apparaît. Faites en sorte que cette liste soit constituée de liens vers les fiches de ces parcours. 3. http://www.w3.org/tr/xslt11/#multiple-output 4. 05-xsl.html#xsl-for-each 5. 05-xsl.html#xsl-include 3

4 Améliorons nos pages 4.1 Traitement du texte enrichi Faites en sorte que les éléments XML qui contiennent du texte enrichi (mélange de texte et d éléments p, b, i, etc.) soient correctement présentés dans vos pages XHTML. 4.2 Ajouter un menu Ajoutez dans chaque page XHTML un menu statique qui permet d accéder à la page d accueil, à la liste des intervenants, à la liste des unités d enseignement. 4.3 Des requêtes XPATH plus compliquées Étape 1 : Commencez par construire une règle nommée avec paramètres pour construire une liste de liens à partir d un ensemble de noeuds : <xsl:template name="faire-une-liste" > <xsl:param name="objets" /> <xsl:param name="nom" /> <!-- produire une liste de liens vers ces objets --> Étape 2 : Utilisez cette règle pour construire la liste des UE de 3 crédits qui se déroulent à Luminy (une seule expression XPATH). Étape 3 : Construire la liste des intervenants qui n enseignent qu à Luminy (une seule expression XPATH). 4.4 Un traitement plus rapide Pour améliorer l efficacité de vos transformations XSL, utilisez la clause xsl:key 6 afin de pouvoir retrouver facilement les UE à partir des identifiants des intervenants. Profitez-en pour lister (avec la règle nommée précédente), les intervenants qui s occupent de trois UE. 5 Transformation XML vers XML Commencez par récupérer le fichier XML décrivant les unités, les parcours et les intervenants du Master Informatique (fichier donnees-master.zip 7 ). A la fin de ce TP, vous avez du concevoir une DTD et un document XML décrivant le Master. Vous pouvez maintenant, à l aide d une feuille de style XSL, enrichir votre description en exploitant les informations qui se trouvent dans le document XML récupéré. Attention, ce document n a pas de structure particulière. Vous devez donc le transformer pour respecter votre DTD. Voila un petit exemple (à titre d illustration) de feuille de style XSL permettant de reconstruire une unité à partir des informations du fichiers XML donné. 6. 05-xsl.html#xsl-key 7. donnees-master.zip 4

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:output method="xml" indent="yes" /> <xsl:template match="/"> <unites> <xsl:for-each select="//objet[@type = enseignement ]"> <unite> <id><xsl:value-of select="@id"/></id> <nom><xsl:value-of select="info[@nom= nom ]/@value"/></nom> <credits><xsl:value-of select="info[@nom= nb_credits ]/@value"/></credits <resume><xsl:copy-of select="info[@nom= contenu ]/*"/></resume> </unite> </xsl:for-each> </unites> </xsl:stylesheet> 5