51 1 566KB
Fondement XML
Présentation XML est un langage de balisage générique qui permet de structurer des données afin qu'elles soient lisibles aussi bien par les humains que par des programmes de toute sorte. Il est souvent utilisé pour faire des échanges de données entre un programme et un serveur ou entre plusieurs programmes. Exemple: Une application demande à un serveur web les dernières informations dont il dispose. Après être allé les chercher, ce dernier doit les communiquer. C'est là qu'intervient le XML. Le serveur web se sert du XML pour structurer les informations qu'il doit renvoyer à l'application téléphonique. Lorsque cette dernière reçoit les informations ainsi structurées, elle sait comment les lire et les exploiter rapidement !
Maurice AHOUMENOU
2
Les bases du XML Le XML ou eXtensible Markup Language est un langage informatique de balisage générique. En informatique il y a plusieurs centaines de langages, qui peuvent être regroupé en trois catégories: • langages de programmation. C, le Java, C++, Objective-C, C#, PHP, Basic, Python, etc •langages de requête. SQL, Xquery, etc •langages de description. SGML, XML ou HTML Les balises permettent de structurer de manière hiérarchisée et organisée les données d'un document. Maurice AHOUMENOU
3
Les objectifs du XML •Objectif du XML est de faciliter les échanges de données entre les machines. •De décrire les données de manière aussi bien compréhensible par les hommes qui écrivent les documents XML que par les machines qui les exploitent. •XML se veut également compatible avec le web afin que les échanges de données puissent se faire facilement à travers le réseau Internet. Le XML se veut donc standardisé, simple, mais surtout extensible et configurable afin que n'importe quel type de données puisse être décrit.
Maurice AHOUMENOU
4
Les outils Notepad++, Editix, oXygen
Les balises et les attributs En XML, on distingue 2 types de balises : les balises par paires et les balises uniques. Les règles de nommages: Les noms peuvent contenir des lettres, des chiffres ou des caractères spéciaux. Les noms ne peuvent pas débuter par un nombre ou un caractère de ponctuation. Les noms ne peuvent pas commencer par les lettres XML (quelle que soit la casse). Les noms ne peuvent pas contenir d'espaces. On évitera les caractères - , ; . < et > qui peuvent être mal interprétés dans vos programmes. Maurice AHOUMENOU
5
Exemple de balise et d’attribut XML: 25000 Dans l'exemple ci-dessus, l'information principale est le prix. L'attribut devise nous permet d'apporter des informations supplémentaires sur ce prix, mais ce n'est pas l'information principale que souhaite transmettre la balise . Syntaxe des commentaires:
Maurice
Maurice AHOUMENOU
16
La balise optionnelle permet d’indiquer qu'une balise est optionnelle, on fait suivre son nom par un point d’interrogation Syntaxe: Exemple DTD:
Exemple document XML:
AHOUMENOU
Maurice AHOUMENOU
17
La balise répétée optionnelle Une balise peut être répétée plusieurs fois même si elle est optionnelle. Pour indiquer une telle balise, on fait suivre son nom par une étoile. Syntaxe: Code DTD:
Maurice AHOUMENOU
18
Exemple XML:
AHOUMENOU Maurice
KIKI joanes
Maurice AHOUMENOU
20
Un document valide est un document bien formé conforme à une définition. Un document conforme à une définition est un document qui respecte toutes les règles qui lui sont imposées dans les fameuses définitions. Il existe les DTD internes et les DTD externes . Il est possible d'écrire de nombreuses règles grâce aux DTD. Le mot clef ELEMENT permet de d'écrire les règles relatives aux balises XML
Maurice AHOUMENOU
21
DTD : les attributs et les entités Les attributs: Pour indiquer que notre règle porte sur un attribut, on utilise le mot clef ATTLIST Syntaxe: Cette règle peut donc se diviser en 5 mots clefs : ATTLIST, balise, attribut, type et mode. Prenons cet exemple XML: Code DTD: Le type ici peut être les valeurs possible de sexe, du texte ou un identifiant Cas d'un attribut ayant pour type la liste des valeurs possibles Syntaxe: Code DTD: Maurice AHOUMENOU
22
Exemple XML:
Le Mode: permet de donner une information supplémentaire sur l'attribut comme par exemple une indication sur son obligation ou sur sa valeur.
Maurice AHOUMENOU
26
Cas d'un attribut obligatoire Lorsqu'on souhaite qu'un attribut soit obligatoirement renseigné, on utilise le mot clef #REQUIRED. Règle DTD: Exemple de document XML
Exemple:
Maurice AHOUMENOU
29
Les entités Une entité peut-être considérée comme un alias permettant de réutiliser des informations au sein du document XML ou de la définition DTD. Ils existent 3 types d'entités: les entités générales, les entités paramètres et les entités externes. Les entités générales Les entités générales sont les entités simples. Elles permettent d'associer un alias à une information afin de l'utiliser dans le document XML. Syntaxe: Pour l’utiliser dans un document XML, il faut faire ceci &nom;
Maurice AHOUMENOU
30
Les entités Les entités générales Exemple du document XML
&samsung; Galaxy S3
&apple; iPhone 4
Les entités paramètres Contrairement aux entités générales qui apparaissent dans les documents XML, les entités paramètres n'apparaissent que dans les définitions DTD. Elles permettent d'associer un alias à une partie de la déclaration de la DTD. Maurice AHOUMENOU
31
Les entités paramètres Syntaxe: Pour utiliser une entité paramètre dans notre DTD, il suffit d'utiliser la syntaxe suivante : %nom; Prenons cet exemple:
Règle DTD correspondante:
Avec l’aide de l’entité paramètre, la règle devient:
Maurice AHOUMENOU
32
Les entités externes Les entités externes analysées ont sensiblement le même rôle que les entités générales, c'est à dire qu'elles permettent d'associer un alias à une information afin de l'utiliser dans le document XML. Mais, dans le cas des entités externes analysées, les informations sont stockées dans un fichier séparé.
Syntaxe: Utilisation: &nom; Maurice AHOUMENOU
33
Les entités externes Exemple de document XML:
&samsung; Galaxy S3
&apple; iPhone 4
Apple Maurice AHOUMENOU
34
Où écrire les DTD On distingue deux type de DTD, que sont: les DTD externes et internes Les DTD internes une DTD est écrite dans le même fichier que le document XML. Elle s'écrit dans ce qu'on appelle le DOCTYPE. On le place sous le prologue du document et au dessus du contenu XML. Syntaxe: Le mot racine est l’élément racine du document XML Exemple d’un document XML contenant une DTD
]> Maurice AHOUMENOU
35
Où écrire les DTD
samsung galaxy s3
apple iphone 4
nokia lumia 800
Maurice AHOUMENOU
36
Où écrire les DTD
samsung galaxy s3
apple iphone 4
nokia lumia 800
Maurice AHOUMENOU
37
Où écrire les DTD Les DTD externes Une DTD externe est une DTD qui est écrite dans un autre document que le document XML. Un fichier contenant uniquement une DTD porte l'extension .dtd. Il existe deux type de DTD externes à savoir les DTD externes PUBLIC et les DTD externes SYSTEM. les DTD externe PUBLIC sont utilisés lorsqu’il s’agit d’une norme Syntaxe:
Exemple de la norme xHTML:
les DTD externe SYSTEM permet d'indiquer au document XML l'adresse du document DTD Syntaxe: Maurice AHOUMENOU
38
Où écrire les DTD Les DTD externes SYSTEM Énoncé: Une boutique possède plusieurs téléphones. Chaque téléphone est d'une certaine marque et d'un certain modèle, tous les 2 représentés par une chaîne de caractère. Exemple du document XML complet:
Samsung Galaxy S3
Apple iPhone 4
Nokia Lumia 800
Maurice AHOUMENOU
39
Schéma XML Quelques limitent des DTD, ce n’est pas écrit en XML et il ne gère pas les typages de données Schéma XML: les fichier portent l’extension .xsd Le schéma XML aussi est constitué d’un prologue et d’un corps L’élément racine du corps est fixe Exemple:
Référencer un schema XML Le référencement d'un schéma XML se fait au niveau de l'élément racine du fichier XML grâce à l'utilisation de 2 attributs. L’espace de noms: xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance Maurice AHOUMENOU
40
Schéma XML Schéma XML décrivant un espace de noms: Code: xsi:schemaLocation="chemin_vers_fichier.xsd"> Schéma XML ne décrivant pas un espace de noms Code: xsi:noNamespaceSchemaLocation="chemin_vers_fichier.xsd"> Exemple complet du document XML:
Maurice AHOUMENOU
41
Schéma XML : les éléments simples Un élément simple est un élément qui ne contient qu'une valeur dont le type est dit simple. Il ne contient pas d'autres éléments. Un élément simple peut donc être une balise qui ne contient aucun attribut et dans laquelle aucune autre balise n'est imbriquée. Un attribut d'une balise peut également être considéré comme un élément simple. En effet, la valeur d'un attribut est un type simple.
Maurice AHOUMENOU
42
Schéma XML : les éléments simples Exemple:
Roger . Maurice AHOUMENOU
43
Schéma XML : les éléments simples Déclarer une balise comme un élément simple On utilise le mot clé element précédé de Syntaxe: Soit les éléments simple suivant: DURAND Roger 38 Correspondance de la déclaration d’un schema:
Valeur par défaut et valeur inchangeable valeur par défaut on utilise l’attribut default Exemple:
Maurice AHOUMENOU
44
Schéma XML : les éléments simples Valeur par défaut et valeur constante
Marie
valeur par constante on utilise l’attribut fixed Exemple:
Marie
10:24:00
Maurice
Maurice AHOUMENOU
56
Schéma XML : les types complexes Déclarer un élément complexe Exemple code XML:
AHOUMENOU Maurice
Exemple de déclaration du schéma correspondant:
Avensis
Syntaxe Schema XML:
Maurice AHOUMENOU
58
Schéma XML : les types complexes Les contenus simples Exemple: Document XML: 35 Schéma XML:
Maurice AHOUMENOU
59
Schéma XML : les types complexes Les contenus "standards " c'est le contenu d'un élément complexe qui n'est composé que d'autres éléments (simples ou complexes) ou uniquement d'attributs. Exemple de document XML
AHOUMENOU Maurice
Maurice AHOUMENOU
68
Schéma XML : les types complexes Les contenus mixtes Exemple de document XML:
Rony, doit payer 1000€ . Schéma XML:
Maurice AHOUMENOU
69
Schéma XML : les types complexes Le nombre d'occurrences Par défaut, si rien n’est précisé, la balise n’apparaît qu’une et une seule fois. Pour indiquer le nombre minimum d'occurrences d'un élément, on utilise l'attribut minOccurs, sa valeur doit être supérieure à zéro. Pour indiquer le nombre maximum d'occurrences d'un élément, on utilise l'attribut maxOccurs, on peut également ne pas spécifier le nombre d’occurrence en Utilisant l’attribut unbounded. Exemple de schema XML:
Maurice AHOUMENOU
70
Schéma XML : les types complexes Le nombre d'occurrences Par défaut, si rien n’est précisé, la balise n’apparaît qu’une et une seule fois. Pour indiquer le nombre minimum d'occurrences d'un élément, on utilise l'attribut minOccurs, sa valeur doit être supérieure à zéro. Pour indiquer le nombre maximum d'occurrences d'un élément, on utilise l'attribut maxOccurs, on peut également ne pas spécifier le nombre d’occurrence en Utilisant l’attribut unbounded. Exemple de schema XML:
Maurice AHOUMENOU
71
Schéma XML : les types complexes Réutilisation des types complexes Pour diviser le document XML dans le but de réutiliser les blocs d’éléments, on utilise le mot clef ref Syntaxe: Exemple:
Maurice AHOUMENOU
72