XML reste un format pivot des systèmes d’information d’entreprise : configuration d’applications (Maven, Jakarta EE, Spring), services web SOAP des banques et administrations, messages financiers ISO 20022, factures électroniques UBL, documents bureautiques (OOXML, ODF), flux de données entre ministères. Ce cours de spécialité approfondit l’ensemble de la chaîne XML : syntaxe et espaces de noms, validation (DTD, XML Schema), interrogation (XPath, XQuery), transformation (XSLT), traitement par programme (DOM, SAX, StAX, liaison de données) et sécurisation des échanges. Il est mené sur un fil conducteur : les données de scolarité d’EPI-NIGER (promotions, étudiants, notes) échangées entre les campus de Niamey et de Maradi et la tutelle. Chaque leçon comporte un TP guidé réalisable avec des outils libres (xmllint, xsltproc, BaseX, Saxon-HE, Java ou Python).
Objectifs d’apprentissage
- Produire des documents XML bien formés utilisant correctement les espaces de noms.
- Concevoir des grammaires de validation en DTD et en XML Schema (types, facettes, clés).
- Écrire des requêtes XPath et XQuery pour extraire et agréger des données.
- Transformer des documents avec XSLT vers HTML, XML ou texte.
- Choisir et utiliser une API de traitement (DOM, SAX, StAX, JAXB) adaptée au volume et à l’usage, avec une configuration sûre contre les attaques XML (XXE).
- Situer XML dans les échanges d’entreprise (SOAP/WSDL, ISO 20022, UBL) et le comparer à JSON.
Prérequis
Bases du Web (HTML, HTTP), programmation Java ou Python, notions de bases de données et d’expressions régulières.
Plan du cours
- Leçon 1 — XML, espaces de noms et validation par DTD
- Leçon 2 — XML Schema : typage et contraintes avancées
- Leçon 3 — Interroger des documents XML : XPath et XQuery
- Leçon 4 — Transformations XSLT, API de traitement et échanges sécurisés
Modalités d’évaluation
Volume horaire : 20 h de CM, 20 h de TD, 20 h de TP, 60 h de TPE, soit 120 h pour 6 crédits. Évaluation : contrôle continu (comptes rendus de TP, TD notés et mini-projet d’échange de relevés de notes validé et transformé, 40 %) et examen terminal écrit (60 %).
Bibliographie
- W3C, recommandations Extensible Markup Language (XML) 1.0, Namespaces in XML 1.0, XML Schema 1.1, XPath 3.1, XQuery 3.1, XSLT 3.0, disponibles sur w3.org.
- Elliotte Rusty Harold, W. Scott Means, XML in a Nutshell, 3e éd., O’Reilly, 2004.
- Priscilla Walmsley, Definitive XML Schema, 2e éd., Prentice Hall, 2012.
- Priscilla Walmsley, XQuery, 2e éd., O’Reilly, 2015.
- Michael Kay, XSLT 2.0 and XPath 2.0 Programmer’s Reference, 4e éd., Wiley/Wrox, 2008.
