Vous êtes sur la page 1sur 13

12/11/2023

Validation d’un document XML


XML- Schéma
1ere Partie

Said BAHASSINE
S.bahassine2@gmail.com/

LES LIMITES DES DTD

 Une DTD ne permet pas de typer les données;

 Une DTD est non extensible.

1
12/11/2023

XML- SCHÉMA

Le document XML-Schéma est un document xml, il nous


permet de :
 Spécifier la typologie des données que va contenir le
document XML décrit par le XML-Schéma;
 Gérer une quarantaine de types de données simples,
 Gérer des types complexes,
 Gérer les occurrences des données.

XML- SCHÉMA
Structure d'un schéma XML

L'extension du fichier

".xsd"
<!-- Prologue -->
élément
<?xml version="1.0" encoding="UTF-8" ?>
racine
<!-- Le corps -->
<!-- Elément racine -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
< xs: element name = "ElementName" >
<!-- déclarer les éléments, les attributs et les types-->
< xs: attribute name = " AttrName" >
</xs:schema>
4

2
12/11/2023

XML- SCHÉMA
Référencer un schéma XML

L'extension du fichier

Référencer

".xsd" ".xml"

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

<racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Schema1.xsd">

</racine>
5

XML- SCHÉMA
Référencer un schéma XML

XML-Schéma permet d’utiliser des données :

Référencer

".xsd" ".xml"

Element simple Element complexe


dont le type est une restriction de type;

dont le type est une extension de type.

3
12/11/2023

XML- SCHÉMA
Référencer un schéma XML

XML-Schéma permet d’utiliser des données :


<xs:element name= " nom" type="xs:string"/>
Element simple

<nom>Inesse BAHA</nom>
".xsd"
<xs:element name="job" type="xs:string"/>

<xs:element name="sal" type="xs:int" minOccurs="0"/>

maxOccurs="unbounded"

<job>JEE Sénior</job> <job>JDE Senior Developer</job>


<sal>2000</sal>
7

XML- SCHÉMA
Référencer un schéma XML

Exercice:
Elément Xml

La définition de simple élément :

4
12/11/2023

XML- SCHÉMA
Référencer un schéma XML

Exemple:
Elément Xml

La définition de simple élément :

Avec valeur par défaut:


<xs:attribute name="lang" type="xs:string" default = "Mohammed"/>

Avec valeur fixe:


<xs:attribute name="lang" type="xs:string" fixed = "Mohammed"/>
9

XML- SCHÉMA
Référencer un schéma XML
 Restriction de valeur :

 Restrictions on a Set of Values

10

10

5
12/11/2023

XML- SCHÉMA
Référencer un schéma XML

XML-Schéma permet d’utiliser des données :


<xs:element name="personne">
Element complexe

<xs:complexType>
<xs:sequence>
<xs:element name="nom" type="xs:string"/>
<xs:element name="age" type="xs:int"/>
".xsd" </xs:sequence>
</xs:complexType>
</xs:element>

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


<personne xsi:noNamespaceSchemaLocation="personne.xsd">
<nom>Assil</nom>

</personne>

11

11

XML- SCHÉMA
Référencer un schéma XML

XML-Schéma permet d’utiliser des données :


<xs:element name="personne">
Element complexe

<xs:complexType>
<xs:sequence>
<xs:element name="nom" type="xs:string"/>
<xs:element name="age" type="xs:int"/>
".xsd" </xs:sequence>
</xs:complexType>
</xs:element>

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


<personne xsi:noNamespaceSchemaLocation="personne.xsd">
<nom>Mohammed</nom>
<age>Dix sept</age>
</personne>

12

12

6
12/11/2023

XML- SCHÉMA
Référencer un schéma XML

XML-Schéma permet d’utiliser des données :


<xs:element name="personne">
Element complexe

<xs:complexType>
<xs:sequence>
<xs:element name="nom" type="xs:string"/>
<xs:element name="age" type="xs:int"/>
".xsd" </xs:sequence>
</xs:complexType>
</xs:element>

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


<personne xsi:noNamespaceSchemaLocation="personne.xsd">
<nom>Mohammed</nom>
<age>17</age>
</personne>

13

13

XML- SCHÉMA
Référencer un schéma XML

XML-Schéma permet d’utiliser des données :


<xs:element name="personne">
Element complexe

<xs:complexType>
<xs:sequence>
<xs:element name="nom" type="xs:string"/>
<xs:element name="age" type="xs:int"/>
".xsd" </xs:sequence>
<xs:attribute name="titre" type="xs:string"
use="required"/>
</xs:complexType>
</xs:element>
<?xml version="1.0" encoding="UTF-8"?>
<personne titre="Docteur" xsi:noNamespaceSchemaLocation="personne.xsd">
<nom> Mohammed </nom>
<age>17</age>
</personne>
14

14

7
12/11/2023

XML- SCHÉMA
Types de données

<xsd:element name="nom" type="xsd:type"


minoccurs= "v1" maxoccurs="v2"/>
Types prédéfinis :
 Byte, integer, positiveInteger, negativeInteger, int
 long, decimal, float, double…
 String
 boolean
 time, dateTime, date,
 ID, IDREF, ENTITY,

15

15

XML- SCHÉMA
Types de données

Choisir le code xml basé sur le schéma suivant :


<xs:element name="nom" type="xs:string" />
<xs:element name="email" type="xs:string" ></xs:element>
<xs:element name="age" type="xs:int" ></xs:element>

<nom>hani</nom> <nom>hani</nom>
<email>reda@gmail.com</email> <email>reda@gmail.com</email>
<age>22</age> <age>22.5</age>

A B
16

16

8
12/11/2023

XML- SCHÉMA
Référencer un schéma XML

Exemple:
Elément Xml

La définition de simple élément :

17

17

XML- SCHÉMA
Référencer un schéma XML

Exemple:
Elément Xml

La définition de simple élément :

18

18

9
12/11/2023

XML- SCHÉMA
Référencer un schéma XML

Exemple:
Elément Xml

La définition de simple élément :

19

19

Exercice :

DTD XSD Rappel N'oubliez pas les


types de données

20

20

10
12/11/2023

Correction :

21

21

Question 1 : Qu'est-ce qu'un XML Schema (XSD) ?


a. Un langage de programmation
b. Une bibliothèque de fonctions XML
c. Une spécification de la structure et des contraintes
pour les documents XML
d. Un navigateur web
Question 2 : À quoi sert un XML Schema ?
a. À transformer des documents XML en JSON
b. À valider et définir la structure des documents XML
c. À convertir des données XML en données tabulaires
d. À crypter des documents XML
22

22

11
12/11/2023

 Question 3 : Quelle est la principale utilité d'un XML Schéma ?


a. Il permet de compresser des documents XML pour économiser de l'espace
de stockage.
b. Il garantit que les documents XML respectent une structure prédéfinie et
des règles de validation.
c. Il permet de rendre les documents XML illisibles pour les utilisateurs non
autorisés.
d. Il permet de générer des documents XML aléatoires.
 Question 4 : Quel est l'objectif principal des éléments dans un XML
Schéma ?
a. Ils définissent les commentaires dans le schéma.
b. Ils spécifient les polices de caractères à utiliser dans les documents XML.
c. Ils définissent la structure hiérarchique des documents XML et les types de
données des éléments.
d. Ils indiquent les coordonnées géographiques des emplacements des
éléments.
23

23

 Question 5 : Quelle déclaration est utilisée pour indiquer le type de données


d'un élément dans un XML Schema ?

a) <!DATA_TYPE>

b) <!ELEMENT>

c) <!TYPE>

d) <!DATATYPE>

 Question 6 : Quelle déclaration est utilisée pour spécifier que plusieurs


occurrences d'un élément sont autorisées dans un XML Schema ?

a) minOccurs

b) maxOccurs

c) Occurrence
24

24

12
12/11/2023

Les Réponses :
1) C
2) B
3) B
4) C
5) B
6) B

25

25

Merci de votre attention

26

26

13

Vous aimerez peut-être aussi