Fondement XML Présentation XML est un langage de balisage générique qui permet
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 ! 2 Maurice AHOUMENOU 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. 3 Maurice AHOUMENOU 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. 4 Maurice AHOUMENOU 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. 5 Maurice AHOUMENOU Exemple de balise et d’attribut XML: <prix devise= "FCFA">25000</prix> 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 <prix/>. Syntaxe des commentaires: <!-- Ceci est un commentaire --> 6 Maurice AHOUMENOU Structure d’un document XML Un document XML peut être découpé en 2 parties : le prologue et le corps. Le prologue est la première ligne du document Exemple: <?xml version = "1.0" encoding="UTF-8" standalone="yes" ?> Le corps d'un document XML est constitué de l'ensemble des balises qui décrivent les données. Dans la constitution du document, il faut retenir qu’il y a une balise paire qui doit contenir tout le reste, on l’appelle élément racine Exemple: <racine> <balise_paire>texte</balise_paire> <balise_paire2>texte</balise_paire2> <balise_paire>texte</balise_paire> </racine> 7 Maurice AHOUMENOU Exemple de description d’un répertoire téléphonique <repertoire> <personne>Bernard</personne> <personne>Patrick</personne> </repertoire> Pour qu’un document XML soit bien formé, il faut qu’il respecte les règles ci-dessous: •S'il s'agit d'un document utilisant la version 1.1 du XML, le prologue doit être bien renseigné. •Le document XML ne possède qu'une seule balise racine. •Le nom des balises et des attributs est conforme aux règles de nommage. •Toutes les balises en paires sont correctement fermées. 8 Maurice AHOUMENOU • Toutes les valeurs des attributs sont entre guillemets simples ou doubles. Les balises de votre document XML ne se chevauchent pas, il existe une arborescence dans votre document. Testons ce exemple avec Editix <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <repertoire> <personne>Roger</personne> <personne>John</personne> </repertoire> 9 Maurice AHOUMENOU TP1: Structuration d’un répertoire téléphonique Le but de ce TP est de créer un document XML structurant les données d'un répertoire. Votre répertoire doit comprendre au moins 2 personnes. Pour chaque personne, on souhaite connaître les informations suivantes Son sexe (homme ou femme). Son nom. Son prénom. Son adresse. Un ou plusieurs numéros de téléphone (téléphone portable, fixe, bureau, etc.). Une ou plusieurs adresses e-mail (adresse personnelle, professionnelle, etc.). 10 Maurice AHOUMENOU Introduction aux définitions Une définition d'un document XML est un ensemble de règles que l'on impose au document. Ces règles permettent de décrire la façon dont le document XML doit être construit. Elles peuvent être de natures différentes. Par exemple, ces règles peuvent imposer la présence d'un attribut ou d'une balise, imposer l'ordre d'apparition des balises dans le document ou encore, imposer le type d'une donnée (nombre entier, chaîne de caractères, etc.). Un document valide est un document bien formé conforme à une définition. Il existe deux technologies pour écrire les définitions d’un document XML (DTD «Document Type Definition » et les Schémas XML 11 Maurice AHOUMENOU Où écrire les DTD? Fichiers internes (dans le fichier XML) ou externes dont l’extension est .dtd Les Syntaxes de défintion des éléments: Pour définir les règles portant sur les balises, on utilise le mot clef ELEMENT. Syntaxe: <!ELEMENT balise (contenu)> Exemple: <!ELEMENT nom (contenu)> DTD <nom>Maurice</nom> XML 12 DTD «Document Type Definition » Maurice AHOUMENOU Cas d’une règle qui définit l’inclusion de balise <!ELEMENT personne (nom)> //ce document n’est pas valide car nous n’avons pas définit une règle pour la balise nom Exemple: <personne> <nom>Maurice AHOUMENOU</nom> </personne> Cas d'une balise contenant une valeur on utilise le mot clef #PCDATA Exemple: <!ELEMENT personne (nom)> <!ELEMENT nom (#PCDATA)> 13 Maurice AHOUMENOU Cas d'une balise vide: On utilise le mot clef EMPTY Exemple: <!ELEMENT personne (nom)> <!ELEMENT nom EMPTY> Exemple XML: <personne> <nom /> </personne> Cas d'une balise pouvant tout contenir on utilise le mot-clef ANY Exemple: <!ELEMENT personne (nom)> <!ELEMENT nom ANY> Exemple XML: <personne> <nom>Maurice AHOUMENOU</nom> </personne> 14 Maurice AHOUMENOU Structurer le contenu des balises La séquence: elle permet de définir l’enchaînement des balises Syntaxe: <!ELEMENT balise (balise2, balise3, balise4, balise5, etc.)> Exemple DTD: <!ELEMENT personne (nom, prenom, age)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> <!ELEMENT age (#PCDATA)> Cette définition impose que la balise <personne /> contienne obligatoirement les balises <nom />, <prenom /> et <age /> dans cet ordre. 15 Maurice AHOUMENOU La liste de choix Permet de dire qu'une balise contient l'une des balises décrites Syntaxe: <!ELEMENT balise (balise2 | balise3 | balise4 | balise5 | etc.)> Exemple DTD: <!ELEMENT personne (nom | prenom)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> Exemple XML: <!-- valide --> <personne> <nom>Maurice</nom> </personne> 16 Maurice AHOUMENOU Exemple DTD: <!ELEMENT personne (nom, prenom?)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> Exemple document XML: <personne> <nom>AHOUMENOU</nom> </personne> 17 La balise optionnelle permet d’indiquer qu'une balise est optionnelle, on fait suivre son nom par un point d’interrogation Syntaxe: <!ELEMENT balise (balise2, balise3?, balise4)> Maurice AHOUMENOU 18 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: <!ELEMENT balise (balise2, balise3*, balise4)> Code DTD: <!ELEMENT repertoire (personne*)> <!ELEMENT personne (nom, prenom)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> Maurice AHOUMENOU Exemple XML: <!-- valide --> <repertoire> <personne> <nom>AHOUMENOU</nom> <prenom>Maurice</prenom> </personne> <personne> <nom>KIKI</nom> <prenom>Steeve</prenom> </personne> </repertoire> <!-- invalide --> <!-- il manque la balise prenom dans la seconde balise personne--> <repertoire> <personne> <nom>AHOUMENOU</nom> <prenom>Maurice</prenom> </personne> <personne> <nom>KIKI</nom> </personne> </repertoire> La balise répétée Une balise peut être répétée plusieurs fois. Pour indiquer une telle balise, on fait suivre son nom par un plus 19 Maurice AHOUMENOU Syntaxe: <!ELEMENT balise (balise2, balise3+, balise4)> Code DTD: <!ELEMENT repertoire (personne+)> <!ELEMENT personne (nom, prenom)> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> Exemple XML: <!-- valide --> <repertoire> <personne> <nom>AHOUMENOU</nom> <prenom>Maurice</prenom> </personne> <personne> <nom>KIKI</nom> <prenom>joanes</prenom> </personne> </repertoire> <!-- invalide --> <!-- la balise personne doit être présente au moins une fois--> <repertoire /> 20 Maurice AHOUMENOU 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 21 Maurice AHOUMENOU 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: <!ATTLIST balise attribut type mode> Cette règle peut donc se diviser en 5 mots clefs : ATTLIST, balise, attribut, type et mode. Prenons cet exemple XML: <personne sexe="masculin" /> Code DTD: <!ATTLIST personne sexe type mode> 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: <!ATTLIST balise attribut (valeur 1 | valeur 2 | valeur 3 | etc.) mode> Code DTD: <!ATTLIST personne sexe (masculin | féminin) mode> 22 Maurice AHOUMENOU 23 Exemple XML: <!-- valide --> <personne sexe="masculin" uploads/Ingenierie_Lourd/ cours-xml 2 .pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/awknFEwo7VgNRDI2A8o8yTF9ZvoewrjbYaO13cTfmpiWV8YBvGWqnW9LRCMQw6MouVCuI6CmW42UCnv5fPB1xsB7.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ffUzwRrfPijxHYVFLIPKm4sLkLasB3nXnHIsKz75RlArqgpO3XAAQSPnmTr3GtMWg7jlrjdmEdahpU4mFyF6pE5Z.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/nURvmVkSUIHZpejz9v97s3RVSQn6Ed83A6U4VG7DTtzZlRsQ7qe2winOBnWrV40R1r2rJQKgMJAI5eTi2fUsqvrD.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/OwLpgFWn8aUQbC8wg0HEkvbRwJScMup0jAGA3OETCevEPYXPN2ujcGrbbc0gUeHxLsDJfChwypcp07t3zsTQhIT9.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/NiAsyrEztRzwNn8zvVAXClKwZhr2cGoGlJ4za0WUto0OIzU1XzpvlxrCaWpgUrul4PWY9Q2bhr97LgtKswR5OMrW.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/jfDXdjsNLSt6OxOPK4KPm9EcNTOBxKi7yHx9tEN5desN0tWkcZx2BQE5xdvieNXZ5r4yMZXTDKOXlxgCsZ2oCz3p.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ZctA7gPpsIypSZisgUFdtmTE2cWNm5CZlCEB7JpYVnJswkmpars9NS9pgDWjANsv2HB9Ex80bwIwHsmVrIuFnQbf.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ySMReHU0X24CMxQs5rmcJgVDhGxO0ryoEh9N3WlVsBrZkRsL7DwCiuaSXe4LlDcpdymyl3k5Bq8z31r5Birlg17s.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/YnhYgM6CHbmU5OHvuZxT0QPfBptMcZxZJYwhqQq0ubQ8xNNUvbLpab8JQGWwZ2Pyarcgb27ayIK8xKds8Obeds9S.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/S0QFrOj5domzVWVK4leQYLaWaysXtPmt55hZNxMurUO9zybQpW1ACI04vlU1sHkO3VbeyHYN2zx8Zl0JlWwxvYTU.png)
-
23
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 27, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.5531MB