Traveau Pratique

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 4

Université de Bouira Faculté de sciences et des sciences appliquées

Module MTI Méthd. et tech d’implement.


Série TP n°2 2022-2023
Filière Master GSI 1 ère Année
Chapitre 2: XML : ‫ملاحظة‬

1 Partie 1
Objectifs : Manipuler XML/DTD/CSS/XSL

Données : annuaire.xml

Outils‫أدوات‬ : xml copy editor

Questions : Soit le fichier annuaire.dtd

1 <!ELEMENT annuaire (personne*)>


2 <!ELEMENT personne (identite)>
3 <!ELEMENT identite (nom,prenom,adresse)>
4 <!ELEMENT adresse (rue,cp,ville,tel)>
5 <!ELEMENT rue (#PCDATA)>
6 <!ELEMENT cp (#PCDATA)>
7 <!ELEMENT ville (#PCDATA)>
8 <!ELEMENT adresse (tel)>
9 <!ELEMENT tel (#PCDATA)>
10 <!ELEMENT nom (#PCDATA)>
11 <!ELEMENT prenom (#PCDATA)>

1. Tester la validité du fichier anuaire-v0.1.xml par rapport à la DTD :

• utiliser l’éditeur XMLcopy, menu XML/validate)


• under Notepad++ go to Plugins > Plugin manager > Show Plugin Manager then find Xml Tools
plugin. Tick the box and click Install.
• Under linux :

xmllint --noout --dtdvalid test.dtd test.xml

2. Mettre à jour la dtd, et corriger les éventuelles erreurs dans le fichier XML

1.1 Exemple CSS : annuaire.css

1 Annuaire { background-color: #8A1619 }


2 personne { display: table; }
3 nom { color: #fff;
4 font-family: 'Righteous', cursive;
5 font-size: 40px;
6 line-height: 60px;
7 text-transform: uppercase;
8 text-shadow: 2px 2px 0 #000, margin: 10px 0 24px;
9 }
10 prenom {font-size: 30px;
11 color: #DFBF84;
12 text-shadow: 1px 1px 0 #000, margin: 10px 0 24px;
13 line-height: 50px;

1
14 }
15 adresse {display: table;
16 color: #f6f6f6;
17 font-size: 16px;
18 line-height: 24px;
19 }
20 code-postale { padding: 15px; font-size: 20px; }
21 telephone { color: #e8d4a7; }

Lier la feuille de style annuaire.css au annuaire.xml en utilisant la balise

<?xml-stylesheet type="text/css" href="annuaire.css"?>

• Peut-on modifier le fichier CSS pour afficher que le nom, le prénom, et la ville ?

• Peut-on modifier le fichier CSS pour afficher le prénom avant le nom?

1.2 Exemple XSLT


• Créer le fichier annuaire.xsl

1 <?xml version="1.0" encoding="UTF-8"?>


2 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3 <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional
4 <xsl:template match="/">
5 <html xmlns="http://www.w3.org/1999/xhtml">
6 <body>
7 <h1 align="center">Annuaire</h1>
8 <h2>La liste des personnes</h2>
9 <xsl:for-each select="annuaire/personne">
10 <h3><xsl:value-of select="identite/nom"/> <xsl:value-of select="identite/prenom"/></h3>
11 <p><xsl:value-of select="identite/adresse"/></p>
12 <hr/>
13 </xsl:for-each>
14 </body>
15 </html>
16 </xsl:template>
17 </xsl:stylesheet>

Lier la feuille de style annuaire.xsl au annuaire-v0.1.xml en utilisant la balise

<?xml-stylesheet type="text/xsl" href="annuaire.xsl"? >

• Peut-on modifier le fichier XSL pour afficher que le nom, le prénom, et la ville ?

• Peut-on modifier le fichier XSL pour afficher le prénom avant le nom?

Modifier le code pour afficher chaque personne comme suite :


Nom:Achour
Prenom:Hamza
Rue: 25 avenue de 05 juillet 1962
Ville:Alger
Telephone:071002500
Modifier le code pour afficher une table qui contient la liste des personnes, comme suite :

2
Modifier la ligne

<xsl:for-each select="annuaire/personne">

Par
<xsl:for-each select="annuaire/personne[identite/adresse/ville='Bouira']">

Vous pouvez constater qu’on peut afficher que les personnes habitants à Bouira.

2 Travail à domicile ‫العمل المنزلي‬


Réaliser le projet suivant en utilisant Python et XML.

• Ecrire un programme python pour lire des données à partir d’un fichier texte

• Les données sont stockées sous formes des champs séparer par des tabulations.

• Le résultat est affiché sous forme d’un document XML.

• Definir la DTD du document, ensuite valider le document resultant.

• Utiliser une feuille de style CSS pour la présenttaion du fichier suivi.

• Utiliser une feuille de style XSLT pour la présenttaion du fichier suivi.

• Utiliser une feuille de style XSLT pour calculer les champs calculés.

• Utiliser une feuille de style XSLT pour calculer les statistiques demandées.

2.1 Projet :
Gestion de suivi des étudiants dans un module (voir TP1)
XML‫أتجز العمل بلغة بيثون و‬

‫• اكتب برنامج بيثون لقراءة البيانات من ملف نصي‬

.‫• البيانات مفصولة بعلامة جدولة‬

XML. ‫• الناتج يعرض في شكل مستند‬

.‫ ثم تحقق من صلاحية المستند الناتج‬DTD ‫عرف هيكلة البيانات بوساطة‬


ّ •
.‫ لعرض ملف المتابعة‬CSS ‫• استعمل ورقة أنماط‬

.‫ لعرض ملف المتابعة‬XSL/T ‫• استعمل ورقة أنماط‬

. ‫ لحساب الحقول المحسوبة‬XSL/T ‫• استعمل ورقة أنماط‬

. ‫ لحساب الإحصائيات المطلوبة‬XSL/T ‫• استعمل ورقة أنماط‬

3
Projet : 2.2
(‫ )راجع العمل التطبيقي الأول‬،‫مشروع متابعة الطلاب في مادة ما‬

2.3 Questions supplémentaires (facultatif) (‫أسئلة إضافية )اختيار ية‬


Soit le fichier du Quran-juza-amma.xmlّ‫جزء عم‬

• Définir une DTD

• Créer une feuille de style en CSS.

• Créer une feuille de style en XSLT.

– Améliorer l’affichage des sourates


– Afficher l’index des sourates avec leurs attributs (Makkia, Madania, Nombre d’ayates, numéro de la
sourate).
– Ajouter des liens vers des fichiers audio pour chaque sourate.
– Améliorer l’affichage pour les appreils mobiles.

‫ جزء ع ّم‬Quran-juza-amma.xml ‫ليكن الملف‬

‫ للملف‬DTD ‫عرف‬
ّ •
CSS. ‫• أنشئ روقة أنماط‬

XLS/T. ‫• أنشئ روقة أنماط‬

‫– حسنّ عرض السور‬


(‫ رقم السورة‬،‫ عدد الآيات‬،‫ مدنية‬،‫– اصنع فهرسا للسور مع خصائصها )مكية‬

‫– أضف روابط لملفات صوتية لكل سورة‬


‫– حسّن العرض للأجهزة المحمولة‬

3 Références
• Quran Metadata from Tanzil project: https://tanzil.net/docs/quran_metadata

• XML copy editor: https://xml-copy-editor.sourceforge.io

• XSLT Elements Reference: https://www.w3schools.com/xml/xsl_elementref.asp

4 Exercices supplémentaires ‫تمارين للتعمق‬


à suivre ... ‫يُتبع‬

Vous aimerez peut-être aussi