Domaines nominaux XSLT



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

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>

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

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

Gestion Électronique de Documents et XML. Master 2 TSM

Livre Blanc WebSphere Transcoding Publisher

Master d Informatique Corrigé du partiel novembre 2010

Adobe Technical Communication Suite 5

4. SERVICES WEB REST 46

XML et travail collaboratif : vers un Web sémantique

Gestion documentaire (Extraits du CCI version 1.2)

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

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

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

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

SII Stage d informatique pour l ingénieur

Couches 4 à 7 : Traitement des données

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

Programmation Internet Cours 4

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

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

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

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

Installation de DocBook sur un système Linux

Les services usuels de l Internet

L architecture des services Web

Systèmes d'informations historique et mutations

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

Petite définition : Présentation :

PROSOP : un système de gestion de bases de données prosopographiques

arcopole Studio Version 3.1

Introduction à Microsoft InfoPath 2010

Outils logiciels pour l'ingénierie documentaire

Programmation Internet

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

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

From supply chain to demand chain

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

Systèmes d Information (SI) Zohra Zelfani

«Expertise de ressources «pour l édition de revues numériques

Introduction 5. I - Principes : Un procédé de création de contenu 7. II - Caractéristiques 9. III - Description technique 11

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

Méthodes et outils employés pour développer des logiciels libres

Optimiser moteur recherche

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

XML : documents et outils

Module http MMS AllMySMS.com Manuel d intégration

creer votre site internet en html/css

L'essentiel de XML. Cours XML. Olivier Carton

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

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

HTML. Notions générales

Archivage pérenne : les formats conformes Version :

Principes d ergonomie des interfaces WEB ( INTERNET / INTRANET )

Malgré son aspect spartiate, Freeplane offre de nombreuses fonctionnalités en particulier dans le domaine de la diffusion des cartes sur le Web.

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

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

En date du 11 décembre 2008

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

Bibliothèque numérique de l enssib

Web Application Models

Annonceurs et professionnels qui l'ont expérimentée le savent, la mixité des canaux est aujourd'hui une stratégie gagnante en marketing direct.

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

Métadonnées, ontologies et documents numériques

SECTION 5 BANQUE DE PROJETS

XML et recherche d information

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

Les outils de création de sites web

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

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

LES TECHNOLOGIES DU WEB APPLIQUÉES AUX DONNÉES STRUCTURÉES

Configuration Interface for MEssage ROuting

Adaptabilité d un MOOC aux styles d apprentissage. Hubert Kadima Directeur de Recherche LARIS/EISTI hubert.kadima@eisti.fr

Présentation générale du projet data.bnf.fr

Catalogue des formations Edition 2015

Formation Site Web. Menu du jour. Le web comment ça marche? Créer un site web Une solution proposée pour débuter La suite?

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

Application Web et J2EE

Manuel d'utilisation du navigateur WAP Palm

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

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

Nombre de pages : 76. Les termes relatifs au socle ENT inscrits dans ce document sont définis dans le glossaire référencé : SocleENT_Glossaire.

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

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

Manuel d intégration API FTP SMS ALLMYSMS.COM

Design et implémentation d un logiciel de validation et de génération de configurations réseaux

BIRT (Business Intelligence and Reporting Tools)

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

CONSERVATOIRE NATIONAL DES ARTS ET METIERS. Centre Régional Associé de Nantes. Mémoire présenté en vue d obtenir l examen probatoire en informatique

FileMaker Server 12. publication Web personnalisée avec XML

Introduction à. Oracle Application Express

1. Installation du Module

ECLIPSE ET PDT (Php development tools)

UE 8 Systèmes d information de gestion Le programme

Sage CRM. Sage CRM 7.3 Guide du portable

VOLÉE Master of Advanced Studies RAPID APPLICATION DEVELOPMENT.

Sana Sellami. Licence Professionnelle SIL

Synthèse du sondage sur les éditeurs XML TEI/EAD

Transcription:

Domaines nominaux? Domaines nominaux XSLT Nicolas Singer Maître de conférence, université Champollion Un document peut contenir des balises issues de plusieurs DTD différentes Un document peut être composé de fragments de plusieurs documents Se pose alors le problème de l unicité du nom de la balise Exemple de problème avec les noms Un commentaire de bas de page On utilise deux DTD, une pour définir des fonctions mathématique (math.dtd), l autre pour des éléments de mise en page textuels (texte.dtd) L élément fn est utilisé par les deux DTD, il y a donc conflit Exemple de problème avec les noms <! - Ce fn défini une fonction mathématique --> <! - Ce fn défini une note de bas de page --> Un commentaire de bas de page Le problème se pose aussi sans DTD (ici le document a été constitué en copiant-collant la fonction mathématique dans le document initial. Si une feuille de style doit mettre en forme les notes de bas de page, elle agira aussi sur la fonction mathématique. Principe des domaines nominaux Une ressource est identifiée de façon unique par un URI Ce peut être un URL (http://www.w3.org...) Ce peut être un FPI (identificateur public de la forme fpi:-/inria//dtd//fr Une DTD est identifiée par un URI Pour garantir l'unicité d'un nom de balise on préfixe ce nom par l'uri de sa DTD avec un ':' séparateur Ex: <http://www.w3.org/tr/mathml.html:fn> Résolution du problème version 1 <http://www.w3c.org/mathml.html:fn> < http://www.w3c.org/mathml.html:fn nom> f </http://www.w3c.org/mathml.html:nom> < http://www.w3c.org/mathml.html:fn arg> x </http://www.w3c.org/mathml.html:arg> < http://www.w3c.org/mathml.html:fn res> x * x </http://www.w3c.org/mathml.html:res> </http://www.w3c.org/mathml.html:fn> <http://www.w3c.org/basictext.html:fn> Un commentaire de bas de page </http://www.w3c.org/basictext.html:fn> Plus de conflits grâce au préfixe Inconvénient : Notation très lourde 1

Associer un URI à un préfixe court Pour alléger la notation on peut associer à un URI un mot qui sera utilisé à sa place dans le reste du document Cet association se fait dans l'élément racine du document en y ajoutant l'attribut xmlns:nomcourt = "URI" Où nom court est l'abbrévation sur l'on souhaite donner à l'uri. Résolution du problème version 2 <article xmlns:math="http://www.w3c.org/mathml.html" xmlns:texte="http://www.w3c.org/basictext.html" > <math:fn> <math:nom> f </math:nom> <math:arg> x </math:arg> <math:res> x * x </math:res> </math:fn> <text:fn> Un commentaire de bas de page </text:fn> On peut déclarer un domaine par défaut Un domaine par défaut s'applique à tous les éléments descendants de l'élément dans lequel il est déclaré Il se déclare en ne faisant pas figurer de nom après l'attribut xmlns Résolution du problème version 3 <article xmlns="http://www.w3c.org/mathml.html" xmlns:text="http://www.w3c.org/basictext.html" > <! - Ce fn vient de la DTD math.dtd (domaine par défaut) --> <text:fn> Un commentaire de bas de page </text:fn> XSLT? XSLT? Extensible Stylesheet Language : Pour transformer un document XML en un document dans un autre format Pour formatter un document Composé de deux langages : XSLT : langage de transformation de documents XSL-FO: langage de formatage de documents avec utilisation de XPath en complément 2

Principe de XSL Structure d'un document XSL XML Fichiers XSL Un document XSL est un document au format XML dont la racine est xsl:stylesheet Processeur XSL HTML WML RDF Navigateur Téléphone WAP Traitement de textes PDF Imprimante XSL est un langage de programmation Référence à un espace de noms pour XSL xmlns:xsl=http://www.w3.org/1999/xsl/transform Référence à un espace de noms pour le langage cible exemple: XHTML xmlns="http://www.w3.org/tr/xhtml1/dtd/xhtml1- transitional.dtd" Structure d'un document XSL Un programme XSL est composé d'un ensemble de règles Règle : condition action <xsl:template match="sélecteur"> action Le sélecteur est un chemin XPath qui sélectionne les nœuds sur lesquels doivent s'appliquer la transformation définie par action <xsl:value-of select="expression XPath" /> Cette commande signifie "insère ici le résultat de l'évaluation de l'expression spécifiée dans le select". <xls:apply-template select="expression XPath" /> Cette commande signifie "appliquer récursivement aux fils du nœud courant sélectionnés par l'expression XPath, toutes les règles possibles" La partie action peut comporter du texte (qui sera écrit dans le document de sortie) et aussi des commandes Et le fichier XSL (test.xsl) suivant : Soit le fichier XML suivant : <?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet href="test.xsl" type="text/xsl"?> <biblio> <livre tomes="3"> <titre> Les Misérables </titre> <auteur> Victor Hugo </auteur> </biblio> <b> <xsl:value-of select="livre/titre" /> </b> par <i> <xsl:value-of select="livre/auteur" /> </i> Ce livre comporte <xsl:value-of select="livre/@tomes" /> tômes. 3

Le fichier produit est : <b> Les misérables </b> par <i> Victor Hugo </i> Ce livre comporte 3 tômes Si le fichier XML est à présent (plusieurs livres au lieu d'un seul) : <?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet href="test.xsl" type="text/xsl"?> <biblio> <livre tomes="3"> <titre> Les Misérables </titre> <auteur> Victor Hugo </auteur> <livre tomes="1"> <titre> Candide </titre> <auteur> Voltaire </auteur> </biblio> Le fichier XSL devient : Il n'est pas envisageable d'utiliser un xsl:value-of pour chacun des libres Cela demanderait de connaître le nombre de libre présent dans le document XML On utilise donc une approche récursive On crée une règle qui s'occupe d'un livre et on appelle cette règle pour tous les livres présents au moyen de : <xls:apply-template select="expression XPath" /> Cette commande signifie "appliquer récursivement aux fils du nœud courant sélectionnés par l'expression XPath, toutes les règles possibles" <xsl:apply-templates select="livre"/> <-- règle s'occupant d'un livre --> <xsl:template match="livre"> <br /> Le livre <xsl:value-of select="titre" /> a été écrit par <xsl:value-of select="auteur" /> et comporte <xsl:value-of select="@tomes" /> tômes. Un exemple pour illustrer XSL Le fichier produit est : <br /> Le livre Les misérables a été écrit par Victor Hugo et comporte 3 tomes. <br /> Le livre Candide a été écrit par Voltaire et comporte 1 tomes. Un exemple plus complet Si on modifie le fichier XSL par : <h2>auteurs référencés</h2> <ul> <xsl:apply-templates select="//auteur" /> </ul> <h2>livres référencés</h2> <ul> <xsl:apply-templates select="//titre" /> </ul> <h2>description par livre </h2> <xsl:apply-templates select="livre" /> <xsl:template match="livre"> <br /> Le livre <xsl:value-of select="titre" /> a été écrit par <xsl:value-of select="auteur" /> et comporte <xsl:value-of select="@tomes" /> tômes. <-- règle s'occupant d'un auteur --> <xsl:template match="auteur"> <li> <xsl:value-of select="." /> </li> <-- règle s'occupant d'un titre de livre --> <xsl:template match="titre"> <li> <xsl:value-of select="." /> </li> 4

Un exemple pour illustrer XSL Le fichier produit est : <h2> Auteurs référencés</h2> <ul> <li> Victor Hugo </li> <li> Voltaire </li> </ul> <h2> Livres référencés</h2> <ul> <li> Les misérables </li> <li> Candide </li> </ul> <h2> Description par livre </h2> <br /> Le livre Les misérables a été écrit par Victor Hugo et comporte 3 tomes. <br /> Le livre Candide a été écrit par Voltaire et comporte 1 tomes. Un exemple pour illustrer XSL Ce qui donne graphiquement : 5