Programmation Web Introduction XML Jrme CUTRONA jerome cutronaunivreims
Programmation Web : Introduction à XML Jérôme CUTRONA jerome. cutrona@univ-reims. fr 22: 05: 26 Programmation Web 2017 -2018 1
INTRODUCTION 22: 05: 27 Programmation Web 2017 -2018 2
XML, un exemple introductif <? xml version="1. 0" encoding="UTF-8"? > <!DOCTYPE Recette SYSTEM "Recette. dtd"> <Recette> <Titre>Tarte aux pommes</Titre> <Auteur> <Nom>Desjardin</Nom> <Prenom>Eric</Prenom> </Auteur> </Recette> § Ça ressemble à du HTML où : n n on utilise ses propres balises la syntaxe est rigoureuse § Ce document ne peut pas s’afficher directement § On utilise des outils pour manipuler l’information de ce document 22: 05: 28 Programmation Web 2017 -2018 3
XML, historique, intérêt § § § XML = Extensible Markup Language Version 1. 0 publiée en 1998 Langage à balises (<a>…</a>, <b/>) Lisible par les humains et les machines Représente une structure de données Base de RSS, SOAP, Office Open XML, Open. Document, fichiers de configuration, … § Validation par DTD ou schéma XSD § Manipulable par XSLT ou API DOM 22: 05: 28 Programmation Web 2017 -2018 4
COMPARAISON HTML / XML 22: 05: 29 Programmation Web 2017 -2018 5
Comparaison HTML / XML HTML XML §Structure orientée présentation §Jeu de basiles fini et normalisé §Rendu graphique dépendant du navigateur §Réutilisation limitée §Cible : Web §Écriture laxiste §Stockage : Fichier §Toutes structures, données §Jeu de balises extensible §Pas de présentation directe (nécessite une feuille de style) §Exploitation sémantique §Cible : Web, PDF, échange, … §Rédaction de contenu §Stockage : Fichier, BD, natif § Normalisation de HTML en XML XHTML § XML a été conçu pour décrire, stocker et échanger des données 22: 05: 30 Programmation Web 2017 -2018 6
SYNTAXE XML 22: 05: 31 Programmation Web 2017 -2018 7
XML, syntaxe § Déclaration XML <? xml version="1. 0" encoding="ISO-8859 -1"? > § Tout élément doit avoir une balise de fermeture <p>C'est un paragraphe</p> § Les noms d'éléments sont sensibles à la casse <Titre> et <titre> sont deux éléments différents § Les éléments doivent être correctement appariés <Un><Deux>Ceci est incorrect</Un></Deux> § Un élément racine qui enserre tous les autres il doit exister et est unique dans le document ex : <html> … </html> 22: 05: 33 Programmation Web 2017 -2018 8
Éléments XML § Ce qui est entre la balise ouvrante et la balise fermante représente le contenu de l'élément § L'ordre des éléments est significatif même si ici Chiffres peut être vu comme un conteneur <Chiffres><Un /><Deux /></Chiffres> <Chiffres><Deux /><Un /></Chiffres> § Un élément peut contenir plusieurs éléments identiques <Chiffres> <Chiffre>Un</Chiffre> <Chiffre>Deux</Chiffre> </Chiffres> 22: 05: 33 Programmation Web 2017 -2018 9
Attributs des éléments XML § Un élément peut être qualifié par des attributs <Chiffre combien="1" libelle="un" /> § Un attribut a un nom ET une valeur § L'ordre des attributs n'a pas d'importance ≈ <Chiffre libelle="un" combien="1" /> § Les valeurs des attributs doivent être encadrés par des guillemets ou des apostrophes § Un élément ne peut pas avoir deux fois le même attribut <Mot style='verbe' style='futur'>verra</Mot> 22: 05: 34 Programmation Web 2017 -2018 10
AUTOUR DE XML 22: 05: 35 Programmation Web 2017 -2018 11
Prologue XML § Le prologue d'un document XML contient tout ce qui précède l'élément racine et peut contenir : n n la déclaration XML des instructions de traitement des commentaires une clause DTD § Instructions de traitement <? xml-stylesheet type="text/css" href="style. css"? > § Association à une référence externe à la structure (DTD) <!DOCTYPE La_racine SYSTEM "Recette. dtd"> 22: 05: 35 Programmation Web 2017 -2018 12
Commentaires et entités XML § Commentaires XML <!-- Je suis un commentaire --> § Entités prédéfinies < > & " ' § Entités des caractères ne faisant pas partie du jeu utilisé Mise en œ vre => Mise en œuvre § Entités de texte définies dans la DTD ©right; § Entité référence à des fichiers binaires <image photo="flipper"> 22: 05: 36 Programmation Web 2017 -2018 13
Entités XML § Noms des entités : § Peuvent contenir des chiffres, des lettres ou d'autres caractères § Ne peuvent PAS commencer par un chiffre ou un caractère de ponctuation § Ne peuvent PAS commencer par la chaîne xml (dans toutes les casses possibles) § Ne peuvent PAS contenir des espaces § Ne doivent PAS contenir le caractère " : " qui est utilisé par les espaces de nom 22: 05: 37 Programmation Web 2017 -2018 14
- Slides: 14