La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

XML eXtensible Markup Language Xavier Blanc

Présentations similaires


Présentation au sujet: "XML eXtensible Markup Language Xavier Blanc"— Transcription de la présentation:

1 XML eXtensible Markup Language Xavier Blanc

2 Plan De HTML à XML Documents bien formés Documents valides Liens Feuilles de style Traitement de documents XML Applications

3 de HTML à XML Généralités

4 HTML Langage à balises – Balises obligatoires (head, body, …) – Balises à valeur sémantique (h1, meta, …) – Balises à valeur dhabillage (center, small,..) – Nombre fini de balises – Balises différentes suivant les navigateurs Pas dévolution possible pour lutilisateur

5 HTML Aucune séparation de la forme et du fond – Balises de fond (Meta, Head, …) – Balises de forme (center, small, …) – Balises de fond & forme (h1, h2, …) Durée de vie limitée à la durée de vie des outils capables de visionner ces documents.

6 Lapport de XML Ensemble non fini de balises – Lutilisateur peut créer de nouvelles balises Séparation de la forme et du fond – Un document XML sera constitué dau moins deux entités (le fond et la forme) Séparation du contenu et de la grammaire – Permet la validation des documents

7 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 considéré comme étant le standard déchange dinformation du futur

8 Documents bien formés règles syntaxiques de XML

9 Un document XML bien formé Exemple de document XML : le super livre 1 titre du chapitre 1 blabla blabla …

10 Documents XML bien formés Un document XML bien formé est un document qui est conforme aux règles syntaxiques du langage XML. Un document bien formé pourra être traité par un parseur XML sans générer dexception. Un document XML bien formé pourra être associé avec une feuille de style.

11 Règles syntaxiques XML Un document XML est constitué de : – Un prologue : qui contient un ensemble dinformations sur le document – Un ensemble déléments avec leurs contenus : les éléments et leurs contenus sont les données du document – Des commentaires qui peuvent être inclus nimporte où dans le document

12 Le prologue La déclaration XML – Permet de préciser la version du document – Permet de préciser lencodage utilisé – Permet de savoir si le document est autonome ou pas (lien vers dautres documents)

13 Le prologue XML permet de définir 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 déclarer le type dun document.

14 Ensemble déléments Les éléments des documents XML sont composés dune balise douverture, dun contenu et dune balise de clôture. contenue de lélément Le nom dune balise est composé de caractères alphanumériques, du tiret-souligné, du signe moins ou du point. Il ne faut pas quil soit composé despaces. Un nom doit commencer par un caractère alphabétique ou du caractère tiret-souligné. Un nom ne doit pas commencer par XML/Xml/xML/...

15 Ensemble déléments Une balise douverture peut avoir un ensemble dattributs. Ex : … Un attribut est une paire nom=valeur Les noms des attributs suivent les mêmes règles que les noms des éléments La valeur est une chaîne de caractères encadrée par les caractères guillemets ou apostrophe Lattribut xml:lang est prédéfini et sa valeur représente le langage utilisé dans le document Ex :...

16 Ensemble déléments Le contenu dun élément peut être : – un ensemble déléments – et/ou des données sous forme de chaînes de caractères ne contenant pas les caractères & et < – et/ou des références

17 Ensemble déléments Une référence peut être : – une référence à un caractère alphanumérique, elle doit commencer par &#x, puis inclure le numéro du caractère et finir par ; Ex : 8 est une référence vers & – une référence prédéfinie comme par exemple & ou ' qui sont deux références vers & et – une référence vers quelque chose défini dans la DTD (Data Type Definition). Elle commence alors par &, puis par le nom de la référence, et finit par ; Ex : &ma_reference; (avec ma-reference= texte long … Ce couple (nom, valeur) est appelé une entité

18 Ensemble déléments Les balises de clôture sont composées des noms correspondant aux balises douvertures précédés du caractère / Ex : En élément peut être vide (sans contenu), dans ce cas, il na quune seule balise (composée du nom suivi du caractère /) Ex :

19 Sections littérales Lorsque le parseur scanne un élément, il remplace toutes les références par leurs valeurs. Pour empêcher cela, il faut utiliser une section littérale. Une section littérale est encadrée par Ex : Dupond & ]]>

20 Instructions de traitement Il est possible dinclure des instructions de traitement dans un document XML La déclaration 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 réservés

21 Commentaire Des commentaires peuvent être inclus dans le contenu dun élément XML. Ils doivent être encadrés par les marques Un commentaire est une chaîne de caractères quelconque qui ne contient pas la chaîne -- Exemple :

22 Documents bien formés Le plus petit : Un autre : XML & HTML

23 Documents valides XML et grammaire

24 Document Type Definition En XML, un type de document représente une structure (une grammaire) Ex : le type livre précise quun livre est composé de chapitres, qui sont composés de parties … Un type de document est défini dans une DTD (Document Type Definition) Une DTD peut être inclue ou référencée par un document XML

25 Document Type Definition On peut vérifier la validité dun document par rapport à la DTD quil référence 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 déjà de nombreuses DTD, il est alors possible de les utiliser pour construire des documents XML valides Ex : La DTD MathML pour les équations

26 Document Type Definition Pour associer un document XML à une DTD, il faut le faire avec lélément Ex : On considère quun document XML est constitué de deux choses : La DTD et la donnée. Un document XML bien formé peut ne pas être composé de DTD Un document XML valide doit avoir une DTD

27 Data Type Definition Une DTD est définie dans lélément – name est le nom du type de document – SYSTEM "fichier.dtd" est une référence vers le fichier.dtd. Ce fichier contient tout ou une partie de la DTD. Cest la partie externe de la DTD – [declaration] permet de définir tout ou une partie de la DTD. C est la partie interne de la DTD

28 Contenu dune DTD Déclarations des entités Déclarations des éléments et de leurs contenus Déclarations des attributs des éléments Commentaires

29 Les entités Une entité est un couple (nom, valeur). On référence le nom pour utiliser la valeur. Ex : & (amp,&) Une entité peut être interne (définie dans le document) ou externe (définie ailleurs) Les entités internes ont des valeurs de chaînes de caractères XML et sont utilisées comme moyen dabréviation. Les entités externes peuvent être de type – XML : utilisé pour segmenter un document en parties – non XML : utilisé pour inclure des sons, images...

30 Déclaration des entités Les entités doivent être déclarées dans la DTD Un document peut référencer nimporte quelle entité qui a été déclaré dans la DTD mais aussi les entités prédéfinis (amp, apos, …) La déclaration dune entité se fait de la manière suivante : – La valeur doit être entre guillemets

31 Les entités externes XML Permet la segmentation dun document XML Ex : ]> &chapitre-1; &chapitre-2; Le mot clé SYSTEM indique une URL, voir le mot clé PUBLIC avec les identificateurs public

32 Les entités externes non-XML Les entités externes non-XML servent à inclure des images, du son ou autre dans un document XML Avant de définir l entité, il faut définir son format en utilisant une NOTATION Ex : Puis définir lentité Ex : L utilisation se fait donc ainsi : Ex :

33 Les entités paramètres Ces entités sont définies dans une DTD mais elles sont aussi utilisées dans une DTD Une entités paramètre est forcement XML Une entités paramètre se définie comme une entité générale si ce nest quil y a le caractère %. Ex : Pour référencer une entité paramètre on utilise le caractère % Ex : %nom;

34 Les éléments dans la DTD La déclaration dun élément se fait de la manière suivante : Le nom correspond au nom de lélément Le modèle défini le contenu de lélément : – éléments fils – données – mélanges éléments fils et données – nimporte quoi respectant la syntaxe XML – élément vide

35 Les éléments dans la DTD Pour décrire les éléments fils dun élément, il suffit de donner leurs noms entre parenthèses. Si lordre des élément fils est important on les sépare par des virgules sinon par des barres verticales. Pour préciser les multiplicités des éléments fils on utilise : (soit fils le nom de lélément 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 déléments fils en utilisant des parenthèses.

36 Les éléments dans la DTD Exemples de définition délément :...

37 Les éléments dans la DTD Lorsquun élément ne contient que des données (i.e. : un chaîne de caractère), on le défini de cette manière avec le mot clé : #PCDATAT Ex :

38 Les éléments dans la DTD Il est possible quun élément ait des éléments fils mais aussi des données. Il est tout à fait possible de définir ce type délément dans une DTD. Ex :

39 Les éléments dans la DTD Lorsquun élément peut contenir soit du texte, soit nimporte quel ensemble délément fils, il faut utiliser le mot clé ANY Ex : Lorsquun élément est un élément vide, il faut utiliser le mot clé EMPTY Ex :

40 Les attributs dans la DTD La déclaration des attributs dun élément se fait de la manière suivante : element correspond au nom de lélément qui contient lattribut attribut correspond au nom de lattribut type correspond au type de lattribut default contient des indications sur la valeur par défaut

41 Les attributs dans la DTD Le type de lattribut peut être : – CDATA pour une chaîne de caractère – ID ou IDREF pour des références internes au document – ENTITY ou ENTITIES pour des références externes non-XML – NOTATION pour associer le contenu de lélément à une application

42 Les attributs dans la DTD Lindication sur la valeur par défaut 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

43 Les attributs dans la DTD Quelques exemples :...

44 Sections conditionnelles fait que le contenu appartient à la DTD fait que le contenu nappartient pas à la DTD En utilisant des entités paramètres et en les redéfinissant dans le document, il est alors possible davoir une DTD conditionnelle

45 Liens Navigation XML

46 Avec les attributs ID et IDREF Lattribut ID permet dassocier un identifiant à un élément Ex : L attribut IDREF permet de référencer un élément qui possède un attribut ID Ex : Doù blabla

47 XPointer XML Pointer Language XPointer est le standard qui permet de référencer des ressources Un XPointer est constitué dune référence de base puis dune cascade de références. Ainsi il est possible de référencer la valeur de lattribut couleur du 3ème éléments fils de lélément de type voiture.

48 XPointer XML Pointer Language La référence de base dun XPointer est : – root() : la racine du document cible – origin() : lorigine du pointeur. – id(nb) : lélément ayant un attribut id avec nb comme valeur – html(val) : un élément ayant un attribut name avec val comme valeur

49 XPointer XML Pointer Language Les cascades de référence peuvent être : – child(), descendant(), ancestor(), … avec les paramètres suivant : nb : le numéro de l occurrence #element, #pi, #comment, #text, #all nom : le nom dun élément un nom dattribut et/ou une valeur dattribut – attr(nom) pour la valeur dun attribut nom –...

50 XPointer XML Pointer Language Un XPointer peut être précédé dun URL, il faut utiliser le caractère # comme séparateur Exemples de XPointer

51 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 décrit les liens inclus est inclue dans le liens, elle est considérée comme lorigine.

52 XLink XML Linking Language DTD du lien simple

53 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 représenté par un élément avec lattribut xml.link qui a comme valeur locator

54 Feuilles de style Lhabillage de documents XML

55 La forme et le fond Un document XML contient des informations qui vont être présentées sur différents supports (ecran, feuille, son, …) Il est possible de créer des feuilles de style pour décrire comment se fait cette présentation Les feuilles de style sont référencées par les documents XML, elles nen font pas parties

56 CSS : Cascading Style Sheets CSS est un standard du W3C pour décrire des feuilles de style. CSS-1 a été défini 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.

57 CSS : Cascading Style Sheets Il est possible de définir plusieurs feuilles de style pour un document XML Il est possible de définir une feuille de style avec des propriétés valables uniquement pour les écrans et des propriétés valables uniquement pour les imprimantes. Il est possible quune feuille de style importe dautres feuilles de style

58 CSS : Cascading Style Sheets Le principe de base de CSS est le suivant selecteur { propriété1: valeur; propriété2: valeur; } Selecteur indique quel est (ou quels sont) lélément affecté par ces propriétés. Les propriétés sont des indications sur la forme, CSS définit 122 propriétés

59 CSS : Cascading Style Sheets Ex de feuille de style CSS screen, print { *{ background : black; color : yellow; font-weight : bold; font-size:14pt; font-family : Garamond; font-style : normal; }

60 CSS : Cascading Style Sheets

61

62 XSL : eXtensible Stylesheet Language XSL est un standard pour décrire des feuilles de style La spécification date de Avril 1999, elle nest pas encore totalement stabilisée XSL permet plus de chose que CSS – La présentation nest pas basé sur larbre du document XML – Il est possible de rajouter des informations (ex : table des matières, …)

63 XSL : eXtensible Stylesheet Language Pour afficher un document – Larbre source est transformé en fonction des directives de la feuille de style XSL – Larbre transformé est mis en sortie (écran, papier) Une feuille de style XSL décrit les directives de transformation de larbre source.

64 XSL : eXtensible Stylesheet Language Structure dun feuille XSL var foo = … function bar(xx) {…} />

65 XSL :eXtensible Stylesheet Language Structure dune feuille XSL (suite)

66 XSL : eXtensible Stylesheet Language Exemple de feuille XSL Salut je lis auteur

67 XSL : eXtensible Stylesheet Language

68 Traitement de documents XML DOM et SAX

69 Parseur XML offre de nouveaux horizons applicatifs Il nest pas possible dimaginer létendu de ce domaine applicatif Cependant, toutes les applications auront besoin de parseur Il y a deux types de parseur normalisés – SAX – DOM

70 SAX : Simple API for XML SAX est un type de parseur XML SAX a été construit par des internautes en 1997, ils voulaient standardiser ce type de parseur SAX est implanté en Java et en Python SAX est un parseur événementiel – Lorsque que le parseur lit un élément du document, il lance un événement – Il est utilisé par les applications qui considèrent les documents XML comme des flots de données

71 SAX : Simple API for XML SAX étant un parseur événementiel, il propose un ensemble dinterface pour implanter des handler – DocumentHandler startElement() starDocument() – ErrorHandler Error() Il suffit ensuite de créer un parseur XML, daffecter les handler puis de commencer à scanner le document

72 SAX : Simple API for XML Exemple dapplication utilisant SAX public class MyHandler extends DocumentHandler { public void startElement(String n, AttributeList att) { System.out.println("Start element :" + n); } …. DocumentHandler dh = new MyHandler(); parser.serDocumentHandler(dh);

73 DOM : Document Object Model DOM est un type de parseur XML DOM a été standardisé par le W3C LAPI du DOM est définit en IDL CORBA DOM est un parseur compilé – Lecture de la totalité du document XML – Création dune structure arborescente dobjet qui représente le document XML

74 DOM : Document Object Model Le DOM est un parseur compilé, son API est composé de toutes les entités dun document XML – Document : Objet qui représente le document XML – Element : Objet qui représente un élément XML – Node : Objet dont tous les autres objets héritent Pour construire une application qui utilise le DOM, il suffit de créer un parseur et dappeler la méthode parse qui retourne un objet de type Document

75 DOM : Document Object Model Exemple dapplication utilisant DOM try { DOMParserWrapper parser = new … Document docu = parser.parser(uri); …

76 Conclusion pour les traitements SAX et DOM sont deux types de parseur standardisés par les internautes pour SAX et par le W3C pour DOM SAX est plus orienté traitement du document comme un flot dinformation DOM est plus orienté transformation de document ou archivage Il existe de nombreuses implantations gratuites en Java de SAX et de DOM (Sun, IBM, …)

77 Applications XMI

78 MOF : Meta Object Facility UML Models MOF Model IDL Meta-model UML Meta-model UML Models IDL Interfaces M3 layer meta-meta- model M2 layer meta-model M1 layer models M0 layer

79 XMI : XML Metadata Interchange Meta-LevelMetadataXMI DTDsXMI documents M3The MOF ModelMOF DTD M2 UML MetaModel (ODP and others) UML DTD (ODP and others) MOF MetaModel Documents M1 UML Models (ODP and others) UML Model Documents (ODP and others) M0Instances

80 Bibliographie A vous de jouer

81 Les documents utilisé pour ce support « XML Langage et applications » Eyrolles Alain Michard : le site du W3C


Télécharger ppt "XML eXtensible Markup Language Xavier Blanc"

Présentations similaires


Annonces Google