Conception de DTD et de schémas pour documents XML
Modéliser des articles avec bibliographie
L'objectif de l'exercice est de proposer un format XML permettant de stocker des articles quelconques.
- Un article est constitué d'un titre, d'un texte et d'une bibliographie ;
- le texte lui-même est une succession de paragraphes, chaque paragraphe pouvant contenir :
- des mots ou expressions importants et devant donc être différenciés du reste du paragraphe ;
- des références bibliographiques ;
- une entrée dans la bibliographie peut décrire soit un site web, soit un ouvrage ;
- un site web est décrit par un nom et une url ;
- pour un ouvrage, on trouve le titre, les auteurs, la date de parution et l'éditeur.
Questions :
- Discuter des différentes possibilités de codage en XML.
- Écrire une DTD et un document respectant cette DTD contenant au moins deux paragraphes et trois entrées bibliographiques (en utilisant les deux types d'entrées possibles).
- Concevoir une feuille de style CSS permettant de mettre en valeur le document.
Modéliser un site de brèves
Un site d'actualités veut présenter des nouvelles brèves, regroupées par thème. Quatre thèmes sont possibles : actualités, sport, bourse et média. Chaque brève correspond à un unique thème.
Les brèves peuvent être rédigées en français ou anglais, chacune est datée et possède un titre. Il est également possible d'illustrer une brève par une photo et de fournir une ou plusieurs urls vers des sites détaillant l'information : chaque url sera agrémentée d'une courte phrase résumant le contenu de la page pointée.
- Discuter des différentes possibilités de codage en XML, en particulier pour la prise en compte de la langue et des thèmes.
- Écrire une DTD et un document respectant cette DTD contenant au moins deux brèves.
Modéliser le championnat de football
Fournir une DTD qui décrit comment stocker les différents éléments d'un championnat de football : l'année, la ligue concernée, les différentes journées avec leurs numéros, les dates et bien sûr les rencontres avec leurs résultats.
Modéliser des acteurs de cinéma
Fournir une DTD qui décrit comment représenter des acteurs dans un format XML. Pour chaque acteur, on veut pouvoir donner des éléments de son état-civil, sa photo, son site web ainsi qu'une biographie.
La biographie doit autoriser un contenu mixte : des paragraphes de texte pouvant contenir des références à d'autres acteurs, des titres de films, des années, des portions de phrase plus importantes que les autres, etc.
Modéliser les films de cinéma
Proposer une DTD qui permette de décrire plusieurs films dans un même fichier XML.
Un attribut permettra pour chaque film de préciser sa langue d'origine. En outre, on pourra préciser le titre du film, une photo, le réalisateur, le casting et un synopsis.
Le casting est suite d'acteurs, chacun associé au nom du personnage joué.
Enfin, le synopsis est un texte décrivant brièvement le scénario et faisant éventuellement référence aux personnages décrits dans le casting.
Modéliser des bandes dessinées (sujet de Florent Jousse)
On veut représenter dans un format XML des séries de bandes-dessinées et leurs auteurs et illustrateurs. On veut respecter les contraintes suivantes :
- pour une série de BD, on doit pouvoir donner son titre ;
- une série peut être soit une BD unique, soit plusieurs BDs ;
- on veut pouvoir donner, pour chaque BD : son (ou ses) auteur(s), son illustrateur, son résumé, sa date de sortie, et eventuellement sa couverture (une image) et son sous-titre ;
- si la BD fait partie d'une série, on précisera en plus son numéro dans la série ;
- différentes BDs d'une même série peuvent être écrites et/ou dessinées par des personnes différentes ;
- une même personne peut être à la fois auteur et illustrateur ;
- pour un auteur/illustrateur on peut donner son nom et son prénom.
Vous utiliserez un système de références pour séparer les auteurs/illustrateurs des bandes-dessinées. Il ne devra pas y avoir de redondance sur les auteurs/illustrateurs. Le résumé d'une BD doit autoriser du contenu mixte pour mettre en lumière les noms des personnages.
- Fournir une DTD décrivant un tel document.
- Fournir un XML Schéma décrivant ce document. Pour les références, vous utiliserez le système de clés offert par XML Schéma. Les données pouvant être typées (dates, longeurs de chaînes, etc.) doivent l'être.
- Fournir un schéma Relax NG. Vous utiliserez la définition de patterns offerte par le format Relax NG. Les données pouvant être typées doivent l'être.
Modéliser une CDthèque
Proposer une DTD permettant de représenter une collection de CD musicaux. On veut pouvoir en particulier décrire des albums, des chansons et des artistes (avec éventuellement une biographie pour chacun). De plus, chacune de ses entités pourra être agrémentée de commentaires.
Une chanson est vue comme la partition et les paroles originales, elle peut donc être interprétée par différents artistes.
Les parties biographiques et les commentaires pourront contenir des éléments distingués du reste du texte, ainsi que des références aux artistes, aux albums ou aux chansons.
Modéliser une salle de concert
Il s'agit de définir un format XML permettant de décrire la programmation d'une salle de concert.
Tout d'abord, nous avons besoin d'informations générales sur la salle (nom, adresse, téléphone etc.) et d'un texte présentant le lieu (son historique par exemple).
Ensuite, nous voulons décliner une liste de concerts avec pour chacun :
- un titre ;
- une date ;
- une description ;
- un tour de chant, c'est-à-dire une liste de chansons/interprètes (en général, il n'y aura qu'un interprète par concert mais nous devons pouvoir traiter le cas de duos ou de chanteurs se succédant dans le cas d'une soirée caritative par exemple).
Un artiste sera décrit par ses nom, prénom, date de naissance, éventuellement une photo, une adresse de site web si existant, et une biographie de l'artiste.
Pour chaque chanson, on voudra disposer d'un titre, des auteurs et compositeurs et d'un bref texte (l'historique de la chanson et ses différents interprètes par exemple).
Dans les différents textes présents dans le document, on distinguera les années et les références (on veut pouvoir faire référence à des concerts, à des artistes et à des chansons).