Cours xml

Disponible uniquement sur Etudier
  • Pages : 5 (1141 mots )
  • Téléchargement(s) : 0
  • Publié le : 9 décembre 2011
Lire le document complet
Aperçu du document
Cours XML :
Intro :
XML : origines de l’idée :
* 1967 : Tunnicliffe élabore une approche pour séparer le contenu de document de leur présentation (GenCode)
* années 1970 : Premières travaux de Goldfarb chez IBM pour aider la recherche maison d’informations juridiques
* 1978 : commercialisation de GML par IBM

Du SGML au HTML :
* 1986 : Publication de la norme SGML ISO 8879« Standard Generalized Markup Language »
* 1980 : Tim Berners-Lee, physicien au CERN, met au point un prototype pour que les chercheurs puissent partager des documents.
* 1989 : article proposant de se baser sur le protocole Internet pour un système hypertextuel.
* Berners-Lee specified HTML and wrote the browser and server software in the last part of 1990. (Wikipedia)
RecommandationXML :
* 1994 : Création du W3C, organisation de standardisation à but non lucratif (Berners-Lee)
* 1995 : SGML ajouté aux activités du W3C
* 1996 : Initiative visant à alléger le SGML
* 1998 : Recommandation XML 1.0
* 2004 : Recommandation XML 1.1 (Unicode)

XML : eXtensible Markup Language = un ensemble de règles simples permettant de créer une langue pour deux interlocuteurssouhaitant se parler (échanger des données)
Prologue : <?xml version="1.0" encoding="ISO-8859-1"?>
Ou <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book SYSTEM "/xmlstuff/dtds/barebonesdb.dtd"
Un fichier XML représente textuellement une arborescence
XML vs HTML :
En XML, on définit soi-même les balises dont on a besoin, en HTML, elles sont figées
En XML les noms sontsensibles à la casse, pas en HTML
En XML les éléments doivent toujours avoir une balise de début et une balise de fin. En HTML, on peut omettre certaines balises de fin
XML est un meta langage
DTD : Document Type Definition
Permet de définir des contraintes sur :
* nom des éléments
* les valeurs d’attributs autorisés
* l’ordre d’apparition des éléments
* Des notions liées à lacardinalité
Une DTD peut-être définie de 2 façons :
* Forme interne : on inclut la grammaire à l’intérieur même du document XML
* Forme externe : en faisant référence à un fichier contenant cette grammaire (référence locale ou URL)
Syntaxe :
* <! ELEMENT Nom Modèle >
* La partie Modèle consiste en :
Soit un type prédéfini :
* ANY : tout type de données* EMPTY : nécessairement vide
* (#PCDATA) : données textuelles
Syntaxe attribut :
<! ATTLIST NomElem NomAtt Type>
Chacun des types d’attributs peut être suivi d’un mot-clé permettant de préciser l’obligation :
* #IMPLIED signifie que l'attribut est optionnel, c'est-à-dire non obligatoire
* #REQUIRED signifie que l'attribut est obligatoire
* #FIXED signifie quel'attribut sera affecté d'une valeur par défaut s'il n'est pas défini. Il doit être immédiatement suivi de la valeur entre guillemets (rare)

Opérateur | Signification | Exemple |
+ | L'élément doit être présent au minimum une fois | A+ |
* | L'élément peut être présent plusieurs fois (ou aucune) | A* |
? | L'élément peut être optionnellement présent | A ? |
| | L'élément A ou l'élémentB peuvent être présents | A|B |
, | L'élément A doit être présent et suivi de l'élément B | A,B |
( ) | Les parenthèses permettent de regrouper des éléments afin de leur appliquer les autres opérateurs | (A,B)+ |
XPATH :
C’est un langage pour obtenir des parties d’arbres XML :
* Expressions pour la navigation dans un arbre (parents, enfants, ancêtres, descendants etc.)
* Ensemble deprédicats
* Ensemble de fonctions
Fait l’objet de recommandations W3C :
* XPath 1.0 (1999)
* Xpath 2.0 (2007)
* XPath 3.0 (à l’état de brouillon)

Syntaxe :
resto/plats/plat/nom : permet de récupérer l’ensemble des éléments « nom » de tous les plats
//nom : permet de récupérer tous les éléments « nom » qui se trouvent dans l’arbre (ou le sous arbre si arbre avant //)...
tracking img