Cours XML [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

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