Documente Academic
Documente Profesional
Documente Cultură
Exercice 2 :
Le fichier XML suivant enregistre les rsultats des matchs dun championnat de football :
Exercice 3
On souhaite crer un fichier XML qui regroupe la liste des stagiaires (cours du soir, cours du jour et la formation
qualifiante) dune cole de formation, on veut conserver les informations suivantes :
1) Cours du soir
Filire dote dun nom et un nombre de personnes.
- Employer (Socit, matricule, datedebut, grade)
2) Cours du jour
Filire dote dun nom et un nombre de stagiaires.
- Stagiaire (N inscription, nom, prnom, ge)
3) Formation qualifiante
formation dote dun nom et un identifiant.
- Participant (nom, Tel)
Questions :
1. Ecrire une DTD pour cette application.
2. Ecrire un fichier valide pour cette DTD, comportant au moins deux stagiaires et faisant apparatre
toutes les possibilits de la DTD.
3. Ecrire une XSD pour cette application.
Exercice 4 :
L'auteur du document XML suivant a cru pouvoir rdiger son document en se passant d'un diteur XML. Aidez-
le corriger les erreurs quil contient pour quil puisse tre bien form.
<nom>Gump</nom>
<prnom>Forrest</prnom>
<auteur>
<description xmlns="http://www.w3.org/1999/xhtml"
style="bold" Style="big" >
<!-- partir d'ici, on peut utiliser des lments HTML c'est pratique pour du contenu
documentaire -->
<p align="center">
Ma maman disait
toujours : "<i>
la vie c'est comme une
boite de <b>chocolat</i>, on ne sait jamais
sur quoi on va tomber</b>".
</p>
<hr width=""/>
<script language="JavaScript">
<![CDATA[
function check() {
for (int i=10; i>0; i++) {
if ( a[b[i]]>5 ) break;
}
}
]]>
<!-- vrifier si la boucle doit s'crire
avec ++i et pas i++ -->
</script>
<p>La suite, je ne m'en souviens plus...
</description>
</document>
<remarques>
Mon document ne parse pas
</remarques> <!-- il y a quelques erreurs -->fin du document
Exercice 5 :
Pour chacun des documents 1, 2, et 3, indiquez sil est valide ou pas. Quand le document nest pas valide,
indiquez la nature de lerreur (ou des erreurs). Les documents sont indpendants les uns des autres.
1.
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE a [
<!ELEMENT a (b*, c)>
<!ELEMENT b EMPTY>
<!ELEMENT c (#PCDATA)>
<!ATTLIST c
x CDATA #FIXED "bold">
]>
<a>
<b/>
<b/>
<c x= "medium"> du texte </c>
</a>
2.
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE a [
<!ELEMENT a (b*, c*, d?)>
<!ELEMENT d EMPTY>
<!ELEMENT b (#PCDATA)>
<!ELEMENT c (#PCDATA)>
]>
<a>
<b>ljs sldjf sljd </b>
<b>mmmqmm qqq mmm qq </b>
<d/>
</a>
3.
<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE a [
<!ELEMENT a (b*, c)>
<!ELEMENT b EMPTY>
<!ELEMENT c (#PCDATA)>
<!ATTLIST b
truc CDATA #IMPLIED>
]>
<a>
<b/>
<b truc="bidule"/>
<c>Et voil`</c>
<b/>
</a>
4.
crivez une DTD pour des documents XML de type examen. Un examen contient un code de cours, un titre et
une date qui contient uniquement le mois et l'anne. Ces lments sont suivis par une liste de questions. Un
examen a entre 5 et 6 questions et chaque question a une ou plusieurs parties.
Une partie peut tre vide ou bien avoir du texte ou bien encore avoir du texte mlang avec d'autres parties.
Le code ainsi que lanne doivent tre des chanes de caractres valides (ie caractres autoriss par xml), le
mois est une chaine parmi la liste suivante : (jan, fev, mar, avr, mai, ju, jui, aou, sep, oct, nov, dec).
Exemple dinstance :
<?xml version="1.0" encoding="iso-8859-1" ?>
<examen code="coursXML">
<titre>Outils et documents XML</titre>
<date mois="sep" annee="2004" />
<questions>
<question> <partie/> </question>
<question> <partie/> </question>
<question> <partie/> </question>
<question> <partie> ma partie </partie> </question>
<question> <partie > <partie/> une autre partie </partie>
<partie > <partie> encore du texte une </partie> autre partie </partie>
<partie >autre partie </partie>
</question>
</questions>
</examen>
Ou bien
<?xml version="1.0" encoding="iso-8859-1" ?>
<examen code="coursXML">
<titre>Outils et documents XML</titre>
<date mois="sep" annee="2004" />
<questions>
<question> <partie/> </question>
<question> <partie/> </question>
<question> <partie/> </question>
<question> <partie> ma partie </partie> </question>
<question> <partie/> </question>
<question> <partie/> </question>
</questions>
</examen>
Exercice 6 :
Objectif : Les schmas permettent de dcrire les modles de donnes de faon plus prcise.
Transposez la DTD Livres.dtd en un schma XSD avec les caractristiques suivantes :
Une anne est une chane de 4 caractres compris dans l'espace 0...9
Un livre contient exactement un titre, un prix, une anne et au moins un auteur. De plus, on associe
des lments de ce type l'attribut "edition" qui prcise si il s'agit d'un paperback ou d'une dition relie.
Un prix est un type complexe, on lui associe deux attributs: "valeur" et "monnaie" ("monnaie" a un type
qui drive de "string", son champs de valeur se limite aux chanes "USD" et "EUR")
Livres.dtd
<!ELEMENT livres (livre*)>
<!ELEMENT livre (titre, auteur+, anne, prix)>
<!ATTLIST livre edition CDATA #REQUIRED>
<!ELEMENT titre (#PCDATA)>
Exercice 7 :
Voici un extrait du fichier qui contient la liste des gagnants du booker prize (liste de livres avec leur auteur
et l'anne de l'obtention du prix).
<?xml version="1.0"?>
<booker>
<award>
<author>Kingsley Amis</author>
<title>The Old Devils</title>
<year>1986</year>
</award>
<award>
[]
</award>
[]
</booker>
Exercice 8 :
1. Dans cet exercice on travaille sur un document XML : Cours.xml qui contient des informations sur
des cours en informatique comme indiqu en annexe. Donnez le rsultat de la transformation du
document suivant appliqu Cours.xml
<xsl:template match="/">
<xsl:apply-templates select="ENSEIGNEMENT/COURS"/>
</xsl:template>
<xsl:template match="COURS">
<xsl:text> -------------------------------------------------</xsl:text>
<br/>
<xsl:value-of select="@INTITULE"/>
<br/>
<xsl:text> Salle: </xsl:text>
<xsl:value-of select="SALLE"/>
<br/>
<xsl:text> Modules : </xsl:text>
<xsl:apply-templates select="MODULE"/>
<br/>
<xsl:text> Inscrits (note): </xsl:text>
<br/>
<xsl:for-each select="ETUDIANT">
<xsl:value-of select="@NUMERO"/>
<xsl:if test="NOTE">
(<xsl:value-of select="NOTE"/>)
</xsl:if>
<br/>
</xsl:for-each>
</xsl:template>
<xsl:template match="MODULE">
<xsl:value-of select="@INTITULE"/>
<xsl:if test="position() < last()">
<xsl:text> , </xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
2. Modifiez le programme afin quil affiche dune part, uniquement les numros des tudiants qui
possdent une note, et dautre part, les enseignants pour chaque module (entre parenthses aprs
le nom du module) ;
3. Proposer un fichier xsl qui permet dobtenir un document xml ne contenant que les lments
MODULE. Ajouter ensuite chacun de ces lments, un lment fils OPTION contenant le texte :
venir : (voir ci-dessous)
4. Obtenir un document xml contenant les mmes informations que le document initial en annexe
(Cours.xml), mais qui na pas recours aux attributs (les attributs deviennent des lments). (voir ci-
dessous)
<?xml version="1.0" encoding="utf-16"?>
<ENSEIGNEMENT>
<COURS>
<INTITULE>Commerce Electronique</INTITULE>
<SALLE>Amphi A</SALLE>
<MODULE>
<INTITULE>PHP et MySQL</INTITULE>
<ENSEIGNANT>Enseignant1</ENSEIGNANT>
</MODULE>
<MODULE>
<INTITULE>XML</INTITULE>
<ENSEIGNANT>Enseignant2</ENSEIGNANT>
<ENSEIGNANT>Enseignant3</ENSEIGNANT>
</MODULE>
<ETUDIANT>
<NUMERO>I235678</NUMERO>
<NOTE>16</NOTE>
</ETUDIANT>
<ETUDIANT>
<NUMERO>I784451</NUMERO>
</ETUDIANT>
<ETUDIANT>
<NUMERO>F569834</NUMERO>
</ETUDIANT>
</COURS>
Remarque :
En XSL, llment <xsl:element> permet la cration dynamique dlments et dont la syntaxe est la
suivante :
<xsl:element name= "nom_element">
Annexe, Cours.xml
<?xml version="1.0" encoding="iso-8859-1" ?>
<ENSEIGNEMENT>
<COURS INTITULE="Commerce Electronique">
<SALLE>Amphi A</SALLE>
<MODULE INTITULE="PHP et MySQL">
<ENSEIGNANT> Enseignant1 </ENSEIGNANT>
</MODULE>
<MODULE INTITULE="XML">
<ENSEIGNANT> Enseignant2 </ENSEIGNANT>
<ENSEIGNANT> Enseignant3 </ENSEIGNANT>
</MODULE>
<ETUDIANT NUMERO="I235678">
<NOTE>16</NOTE>
</ETUDIANT>
<ETUDIANT NUMERO="I784451" />
<ETUDIANT NUMERO="F569834" />
</COURS>
<COURS INTITULE="Bases de donnes">
<SALLE>Painlev</SALLE>
<MODULE INTITULE="SQL">
<ENSEIGNANT> Enseignant2 </ENSEIGNANT>
</MODULE>
<MODULE INTITULE="Optimisation">
<ENSEIGNANT> Enseignant4 </ENSEIGNANT>
</MODULE>
<ETUDIANT NUMERO="A675432">
<NOTE>14</NOTE>
</ETUDIANT>
<ETUDIANT NUMERO="B455978" />
<ETUDIANT NUMERO="B568709">
<NOTE>12</NOTE>
</ETUDIANT>
</COURS>
</ENSEIGNEMENT>
Exercice 9 :
Soit le programme suivant :
void Session_Start(object sender, EventArgs e)
{
// Code qui s'excute lorsqu'une nouvelle session dmarre
Application.Lock();
if (Application["Nombre"] == null)
Application["Nombre"] = 1;
else
Application["Nombre"] = Convert.ToInt16(Application["Nombre"]) + 1;
Application .UnLock ();
}
a) Expliquer la signification de chaque ligne du programme et quel est son utilit.
b) Comment diminuer le nombre dans le cas dune fermeture de session et o doit-on crire le
programme ?
Exercice 10 :
Que fait ce programme :
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack == false)
Label1.ForeColor = Color.Red;
else
Label1.ForeColor = Color.Green;
}
Exercice 11 :
Quel validateur utilise-t-on pour vrifier si 2 mot de passes sont les mmes ? et quelles sont les proprits
dfinir ?
Exercice 12 :
Quel est le rle de lobjet Response et quelle est la signification des mthodes Write et Redirect ?
Exercice 13 :
Quelle est la diffrence entre Cookie, Application et Session et donner un exemple.
Exercice 14 :
Ecrire le code pour rcuprer les variables suivantes :
Enregistrement Rcupration
Session["section"]="TDI" ; ?
Response.Cookies["Groupe"].Vakue="A" ; ?
Exercice 15 :
Quel validateur utilise-t-on pour vrifier si la valeur dune date est comprise entre 2 dates ?
Et quelle sont les proprits dfinir ?
Exercice 16 :
Pour positionner lauthentification par formulaire, les lignes de programme suivant ont t crites :
<authentification mode="Forms">
<forms loginUrl="login.aspx" timeout="20">
<credentials passwordFormat="MD5">
<user name="TEST" password="AZERTY"/>
</credentials>
</forms>
</authentification>
<authorization>
<deny user="?"/>
</authorization>
Expliquer la signification de ce programme et o doit-on lcrire ?
Exercice 17:
Quelle est la directive qui prcise au compilateur et lanalyseur ASP.Net quelle sagit dune page matre ?
- @MasterType
- @Master
- @PageType
- @MasterPage
Exercice 18 :
Soit le fichier courrier.xml
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE something>
<courrier>
<lettre>
<adrexp numero="123">
<nom>Mr abd</nom>
<appartement>23</appartement>
<rue>Sebou</rue>
<codepost>14000</codepost>
<ville>Knitra</ville>
</adrexp>
<adrdest numero="122">
<nom>Mlle f</nom>
<appartement>23</appartement>
<rue>Challah</rue>
<codepost>14200</codepost>
<ville>Rabat</ville>
<pays>Maroc</pays>
</adrdest>
</lettre>
</courrier>
a) Ecrire la DTD correspondante au fichier XML prcdent.
b) Proposer un fichier XSD pour valider le fichier XML.
c) Ecrire le code XPath pour rpondre aux questions suivantes :
a. Les codes postaux des lettres dont la ville de ladresse de destination est Rabat
b. Les noms commenant par Mlle.
c. Le nombre de lettre.
d. Les lments rue et code postal des villes.