<texit info> author=E. Bruno title=CC XSLT </texit>
Contrôle Continu Structure de Données Web
Vous avez droits à tous les documents.
Vous devrez rendre trois feuilles de style exo1_1.xsl, exo1_2.xsl et exo2.xsl. Ces documents seront déposés sur esparon et par sécurité envoyées aussi à l’adresse bruno@univ-tln.fr.
Les noms des fichiers report.xml
et bid.xml
sont cliquables pour pouvoir être téléchargés.
Exercice 1
Le document xml report.xml
décrit des opérations chirurgicales.
- Ecrire la feuille de style exo1_1.xsl qui retourne uniquement le texte du document ci-dessous.
- Ecrire la feuille de style exo1_2.xsl qui
- Construit un document XHTML ayant un élément
title
dans lehead
et unh1
dans lebody
. Le contenu de ces deux éléments sera le contenu l’élémenttitle
dureport
(ici HL7 Patient Records). - Ajouter le texte “Nombre d’incisions :” suivi nombre d’éléments incision (calculé) dans le documents.
- Ajouter le texte “Observation après la première incision : ” suivi du texte de cette observation (extrait automatiquement).
- Pour chaque
section
créer un élémentdiv
ayant un attributclass=“section”
. Dans lediv
, ajouter un élémenth1
dont le contenu est letitle
de la section. - Ajouter dans le
div
, la liste HTML de toutes lesactions
, contenues dans lecontent
de lasection
. Il ne doit rien y avoir d’autre dans lediv
. - En utilisant le foreach. Ajouter un élément
div
dans lebody
qui contient la liste de tous lesinstrument
utilisés dans l’ordre d’apparition dans le document. - En utilisant le foreach. Ajouter un élément
div
dans lebody
qui contient la liste de tous lesinstrument
par ordre alphabétique inverse et sans doublons. Ajouter un attributnb
à l’élémentUL
qui indique le nombre total d’instruments uniques. - Déclarer une variable “globale” appelée
instrument
et dont la valeur est “hasson trocar”. Ajouter un élémentdiv
qui contient le texte de la dernière action qui contient l’instrument indiqué dans la variable$instrument
.
- report.xml
<report> <title>HL7 Patient Records</title> <section> <title>Procedure</title> <content> The patient was taken to the operating room where she was placed in supine position and <anesthesia>induced under general anesthesia.</anesthesia> <prep> <action>A Foley catheter was placed to decompress the bladder</action> and the abdomen was then prepped and draped in sterile fashion. </prep> <incision> A curvilinear incision was made <geography>in the midline immediately infraumbilical</geography> and the subcutaneous tissue was divided <instrument>using electrocautery.</instrument> </incision> The fascia was identified and <action>#2 0 Maxon stay sutures were placed on each side of the midline. </action> <incision> The fascia was divided using <instrument>electrocautery</instrument> and the peritoneum was entered. </incision> <observation>The small bowel was identified.</observation> and <action> the <instrument>Hasson trocar</instrument> was placed under direct visualization. </action> <action> The <instrument>trocar</instrument> was secured to the fascia using the stay sutures. </action> </content> </section> </report>
Exercice 2
Le document XML bid.xml
représente :
- des utilisateurs (
user_tuple
),
Par exemple, ici l’utilisateur dont l’identifiant est U01 :
<user_tuple> <userid>U01</userid> <name>Tom Jones</name> <rating>B</rating> </user_tuple>
- des objects mis aux enchères (
item_tuple
)
Par exemple, l’objet dont l’identifiant est 1001 mis en vente par l’utilisateur (offered_by
) U01.
<item_tuple> <itemno>1001</itemno> <description>Red Bicycle</description> <offered_by>U01</offered_by> <start_date>1999-01-05</start_date> <end_date>1999-01-20</end_date> <reserve_price>40</reserve_price> </item_tuple>
- des enchères (
bid_tuple
)
Par exemple, l’offre de l’utilisateur U01 pour l’objet 1002 est de 400F.
<bid_tuple> <userid>U01</userid> <itemno>1002</itemno> <bid>400</bid> <bid_date>1999-02-14</bid_date> </bid_tuple>
Proposer une feuille de style XSL exo2.xsl
qui représente les utilisateurs, les objets et les enchères sous la formes de trois tableaux HTML.
Vous devrez faire en sorte que les Information soient lisibles : le nom des propriétaires des objets seront mis en toutes lettre (pas uniquement leur code), de même pour les enchères (bids_tuple) le noms utilisateurs et objets sera en toute lettre.
BONUS : mettre en gras la meilleure offre pour chaque objet.
- bid.xml
<?xml version='1.0'?> <data> <users> <user_tuple> <userid>U01</userid> <name>Tom Jones</name> <rating>B</rating> </user_tuple> <user_tuple> <userid>U02</userid> <name>Mary Doe</name> <rating>A</rating> </user_tuple> <user_tuple> <userid>U03</userid> <name>Dee Linquent</name> <rating>D</rating> </user_tuple> <user_tuple> <userid>U04</userid> <name>Roger Smith</name> <rating>C</rating> </user_tuple> <user_tuple> <userid>U05</userid> <name>Jack Sprat</name> <rating>B</rating> </user_tuple> <user_tuple> <userid>U06</userid> <name>Rip Van Winkle</name> <rating>B</rating> </user_tuple> </users> <items> <item_tuple> <itemno>1001</itemno> <description>Red Bicycle</description> <offered_by>U01</offered_by> <start_date>1999-01-05</start_date> <end_date>1999-01-20</end_date> <reserve_price>40</reserve_price> </item_tuple> <item_tuple> <itemno>1002</itemno> <description>Motorcycle</description> <offered_by>U02</offered_by> <start_date>1999-02-11</start_date> <end_date>1999-03-15</end_date> <reserve_price>500</reserve_price> </item_tuple> <item_tuple> <itemno>1003</itemno> <description>Old Bicycle</description> <offered_by></offered_by> <start_date>1999-01-10</start_date> <end_date>1999-02-20</end_date> <reserve_price>25</reserve_price> </item_tuple> <item_tuple> <itemno>1004</itemno> <description>Tricycle</description> <offered_by>U01</offered_by> <start_date>1999-02-25</start_date> <end_date>1999-03-08</end_date> <reserve_price>15</reserve_price> </item_tuple> <item_tuple> <itemno>1005</itemno> <description>Tennis Racket</description> <offered_by>U03</offered_by> <start_date>1999-03-19</start_date> <end_date>1999-04-30</end_date> <reserve_price>20</reserve_price> </item_tuple> <item_tuple> <itemno>1006</itemno> <description>Helicopter</description> <offered_by>U03</offered_by> <start_date>1999-05-05</start_date> <end_date>1999-03-06</end_date> <reserve_price>50000</reserve_price> </item_tuple> <item_tuple> <itemno>1007</itemno> <description>Racing Bicycle</description> <offered_by>U04</offered_by> <start_date>1999-01-20</start_date> <end_date>1999-05-25</end_date> <reserve_price>200</reserve_price> </item_tuple> <item_tuple> <itemno>1008</itemno> <description>Broken Bicycle</description> <offered_by>U01</offered_by> <start_date>1999-02-05</start_date> <end_date>1999-02-20</end_date> <reserve_price>25</reserve_price> </item_tuple> </items> <bids> <bid_tuple> <userid>U02</userid> <itemno>1001</itemno> <bid>35</bid> <bid_date>1999-01-07</bid_date> </bid_tuple> <bid_tuple> <userid>U04</userid> <itemno>1001</itemno> <bid>40</bid> <bid_date>1999-01-08 </bid_date> </bid_tuple> <bid_tuple> <userid>U02</userid> <itemno>1001</itemno> <bid>45</bid> <bid_date>1999-01-11 </bid_date> </bid_tuple> <bid_tuple> <userid>U04</userid> <itemno>1001</itemno> <bid>50</bid> <bid_date>1999-01-13</bid_date> </bid_tuple> <bid_tuple> <userid>U02</userid> <itemno>1001</itemno> <bid>55</bid> <bid_date>1999-01-15</bid_date> </bid_tuple> <bid_tuple> <userid>U01</userid> <itemno>1002</itemno> <bid>400</bid> <bid_date>1999-02-14</bid_date> </bid_tuple> <bid_tuple> <userid>U02</userid> <itemno>1002</itemno> <bid>600</bid> <bid_date>1999-02-16</bid_date> </bid_tuple> <bid_tuple> <userid>U03</userid> <itemno>1002</itemno> <bid>800</bid> <bid_date>1999-02-17</bid_date> </bid_tuple> <bid_tuple> <userid>U04</userid> <itemno>1002</itemno> <bid>1000</bid> <bid_date>1999-02-25</bid_date> </bid_tuple> <bid_tuple> <userid>U02</userid> <itemno>1002</itemno> <bid>1200</bid> <bid_date>1999-03-02</bid_date> </bid_tuple> <bid_tuple> <userid>U04</userid> <itemno>1003</itemno> <bid>15</bid> <bid_date>1999-01-22</bid_date> </bid_tuple> <bid_tuple> <userid>U05</userid> <itemno>1003</itemno> <bid>20</bid> <bid_date>1999-02-03</bid_date> </bid_tuple> <bid_tuple> <userid>U01</userid> <itemno>1004</itemno> <bid>40</bid> <bid_date>1999-03-05</bid_date> </bid_tuple> <bid_tuple> <userid>U03</userid> <itemno>1007</itemno> <bid>175</bid> <bid_date>1999-01-25</bid_date> </bid_tuple> <bid_tuple> <userid>U05</userid> <itemno>1007</itemno> <bid>200</bid> <bid_date>1999-02-08</bid_date> </bid_tuple> <bid_tuple> <userid>U04</userid> <itemno>1007</itemno> <bid>225</bid> <bid_date>1999-02-12</bid_date> </bid_tuple> </bids> </data>