Examen LANGDOC – SI 4 2ième Partie : XML/DTD/XSD/XSL Durée 2h ...

De
Publié par

Examen LANGDOC – SI 4 2ième Partie : XML/DTD/XSD/XSL Durée 2h ...

Publié le : jeudi 21 juillet 2011
Lecture(s) : 145
Nombre de pages : 4
Voir plus Voir moins
Examen LANGDOC – SI 4 2 Partie: XML/DTD/XSD/XSL ième Mireille Blay-Fornarino Jeudi 11 décembre 2008 Durée 2h – Tous documents autorisés Le barème est donné à titre informatif mais est susceptible de modification.
RSSdésigne une famille deformatsXMLutilisés pour lasyndicationde contenuWeb. Ce standard est habituellement utilisé pour obtenir les mises à jour d'information dont la nature change fréquemment, typiquement cela peut être des listes de tâches dans un projet, des prix, des alertes de toutes natures, des nouveaux emplois proposés, les sites d'information ou lesblogs. LesPodcastsetvidéocastssont conçus sur ce même standard en utilisant la balise 'Enclosure'. Pour les recevoir, l'utilisateur doit s'abonner au flux, ce qui lui permet de consulter rapidement les dernières mises à jour, à l'aide d'unagrégateur, sans avoir à se rendre sur le site. [Pour info, daprès wikipédia]
Pour se connecter:login:demomot de passe:demo Lénoncé et les codes se trouvent sousc:\temp
Les codes demandés seront placés : -sur lordinateur fixedans c:\temp\votreLogin.zip, une archive à votre nom. (Néteignez pas lordinateur sans que votre archive ait été récupérée !) -sur le cdqui vous est donné dans un répertoire à votre nom.
Les codes attendus sont : 1.fluxRssNouveau.xml:Le fichier XML contenant les références à la DTD, au schéma et au XSL,en commentaire, ainsi que la réponse à la question 1en commentaire. 2.rssNouveau.dtd:fichier contenant la DTD modifié pour répondre à la question 2. 3.rssNouveau.xsd:fichier contenant le schéma XSD modifié pour répondre à la question 3. 4.flux4rss.xsl:fichier contenant le code XSL en réponse à la question 4.
Les codes donnés sont : rss4epu.css: utilisé pour la visualisation html fluxRss.xml: fichier xml correspondant au flux RSS rss.dtd: fichier contenant la DTD de base rss.xsd: fichier contenant le schéma XSD de base flux.htm : exemple de code html obtenu par transformation XSL
Code XML Dans le fichierfluxRss.xml vousavez le code XML correspondant au flux RSS de notre école (http://hub.polytechnice.fr/PolytechNiceSophia/?media=rss), un peu modifié pour les objectifs de lexamen. Ce document contient les informations publiées par notre école pendant ces derniers mois.
Recopier le fichierfluxRss.xmldans le fichierfluxRssNouveau.xmlque vous me rendrez.
(1 pt) Question1 : Expliquez lutilisation de CDATA dans le document XML.
Vous placerez votre réponse comme un commentaire dans le fichierfluxRssNouveau.xml.
DTD Dans le fichierrss.dtd, vous trouverez la définition de la DTD générée relativement au fichier XMLfluxRss.xml. (7 pts) Question2 : Modifier cette DTD pour prendre en compte les points suivants.
Vous rendrez la DTD obtenue dans le fichierrssNouveau.dtdet vous ajouterez le code référençant cette DTD dans votre fichier XMLfluxRssNouveau.xml.Il doit y avoir un élémentfromsuivi dun élémenttitledans unitemet le reste des balises de litemest optionnel. Etendre la définition de la DTD, pour prendre en compte lélémentorigins. Cet élément est actuellement placé en commentaire dans le fichier XML. Vous ôterez donc ce commentaire. Lattributversionest optionnel. Lattributlabelest requis. Lattributkinda pour valeur par défaut externe». XSD (4 pts) Question3 : Après avoir pris le temps de parcourir le schéma XML donné, modifier le pour prendre en compte les remarques suivantes.
Vous rendrez le schéma XSDobtenu dans le fichierrssNouveau.xsdet vous ajouterez le code référençant ce schéma dans votre fichier XMLfluxRssNouveau.xml.Vous mettez en commentaire la référence à la DTD de la question précédente.
Il doit y avoir un élémentfromsuivi dun élémenttitledans unitemet le reste des balises de litemest optionnel. Lattribut kind a pour valeur soitinternesoitexterneet a pour valeur par défaut  externe ». Préciser le type de lélémentpubdate.
Notre objectif est dobtenir une visualisation du flux correspondant à limage donnée par la figure ci-dessus. Le code html correspondant vous est donné dans le fichierflux.htm. Il vous 1 est demandé de générer ce code en écrivant le code XSL correspondant.
(8pts) Question4 : Ecrire le code XSL correspondant dans le fichierflux4Epu.xsl. Vous ajouterez le code référençant le code XSL dansfluxRssNouveau.xml.Vous mettez en commentaire la référence au schéma XML de la question précédente.
Voici quelques points dattention : La division sur la gauche(class=  resume »)précise : o Le nombre dinformations dans le flux (nombre ditems); o Seules les informations dont la date est supérieure au nombrenumber(20081101)sont visualisées dans cette partie (vous pouvez utiliser le code ci-après relatif à la lecture de la date pour exprimer cette condition.) ; o Chacune des informations listées fait référence par une ancre à linformation qui apparaît en partie droite. Lancre est déterminée sur le titre de linformation dans lequel les espaces ont été remplacés par ‘-‘ . La division à droite est décomposée en fonction de la provenance des informations (from) o Pour chaque info, le titre fait référence à un lien vers linformation elle-même (link)
1 Evidemment votre code XSL sera testé sur le flux obtenu le jour de la vérification
<xsl:variable name="date" select="pubDate"/>  <xsl:variable name="day" select="substring($date, 6, 2)" />  <xsl:variable name="month" select="substring($date, 9, 3)" />  <xsl:variable name="month_Number">  <xsl:choose>  <xsl:whentest="$month='Jan'">01</xsl:when>  <xsl:whentest="$month='Feb'">02</xsl:when>  <xsl:whentest="$month='Mar'">03</xsl:when>  <xsl:whentest="$month='Apr'">04</xsl:when>  <xsl:whentest="$month='May'">05</xsl:when>  <xsl:whentest="$month='Jun'">06</xsl:when>  <xsl:whentest="$month='Jul'">07</xsl:when>  <xsl:whentest="$month='Aug'">08</xsl:when>  <xsl:whentest="$month='Sep'">09</xsl:when>  <xsl:whentest="$month='Oct'">10</xsl:when>  <xsl:whentest="$month='Nov'">11</xsl:when>  <xsl:whentest="$month='Dec'">12</xsl:when>  </xsl:choose>  </xsl:variable>  <xsl:variablename="year" select="substring($date,13,4)"/>  <xsl:value-ofselect="$year"/> --> <xsl:variable name="dateNumber" select="concat($year,$month_Number,$day)"/>
Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.