1 TP XML XSD

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

TP XML XSD

Exercice N°1
Soit la page suivante contenant les informations sur un film :

https://www.imdb.com/title/tt1630029

Questions

1- Ecrire le fichier XML structurant les informations sur le film en adoptant un format de
votre choix.
2- Est-ce que le fichier XML que vous avez produit est un fichier XML bien formé ? Justifier
la réponse
3- Est-ce que le fichier XML que vous avez produit est un fichier XML valide ? Justifier la
réponse

Exercice N°2
Etape I. Soit le fichier XSD suivant :

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/vols"
xmlns="http://www.example.org/vols" elementFormDefault="qualified">
<xs:element name="vols">
<xs:complexType>
<xs:sequence>
<xs:element name="vol" maxOccurs="unbounded"
type="VolType" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="VolType">
<xs:sequence>
<xs:element name="depart" type="xs:string" />
<xs:element name="destination" type="xs:string" />
<xs:element name="heureDepart" type="xs:time" />
<xs:element name="heureArrivee" type="xs:time" />
<xs:element name="pourcentagePlacesReservee" type="xs:int" />
</xs:sequence>
<xs:attribute name="numeroVol" type="xs:string"
use="required" />
<xs:attribute name="type" type="xs:string" use="required" />
<xs:attribute name="statut" type="xs:string" />
</xs:complexType>
</xs:schema>

I.1- Que représente ce fichier ?


I.2- Ecrire un exemple de fichier XML correspondant à ce fichier XSD donné.
I.3- Est-ce que le fichier XML que vous avez produit est un fichier XML bien formé ? Justifier
la réponse
I.4- Est-ce que le fichier XML que vous avez produit est un fichier XML valide ? Justifier la
réponse

Etape II. On souhaite ajouter des règles de gestion à l’attribut "statut" et l’élément
"pourcentagePlacesReservee". Notre fichier XSD devient comme suit :

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/vols"
xmlns="http://www.example.org/vols" elementFormDefault="qualified">
<xs:element name="vols">
<xs:complexType>
<xs:sequence>
<xs:element name="vol" maxOccurs="unbounded"
type="VolType" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="VolType">
<xs:sequence>
<xs:element name="depart" type="xs:string" />
<xs:element name="destination" type="xs:string" />
<xs:element name="heureDepart" type="xs:time" />
<xs:element name="heureArrivee" type="xs:time" />
<xs:element name="pourcentagePlacesReservee"
type="PourcentageType" />
</xs:sequence>
<xs:attribute name="numeroVol" type="xs:string"
use="required" />
<xs:attribute name="type" type="xs:string" use="required" />
<xs:attribute name="statut" type="StatutType" />
</xs:complexType>

<xs:simpleType name="StatutType">
<xs:restriction base="xs:string">
<xs:enumeration value="annulé" />
<xs:enumeration value="retardé" />
<xs:enumeration value="arrivé" />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="PourcentageType">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0" />
<xs:maxInclusive value="100" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
II.1- Expliquer les règles de gestion ajoutées ?
II.2- Compléter le fichier XML pour correspondre à ce nouveau fichier XSD.

Etape III. On souhaite maintenant ajouter l’information de l’avion qui sera affecté à un vol
dans notre schéma. Notre fichier XSD devient comme suit :

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/vols"
xmlns="http://www.example.org/vols" elementFormDefault="qualified">

<xs:element name="vols">
<xs:complexType>
<xs:sequence>
<xs:element name="vol" maxOccurs="unbounded"
type="VolType" />
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:complexType name="VolType">
<xs:sequence>
<xs:element name="depart" type="xs:string" />
<xs:element name="destination" type="xs:string" />
<xs:element name="heureDepart" type="xs:time" />
<xs:element name="heureArrivee" type="xs:time" />
<xs:element name="pourcentagePlacesReservee"
type="PourcentageType" />
<xs:element name="avion" type="AvionType" />
</xs:sequence>
<xs:attribute name="numeroVol" type="xs:string"
use="required" />
<xs:attribute name="type" type="xs:string" use="required" />
<xs:attribute name="statut" type="StatutType" />
</xs:complexType>

<xs:simpleType name="StatutType" >


<xs:restriction base="xs:string">
<xs:enumeration value="annulé" />
<xs:enumeration value="retardé" />
<xs:enumeration value="arrivé" />
</xs:restriction>
</xs:simpleType>

<xs:simpleType name="PourcentageType">
<xs:restriction base="xs:integer">
<xs:minInclusive value="0" />
<xs:maxInclusive value="100" />
</xs:restriction>
</xs:simpleType>

<xs:complexType name="AvionType">
<xs:sequence>
<xs:element name="constructeur" type="xs:string" />
<xs:element name="modele" type="xs:string" />
<xs:element name="capacitePassagers" type="xs:integer" />
<xs:element name="portee" type="xs:decimal" />
<xs:element name="vitesseCroisiere" type="xs:integer" />
<xs:element name="anneeFabrication" type="xs:integer" />
</xs:sequence>
<xs:attribute name="nom" type="xs:string" use="required" />
</xs:complexType>

</xs:schema>

III.1- Expliquer la structure "avion" ajoutée ?


III.2- Compléter le fichier XML pour correspondre à ce nouveau fichier XSD.

You might also like