1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années Riadh BEN MESSAOUD
2 Plan du cours 1. Concepts de base de XML 2. Schémas XML 3. Feuilles de style XSL 4. Analyseur syntaxique PHP-XML 5. Syndication de contenu avec RSS 6. Format SMIL
3 Plan du cours 1. Concepts de base de XML 2. Schémas XML 3. Feuilles de style XSL 4. Analyseur syntaxique PHP-XML 5. Syndication de contenu avec RSS 6. Format SMIL
4 Historique : de SGML à XML XML (eXtendable Markup Language) dérive du SGML (Standard Generalized Markup Language, langage de balisage standard généralisé) Le SGML à été développé dans les années 80. Il était complexe à apprendre et à utiliser quotidiennement. Le HTML : version allégée du SGML Malgré de nombreuses adaptations, le HTML ne pouvait pas être étendu à l'infini, au fur et à mesure de l'augmentation des besoins des développeurs. C'est alors que fut créé le XML.
5 Historique : de SGML à XML XML tente de se servir des principes de simplicité du HTML et de la souplesse du SGML. Le format XML est rapidement apparu adapté à beaucoup plus d'usages que ses concepteurs le pensaient initialement. Point commun avec le SGML : tout document XML peut être basé sur une DTD ou un Schéma. Cependant l’association n'est pas obligatoire. Un fichier XML peut se suffire à lui- même.
6 Historique : de SGML à XML La mise en forme des données est totalement séparée des données elles-mêmes. La possibilité de créer les éléments que l'on désire permet de rendre le fichier lui-même lisible - et modifiable - par un être humain. Un document XML peut prévoir plusieurs cibles : l'écran d'un téléphone portable, celui d'un ordinateur de bureau, une base de données, une application logicielle, etc. Possibilité d'effectuer des sélections par tri, des générations automatiques de tables des matières et bien d'autres fonctions encore, grâce au langage de feuilles de style XSL.
7 Mise en œuvre XML permet de séparer forme et fond. Pour produire un document HTML à partir de données en utilisant le format XML, il est nécessaire d'écrire : Un premier fichier contenant les données à mettre en forme (document XML). Un second fichier comprenant les informations nécessaires à la mise en forme (feuille de style XSL – eXtensive Stylesheet Language) Pour une normalisation, il est possible d'ajouter un troisième fichier : soit une DTD (Document Type Definition), soit un Schéma XML (XML Schema). Pour un format de sortie HTML, il est nécessaire d'ajouter une feuille de style CSS.
8 Structure d’un document XML L’idée de base de XML : La simplicité de déclaration ; La validation de la structure ; L’intégration de la souplesse syntaxique du SGML et la simplicité d'écriture du HTML. Un fichier XML est composé d'un prologue, d'un élément racine et d'un arbre. L’arbre est constitué d'éléments imbriqués les uns dans les autres (ayant une relation parent-enfant) et d'éléments adjacents.
9 Structure d’un document XML Les Misérables Victor Hugo 3 L'Assomoir Émile Zola David Copperfield Charles Dickens 3
10 Structure d’un document XML Le prologue est constitué de la déclaration XML et, éventuellement, d'une déclaration de type de document (DTD). L'élément biblio est l’élément racine (document element) : il est constitué de trois éléments livre. dans chacun d'entre eux nous retrouvons la même composition : un élément titre, un élement auteur et éventuellement un élément nb_tomes. L'élément livre peut aussi contenir un attribut lang. Même s'il est simple de comprendre ce code, on s'aperçoit mieux d'une éventuelle erreur lorsqu'on visualise ce même fichier dans un navigateur.
11 Le prologue Déclaration XML : Deux informations sont fournies dans la déclaration : version : version du XML utilisée dans le document (1.0 en ce qui nous concerne) encoding : le jeu de codage de caractères utilisé. Le jeu de caractère standard pour l’europe de l’ouest est le ISO
12 Le prologue Instructions de traitement : Une instruction de traitement ne fait pas totalement partie du document (elle sert à traiter le document XML) La déclaration XML et la déclaration de feuille de style. Exemple d’une instruction de traitement : L'attribut type indique de quel type de fichier il s'agit (text/css pour les feuilles de style CSS, par exemple) L'attribut href indique l'URL du fichier.
13 Le prologue Déclaration de type de document (DTD) : Lorsqu'elle est présente, cette déclaration permet de définir la structure du document. Elle peut être de deux types, externe ou interne. Exemple de déclaration de type de document externe : Elle définit l'ensemble des éléments utilisables dans le document, y compris l'élément-racine (biblio) ; Le nom de fichier biblio.dtd dans lequel se trouve définie la structure du document.
14 Le commentaire En XML, les commentaires se déclarent de la même façon qu'en HTML. Ils commencent par. Ils peuvent être placés à n'importe quel endroit tant qu'ils se trouvent à l'extérieur d'une autre balise. Un peu de texte En raison de la compatibilité XML/SGML, la chaîne de caractères -- est interdite dans un commentaire.
15 L’arbre d’éléments (les éléments) Un document XML peut se représenter sous la forme d'une arborescence d'éléments. Cette arborescence comporte une racine (unique), des branches et des feuilles. L'élément racine (document element) est la base du document XML : Il est unique et englobe tous les autres éléments. Il s'ouvre juste après le prologue. Il se ferme à la toute fin du document.
16 L’arbre d’éléments (les éléments) Les éléments forment la structure même du document : ce sont les branches et les feuilles de l'arborescence. Ils peuvent contenir du texte, ou bien d'autres éléments, qui sont alors appelés « éléments enfants ». L'élément contenant étant quant à lui appelé logiquement « élément parent ».
17 L’arbre d’éléments (les éléments) Exemple d'élément contenant du texte : Les Misérables Exemple d'élément contenant d'autres éléments : L'Assomoir Émile Zola
18 L’arbre d’éléments (les attributs) Tous les éléments peuvent contenir un ou plusieurs attributs. Chaque élément ne peut contenir qu'une fois le même attribut. Un attribut est composé d'un nom et d'une valeur. Il ne peut être présent que dans la balise ouvrante de l'élément. Exemple d'utilisation d'un élément avec attribut : trompette Exemple d'utilisation d'un élément vide avec attributs :
19 L’arbre d’éléments (les entités) La déclaration des entités s'effectue au sein de la DTD. Elles peuvent être utilisées aussi bien dans la DTD que dans le document XML. Certains caractères ayant un sens précis en XML, il est nécessaire de leur trouver un remplaçant lorsque l'on a besoin de les insérer dans un document. On a recours dans ce cas à des entités prédéfinies : & & < < > > ‘’ " ‘ &aquot;
20 Les sections CDATA Une section CDATA est une section pouvant contenir toute sorte de chaîne de caractères. Elle permet de définir un bloc de caractères ne devant pas être analysés par le processeur XML. Elle permet entre autres de garder dans un bloc de texte un exemple de code à afficher tel quel. Exemple :.]]>
21 Règles de composition Un nom d'élément ne peut commencer par un chiffre. Si le nom n'est composé que d'un seul caractère, ce doit être une lettre comprise entre "a" et "z" pour les minuscules, "A" et "Z" pour les majuscules. S'il est composé d'au moins deux caractères, le premier peut être "_" ou ":". Le nom peut ensuite être composé de lettres, chiffres, tirets, tirets bas et deux points. La syntaxe XML est sensible à la casse (le format distingue majuscules et minuscules).
22 Règles de composition Toutes les balises portant un contenu non vide doivent être fermées. La balise de début, la balise de terminaison et le contenu entre deux sont globalement appelés élément. Les balises n'ayant pas de contenu doivent se terminer par /> Les noms d'attributs sont en minuscules Les valeurs d'attributs doivent être entre guillemets
23 Règles de composition Un document respectant ces critères est dit bien formé (well formed). Il est aussi possible de définir des règles plus strictes indiquant quelles sont les séquences et imbrications de balises autorisées. Cela se fait à l'aide d'une DTD ou d'un Schéma. Il est alors possible d'effectuer une "validation" des documents faisant référence à une DTD pour s'assurer qu'ils respectent bien les règles qui y sont mentionnées. Un document bien formé dont la syntaxe est conforme aux règles stipulées dans une DTD ou un Schéma XML est dit valide.