XML eXtensible Markup Language Xavier Blanc Xavier.Blanc@lip6.fr

  • Published on
    03-Apr-2015

  • View
    102

  • Download
    0

Embed Size (px)

Transcript

<ul><li> Page 1 </li> <li> XML eXtensible Markup Language Xavier Blanc Xavier.Blanc@lip6.fr </li> <li> Page 2 </li> <li> Plan De HTML XML Documents bien forms Documents valides Liens Feuilles de style Traitement de documents XML Applications </li> <li> Page 3 </li> <li> de HTML XML Gnralits </li> <li> Page 4 </li> <li> HTML Langage balises Balises obligatoires (head, body, ) Balises valeur smantique (h1, meta, ) Balises valeur dhabillage (center, small,..) Nombre fini de balises Balises diffrentes suivant les navigateurs Pas dvolution possible pour lutilisateur </li> <li> Page 5 </li> <li> HTML Aucune sparation de la forme et du fond Balises de fond (Meta, Head, ) Balises de forme (center, small, ) Balises de fond &amp; forme (h1, h2, ) Dure de vie limite la dure de vie des outils capables de visionner ces documents. </li> <li> Page 6 </li> <li> Lapport de XML Ensemble non fini de balises Lutilisateur peut crer de nouvelles balises Sparation de la forme et du fond Un document XML sera constitu dau moins deux entits (le fond et la forme) Sparation du contenu et de la grammaire Permet la validation des documents </li> <li> Page 7 </li> <li> Historique XML est un standard un W3C (World Wide Web Consortium) XML est bas sur le standard SGML Les travaux de XML ont commenc en 1996 En 1999, XML est considr comme tant le standard dchange dinformation du futur </li> <li> Page 8 </li> <li> Documents bien forms rgles syntaxiques de XML </li> <li> Page 9 </li> <li> Un document XML bien form Exemple de document XML : le super livre 1 titre du chapitre 1 blabla blabla </li> <li> Page 10 </li> <li> Documents XML bien forms Un document XML bien form est un document qui est conforme aux rgles syntaxiques du langage XML. Un document bien form pourra tre trait par un parseur XML sans gnrer dexception. Un document XML bien form pourra tre associ avec une feuille de style. </li> <li> Page 11 </li> <li> Rgles syntaxiques XML Un document XML est constitu de : Un prologue : qui contient un ensemble dinformations sur le document Un ensemble dlments avec leurs contenus : les lments et leurs contenus sont les donnes du document Des commentaires qui peuvent tre inclus nimporte o dans le document </li> <li> Page 12 </li> <li> Le prologue La dclaration XML Permet de prciser la version du document Permet de prciser lencodage utilis Permet de savoir si le document est autonome ou pas (lien vers dautres documents) </li> <li> Page 13 </li> <li> Le prologue XML permet de dfinir des types de documents. Un type de documents est une sorte de grammaire, on peut alors valider un document par rapport une grammaire. Le prologue permet de dclarer le type dun document. </li> <li> Page 14 </li> <li> Ensemble dlments Les lments des documents XML sont composs dune balise douverture, dun contenu et dune balise de clture. contenue de llment Le nom dune balise est compos de caractres alphanumriques, du tiret-soulign, du signe moins ou du point. Il ne faut pas quil soit compos despaces. Un nom doit commencer par un caractre alphabtique ou du caractre tiret-soulign. Un nom ne doit pas commencer par XML/Xml/xML/... </li> <li> Page 15 </li> <li> Ensemble dlments Une balise douverture peut avoir un ensemble dattributs. Ex : Un attribut est une paire nom=valeur Les noms des attributs suivent les mmes rgles que les noms des lments La valeur est une chane de caractres encadre par les caractres guillemets ou apostrophe Lattribut xml:lang est prdfini et sa valeur reprsente le langage utilis dans le document Ex :... </li> <li> Page 16 </li> <li> Ensemble dlments Le contenu dun lment peut tre : un ensemble dlments et/ou des donnes sous forme de chanes de caractres ne contenant pas les caractres &amp; et &lt; et/ou des rfrences </li> <li> Page 17 </li> <li> Ensemble dlments Une rfrence peut tre : une rfrence un caractre alphanumrique, elle doit commencer par , puis inclure le numro du caractre et finir par ; Ex : 8 est une rfrence vers &amp; une rfrence prdfinie comme par exemple &amp; ou ' qui sont deux rfrences vers &amp; et une rfrence vers quelque chose dfini dans la DTD (Data Type Definition). Elle commence alors par &amp;, puis par le nom de la rfrence, et finit par ; Ex : &amp;ma_reference; (avec ma-reference= texte long Ce couple (nom, valeur) est appel une entit </li> <li> Page 18 </li> <li> Ensemble dlments Les balises de clture sont composes des noms correspondant aux balises douvertures prcds du caractre / Ex : En lment peut tre vide (sans contenu), dans ce cas, il na quune seule balise (compose du nom suivi du caractre /) Ex : </li> <li> Page 19 </li> <li> Sections littrales Lorsque le parseur scanne un lment, il remplace toutes les rfrences par leurs valeurs. Pour empcher cela, il faut utiliser une section littrale. Une section littrale est encadre par Ex : Dupond &amp; ]]&gt; </li> <li> Page 20 </li> <li> Instructions de traitement Il est possible dinclure des instructions de traitement dans un document XML La dclaration dune instruction de traitement se fait de la facon suivante : nom est le nom de lapplication cible arg1, arg2, sont les arguments de l application Les noms XML, XmL, sont rservs </li> <li> Page 21 </li> <li> Commentaire Des commentaires peuvent tre inclus dans le contenu dun lment XML. Ils doivent tre encadrs par les marques Un commentaire est une chane de caractres quelconque qui ne contient pas la chane -- Exemple : </li> <li> Page 22 </li> <li> Documents bien forms Le plus petit : Un autre : XML &amp; HTML </li> <li> Page 23 </li> <li> Documents valides XML et grammaire </li> <li> Page 24 </li> <li> Document Type Definition En XML, un type de document reprsente une structure (une grammaire) Ex : le type livre prcise quun livre est compos de chapitres, qui sont composs de parties Un type de document est dfini dans une DTD (Document Type Definition) Une DTD peut tre inclue ou rfrence par un document XML </li> <li> Page 25 </li> <li> Document Type Definition On peut vrifier la validit dun document par rapport la DTD quil rfrence ou quil inclut. On parlera alors de document XML valide Un document XML valide est donc un document XML bien form qui a une DTD et qui est conforme cette DTD Il existe dj de nombreuses DTD, il est alors possible de les utiliser pour construire des documents XML valides Ex : La DTD MathML pour les quations </li> <li> Page 26 </li> <li> Document Type Definition Pour associer un document XML une DTD, il faut le faire avec llment Ex : On considre quun document XML est constitu de deux choses : La DTD et la donne. Un document XML bien form peut ne pas tre compos de DTD Un document XML valide doit avoir une DTD </li> <li> Page 27 </li> <li> Data Type Definition Une DTD est dfinie dans llment name est le nom du type de document SYSTEM "fichier.dtd" est une rfrence vers le fichier.dtd. Ce fichier contient tout ou une partie de la DTD. Cest la partie externe de la DTD [declaration] permet de dfinir tout ou une partie de la DTD. C est la partie interne de la DTD </li> <li> Page 28 </li> <li> Contenu dune DTD Dclarations des entits Dclarations des lments et de leurs contenus Dclarations des attributs des lments Commentaires </li> <li> Page 29 </li> <li> Les entits Une entit est un couple (nom, valeur). On rfrence le nom pour utiliser la valeur. Ex : &amp; (amp,&amp;) Une entit peut tre interne (dfinie dans le document) ou externe (dfinie ailleurs) Les entits internes ont des valeurs de chanes de caractres XML et sont utilises comme moyen dabrviation. Les entits externes peuvent tre de type XML : utilis pour segmenter un document en parties non XML : utilis pour inclure des sons, images... </li> <li> Page 30 </li> <li> Dclaration des entits Les entits doivent tre dclares dans la DTD Un document peut rfrencer nimporte quelle entit qui a t dclar dans la DTD mais aussi les entits prdfinis (amp, apos, ) La dclaration dune entit se fait de la manire suivante : La valeur doit tre entre guillemets </li> <li> Page 31 </li> <li> Les entits externes XML Permet la segmentation dun document XML Ex : ]&gt; &amp;chapitre-1; &amp;chapitre-2; Le mot cl SYSTEM indique une URL, voir le mot cl PUBLIC avec les identificateurs public </li> <li> Page 32 </li> <li> Les entits externes non-XML Les entits externes non-XML servent inclure des images, du son ou autre dans un document XML Avant de dfinir l entit, il faut dfinir son format en utilisant une NOTATION Ex : Puis dfinir lentit Ex : L utilisation se fait donc ainsi : Ex : </li> <li> Page 33 </li> <li> Les entits paramtres Ces entits sont dfinies dans une DTD mais elles sont aussi utilises dans une DTD Une entits paramtre est forcement XML Une entits paramtre se dfinie comme une entit gnrale si ce nest quil y a le caractre %. Ex : Pour rfrencer une entit paramtre on utilise le caractre % Ex : %nom; </li> <li> Page 34 </li> <li> Les lments dans la DTD La dclaration dun lment se fait de la manire suivante : Le nom correspond au nom de llment Le modle dfini le contenu de llment : lments fils donnes mlanges lments fils et donnes nimporte quoi respectant la syntaxe XML lment vide </li> <li> Page 35 </li> <li> Les lments dans la DTD Pour dcrire les lments fils dun lment, il suffit de donner leurs noms entre parenthses. Si lordre des lment fils est important on les spare par des virgules sinon par des barres verticales. Pour prciser les multiplicits des lments fils on utilise : (soit fils le nom de llment fils) : fils = une fois et une seule fils? = 0 ou 1 fois fils* = 0, 1 ou plus dune fois fils+ = au moins un fois il est possible de faire des groupes dlments fils en utilisant des parenthses. </li> <li> Page 36 </li> <li> Les lments dans la DTD Exemples de dfinition dlment :... </li> <li> Page 37 </li> <li> Les lments dans la DTD Lorsquun lment ne contient que des donnes (i.e. : un chane de caractre), on le dfini de cette manire avec le mot cl : #PCDATAT Ex : </li> <li> Page 38 </li> <li> Les lments dans la DTD Il est possible quun lment ait des lments fils mais aussi des donnes. Il est tout fait possible de dfinir ce type dlment dans une DTD. Ex : </li> <li> Page 39 </li> <li> Les lments dans la DTD Lorsquun lment peut contenir soit du texte, soit nimporte quel ensemble dlment fils, il faut utiliser le mot cl ANY Ex : Lorsquun lment est un lment vide, il faut utiliser le mot cl EMPTY Ex : </li> <li> Page 40 </li> <li> Les attributs dans la DTD La dclaration des attributs dun lment se fait de la manire suivante : element correspond au nom de llment qui contient lattribut attribut correspond au nom de lattribut type correspond au type de lattribut default contient des indications sur la valeur par dfaut </li> <li> Page 41 </li> <li> Les attributs dans la DTD Le type de lattribut peut tre : CDATA pour une chane de caractre ID ou IDREF pour des rfrences internes au document ENTITY ou ENTITIES pour des rfrences externes non-XML NOTATION pour associer le contenu de llment une application </li> <li> Page 42 </li> <li> Les attributs dans la DTD Lindication sur la valeur par dfaut peut tre : #REQUIRED indique que lattribut doit avoir une valeur une fois le document cr. #IMPLIED indique que lattribut est optionnel. #FIXED valeur indique que lattribut est une constante </li> <li> Page 43 </li> <li> Les attributs dans la DTD Quelques exemples :... </li> <li> Page 44 </li> <li> Sections conditionnelles fait que le contenu appartient la DTD fait que le contenu nappartient pas la DTD En utilisant des entits paramtres et en les redfinissant dans le document, il est alors possible davoir une DTD conditionnelle </li> <li> Page 45 </li> <li> Liens Navigation XML </li> <li> Page 46 </li> <li> Avec les attributs ID et IDREF Lattribut ID permet dassocier un identifiant un lment Ex : L attribut IDREF permet de rfrencer un lment qui possde un attribut ID Ex : Do blabla </li> <li> Page 47 </li> <li> XPointer XML Pointer Language XPointer est le standard qui permet de rfrencer des ressources Un XPointer est constitu dune rfrence de base puis dune cascade de rfrences. Ainsi il est possible de rfrencer la valeur de lattribut couleur du 3me lments fils de llment de type voiture. </li> <li> Page 48 </li> <li> XPointer XML Pointer Language La rfrence de base dun XPointer est : root() : la racine du document cible origin() : lorigine du pointeur. id(nb) : llment ayant un attribut id avec nb comme valeur html(val) : un lment ayant un attribut name avec val comme valeur </li> <li> Page 49 </li> <li> XPointer XML Pointer Language Les cascades de rfrence peuvent tre : child(), descendant(), ancestor(), avec les paramtres suivant : nb : le numro de l occurrence #element, #pi, #comment, #text, #all nom : le nom dun lment un nom dattribut et/ou une valeur dattribut attr(nom) pour la valeur dun attribut nom ... </li> <li> Page 50 </li> <li> XPointer XML Pointer Language Un XPointer peut tre prcd dun URL, il faut utiliser le caractre # comme sparateur Exemples de XPointer http://un.deux.fr/toto.xml#root().child(1,titre) http://un.deux.fr/toto.xml#id(0123)... </li> <li> Page 51 </li> <li> XLink XML Linking Language Un XLink permet de lier plusieurs ressource entre elles. Les XLink peuvent tre : simples / tendus : les liens simples nont quune seule cible contrairement aux liens tendus inclus / exclus : La ressource qui dcrit les liens inclus est inclue dans le liens, elle est considre comme lorigine. </li> <li> Page 52 </li> <li> XLink XML Linking Language DTD du lien simple </li> <li> Page 53 </li> <li> XLink XML Linking Language Pour les liens tendus, la valeur de lattribut xml.link est extended Un lien tendu est compos de plusieurs cibles. Chaques cibles est reprsent par un lment avec lattribut xml.link qui a comme valeur locator </li> <li> Page 54 </li> <li> Feuilles de style Lhabillage de documents XML </li> <li> Page 55 </li> <li> La forme et le fond Un document XML contient des informations qui vont tre prsentes sur diffrents supports (ecran, feuille, son, ) Il est possible de crer des feuilles de style pour dcrire comment se fait cette prsentation Les feuilles de style sont rfrences par les documents XML, elles nen font pas parties </li> <li> Page 56 </li> <li> CSS : Cascading Style Sheets CSS est un standard du W3C pour dcrire des feuilles de style. CSS-1 a t dfini en 1996, CSS-2 en 1998 CSS-1 est support par les navigateur version 4 de netscape et microsoft. CSS-2 est support par les navigateur version 5 de netscape et microsoft Le W3C sest engag pour quune version N soit toujours valide par rapport au version N+x de la norme. </li> <li> Page 57 </li> <li> CSS : Cascading Style Sheets Il est possible de dfinir plusieurs feuilles de style pour un document XML Il est possible de dfinir une feuille de style avec des proprits valables uniquement pour les crans et des proprits valables uniquement pour les imprimantes. Il est possible quune feuille de style importe dautres feuilles de style </li> <li> Page 58 </li> <li> CSS : Cascading Style Sheets Le principe de base de CSS est le suivant selecteur { proprit1: valeur; proprit2: valeur; } Selecteur indique quel est (ou quels sont) llm...</li></ul>