0% found this document useful (0 votes)
41 views10 pages

Tdcorr

The document contains a series of exercises that involve creating XSD schemas for various systems, including book lists, car rentals, user registrations, orders, contacts, events, tasks, student management, and customer types. Each exercise specifies the required elements, types, and constraints for the XML structure. The document also includes an exercise for validating a username format.

Uploaded by

Chaima Mestiri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views10 pages

Tdcorr

The document contains a series of exercises that involve creating XSD schemas for various systems, including book lists, car rentals, user registrations, orders, contacts, events, tasks, student management, and customer types. Each exercise specifies the required elements, types, and constraints for the XML structure. The document also includes an exercise for validating a username format.

Uploaded by

Chaima Mestiri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Exercice 1 : Créez un schéma XSD pour un fichier XML contenant une liste de livres.

Chaque livre doit


avoir un titre (chaîne), un auteur (chaîne), une année de publication (entier) et un prix (décimal).

chaque livre a un numéro ISBN comme attribut obligatoire.

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="Books">

<xs:complexType>

<xs:sequence>

<xs:element name="Book" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="Title" type="xs:string"/>

<xs:element name="Author" type="xs:string"/>

<xs:element name="PublicationYear" type="xs:integer"/>

<xs:element name="Price" type="xs:decimal"/>

</xs:sequence>

<xs:attribute name="ISBN" type="xs:string" use="required"/>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Exercice 2 : Créez un schéma XSD pour un système de location de voitures où chaque voiture a une
marque (chaîne), un modèle (chaîne), une année (entier) et un type de carburant (énumération :
essence, diesel, électrique, hybride).

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="CarRental">

<xs:complexType>

<xs:sequence>

<xs:element name="Car" maxOccurs="unbounded">


<xs:complexType>

<xs:sequence>

<xs:element name="Brand" type="xs:string"/>

<xs:element name="Model" type="xs:string"/>

<xs:element name="Year" type="xs:integer"/>

<xs:element name="FuelType">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:enumeration value="Petrol"/>

<xs:enumeration value="Diesel"/>

<xs:enumeration value="Electric"/>

<xs:enumeration value="Hybrid"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Exercice 3 : Créez un schéma XSD pour un système d'enregistrement d'utilisateur où :

Nom d'utilisateur : doit être une chaîne d'une longueur minimale de 5 et d'une longueur maximale de
15.

Âge : doit être un entier compris entre 18 et 100.

E-mail : doit suivre un format de chaîne (pas de validation d'e-mail intégrée dans XSD).

Mot de passe : doit comporter au moins 8 caractères.

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Users">

<xs:complexType>

<xs:sequence>

<xs:element name="User" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="Username">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="5"/>

<xs:maxLength value="15"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="Age">

<xs:simpleType>

<xs:restriction base="xs:integer">

<xs:minInclusive value="18"/>

<xs:maxInclusive value="100"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

<xs:element name="Email" type="xs:string"/>

<xs:element name="Password">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="8"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

</xs:sequence>
</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Exercice 4 : Créez un schéma XSD pour un système de commande où :

Une commande contient plusieurs articles.

Chaque article possède un nom de produit (chaîne), une quantité (entier) et un prix (décimal).

La commande doit avoir un nom de client (chaîne) et un montant total (décimal).

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="Order">

<xs:complexType>

<xs:sequence>

<xs:element name="CustomerName" type="xs:string"/>

<xs:element name="TotalAmount" type="xs:decimal"/>

<xs:element name="Items">

<xs:complexType>

<xs:sequence>

<xs:element name="Item" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="ProductName" type="xs:string"/>

<xs:element name="Quantity" type="xs:integer"/>

<xs:element name="Price" type="xs:decimal"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>
</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Exercice 5 : Créez un schéma XSD pour un système de contacts où :

Un contact doit avoir soit un numéro de téléphone (chaîne), soit une adresse e-mail (chaîne), mais
pas les deux.

Le nom est une chaîne obligatoire.

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="Contact">

<xs:complexType>

<xs:sequence>

<xs:element name="Name" type="xs:string"/>

<xs:choice>

<xs:element name="PhoneNumber" type="xs:string"/>

<xs:element name="Email" type="xs:string"/>

</xs:choice>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Exercice 6 : Créez un schéma XSD pour un système de gestion d'événements où :

Un événement possède un titre (chaîne), un emplacement (chaîne), une date (date) et une heure
(heure).

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="Event">

<xs:complexType>

<xs:sequence>

<xs:element name="Title" type="xs:string"/>


<xs:element name="Location" type="xs:string"/>

<xs:element name="Date" type="xs:date"/>

<xs:element name="Time" type="xs:time"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Exercice 7 : Créez un schéma XSD pour un système de gestion des tâches où :

Une tâche possède un TaskID, un TaskName (chaîne), un Completed (booléen) et un DueDate (date)
uniques.

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="Task">

<xs:complexType>

<xs:sequence>

<xs:element name="TaskID" type="xs:ID"/>

<xs:element name="TaskName" type="xs:string"/>

<xs:element name="Completed" type="xs:boolean"/>

<xs:element name="DueDate" type="xs:date"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Exercice 8 : Créez un schéma XSD pour un système de gestion des étudiants où :

Un étudiant possède un ID (identifiant unique) et un nom.

Un cours possède un CourseID (identifiant unique) et un titre.

Une inscription lie un StudentID à un CourseID.

Assurez-vous que StudentID et CourseID dans l'inscription font référence à l'étudiant et au cours
existants.

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="University">

<xs:complexType>

<xs:sequence>

<xs:element name="Students">

<xs:complexType>

<xs:sequence>

<xs:element name="Student" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="ID" type="xs:string"/>

<xs:element name="Name" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<xs:key name="StudentKey">

<xs:selector xpath="Student"/>

<xs:field xpath="ID"/>

</xs:key>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Courses">

<xs:complexType>

<xs:sequence>

<xs:element name="Course" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="CourseID" type="xs:string"/>

<xs:element name="Title" type="xs:string"/>

</xs:sequence>
</xs:complexType>

<xs:key name="CourseKey">

<xs:selector xpath="Course"/>

<xs:field xpath="CourseID"/>

</xs:key>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="Enrollments">

<xs:complexType>

<xs:sequence>

<xs:element name="Enrollment" maxOccurs="unbounded">

<xs:complexType>

<xs:sequence>

<xs:element name="StudentID" type="xs:string"/>

<xs:element name="CourseID" type="xs:string"/>

</xs:sequence>

</xs:complexType>

<xs:keyref name="StudentRef" refer="StudentKey">

<xs:selector xpath="Enrollment"/>

<xs:field xpath="StudentID"/>

</xs:keyref>

<xs:keyref name="CourseRef" refer="CourseKey">

<xs:selector xpath="Enrollment"/>

<xs:field xpath="CourseID"/>

</xs:keyref>

</xs:element>

</xs:sequence>

</xs:complexType>
</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

Exercice 9 : Créez un schéma XSD où :

Une personne a un nom et un âge.

Un client étend Person et ajoute un attribut CustomerID.

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

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:complexType name="PersonType">

<xs:sequence>

<xs:element name="Name" type="xs:string"/>

<xs:element name="Age" type="xs:integer"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="CustomerType">

<xs:complexContent>

<xs:extension base="PersonType">

<xs:attribute name="CustomerID" type="xs:string" use="required"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

<xs:element name="Customer" type="CustomerType"/>

</xs:schema>
Exercice 10 : Create an XSD schema that validates Username: Must start with a letter, followed by
letters, numbers, underscores, or dots. Minimum 3 characters, maximum 15 characters.

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


xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="User"> <xs:complexType>
<xs:sequence>

<xs:element name="Username"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern


value="[a-zA-Z][a-zA-Z0-9._]{2,14}"/> </xs:restriction> </xs:simpleType> </xs:element>
</xs:sequence>

</xs:complexType> </xs:element> </xs:schema>

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy