Tdcorr
Tdcorr
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Books">
<xs:complexType>
<xs:sequence>
<xs:complexType>
<xs:sequence>
</xs:sequence>
</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).
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="CarRental">
<xs:complexType>
<xs:sequence>
<xs:sequence>
<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>
Nom d'utilisateur : doit être une chaîne d'une longueur minimale de 5 et d'une longueur maximale de
15.
E-mail : doit suivre un format de chaîne (pas de validation d'e-mail intégrée dans XSD).
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Users">
<xs:complexType>
<xs:sequence>
<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="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>
Chaque article possède un nom de produit (chaîne), une quantité (entier) et un prix (décimal).
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Order">
<xs:complexType>
<xs:sequence>
<xs:element name="Items">
<xs:complexType>
<xs:sequence>
<xs:complexType>
<xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
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.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Contact">
<xs:complexType>
<xs:sequence>
<xs:choice>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Un événement possède un titre (chaîne), un emplacement (chaîne), une date (date) et une heure
(heure).
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Event">
<xs:complexType>
<xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Une tâche possède un TaskID, un TaskName (chaîne), un Completed (booléen) et un DueDate (date)
uniques.
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Task">
<xs:complexType>
<xs:sequence>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Assurez-vous que StudentID et CourseID dans l'inscription font référence à l'étudiant et au cours
existants.
<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:complexType>
<xs:sequence>
</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:complexType>
<xs:sequence>
</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:complexType>
<xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:selector xpath="Enrollment"/>
<xs:field xpath="StudentID"/>
</xs:keyref>
<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>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="PersonType">
<xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CustomerType">
<xs:complexContent>
<xs:extension base="PersonType">
</xs:extension>
</xs:complexContent>
</xs:complexType>
</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.