TP xml pour le cours xml-webservices
Find a file
2022-11-20 11:10:21 +01:00
img Start rapport 2022-11-18 13:36:31 +01:00
.gitignore Start rapport 2022-11-18 13:36:31 +01:00
cinema-xsl.css Add some basic CSS 2022-11-19 14:57:57 +01:00
cinema.css Minor changes 2022-11-19 11:31:01 +01:00
cinema.dtd Put durée after année 2022-11-19 11:34:17 +01:00
cinema.xml Add commented ref to DTD 2022-11-19 15:01:36 +01:00
cinema.xsd Put durée after année 2022-11-19 11:34:17 +01:00
cinema.xsl Add some basic CSS 2022-11-19 14:57:57 +01:00
Makefile Start rapport 2022-11-18 13:36:31 +01:00
rapport.pdf Make sure rapport is up to date 2022-11-20 11:10:21 +01:00
rapport.sty Start rapport 2022-11-18 13:36:31 +01:00
rapport.tex Update rapport 2022-11-19 15:17:37 +01:00
README.md Reformat README 2022-11-19 15:26:41 +01:00

TP XML films

Etape 1: définition dun DTD et de documents XML

Domaine : "Au Cinéma !"

TENET
- Action, Thriller, Espionnage (2h 30 min)
- Réalisé par : Christopher Nolan
- VO (en anglais)
- Nationalité : américain
- Avec John David Washington, Robert Pattinson, Elizabeth Debicki
- Année: 2020
- Presse : 3,6/5 spectateurs : 4,1/5

Muni d'un seul mot - Tenet - et décidé à se battre pour sauver le monde, notre protagoniste sillonne l'univers crépusculaire de l'espionnage international.
Sa mission le projettera dans une dimension qui dépasse le temps.
Pourtant, il ne s'agit pas d'un voyage dans le temps, mais d'un renversement temporel...

Mercredi, Samedi : 14:00 | 16:40 | 19:40 | 22:10
Jeudi, Vendredi, Lundi, Mardi : 14:00 | 19:40 | 22:10
Dimanche : 10:20 | 14:00 | 16:40 | 20:20

Dans cet exercice, nous proposons de concevoir un système qui permet l'édition des programmes de cinéma sur le web. Le programme consiste dans la description et laffichage, sur une semaine, des films à la fiche. Comme dans l'exemple ci-dessus, chaque film est décrit par un titre, une durée, un genre, un réalisateur, des acteurs, une année de sortie, la langue (français ou VO) et un synopsis pour décrire l'histoire. Cette description est complétée par la liste des heures de projection (jours, horaires).

Modélisation et validation des données XML

  1. Proposer un arbre XML pour représenter le film précédent.
  2. Quels éléments doivent être ajoutés pour la construction dun document XML représentant l'ensemble des films programmés dans le cinéma ? Votre document XML doit contenir au moins 5 films différents.
  3. Proposer une DTD pour valider les arbres XML utilisés afin de représenter lensemble des programmes du cinéma.
    Votre DTD doit respecter les contraintes suivantes :
    • Les notes de la presse et celles des spectateurs sont facultatives
    • Chaque film doit avoir un titre
    • Chaque film doit avoir un temps de projection.
  4. Proposer une DTD moins restrictive qui permettrait de donner les descriptions des films dans un ordre quelconque.
  5. Mise en page et l'affichage en utilisant le CSS.
    Les contraintes suivantes doivent être prises en compte :
    • Chaque film est affiché dans un bloc séparé.
    • Vous allez utiliser la police : Times New Roman 12 points.
    • Les titres sont en gras, 14 points.
    • Le réalisateur et l'année de la production devrait être en rouge.
    • Les acteurs sont en bleu, italique et représentent des hyperliens vers des pages HTML décrivant la filmographie de l'acteur.
    • Pour la programmation des films, vous êtes libre de donner le format de l'affichage.

PS : pour les propriétés CSS (des exemples, des fonctions, ...) vous pourriez vous référer à: http://www.w3schools.com/css/css_text.asp

Etape 2 : XML schema

Proposer un schéma XML pour le document XML des films. Le schéma XML doit être spécifié dans un fichier séparé (externe) avec l'extension .xsd. Ajouter une référence vers ce schéma dans votre document XML.

Vous devez valider votre document XML en utilisant le lien suivant : http://tools.decisionsoft.com/schemaValidate/

Etape 3 : XSLT

Proposer une feuille de style XSLT pour votre fichier XML.

EXERCICES OPTIONNELS :

GESTION DES COMPTES:

Soit le schéma XML suivant

<?xml version="1.0" encoding="UTF-8"?>
<bank xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=
"bank.xsd">
<accounts>
<savings_accounts>
<savings_account id="a1" interest="0.03"> <balance>2500</balance>
</savings_account>
<savings_account id="a2" interest="0.03"> <balance>15075</balance>
</savings_account>
</savings_accounts>
<checking_accounts>
<checking_account id="a3">
<balance>4025</balance>
</checking_account>
<checking_account id="a4">
<balance>-125</balance>
</checking_account>
<checking_account id="a5">
<balance>325</balance>
</checking_account>
</checking_accounts> </accounts>
<customers>
<customer id="c1">
<name>Ben Richerdson</name>
<address>Park Drive 2</address>
</customer>
<customer id="c2">
<name>Marc Wretcher</name>
<address>Mill Drive 75</address> </customer>
<customer id="c3">
<name>Angel Steady</name>
<address>Lake Sight 15</address> </customer>
</customers>
<customer_accounts>
<customer_account c_id="c1" ac_id="a2"/>
<customer_account c_id="c1" ac_id="a3"/>
<customer_account c_id="c2" ac_id="a4"/>
<customer_account c_id="c3" ac_id="a1"/> <customer_account c_id="c3"
ac_id="a5"/> </customer_accounts> </bank>

Donnez un schéma XML pour bank.xml satisfaisant aux exigences suivantes :

  • Il existe deux types de comptes : comptes chèques et comptes d'épargnes
  • Lid dun compte est unique en "comptes"
  • L'id du client est unique en "clients"
  • C_Id se réfère à des clients et ac_id se réfère aux comptes
  • Le solde du compte doit être supérieur à -500
  • Utiliser l'héritage pour les comptes chèques et comptes d'épargnes en dérivant à partir d'un type de compte commun.

Vous devez valider votre schéma et document XML en utilisant le lien suivant : http://tools.decisionsoft.com/schemaValidate/

GESTION DES LIVRES:

Soit le schéma XML suivant

<?xml version="1.0" encoding="utf-8"?> <book isbn="0836217462">
<title>
Being a Dog Is a Full-Time Job </title>
<author>Charles M. Schulz</author> <character>
<name>Snoopy</name>
<friend-of>Peppermint Patty</friend-of> <since>1950-10-04</since>
<qualification>
extroverted beagle </qualification>
</character>
<character>
<name>Peppermint Patty</name>
<since>1966-08-22</since>
<qualification>bold, brash and tomboyish</qualification> </character>
</book>

Nous voulons définir une grammaire du document XML donné ci-dessus, en utilisant un schéma XML. Donner la grammaire de schéma XML tout en tenant compte des contraintes suivantes :

  • Le titre, le nom de l'auteur, le nom du personnage (ne doit pas dépasser 40 caractères)
  • Un personnage peut avoir plus d'un ami, les descriptions dun ami ne doivent pas dépasser 40 caractères
  • La balise since est de type date
  • LISBN du livre est composé d'exactement 10 chiffres