L'essentiel de XML

Cours XML

Version du 13/10/2015

Résumé

Support du cours XML en M2 Pro à l'Université Paris Diderot.

Ce document est le support d'un cours XML donné en M2 Pro à l'Université Paris Diderot. L'objectif est de présenter les aspects essentiels de XML de manière concise et illustrée par de nombreux exemples. Les principaux thèmes abordés sont la syntaxe de XML, la validation de documents par des DTD, des schémas et des schematrons, le langage XPath, la transformation de document par XSLT ainsi que la programmation.

Ce support de cours est actuellement en cours de rédaction. Il contient encore beaucoup d'erreurs et d'omissions. Certaines parties méritent d'être développées et/ou reprises. Une certaine indulgence est donc demandée au lecteur. Toutes les corrections, même les plus mineures, suggestions et encouragements sont les bienvenus. Ils participent à l'amélioration de ce document pour le bien de tous.


Table des matières

1. Présentation de XML
1.1. Historique
1.2. Intérêts
1.3. Langages apparentés
1.4. Dialectes
1.5. DocBook
1.6. Conventions
2. Syntaxe de XML
2.1. Premier exemple
2.2. Caractères
2.3. URI, URL et URN
2.4. Syntaxe et structure
2.5. Composition globale d'un document
2.6. Prologue
2.7. Corps du document
2.8. Exemples minimaux
2.9. XInclude
3. DTD
3.1. Un premier exemple
3.2. Déclaration de la DTD
3.3. Contenu de la DTD
3.4. Commentaires
3.5. Entités
3.6. Déclaration d'élément
3.7. Déclaration d'attribut
3.8. Outils de validation
4. Espaces de noms
4.1. Introduction
4.2. Identification d'un espace de noms
4.3. Déclaration d'un espace de noms
4.4. Portée d'une déclaration
4.5. Espace de noms par défaut
4.6. Attributs
4.7. Espace de noms XML
4.8. Espaces de noms et DTD
4.9. Quelques espaces de noms classiques
5. Schémas XML
5.1. Introduction
5.2. Un premier exemple
5.3. Structure globale d'un schéma
5.4. Déclarations d'éléments
5.5. Définitions de types
5.6. Constructions de types
5.7. Déclarations d'attributs
5.8. Extension de types
5.9. Restriction de types
5.10. Substitutions
5.11. Groupes d'éléments et d'attributs
5.12. Contraintes de cohérence
5.13. Espaces de noms
5.14. Imports d'autres schémas
5.15. Expressions rationnelles
6. XPath
6.1. Données et environnement
6.2. Expressions de chemins
6.3. Valeurs atomiques
6.4. Listes
6.5. Comparaisons
6.6. Structures de contrôle
6.7. Syntaxe abrégée
6.8. Motifs
6.9. Utilisation interactive de xmllint
6.10. Récapitulatif des opérateurs XPath
7. Schematron
7.1. Introduction
7.2. Premier exemple
7.3. Fonctionnement
7.4. Structure globale d'un schematron
7.5. Règles
7.6. Règles abstraites
7.7. Blocs abstraits
7.8. Phases de validations
8. XSLT
8.1. Principe
8.2. Premier programme : Hello, World!
8.3. Modèle de traitement
8.4. Entête
8.5. Définition et application de règles
8.6. Construction de contenu
8.7. Structures de contrôle
8.8. Tris
8.9. Variables et paramètres
8.10. Fonctions d'extension XPath
8.11. Modes
8.12. Indexation
8.13. Documents multiples
8.14. Analyse de chaînes
8.15. Import de feuilles de style
9. XSL-FO
9.1. Premier exemple
9.2. Structure globale
10. CSS
10.1. Principe
10.2. Règles
10.3. Héritage et cascade
10.4. Modèle de boîtes
10.5. Style et XML
10.6. Attachement de règles de style
10.7. Principales propriétés
11. SVG
11.1. Un premier exemple
11.2. Éléments de dessins
11.3. Transformations
11.4. Indications de style
11.5. Courbes de Bézier et B-splines
12. Programmation XML
12.1. SAX
12.2. DOM
12.3. Comparaison
12.4. AJAX
A. Acronymes
Bibliographie
Index