Rappels sur XML et les technologies associées
- Structure d'un document XML, arborescence des éléments.
- Composants d'un document XML : déclarations, instructions processeur, commentaires, entités, éléments, attributs.
- Document bien formé et document valide.
- Règles pour les documents bien formés, structure logique d'un document XML.
- Les données structurées et semi-structurées.
- Les différents types de parseurs XML et leur rôle.
- La galaxie des technologies XML.
Travaux pratiques
Création et validation d'un premier document XML.
XML et la composition de documents
- Objectifs des langages de structuration : DTD, XML Schema, Schematron et Relax NG.
- Pourquoi un schéma est-il nécessaire.
- Comment utiliser des schémas.
- Principales caractéristiques des schémas.
- Les principales parties d'un schéma.
- Comment fonctionnent les schémas.
- Les différents langages de modélisation.
- Syntaxe EBNF pour DTD (Data Type Definition).
- Validation des documents.
- Les différents types d'entités et leur utilisation.
- DTD à racines multiples.
- Extensibilité et réutilisation de composants du modèle.
- Les limites du langage.
Travaux pratiques
Ecriture d'une DTD et de documents conformes à celle-ci. Restructuration modulaire de la DTD.
Les espaces de noms
- Description des espaces de noms.
- Utilisation des espaces de noms.
- Les Namespaces et la combinaison de vocabulaires multiples.
- Combinaison de langages : XHTML, Xforms et SVG.
- Les erreurs à ne pas commettre.
- Etude de la portée d'un espace de nom.
- Définition d'une URI.
Travaux pratiques
Ecriture d'un document utilisant plusieurs espaces de noms.
Le langage XML Schema
- La syntaxe du langage.
- Définition d'un vocabulaire (éléments, attributs, etc.) et d'une grammaire.
- Validation des documents.
- Tester les valeurs des éléments et des attributs.
- Etude des types de données simples et complexes.
- Type de base du langage et création de type personnalisé.
- Extension et restriction des types.
- Organisation des éléments : séquence, choix, tas.
- Les éléments et les groupes abstraits de substitution.
- Utilisation des clés et des règles d'unicité.
- Définition d'espaces de noms.
- Schémas stricts et schémas permissifs.
Travaux pratiques
Redéfinition d'une DTD avec la syntaxe XML-Schema. Amélioration du code et définition de types de données.
Techniques de modélisation XML
- Les modèles de conception.
- Schémas uniques applicables à différents types de documents.
- Modèles génériques réutilisables (liste, grille, etc.).
- Documents utilisant de multiples schémas.
- Création de schémas extensibles et contrôle de l'extensibilité.
Travaux pratiques
Application des modèles étudiés sur différents cas.
XML et la conception objet
- Rappels sur les concepts de l'orienté objet.
- Concepts objets du langage XML Schema.
- Types, classe, dérivation, polymorphisme.
- Représentation UML/XML.
- Inclusion de schémas.
- Importation de schémas.
- Redéfinition de schémas.
Travaux pratiques
Composition de schémas modulaires et réutilisables.
Les meilleures pratiques de modélisation
- Composition et héritage.
- Types de constructions : "Poupées russes", "Tranches de salami" et "Stores vénitiens".
- Schémas d'adaptation.
- Définition de conteneurs et d'éléments.
- Catalogues de modèles de conception.
- Localisation ou exposition des espaces de noms.
- Documents homogènes et hétérogènes.
- Définition globale ou locale des composants.
- Travailler avec des éléments ou des types.
- Choix du Namespace par défaut.
- Définition de conteneurs à contenu variable.
- Des modèles de contenu extensible.
- Etendre XML Schema avec XSLT et Schematron.
- Alternative Relax NG.
Travaux pratiques
Evaluation des différentes méthodes de composition et utilisation appropriée des différents langages.