Introduction à XML. 1. Notions de base. Introduction à XML



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

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

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

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

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

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

SII Stage d informatique pour l ingénieur

Gestion Électronique de Documents et XML. Master 2 TSM

Programmation Internet Cours 4

Programmation Web. Introduction

Les outils de création de sites web

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

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

Devenez un véritable développeur web en 3 mois!

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

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

Livre Blanc WebSphere Transcoding Publisher

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Master d Informatique Corrigé du partiel novembre 2010

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

OASIS Date de publication

Document Object Model (DOM)

HTML. Notions générales

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

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

Gestion documentaire (Extraits du CCI version 1.2)

XML : documents et outils

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

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

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

Installation de DocBook sur un système Linux

Programmation Web. Madalina Croitoru IUT Montpellier

Manuel d intégration API FTP SMS ALLMYSMS.COM

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

PHP 5.4 Développez un site web dynamique et interactif

Petite définition : Présentation :

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

Systèmes d'informations historique et mutations

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

Adobe Technical Communication Suite 5

Gestion d identités PSL Exploitation IdP Authentic

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

4. SERVICES WEB REST 46

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

XML et Bases de données. Les bases de données XML natives.

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

Configuration d'un annuaire LDAP

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

Configuration Interface for MEssage ROuting

FORMATION / CREATION DE SITE WEB / 4 JOURNEES Sessions Octobre 2006

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

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

7.0 Guide de la solution Portable sans fil

L'essentiel de XML. Cours XML. Olivier Carton

Web Application Models

La balise object incorporer du contenu en HTML valide strict

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

Webmaster / Webdesigner / Wordpress

Infrastructure - Capacity planning. Document FAQ. Infrastructure - Capacity planning. Page: 1 / 7 Dernière mise à jour: 16/04/14 16:09

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

Programmation Internet

Formation HTML / CSS. ar dionoea

WordPress Référencement naturel (SEO) Optimiser. son référencement. Daniel Roch. Préface d Olivier Andrieu

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

Introduction à Microsoft InfoPath 2010

BES WEBDEVELOPER ACTIVITÉ RÔLE

Formation : WEbMaster

L architecture des services Web

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

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Architectures web/bases de données

Initiation à html et à la création d'un site web

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

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

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

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

Description de la maquette fonctionnelle. Nombre de pages :

Annuaires LDAP et méta-annuaires

LES FICHES Domaines. Domaine D1. Travailler dans un environnement numérique

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

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

Caruso33 : une association à votre service

02/02/2011. test 1. Communication visuelle & web. Pao. Principes fondamentaux. Les six principes de base. La mise en page. Module sur trois journées

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

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

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

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Outils logiciels pour l'ingénierie documentaire

Formation Word/Excel. Présentateur: Christian Desrochers Baccalauréat en informatique Clé Informatique, 15 février 2007

Système de gestion de contenu

Les services usuels de l Internet

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

Comment créer vos propres pages web?

Principes d ergonomie des interfaces WEB ( INTERNET / INTRANET )

Mise en service HORUS version HTTP

XML et DOM. Matériel de cours. mars 1999 version 0.3 dernière modification: 24/3/99

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

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

Transcription:

Introduction à XML INTRODUCTION À XML 1. NOTIONS DE BASE 2. EXEMPLE SIMPLE 3. SYNTAXE XML 3.1. LES CARACTÈRES SPÉCIAUX 4. DTD 5. DOCUMENT XML AVEC FEUILLE DE STYLE CSS 6. XLS ET XSLT 6.1. EXEMPLE DE DOCUMENT XSLT 6.2. AUTRE EXEMPLE DE DOCUMENT XSLT 6.3. TRI D'ÉLÉMENTS AVEC XSLT 1. Notions de base Extensible Markup Language Un métalangage: un langage pour définir des langages o Aucune balise prédéfinie. o L'usager définit ses propres balises Sous-ensemble de SGML : plus simple, plus facile à utiliser o La spécification de XML tient dans 26 pages, celle de SGML prend plus de 500 pages! Plusieurs langages sont des applications XML (comme le HTML est une application SGML) o MathML (Mathematical Markup Language) pour écrire des expressions mathématiques o WML (Wireless Markup Language) pour des clients Wap (Wireless Application Protocol) par exemple des téléphones mobiles o SOAP (Simple Object Access Protocol) protocole d'échange d'informations o XHTML pour des données affichées par un navigateur o Voir http://www.oasis-open.org/cover/xml.html#applications Pour décrire des données o Ne sert pas à afficher les données mais à stocker des informations structurées Les données représentées au moyen de XML peuvent être manipulées par la suite par différentes applications. Les données peuvent être affichées mais sont surtout transformées par des applications. o Rendu au moyen de feuille de style : CSS et XSL (XML Stylesheet Language) o Pour transformer par exemple un document XML en HTML o Pour transformer par exemple un document XML en pdf o Possibilité de manipuler les données avec Javascript et DOM Possibilité d utiliser des balises provenant de différents langages de balises grâce aux espaces de nommage (namespace) 2008 Hélène Desaulniers 1

2. Exemple simple <annuaire> <nom>leblanc</nom> <prénom>carole</prénom> <téléphone>375-4567</téléphone> <email>cleblanc@sympatico.ca</email> <nom>després</nom> <prénom>gilles</prénom> <téléphone>373-3211</téléphone> <email>despresg2@cgo.com</email> </annuaire> <?xml version="1.0" encoding="iso8859-1"?> o <?xml version="1.0"?> indique au navigateur que le document est un document écrit en xlm dans la version 1.0 o C'est ce qu'on appelle la déclaration xml. o Ce n'est pas une balise XML, c'est un PI (Processing Instruction) une instruction de traitement destinée à l'application qui traite le document (l'agent utilisateur). L'attribut encoding permet de spécifier le jeu de caractères du document. Ici le ISO8859-1 Simple fichier texte avec extension xml Voir http://linux04.uqtr.ca/~helene/xml/exemple1.xml Le navigateur affiche simplement les différents nœuds du document 2008 Hélène Desaulniers 2

On peut réduire la présentation en "fermant"des embranchements 3. Syntaxe XML Syntaxe stricte o Chaque balise ouvrante a une balise fermante o Une élément vide (sans contenu) peut s'écrire sans balise fermante, avec seulement une balise ouvrante de la forme <nom-balise/> o Les éléments doivent être correctement imbriqués o Les valeurs d attributs doivent être encadrées de guillemets ou apostrophe, o La casse doit être respectée dans le nom des éléments et attributs o Le document a une racine unique Les commentaires sont introduits de la même façon que dans un document html: <!--commentaires --> <annuaire> <nom>leblanc</nom> <prénom>carole</prénom> <categorie type="ami"></categorie> <téléphone>375-4567</téléphone> <email>cleblanc@sympatico.ca</email> <nom>després</nom> <prénom>gilles</prénom> 2008 Hélène Desaulniers 3

<categorie type='collegue' /> <téléphone>373-3211</téléphone> <email>despresg2@cgo.com</email> </personne Voir http://linux04.uqtr.ca/~helene/xml/testvariantesyntaxique.xml Le XHTML est le langage HMTL avec la syntaxe XML Un document qui suit la syntaxe XML est un document bien formé. Le navigateur n affiche que les documents bien formés. Voir http://linux04.uqtr.ca/~helene/xml/testxmlerreur.xml <?xml version="1.0" encoding="iso8859-1"?> <annuaire> <nom>leblanc</nom> <prénom>carole</prénom> <téléphone>375-4567</téléphone> <email>cleblanc@sympatico.ca</email> <nom>després</nom> <prénom>gilles</prenom> <téléphone>373-3211</téléphone> <email>despresg2@cgo.com</email> </annuaire> 3.1. Les caractères spéciaux Afin d'avoir la possibilité d'utiliser des caractères qui ont un sens particulier en XML, il y a des références d'entités de caractères qui sont prédéfinies: Caractère Référence d'entité de caractères > > < <; & &amp " " ' &apos; Les autres références d'entités de caractères couramment utilisées en HTML ( par exemple) ne sont pas prédéfinies en XML 4. DTD Spécifie la grammaire et le vocabulaire du langage Décrit la structure des éléments du document en donnant l'ensemble des règles et propriétés des éléments o Nom des éléments o Imbrication des éléments o Ordre de succession des balises o Attributs des éléments 2008 Hélène Desaulniers 4

Peut être externe ou interne au document XML. Dans l'exemple ci-dessous, nous avons une DTD interne: de <!DOCTYPE annuaire [ à ]> Un élément du langage est introduit par <!ELEMENT Nom_de_l'élément Nom_des_enfants > o Par exemple <!ELEMENT annuaire (personne*) > indique que annuaire est un élément du langage et qu'il contient 0 ou plus éléments personne o Par exemple <!ELEMENT nom (#PCDATA) > indique que nom est un élément du langage et qu'il contient du texte. Un document qui respecte la DTD est un document valide: l'exemple ici est un document bien formé et non valide <!DOCTYPE annuaire [ <!ELEMENT annuaire (personne*)> <!ELEMENT personne (nom,prénom,téléphone,email)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prénom (#PCDATA)> <!ELEMENT téléphone (#PCDATA)> <!ELEMENT email (#PCDATA)> ]> <annuaire> <prénom>carole</prénom> <nom>leblanc</nom> <téléphone>375-4567</téléphone> <email>cleblanc@sympatico.ca</email> <nom>després</nom> <prenom>gilles</prenom> <telephone>373-3211</telephone> <email>despresg2@cgo.com</email> </annuaire> Voir http://linux04.uqtr.ca/~helene/xml/exemple2.xml Il y a peu de service en ligne pour valider un document XML. Par exemple: o http://www.xmlvalidation.com/xml.0.html?l=0 Attention cependant, certains valideurs ne vérifient pas comme tel la validité du document au sens de la DTD, ils vérifient seulement que le document est bien formé. Un attribut d'élément du langage est introduit par <!ATTLIST Nom_de_l'élément Nom_de_l'attribut Type Valeur_par_défaut > Par exemple: <!ATTLIST téléphone lieu (maison travail) "maison" > indique que l'élément téléphone admet un attribut lieu dont la valeur peut être maison ou travail et dont la valeur par défaut est maison. Pour avoir une DTD externe, on utilise le mot SYSTEM dans la déclaration de type de document: o <!DOCTYPE annuaire SYSTEM "http://linux04.uqtr.ca/~helene/xml/annuaire.dtd"> 2008 Hélène Desaulniers 5

o Voir http://linux04.uqtr.ca/~helene/xml/exemple3.xml 5. Document XML avec feuille de style CSS On associe une feuille de style à un document xml à l'aide d'un PI (Processing Instruction) o <?xml-stylesheet href="styleannuaire.css" type="text/css"?> La feuille de style a la même syntaxe que pour HTML personne{display:block} nom{font-size:12pt;color:red;} prénom{font-size:10pt;} téléphone{font-style:italic;} email{ color:blue} Voir http://linux04.uqtr.ca/~helene/xml/exemple4.xml Il y a une autre méthode pour associer des propriétés visuelles à des éléments xml c'est la feuille de style XSLT 6. XLS et XSLT XSL: extensible Stylesheet Language o Comprend 3 parties: XSLT: un langage pour transformer un document xml XPath: un langage pour définir des parties d'un document xml XSL-FO : un langage pour formater un document xml Contient des possibilités de formatage (FO pour Formating Object) plus puissantes que des balises HTML Intéresse plus particulièrement le monde des typographes. XSLT est dont un langage pour transformer un document XML (document source; en fait arbre source) en un document d'un autre type (un document XHTML par exemple ou HTML) (document résultant, arbre résultant) o Filtrer et trier des données XML o Générer une table de matière, un index o Rendre des données XML pour différents media: écran, papier, voix Essentiellement un document XSLT comprend une série de règles de gabarit (template rules). o C'est un document texte, externe au document contenant les données XML o Le fichier porte l'extension.xsl o C'est un document XML bien formé <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform">... </xsl:stylesheet> Une règle de gabarit est introduite par l'élément xsl:template. Elle comprend 2 parties: 2008 Hélène Desaulniers 6

o Un modèle pour désigner un nœud de l'arbre source sur lequel s'applique la règle C'est l'attribut match de l'élément xsl:template. La forme la plus simple d'un modèle est le nom d'un élément Par exemple xsl:template match="personne" introduit une règle de gabarit pour l'élément personne D'une façon générale, la valeur de l'attribut match est un chemin de localisation qui désigne un nœud du document source. Ce chemin de localisation est spécifié au moyen d'une syntaxe précise : le XPath. o Une description du nœud de l'arbre résultant. C.est le contenu de l'élément xsl:template. Dans la description de ce nœud résultant, on a accès au contenu et aux attributs du nœud de l'arbre source L'élément xsl:value-of permet d'accéder au contenu d'un élément en format texte. L'élément est désigné par son chemin de localisation et correspond à l'attribut sélect <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="text" /> <xsl:template match="annuaire"> <p> <xsl:value-of select="personne"/> </p> </xsl:stylesheet> Voir http://linux04.uqtr.ca/~helene/xml/exemple5.xml Le processeur XLT parcourt l'arbre source et pour chaque nœud rencontré, il applique la règle de gabarit correspondante L'arbre résultant est complètement séparé de l'arbre source et dans la transformation d'un élément source vers un élément résultant, on peut: enlever des éléments, modifier l'ordre des éléments, supprimer des éléments. On peut appliquer la transformation o Coté serveur Le serveur envoie le document résultant o Coté client Le serveur envoie les documents XML et XSLT Le navigateur utilise un processeur XSLT qui applique les transformations du XSL sur le XML Nécessite IE6 ou Netscape6+, Mozilla (supportent XSLT1.0) o Manuellement Un programme lit le document XML et XSL et produit le document résultant SAXON XLT Processor (http://saxon.sourceforge.net/saxon6.5.3/instant.html) 1 1 Téléchargez et installez l'application. Ajoutez le répertoire de saxon.exe dans la variable path et entrer la commande saxon o <nom du ficher html> -a <nom du fichier xml> 2008 Hélène Desaulniers 7

6.1. Exemple de document XSLT Feuille de style pour afficher en HTML les données de annuaire1.xml (même contenu que exemple1.xml avec la déclaration d'une feuille de style. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="annuaire"> <html> <head> <title>annuaire</title> </head> <body> <h1>voici la liste des personnes inscrites</h1> <ul> <xsl:apply-templates/> </ul> </body> </html> <xsl:template match="personne"> <li> <xsl:value-of select="prénom"/> <xsl:value-of select="nom"/> </li> </xsl:stylesheet> Le document lui-même est un document XML mais il a l'extension xls L'attribut xmlns:xsl=http://www.w3.org/1999/xsl/transform désigne un espace de nommage (xmlns pour XMLNameSpace) o Ça signifie que tous les noms de balises qui ont le préfixe xsl font référence à la o spécification XSL telle que définie dans http://www.w3.org/1999/xsl/transform Par exemple l'élément xsl:template fait référence à l'élément template de l'espace de nommage xsl Le document XML qui va utiliser la feuille de style formathtml1.xls doit contenir la ligne: <?xml-stylesheet type="text/xsl" href="formathtml1.xsl"?> Le processeur parcourt l'arbre du document source. À chaque noeud qu'il rencontre dans l'arbre il cherche une règle de gabarit qui lui est associé. o Si il en trouve une, il l'applique. (Si il en trouve plusieurs il applique des règles de précédence.) o Si il ne trouve aucune règle pour un élément, il applique une règle par défaut. Dans le cas de annuaire1.xml. le processeur trouve 2 règles de gabarit o Une règle pour le nœud annuaire (<xsl:template match="annuaire">). o Une règle pour le nœud personne (<xsl:template match="personne">). o En cours de traitement, l'instruction <xsl:apply-templates/> demande au processeur de traiter les enfants du nœud courant (le nœud annuaire). Après avoir traité chaque 2008 Hélène Desaulniers 8

nœud enfant (des nœuds personne), le processeur poursuit le traitement du nœud annuaire. Voyons en détails la feuille de style o Vous trouverez la documentation sur les éléments XSL a: http://saxon.sourceforge.net/saxon6.5.3/xsl-elements.html <xsl:template match="annuaire"> o xsl:template Élément XSLT pour définir une règle de gabarit (template rule) (transforme un élément source en un élément résultant) Comporte 2 parties: Une expression qui désigne un nœud de l'arbre source Un fragment qui sera inséré dans l'arbre résultant match="annuaire" attribut de l'élément template "annuaire": désigne le nœud du nom annuaire o Le contenu de l'élément xls:template (tout de qui est entre <xsl:template match="annuaire/"> et ) comprend: Du texte qui sera inséré dans le document résultant Des instructions xsl. <xsl:apply-templates/> o Élément XSLT pour indiquer au processeur de traiter les enfants du nœud courant. o Élément habituellement vide (pas de contenu) <xsl:value-of select="prénom" /> o xsl:value-of: permet d'accéder à la valeur d'un noeud La valeur d'un nœud est toujours une chaîne de caractères La valeur d'un nœud élément est la concaténation du texte de tous les nœuds entre la balise ouvrante et la balise fermante de l'élément. o select="prénom" : désigne le premier enfant prénom o Balise vide (pas de contenu, seulement des attributs) Voir http://linux04.uqtr.ca/~helene/xml/annuaire1.xml o Remarquez que le code source n'est pas du html, c'est du xml. o Le navigateur interprète le xml et le xslt o Il n'y a donc pas de notion de html valide ici. Si on utilise une application comme saxon pour produire le document html on a: <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>annuaire</title> </head> <body> <h1>voici la liste des personnes inscrites</h1> <ul> <li>carole Leblanc </li> <li>gilles Després 2008 Hélène Desaulniers 9

</ul> </body> </html> </li> Si on veut produire du code html valide on utilise l'élément xlt:output avec les valeurs d'attributs correspondant à HTML strict:. <xsl:output method = "html" encoding="utf-8" doctype-public="-//w3c//dtd HTML 4.01//EN" doctype-system="http://www.w3.org/tr/html4/strict.dtd"/> De même on peut utiliser une feuille de style pour le html en introduisant un élément link dans l'entête du document html généré par le xslt: Voir http://linux04.uqtr.ca/~helene/xml/annuaire1a.xml Exemple qui illustre le traitement par défaut: http://linux04.uqtr.ca/~helene/xml/annuaire2.xml <xsl:template match="annuaire"> <html> <head> <title>annuaire</title> </head> <body> <h1>voici la liste des personnes inscrites</h1> <xsl:apply-templates/> <p>fin de l'annuaire</p> </body> </html> On peut constater que le traitement par défaut est simplement d'écrire le contenu des éléments sans aucun formatage. 6.2. Autre exemple de document XSLT Voici un document XSLT qui va transformer le document annuaire.xml pour produire une table en html. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="annuaire"> <html> <head> <title>annuaire</title> </head> <body> <h1>voici la liste des personnes inscrites</h1> <table border="2"> <tr><th>prénom</th><th>nom</th><th>téléphone</th><th>courriel</th></tr> <xsl:apply-templates/> 2008 Hélène Desaulniers 10

</table> </body> </html> <xsl:template match="personne"> <tr><xsl:apply-templates/></tr> <xsl:template match="prénom"> <td><xsl:value-of select="."/></td> <xsl:template match="nom"> <td><xsl:value-of select="."/></td> <xsl:template match="téléphone"> <td><xsl:value-of select="."/></td> <xsl:template match="email"> <td><xsl:value-of select="."/></td> </xsl:stylesheet> Ici la valeur. de l'attribut select de l'élément value-of désigne la valeur de l'élément courant. Voir http: //linux04.uqtr.ca/~helene/xml/annuaire3.xml 6.3. Tri d'éléments avec XSLT Il est possible de trier des éléments avec xsl: sort comme dans l'exemple suivant: <xsl:template match="annuaire"> <html> <head> <title>annuaire</title> </head> <body> <h1>voici la liste des personnes inscrites</h1> <table border="2"> <tr><th>nom</th><th>prénom</th><th>téléphone</th><th>courriel</th></tr> <xsl:apply-templates> <xsl:sort select="nom" /> </xsl:apply-templates> </table> </body> </html> Le reste du document XSL est identique à l'exemple précédent. Voir http://linux04.uqtr.ca/~helene/xml/annuaire4.xml 2008 Hélène Desaulniers 11