Introduction au contexte de XSL et XPath
- Besoins par rapport à l'utilisation de la technologie XML.
- Technologie CSS pour la présentation, limites de CSS.
- Introduction à XSL, XSL-T, XSL-FO et SVG.
- Introduction à Xpath. Principes et mécanismes de base.
- Parseur XML et processeur XSL. Support par les navigateurs Web.
- Mise en œuvre des technologies XSL.
Le langage d'interrogation : XPath
- Expressions XPath. Interrogation d'un document XML.
- Axes et vecteurs de recherche.
- Revue de quelques expressions simples.
- Sélection d'éléments/nœuds, de jeux de nœuds et d'attributs dans un arbre XML.
- Opérateur de localisation.
- Equation d'égalité et de relation, opérateurs booléens. Opérations numériques.
- Fonctions standard et extensions des processeurs.
Travaux pratiques
Ecriture et tests d'expressions XPath.
Le langage de transformation : XSL-T
- Structure d'une feuille de style XSL-T, traitement du processeur XSL-T.
- Namespaces et éléments XSL racine.
- Formats de sortie : vocabulaires XML, HTML, X-HTML ou texte.
- Utilisation d'expressions XPath.
- Nœuds et jeux de nœuds.
- Modèle de traitement : les templates.
- La syntaxe du langage XSL-T, les types de données, les structures de contrôle, etc.
- Notions de variables et de paramètres.
- Génération d'éléments et d'attributs.
- Invocation déclarative ou impérative des traitements.
- Récupération d'éléments et de contenu.
- Analyse du comportement d'un processeur XSL-T.
- Optimisation des recherches de nœuds.
- Traitement des erreurs.
Travaux pratiques
Composition de différents types de feuilles de style XSL-T.
XSL-T, fonctionnalités avancées
- Ecriture de fonctions : appels simples et récursifs.
- Structure modulaire des feuilles de style.
- Les design patterns : Fill-in-the-blank, Navigational, Rule-based, Computational.
- Import et inclusion de feuilles de style avec passage d'arguments.
- Création de librairies réutilisables.
- Modularité et héritage.
- Transformations basées sur des sources multiples.
- Générations de groupes de documents.
- Spécificités de certains processeurs.
- Travail sur des espaces de noms hétérogènes.
- Dynamisation XSL de documents bureautiques : Microsoft Office (Open XML), Open Office (Open Document).
Travaux pratiques
Création de feuilles de style modulaires et imbriquées, avec de multiples structures en entrée et génération de plusieurs documents en sortie. Création de documents MS Office par XSL.
La boîte à outils du développeur
- Lancement de transformations en ligne de commande.
- Utilisation de divers processeurs (XT, Saxon, Xerces, MSXml...).
- Ecriture de script de transformation avec Ant.
- Gestion de site Web.
Travaux pratiques
Mise en place d'un environnement de gestion de site Web basé sur XML.
XSL-T 2.0 et 3.0, X-PATH 2.0 et 3.0
- Nouveautés : fonctions, expressions, opérations, tris, fallbacks et traitements des erreurs, etc.
- Nouveaux types de données supportés.
- Différences de traitement.
- Création d'arbre résultat, d'une séquence de nœuds ou de valeurs.
- Requêtes XPath avec expressions régulières.
- Les fonctions et opérateurs sur les numériques.
- Les fonctions sur les chaînes de caractères.
- Les fonctions et les opérations sur les dates.
Travaux pratiques
Manipulation et navigation d'arbres XML.
SVG pour les interfaces graphiques et la création d'images
- SVG, Scalable Vector Graphics. Les enjeux des langages vectoriels. Avantages de SVG sur Flash.
- Utilisation côté serveur et côté client.
- Environnements d'édition et d'utilisation : navigateurs...
- Structure de document.
- Les systèmes de coordonnées et le dimensionnement. Transformation du système de coordonnées.
- Les formes de base. Les styles. Les courbes et les chemins. Motifs et dégradés. Texte et internationalisation.
- Masquage et découpe.
- Filtrage.
- Animation, interaction et scripts.
Travaux pratiques
Création de feuilles de style permettant de générer des documents SVG. Génération de pages HTML contenant des graphes.
XSL-FO pour la génération de documents papier
- XSL-FO, Formatting Objects.
- Besoins et objectifs de XSL-FO. Introduction au langage.
- Solutions et implémentations disponibles.
- Exemple à partir du projet FOP de Apache.org.
- Initialisation, définition de modèles de pages.
- La zone de contenu, dimensions des régions, séquences des pages.
- Inclusion de graphiques au format SVG.
- Génération du résultat.
Travaux pratiques
Création de feuilles de style combinant XSL-T et XSL-FO pour générer des sorties en PDF. Génération d'un rapport contenant des images au format SVG.