SlideShare une entreprise Scribd logo
1  sur  26
XML- SCHÉMA
Mustapha HAIN
infohain@gmail.com
Abcdformation.blogspot.com
http://fr.slideshare.net/mustaphahain/
ENSAM-Casablanca
LES LIMITES DES DTD
 Une DTD ne permet pas de typer les données;
 Une DTD est non extensible.
 Une DTD prendre en compte un seul espace de nom.
En réponse aux lacunes des DTD, une alternative a été
proposée comme recommandation : il s’agit de XML-
Schéma. Cette nouvelle norme achève de faire d’XML un
format pivot… La version 1.1 de XML Schéma (datée de
mai 2001) se compose de 3 normes :
1. XML Schema tome 0 : Introduction
2. XML Schema tome 1 : Structures
3. XML Schema tome 2 : Types de données
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
L'extension du fichier
".xsd"
<!-- Prologue -->
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Le corps -->
<!-- Elément racine -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
< xsd: element name = "ElementName" >
<!-- déclarer les éléments, les attributs et les types-->
< xsd: attribute name = " AttrName" >
</xsd:schema>
élément racine
XML- SCHÉMA
Structure d'un schéma XML
L'extension du fichier
".xsd"
Référencer
XML- SCHÉMA
Référencer un schéma XML
".xml"
<?xml version="1.0" encoding="UTF-8"?>
<racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Schema1.xsd">
</racine>
XML-Schéma permet d’utiliser des données :
 de type prédéfini (string, int…);
 de type complexe;
 dont le type est une restriction de type;
 dont le type est une extension de type.
Il est possible de déclarer un type de données
 Dans la déclaration d’un élément (local)
 Hors de la déclaration de l’élément (global)
XML- SCHÉMA
Types de données
Types prédéfinis :
 byte, unsignedByte, hexBinary, integer, positiveInteger,
negativeInteger, int, unsignedInt,
 long, unsignedLong, short, unsignedShort, decimal,
float, double…
 string, NormalizedString, token
 boolean, anyURI,
 time, dateTime, duration, date, gMonth, gYear,
gYearMonth, gDay, gMonthDay
 ID, IDREF, IDREFS, ENTITY, ENTITIES, NOTATIN,
NMTOKEN, NMTOKENS
XML- SCHÉMA
Types de données
Déclaration d’éléments simples
XML- SCHÉMA
Types de données
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<xsd:element name="nom" type="xsd:string"/>
<xsd:element name="HireDate" type="xsd:date" />
<xsd:element name="amis" type="xsd:string" minoccurs= "1"
maxoccurs="unbounded"/>
<xsd:element name="gsm" type="xsd:string" maxoccurs="5"/>
</xsd:schema>
Ecrire le code xml en se basant sur le schéma suivant :
<nom>hani</nom>
<email>reda@gmail.com</email>
<age>22</age>
<xsd:element name="nom" type="xsd:string" />
<xsd:element name="email" type="xsd:string" ></xsd:element>
<xsd:element name="age" type="xsd:int" ></xsd:element>
XML- SCHÉMA
Types de données
<xsd:element name="prenom" type="xsd:string"
default= "Karim" />
<!-- valide -->
<prenom>Reda</prenom>
<!-- valide -->
<prenom>Ahmed</prenom>
<!-- valide -->
<!-- la balise prenom vaut "karim" -->
<prenom ></prenom>
XML- SCHÉMA
Types de données -Valeur par défaut
<xsd:element name="prenom" type="xsd:string"
fixed= "karim" />
<!-- valide -->
<prenom>karim</prenom>
<!-- invalide -->
<prenom>Rami</prenom>
<!-- invalide -->
<prenom></prenom>
XML- SCHÉMA
Types de données-Valeur constante
Déclarer un attribut
<xsd:attribut name="mon_att" type="xsd:mon_type" />
<formation niveau="debutant">Android </formation>
<xsd:attribut name= "niveau" type="xsd:string" />
XML- SCHÉMA
Types de données
<xsd:attribut name= "langue" type="xsd:string"
default= "English" />
<xsd:attribut name= "pays" type="xsd:string"
fixed= " MAROC" />
Attribut obligatoire
<xsd:attribut name= "email" type="xsd:string"
use="required" />
Valeur constante
Valeur par défaut
XML- SCHÉMA
Types de données
• Les restrictions sur des plages de données, des
séries de valeurs, des longueurs de caractères…
Exemple :
<xs:element name="note">
<xs:simpleType>
<xs:restriction base="xsd: positiveInteger">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
XML- SCHÉMA
Types de données- les restrictions
• Restrictions sur un ensemble de valeurs
Exemple :
<xs:element name="client">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="clientA"/>
<xs:enumeration value="clientB"/>
<xs:enumeration value="clientC"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
XML- SCHÉMA
Types de données- les restrictions
Restrictions sur une série de valeurs
Exemple :
<xs:element name="ssn">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="d{3}-d{2}-d{4}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
XML- SCHÉMA
Types de données- les restrictions
Restriction sur le longuer d’un élément
Exemple :
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
XML- SCHÉMA
Types de données- les restrictions
19
XML- SCHÉMA
Types de données-Les éléments complexes
Un élément complexe est un élément XML qui
contient d'autres éléments et / ou des attributs.
Déclarer un élément complexe
<xsd:element name="mon_nom">
<xsd:complexType>
<!-- contenu ici -->
<xsd:complexType>
</xsd:element>
20
Concernant les types complexes, il existe 3 types de
contenus possibles :
1. Les contenus simples.
2. Les contenus "standards".
3. Les contenus mixtes.
XML- SCHÉMA
Types de données-Les éléments complexes
<personne>
<!-- la balise nom est un élément simple -->
<nom>Rmai</nom>
<!-- la balise prenom est un élément simple -->
<prenom>Amal</prenom>
</personne>
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
XML- SCHÉMA
Types de données-Les éléments complexes
Les indicateurs: Indicateur de séquence
Les indicateurs: Indicateur de choix
xs:element name="person">
<xs:complexType>
<xs:choice>
<xs:element name="employee" type="employee"/>
<xs:element name="member" type="member"/>
</xs:choice>
</xs:complexType>
</xs:element>
XML- SCHÉMA
Types de données-Les éléments complexes
soit l’élément complexe suivant:
XML- SCHÉMA
Types de données-Les éléments complexes
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<employee>
<firstname>Radi</firstname>
<lastname>laila</lastname>
</employee>
<xsd:element name="pages" type="xsd:positiveInteger"/>
<xsd:element name="auteur" type="xsd:string"/>
<xsd:element name="livre">
<xsd:complexeType>
<xsd:sequence>
<xsd:element ref="auteur"/>
<xsd:element ref="pages"/>
<xsd:sequence>
<xsd:complexeType>
</xsd:element>
XML- SCHÉMA
Types de données-Les éléments complexes / ref
25
Démonstration
Travaillons ensemble
Merci de votre attention

Contenu connexe

Tendances

Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
miniloka25
 

Tendances (20)

BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian BI : Analyse des Données avec Mondrian
BI : Analyse des Données avec Mondrian
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
BigData_TP3 : Spark
BigData_TP3 : SparkBigData_TP3 : Spark
BigData_TP3 : Spark
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -Les Base de Données NOSQL -Presentation -
Les Base de Données NOSQL -Presentation -
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Javascript pour les Développeurs WEB
Javascript pour les Développeurs WEBJavascript pour les Développeurs WEB
Javascript pour les Développeurs WEB
 
Alphorm.com Formation Elastic : Maitriser les fondamentaux
Alphorm.com Formation Elastic : Maitriser les fondamentauxAlphorm.com Formation Elastic : Maitriser les fondamentaux
Alphorm.com Formation Elastic : Maitriser les fondamentaux
 
Chp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOAChp1- Introduction aux Technologies Web et SOA
Chp1- Introduction aux Technologies Web et SOA
 
Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data mining
 
DataWarehouse
DataWarehouseDataWarehouse
DataWarehouse
 
Introduction aux bases de données
Introduction aux bases de donnéesIntroduction aux bases de données
Introduction aux bases de données
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdf
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)A Brief History of Database Management (SQL, NoSQL, NewSQL)
A Brief History of Database Management (SQL, NoSQL, NewSQL)
 
Une introduction à Hive
Une introduction à HiveUne introduction à Hive
Une introduction à Hive
 
Diaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdfDiaporamas-Bases de données.pdf
Diaporamas-Bases de données.pdf
 
Les BD NoSQL
Les BD NoSQLLes BD NoSQL
Les BD NoSQL
 

En vedette

En vedette (20)

XML Xpath & XSLT
XML  Xpath & XSLTXML  Xpath & XSLT
XML Xpath & XSLT
 
E logistics-Vehicle Routing Problem
E logistics-Vehicle Routing ProblemE logistics-Vehicle Routing Problem
E logistics-Vehicle Routing Problem
 
Introduction aux ERP
Introduction aux ERPIntroduction aux ERP
Introduction aux ERP
 
Introduction au M.E.S
Introduction au M.E.SIntroduction au M.E.S
Introduction au M.E.S
 
Création d’applications et découverte d’Android
Création d’applications et découverte d’AndroidCréation d’applications et découverte d’Android
Création d’applications et découverte d’Android
 
La gestion des projets dans openerp
La gestion des projets dans  openerpLa gestion des projets dans  openerp
La gestion des projets dans openerp
 
Log 2 2-slidshare
Log 2 2-slidshareLog 2 2-slidshare
Log 2 2-slidshare
 
La gestion de la production dans openerp
La gestion de la production dans openerpLa gestion de la production dans openerp
La gestion de la production dans openerp
 
LES OUTILS D’UN LOGISTICIEN
LES OUTILS D’UN LOGISTICIENLES OUTILS D’UN LOGISTICIEN
LES OUTILS D’UN LOGISTICIEN
 
L’approvisionnement et La gestion des Stocks dans OpenERP
L’approvisionnement et La gestion des Stocks dans OpenERPL’approvisionnement et La gestion des Stocks dans OpenERP
L’approvisionnement et La gestion des Stocks dans OpenERP
 
La gestion de la relation client dans l’ OPENERP
La gestion de la relation client dans l’ OPENERPLa gestion de la relation client dans l’ OPENERP
La gestion de la relation client dans l’ OPENERP
 
la logistique - Le transport
la logistique - Le transport la logistique - Le transport
la logistique - Le transport
 
XML Schema (W3C)
XML Schema (W3C)XML Schema (W3C)
XML Schema (W3C)
 
XML Schema
XML SchemaXML Schema
XML Schema
 
Log 2 1-slidshare
Log 2 1-slidshareLog 2 1-slidshare
Log 2 1-slidshare
 
La Logistique 1
La Logistique 1La Logistique 1
La Logistique 1
 
Tour d'horizon sur la E-logistique 2015
Tour d'horizon sur la E-logistique 2015Tour d'horizon sur la E-logistique 2015
Tour d'horizon sur la E-logistique 2015
 
XML Schema Part 2
XML Schema Part 2XML Schema Part 2
XML Schema Part 2
 
XML Schema Part 1
XML Schema Part 1XML Schema Part 1
XML Schema Part 1
 
Opentms nextma
Opentms nextmaOpentms nextma
Opentms nextma
 

Similaire à XML- Schéma

Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
camelus
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
hrenel
 
Cyxml2 formation-technologies-xml-mise-en-oeuvre
Cyxml2 formation-technologies-xml-mise-en-oeuvreCyxml2 formation-technologies-xml-mise-en-oeuvre
Cyxml2 formation-technologies-xml-mise-en-oeuvre
CERTyou Formation
 
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
CERTyou Formation
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
m100grech
 

Similaire à XML- Schéma (20)

xml cours
xml coursxml cours
xml cours
 
SchemaXMLDefinition@AhmesZELLOU20232024.pdf
SchemaXMLDefinition@AhmesZELLOU20232024.pdfSchemaXMLDefinition@AhmesZELLOU20232024.pdf
SchemaXMLDefinition@AhmesZELLOU20232024.pdf
 
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQueryXML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
 
chapXSD espace de noms.pdf
chapXSD  espace de noms.pdfchapXSD  espace de noms.pdf
chapXSD espace de noms.pdf
 
XML.pdf
XML.pdfXML.pdf
XML.pdf
 
XML.pdf
XML.pdfXML.pdf
XML.pdf
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Modèles de données et langages de description ouverts 2021-2022 - 2
Modèles de données et langages de description ouverts   2021-2022 - 2Modèles de données et langages de description ouverts   2021-2022 - 2
Modèles de données et langages de description ouverts 2021-2022 - 2
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
HTML : why content is important - SoftShake 2014
HTML : why content is important - SoftShake 2014HTML : why content is important - SoftShake 2014
HTML : why content is important - SoftShake 2014
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
1 introduction
1 introduction1 introduction
1 introduction
 
Cours
CoursCours
Cours
 
XML
XMLXML
XML
 
Cyxml2 formation-technologies-xml-mise-en-oeuvre
Cyxml2 formation-technologies-xml-mise-en-oeuvreCyxml2 formation-technologies-xml-mise-en-oeuvre
Cyxml2 formation-technologies-xml-mise-en-oeuvre
 
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
Cyxml2 formation-technologies-xml-mise-en-oeuvre (1)
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 

Dernier

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 

Dernier (20)

Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 

XML- Schéma

  • 2. LES LIMITES DES DTD  Une DTD ne permet pas de typer les données;  Une DTD est non extensible.  Une DTD prendre en compte un seul espace de nom.
  • 3. En réponse aux lacunes des DTD, une alternative a été proposée comme recommandation : il s’agit de XML- Schéma. Cette nouvelle norme achève de faire d’XML un format pivot… La version 1.1 de XML Schéma (datée de mai 2001) se compose de 3 normes : 1. XML Schema tome 0 : Introduction 2. XML Schema tome 1 : Structures 3. XML Schema tome 2 : Types de données XML- SCHÉMA
  • 4. 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
  • 5. L'extension du fichier ".xsd" <!-- Prologue --> <?xml version="1.0" encoding="UTF-8" ?> <!-- Le corps --> <!-- Elément racine --> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> < xsd: element name = "ElementName" > <!-- déclarer les éléments, les attributs et les types--> < xsd: attribute name = " AttrName" > </xsd:schema> élément racine XML- SCHÉMA Structure d'un schéma XML
  • 6. L'extension du fichier ".xsd" Référencer XML- SCHÉMA Référencer un schéma XML ".xml" <?xml version="1.0" encoding="UTF-8"?> <racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Schema1.xsd"> </racine>
  • 7. XML-Schéma permet d’utiliser des données :  de type prédéfini (string, int…);  de type complexe;  dont le type est une restriction de type;  dont le type est une extension de type. Il est possible de déclarer un type de données  Dans la déclaration d’un élément (local)  Hors de la déclaration de l’élément (global) XML- SCHÉMA Types de données
  • 8. Types prédéfinis :  byte, unsignedByte, hexBinary, integer, positiveInteger, negativeInteger, int, unsignedInt,  long, unsignedLong, short, unsignedShort, decimal, float, double…  string, NormalizedString, token  boolean, anyURI,  time, dateTime, duration, date, gMonth, gYear, gYearMonth, gDay, gMonthDay  ID, IDREF, IDREFS, ENTITY, ENTITIES, NOTATIN, NMTOKEN, NMTOKENS XML- SCHÉMA Types de données
  • 9. Déclaration d’éléments simples XML- SCHÉMA Types de données <?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" > <xsd:element name="nom" type="xsd:string"/> <xsd:element name="HireDate" type="xsd:date" /> <xsd:element name="amis" type="xsd:string" minoccurs= "1" maxoccurs="unbounded"/> <xsd:element name="gsm" type="xsd:string" maxoccurs="5"/> </xsd:schema>
  • 10. Ecrire le code xml en se basant sur le schéma suivant : <nom>hani</nom> <email>reda@gmail.com</email> <age>22</age> <xsd:element name="nom" type="xsd:string" /> <xsd:element name="email" type="xsd:string" ></xsd:element> <xsd:element name="age" type="xsd:int" ></xsd:element> XML- SCHÉMA Types de données
  • 11. <xsd:element name="prenom" type="xsd:string" default= "Karim" /> <!-- valide --> <prenom>Reda</prenom> <!-- valide --> <prenom>Ahmed</prenom> <!-- valide --> <!-- la balise prenom vaut "karim" --> <prenom ></prenom> XML- SCHÉMA Types de données -Valeur par défaut
  • 12. <xsd:element name="prenom" type="xsd:string" fixed= "karim" /> <!-- valide --> <prenom>karim</prenom> <!-- invalide --> <prenom>Rami</prenom> <!-- invalide --> <prenom></prenom> XML- SCHÉMA Types de données-Valeur constante
  • 13. Déclarer un attribut <xsd:attribut name="mon_att" type="xsd:mon_type" /> <formation niveau="debutant">Android </formation> <xsd:attribut name= "niveau" type="xsd:string" /> XML- SCHÉMA Types de données
  • 14. <xsd:attribut name= "langue" type="xsd:string" default= "English" /> <xsd:attribut name= "pays" type="xsd:string" fixed= " MAROC" /> Attribut obligatoire <xsd:attribut name= "email" type="xsd:string" use="required" /> Valeur constante Valeur par défaut XML- SCHÉMA Types de données
  • 15. • Les restrictions sur des plages de données, des séries de valeurs, des longueurs de caractères… Exemple : <xs:element name="note"> <xs:simpleType> <xs:restriction base="xsd: positiveInteger"> <xs:minInclusive value="0"/> <xs:maxInclusive value="20"/> </xs:restriction> </xs:simpleType> </xs:element> XML- SCHÉMA Types de données- les restrictions
  • 16. • Restrictions sur un ensemble de valeurs Exemple : <xs:element name="client"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="clientA"/> <xs:enumeration value="clientB"/> <xs:enumeration value="clientC"/> </xs:restriction> </xs:simpleType> </xs:element> XML- SCHÉMA Types de données- les restrictions
  • 17. Restrictions sur une série de valeurs Exemple : <xs:element name="ssn"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="d{3}-d{2}-d{4}"/> </xs:restriction> </xs:simpleType> </xs:element> XML- SCHÉMA Types de données- les restrictions
  • 18. Restriction sur le longuer d’un élément Exemple : <xs:element name="password"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="8"/> </xs:restriction> </xs:simpleType> </xs:element> XML- SCHÉMA Types de données- les restrictions
  • 19. 19 XML- SCHÉMA Types de données-Les éléments complexes Un élément complexe est un élément XML qui contient d'autres éléments et / ou des attributs. Déclarer un élément complexe <xsd:element name="mon_nom"> <xsd:complexType> <!-- contenu ici --> <xsd:complexType> </xsd:element>
  • 20. 20 Concernant les types complexes, il existe 3 types de contenus possibles : 1. Les contenus simples. 2. Les contenus "standards". 3. Les contenus mixtes. XML- SCHÉMA Types de données-Les éléments complexes <personne> <!-- la balise nom est un élément simple --> <nom>Rmai</nom> <!-- la balise prenom est un élément simple --> <prenom>Amal</prenom> </personne>
  • 21. <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> XML- SCHÉMA Types de données-Les éléments complexes Les indicateurs: Indicateur de séquence
  • 22. Les indicateurs: Indicateur de choix xs:element name="person"> <xs:complexType> <xs:choice> <xs:element name="employee" type="employee"/> <xs:element name="member" type="member"/> </xs:choice> </xs:complexType> </xs:element> XML- SCHÉMA Types de données-Les éléments complexes
  • 23. soit l’élément complexe suivant: XML- SCHÉMA Types de données-Les éléments complexes <xs:element name="employee"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <employee> <firstname>Radi</firstname> <lastname>laila</lastname> </employee>
  • 24. <xsd:element name="pages" type="xsd:positiveInteger"/> <xsd:element name="auteur" type="xsd:string"/> <xsd:element name="livre"> <xsd:complexeType> <xsd:sequence> <xsd:element ref="auteur"/> <xsd:element ref="pages"/> <xsd:sequence> <xsd:complexeType> </xsd:element> XML- SCHÉMA Types de données-Les éléments complexes / ref
  • 26. Merci de votre attention

Notes de l'éditeur

  1. Ce modèle peut être utilisé comme fichier de démarrage pour présenter des supports de formation à un groupe. Sections Cliquez avec le bouton droit sur une diapositive pour ajouter des sections. Les sections permettent d’organiser les diapositives et facilitent la collaboration entre plusieurs auteurs. Notes Utilisez la section Notes pour les notes de présentation ou pour fournir des informations supplémentaires à l’audience. Affichez ces notes en mode Présentation pendant votre présentation. N’oubliez pas de tenir compte de la taille de la police (critère important pour l’accessibilité, la visibilité, l’enregistrement vidéo et la production en ligne) Couleurs coordonnées Faites tout particulièrement attention aux diagrammes, graphiques et zones de texte. Tenez compte du fait que les participants imprimeront la présentation en noir et blanc ou nuances de gris. Effectuez un test d’impression pour vérifier que vos couleurs s’impriment correctement en noir et blanc intégral et nuances de gris. Graphiques, tableaux et diagrammes Faites en sorte que votre présentation soit simple : utilisez des styles et des couleurs identiques qui ne soient pas gênants. Ajoutez une étiquette à tous les graphiques et tableaux.