0% ont trouvé ce document utile (0 vote)
266 vues5 pages

Manipulation de XML Schema en GSI

Ce document présente une série d'exercices sur XML Schema. Il contient des instructions pour valider des fichiers XML contre des schémas XSD, modifier des schémas pour ajouter des attributs, et définir des schémas pour différents documents XML sur des sujets tels que les banques et les livres.

Transféré par

nour houda
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
266 vues5 pages

Manipulation de XML Schema en GSI

Ce document présente une série d'exercices sur XML Schema. Il contient des instructions pour valider des fichiers XML contre des schémas XSD, modifier des schémas pour ajouter des attributs, et définir des schémas pour différents documents XML sur des sujets tels que les banques et les livres.

Transféré par

nour houda
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

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


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

1 Partie 1
Objectifs : Manipuler XML Schema

Données : [Link], [Link], [Link], [Link]

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

Questions : Soit le fichier [Link]

<xsd:schema xmlns:xsd="[Link]
<xsd:element name="annuaire">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="personne" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="identite">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="nom" type="xsd:string"/>
<xsd:element name="prenom" type="xsd:string"/>
<xsd:element name="adresse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="rue" type="xsd:string"/>
<xsd:element name="code-postale" type="xsd:string"/>
<xsd:element name="ville" type="xsd:string"/>
<xsd:element name="telephone" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>

</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

1. Tester la validité du fichier [Link] par rapport à la XSD :

• 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.

1
• Under linux :

xmllint --schema [Link] [Link] --noout

2. Corriger les éventuelles erreurs dans le fichier XML

3. Mettre à jour le XSD afin d’ajouter les attributs pour le téléphone

<xsd:element name="telephone" minOccurs="0" maxOccurs="unbounded">


<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="type" type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>

Exercice 2 : Définir la DTD et le XML Schema pour le fichier [Link] afin de satisfaire les exigences suivantes
:

• Il y a deux types de comptes: checking and savings accounts (compte courant et compte d’épargne)

• l’Id de compte est unique

• l’Id client est unique

• ’c_id’ réfère le client et ’ac_id’ réfère le compte

• Le crédit doit être supérieur à -5000

• Utiliser l’héritage pour dériver les comptes courants (checking) et les comptes d’épargne (saving) à partir
d’un type de compte basique.

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


<bank>
<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>

2
<customers>
<customer id="c1">
<name>Ahmed Ben Rachidon</name>
<address>Chaabet Yakhlaf, Bouira</address>
</customer>
<customer id="c2">
<name>Marzouk Wail</name>
<address>M'chadallah, BP 205</address>
</customer>
<customer id="c3">
<name>Anfel Saidi</name>
<address>Lakhdaria, Krariche 15b</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>

Exercice 3 : Créer un Schéma XML pour le document [Link]


Les spécifications

1. l’élément books doit avoir un ou plusieurs livres (un au moins).

2. Chaque livre doit contenir les éléments suivants en séquence: title, edition, author (un ou plusieurs), pub-
lishedDate, type, et price

3. Chaque livre doit contient un ISBN comme un attribut clé obligatoire.

4. « title » contient n’importe quel caractère (type string).

5. « title » contient un attribut « type » qui prend que les valeurs ”P” et ”H”.

6. « edition » est un élément optionel, et doit contenir un nombre qui ne dépasse pas un octet.

7. Il peut y avoir un ou plusieurs auteurs (au moins un auteur) pour chaque livre. Chaque auteur doit avoir les
éléments enfants suivants: First, middle, Last. Les éléments doivent être dans l’ordre First, middle, et Last,
mais le Middle est un élément facultatif. Les éléments First, Middle et Last sont tous de types de chaînes,
mais le Middle doit avoir au plus un caractère.

8. L’élément « publishedDate month » est défini comme un type de unsignedByte avec une valeur inclusive
minimale de 1 et une valeur maximale de 12.

9. L’élément « publishedDate day » est défini comme un type de unsignedByte avec une valeur inclusive
minimale de 1 et une valeur maximale de 31.

10. L’élément « publishedDate year » est défini comme un type de gYear.

11. L’élément « type » est une chaîne de caractères et doit être soit « fiction » ou « nonfiction » pour être
valide

12. L’élément de prix est défini comme un type de décimal avec seulement trois caractères à gauche de la virgule
décimale et deux à droite. Le montant doit être supérieur à zéro.

<?xml version="1.0" standalone="no"?>


<books>

3
<book isbn="AB9781418860646">
<title type="P">XML Comprehensive Step by Step</title>
<edition>2</edition>
<author>
<first>Ahmed</first>
<middle></middle>
<last>Amara</last>
</author>
<publishedDate>
<month>7</month>
<day>9</day>
<year>2007</year>
</publishedDate>
<type>nonfiction</type>
<price>70</price>
</book>
<book isbn="AB9780132240857">
<title type="H">Systems Analysis and Design for Dummies</title>
<edition>7</edition>
<author>
<first>Kemal</first>
<middle>B</middle>
<last>Kendali</last>
</author>
<author>
<first>Djamel</first>
<middle>T</middle>
<last>Kendali</last>
</author>
<publishedDate>
<month>3</month>
<day>27</day>
<year>2007</year>
</publishedDate>
<type>nonfiction</type>
<price>166.67</price>
</book>
<book isbn="AB9780805001112">
<title type="P">The World Map Trap</title>
<author>
<first>Peri</first>
<middle>F</middle>
<last>Rais</last>
</author>
<publishedDate>
<month>9</month>
<day>15</day>
<year>1986</year>
</publishedDate>
<type>fiction</type>
<price>14</price>
</book>
</books>

4
2 Travail à domicile ‫العمل المنزلي‬
Utiliser Xschema pour definir la strcture de fichier du Suivi des étudiants.

2.1 Projet :
Gestion de suivi des étudiants dans un module (voir TP1)

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

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


Utiliser Xschema pour definir la strcture de fichier du [Link]ّ‫جزء عم‬
Xschema ‫عرف هيكلة ملف القرآن الـكريم بصيغة‬
ّ

3 Références
• Quran Metadata from Tanzil project: [Link]

• XML copy editor: [Link]

• XML Schema Elements Reference: [Link]

• xsd-cheat-sheet [Link]
md

• xsd-cheat-sheet [Link]
pdf

• XML Schema - Structures Quick Reference [Link]


pdf

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


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

Vous aimerez peut-être aussi