Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Programmation Web : Schémas XSD
Jérôme CUTRONA 09:44:15 Programmation Web
2
Introduction 09:44:15 Programmation Web
3
Introduction L’utilisation d’un fichier XML demande la vérification de sa cohérence Un document bien formé n’est pas suffisant Les documents XML sont utilisés, entre autre, pour l’échange de données Traiter des données incorrectes ? Les vérifier manuellement ? Programmes de contrôle ? Validation d’un document XML : DTD : Document Type Definition XSD : XML Schema Definition 09:44:15 Programmation Web
4
Validation d’un document XML
09:44:15 Programmation Web
5
DTD : Document Type Definition
Description non XML de la structure admissible d’un document à base de balises Décrit les éléments et attributs autorisés Décrit la structure autorisée : quels éléments peuvent se trouver dans quels éléments Peut être interne ou externe au document XML Description de structure Peu ou pas de contrôle de valeurs contenues dans la structure Limité, largement dépassé par les schémas XSD 09:44:15 Programmation Web
6
XSD : XML Schema Definition
Description XML de la structure admissible d’un document à base de balises Décrit les éléments et attributs autorisés Décrit la structure autorisée : quels éléments peuvent se trouver dans quels éléments Peut être interne ou externe au document XML Description de structure Contrôle de valeurs contenues dans la structure Utilise les espaces de noms (namespace) 09:44:15 Programmation Web
7
Espaces de noms/nommage XML
09:44:15 Programmation Web
8
Espaces de noms XML Lever l’ambiguïté sur le nom des balises
Ex : utilisation de la balise <table> de HTML et de <table> (meuble) dans une structure XML Distingués par l’utilisation d’un espace de noms <h:table> pour HTML <f:table> pour XML Utilisation de l’attribut xmlns <h:table xmlns:h=" <f:table xmlns:f=" <root xmlns:h=" xmlns:f=" 09:44:15 Programmation Web
9
Espaces de noms XML Identification par une chaîne unique : URI <h:table xmlns:h=" Préfixe et identification xmlns:préfixe="Identification" La déclaration d'un espace de nommage doit se faire dans un élément (une balise) Utilisable pour l’élément et ses descendants xmlns sans préfixe = espace de nom par défaut 09:44:15 Programmation Web
10
Schémas XML 09:44:15 Programmation Web
11
Que peut-on vérifier avec un schéma XSD
Éléments autorisés dans le document Attributs autorisés dans le document Quels sont les éléments enfants Ordre des éléments enfants Nombre des éléments enfants Éléments vides ou contenant du texte Types de données personnalisables pour les éléments et les attributs Valeurs fixes et pour défaut pour les éléments et les attributs 09:44:15 Programmation Web
12
Base des schémas XSD Un schéma XML est un document XML
Sa déclaration est celle d’un document XML : <?xml version="1.0" encoding="UTF-8" ?> <xs:schema xmlns:xs=" ... </xs:schema> Balise racine Espace de noms 09:44:15 Programmation Web
13
Référencer un schéma XML
<?xml version="1.0"?> <note xmlns=" xmlns:xsi=" xsi:schemaLocation=" note.xsd"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> Espace de noms par défaut Utiliser le schéma note.xsd pour l’espace de noms Déclaration de l’espace de noms xsi 09:44:15 Programmation Web
14
Contenu d’un schéma XSD
09:44:15 Programmation Web
15
Éléments simples Un élément simple contient du texte
<xs:element name="xxx" type="yyy"/> xxx est le nom de l’élément yyy est le type de l’élément Les types prédéfinis dans les schémas sont : xs:string xs:decimal xs:integer xs:boolean xs:date xs:time 09:44:15 Programmation Web
16
Éléments simples : exemple
<login>cutron01</login> <lastlog> </lastlog> <webservers>2</webservers> <xs:element name="login" type="xs:string"/> <xs:element name="lastlog" type="xs:date"/> <xs:element name="webservers" type="xs:integer"/> 09:44:15 Programmation Web
17
Attributs Attribut d’un élément
<xs:attribute name="xxx" type="yyy"/> xxx est le nom de l’attribut yyy est le type de l’attribut Exemple <login realm="INSERM">cutron01</login> <xs:attribute name="realm" type="xs:string"/> 09:44:15 Programmation Web
18
Restrictions / facettes
Utilisées pour définir les valeurs acceptables Exemple : <xs:element name="age"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="0"/> <xs:maxInclusive value="120"/> </xs:restriction> </xs:simpleType> </xs:element> 09:44:15 Programmation Web
19
Restrictions possibles
xs:minInclusive xs:minExclusive xs:maxInclusive xs:maxExclusive xs:fractionDigits xs:enumeration xs:pattern xs:length xs:minLength … 09:44:15 Programmation Web
20
Éléments complexes Un élément complexe contient d’autres éléments et/ou des attributs <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> Élément complexe Précise l’ordre des fils 09:44:15 Programmation Web
21
Et après ? 09:44:15 Programmation Web
22
Pour aller plus loin Les éléments présentés sont la base des schémas XSD Les schémas XSD possèdent d’autres capacités de description des documents XML et de nombreuses subtilités Vous venez de découvrir les fondements Suffisant pour les TP 09:44:15 Programmation Web
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.