XML 2 eXtensible$Markup$Language - Sbastien 1 XML$ eXtensible$Markup$Language2 SbastienLaborie @iutbayonne.univpau.fr2 2 ChristianSallaberry. Christian.Sallaberry@univpau.fr$2

  • Published on
    17-May-2018

  • View
    212

  • Download
    0

Transcript

  • 15/01/13

    1

    XML eXtensible Markup Language

    Sbastien LaborieSebastien.Laborie@iutbayonne.univ-pau.fr

    Christian Sallaberry

    Christian.Sallaberry@univ-pau.fr

    Pourquoi XML ? Dcrire des informations.

    o Disposer dune structure de donnes extensible pour organiser les informations.

    Echanger des informations (humains/ordinateurs). o Exploiter un standard et des grammaires pour assurer linteroprabilit entre

    diffrents systmes.

    Valider des informations. o Vrifier la cohrence de la structuration de linformation.

    Traiter des informations. o Permettre linterrogation pour retrouver des informations particulires.

    Afficher des informations diffremment. o Transformer linformation, par exemple, en une page Web ou en PDF.

    2

  • 15/01/13

    2

    Ide gnrale XML est un (mta-)langage de description qui emboitent

    des lments laide de balises (tags). La structure est une hirarchie dlments (un arbre).

    XML spare la structure logique de la prsentation dun document. On sintresse plus au fond qu la forme (ex., principe dune page Web, Latex).

    XML est lisible pour les humains et exploitable par les machines. On peut diter et visualiser le contenu dun document XML avec un simple

    diteur de texte.

    3

    Exemple

    4

    Un cuisinier dispose dune collection de recettes.

    Une recette peut appartenir diffrentes catgories. Par exemple, apritif, entre, plat ou dessert.

    Une recette dispose toujours dun titre et dune image.

    Une recette peut contenir des commentaires.

    Une recette contient des tapes de prparation.

    Chaque tape de prparation peut tre minute.

    Chaque recette est compose dingrdients.

    Chaque ingrdient a un nom ainsi quune quantit.

  • 15/01/13

    3

    Exemple

    5

    ! ! Poivre de steak dautruche sur pure de cleri! !

    Trs bon !! ! Peler le cleri et les pommes de terre.!

    Faire cuire dans leau bouillante.! . . .! Arroser du jus de viande! !

    ! ! . . . !

    ! ! ! . . .!

    !!

    Questions

    Dessiner la structure logique du document XML. Vous utiliserez des ellipses pour reprsenter chaque lment du document. Vous utiliserez des rectangles pour reprsenter les informations complmentaires

    des lments.

    Est-il possible dajouter dautres lments dinformations

    au document XML ? Si oui, lesquels ?

    Les tapes de prparation des recettes sont-elles dj ordonnes ou bien faut-il les numroter ?

    6

  • 15/01/13

    4

    Concepts de base Structure dun document XML :

    7

    1. Un prologue Permet notamment de prciser la version XML utilise ainsi que le type dencodage des caractres.

    2. Un lment racine Llment racine est le premier lment, gnralement il encadre larborescence.

    3. Un arbre Larborescence du document est constitu dlments imbriqus les uns dans les autres.

    Le prologue

    Dclaration XML

    Chaque fichier XML doit commencer par un marquage qui fait rfrence XML.

    version : version de la spcification XML utilise encoding : le jeu dencodage utilis (iso-8859-1, utf-8) standalone : yes si une grammaire interne est dfinie dans le document.

    no sinon.

    Cette dclaration est facultative.

    Si elle est utilise, elle doit tre place en toute premire ligne du document : ni commentaire, ni mme une simple ligne vide ne peut tre place avant elle.

    Lencodage et la rfrence une grammaire interne au document sont facultatifs. Quand ils sont employs, lordre des informations doit tre imprativement respect.

    8

    !

  • 15/01/13

    5

    Le prologue Instructions de traitement

    Une feuille de style peut tre attache un fichier XML. Il sagit dun ensemble de rgles qui vont permettre de mettre en forme les

    informations du document (e.g., lors de leur affichage dans un navigateur Web).

    ou

    Dclaration de type de document (DTD)

    Une grammaire peut tre renseigne pour pouvoir valider la structure logique du document.

    Elle peut tre dclare en interne.

    Le document peut faire rfrence une grammaire externe.

    9

    !

  • 15/01/13

    6

    Les aHributs Un lment peut tre compos dattributs.

    Un attribut est compos dun nom et dune valeur. Il ne peut y avoir deux noms dattributs identiques dans un mme lment. Lordre des attributs au sein dun lment nest pas important. Par exemple, .

    Un lment vide peut tre compos dattributs. .

    Les attributs sont prsents uniquement dans la balise ouvrante de llment. Il nest pas possible dcrire

    11

    Les aHributs id Chaque balise dun document XML peut faire rfrence un identifiant.

    Il ne peut y avoir deux identifiants similaires au sein dun document XML.

    Il est bien sr possible de faire des rfrences des identifiants dautres balises (on appelle cela des IDREF ou IDREFS).

    12

    ! Sbastien! Laborie! !

    ! Ressources Humaines! ! !

    !

  • 15/01/13

    7

    Les commentaires Il est possible de documenter une structure dcrite en XML.

    Un commentaire commence par les caractres

    Exemple :

    13

    Les entits prdfinies En XML, certains caractres ont des significations spcifiques.

    Cest le cas, pour , ", et &.

    Il est donc ncessaire davoir recours des entits prdfinies.

    Exemple : J&aquot;ai dit "4>2".

    14

  • 15/01/13

    8

    Les sections CDATA

    Lorsquun texte contient beaucoup de caractres spcifiques, il est possible dutiliser des sections CDATA. Ces sections ne seront pas analyses par le processeur XML.

    Exemple :

    Attention ne pas avoir un CDATA[ ou un ]]> dans le bloc de texte.

    15

    Larbre dlments

    Rgles de composition

    1. Les lments forment la structure du document : ce sont les branches et les feuilles de larborescence. Il y a des parents, enfants, frres Ils peuvent soit tre vide, soit contenir du texte ou bien dautres lments.

    2. Toutes les balises portant un contenu non vide doivent tre fermes. En effet, la balise de dbut, la balise de terminaison et le contenu entre deux sont globalement appels lment.

    3. Il est interdit de faire chevaucher des balises. Par exemple,

    Un document XML qui respecte les rgles dXML est dit Bien-form.

    16

  • 15/01/13

    9

    Question

    17

    Oyster Soup Eric Lease Morgan Morgan & Co. 2011

    1 stalk of celery

    1 onion 2 tablespoons of butter 2 cups of oysters and their liquor 2 cups of half & half

    Begin by sauteing the celery and onions in butter until soft. Add oysters, oyster liquor, and cream. Heat until the oysters float. Serve in warm bowls.

    Yummy!

    !

    Le document XML ci-dessous est-il Bien-form ? Si non, corrigez-le pour quil soit Bien-form.

    Exercices !

    Crez vos propres documents XML

    18

  • 15/01/13

    10

    Exercice 1 : premier XML Editez un premier document XML avec un diteur de texte.

    Enregistrez ce document sous le nom recettes.xml. Ouvrez le document avec un navigateur Web.

    19

    !! ! Poivre de steak dautruche sur pure de cleri!

    ! Trs bon !! !

    Peler le cleri et les pommes de terre.! Faire cuire dans leau bouillante.! Arroser du jus de viande! !

    ! ! !

    !!

    Exercice 1 bis Supprimez la 1re balise de votre document XML.

    Afficher de nouveau le document dans le navigateur. Quindique le navigateur ? Quen concluez-vous ?

    Remettez la balise et supprimez llment racine collection (cest--dire la balise ouvrante et fermante). Afficher de nouveau le document dans le navigateur. Quindique le navigateur ?

    Supprimez le prologue de votre document XML. Afficher de nouveau le document dans le navigateur. Est-ce que le document XML saffiche ?

    20

  • 15/01/13

    11

    Exercice 2 : Oxygen Ouvrez le document recettes.xml avec Oxygen.

    En mode Texte : Ajoutez une tape la prparation. Quelle est la diffrence avec le texteur ? Est-il possible dajouter des lments au document sans taper au clavier ? Trouver diffrentes faons de dplacer la prparation aprs la liste dingrdients.

    En mode Grille : Ouvrir tous les lments. Quelle est lavantage de cette vue ?

    Modifiez le document recettes.xml. Ajoutez une nouvelle recette la collection de recettes.

    Comment vrifier que le document est bien-form ?

    21

    Exemples de dialectes XML 1/3

    22

    ! ! ! Une actualit!

    Ceci est un exemple de flux RSS 2.0! Sat, 07 Sep 2002 00:00:01 GMT! http://www.example.org !

    ! !

    RSS (Really Simple Syndication) Abonnement des flux de donnes

  • 15/01/13

    12

    Exemples de dialectes XML 2/3

    23

    ! ! Exemple simple de figure SVG ! Cette figure contient un rectangle, une droite et un cercle. !

    ! ! !

    Un texte ! !

    SVG (Scalable Vector Graphics) Description de dessins vectoriels

    Exemples de dialectes XML 3/3

    24

    ! ! ! Ma page Web !

    ! ! Bienvenue !!

    Bienvenue sur mon site Internet.

    ! ! ! !

    XHTML (eXtensible HyperText Markup Language)Spcification dune page Web

  • 15/01/13

    13

    Exercices !

    Spcifier des documents XML selon des standards

    25

    Exercice 3 Crer le dessin SVG suivant :

    o Utiliser la documentation qui se trouve ici : http://www.w3schools.com/svg/

    Valider votre dessin avec le validateur du W3C. o http://validator.w3.org/

    Quels sont les avantages de raliser un dessin en SVG ? 26

  • 15/01/13

    14

    Exercice 4 Crer une page Web XHTML

    relative une recette de cuisine : o Inspirez-vous de lexemple illustr juste droite o Utiliser la documentation qui se trouve ici :

    http://www.w3schools.com/html/html_xhtml.asp

    o Vous pouvez faire le Quiz propos ladresse prcdente.

    Valider votre page Web avec le validateur du W3C. o http://validator.w3.org/

    Quelles sont les diffrences entre HTML et XHTML ?

    27

    Beaucoup de dialectes

    MathML : Description de notations mathmatiques. SMIL : Spcification de documents multimdias. OFX : Description de donnes financires. XMLA : Description de donnes multidimentionelles (type OLAP). MusicXML : Description de partitions de musique. GraphML : Description de graphes. RecipeML : Description de recettes. dicML : Description de contenus de dictionnaires. DocBook : Description de documentations techniques. (cf., http://en.wikipedia.org/wiki/List_of_XML_markup_languages)

    28

  • 15/01/13

    15

    Exploiter diffrents dialectes XML

    Exemple : Une application X produit une facture encode en XML avec un vocabulaire

    appropri pour dcrire lensemble des informations. Une autre application Y souhaite ajouter cette facture une signature

    lectronique. Une autre application Z dsire ajouter les informations bancaires du client. Il apparat alors ncessaire de pouvoir combiner au sein dun mme document

    XML diffrents vocabulaires.

    Problme : Les vocabulaires ont t dfinis de manire indpendante. Plus on cumule de vocabulaires au sein dun document XML, plus le risque de

    collision des informations est important.

    Par exemple, les applications X, Y et Z peuvent faire rfrence trois concepts diffrents de date : date facturation, date signature, date paiement ().

    29

    Les espaces de nommage

    Dfinir un espace de nommage avec xmlns : On utilise diffrents identifiants pour chaque vocabulaire.

    Exemple :

    30

    Langages formels, calculabilit et complexit Mon livre DocBook Sbastien Laborie 2012-01-01

    !

  • 15/01/13

    16

    Technologies lies XML

    DTD (Document Type Definition) XML Schema XPath XQuery XSLT XLink XPointer DOM et SAX

    31

    Contrle la structure des documents XML

    Interroge la structure des documents XML

    Transforme la structure des documents XML

    Cration de liens entre structures de documents XML

    Manipulation de structures XML

    En rsum Un document XML est dcoup en lments structurs

    hirarchiquement.

    Un document XML a un lment racine appel lment du document.

    Un lment est compos : Dun nom qui spcifie son type; Dattributs; Dun contenu form dlments ou de texte.

    Un attribut a un nom et une valeur. Syntaxiquement, les lments dun document XML sont

    marqus par des balises ouvrantes et fermantes.

    Une communaut trs active ! 32

  • 15/01/13

    17

    Bibliographie

    http://www.w3.org/XML/ http://www.w3schools.com/xml/ http://www.gchagnon.fr/cours/xml/index.html http://liafa.jussieu.fr/~carton/Enseignement/XML/Cours/ http://fr.selfhtml.org/xml/index.htm http://www.quackit.com/xml/tutorial/

    BEAUCOUP DE RESSOURCES sur le Web !!

    33

    Exercice !

    Crez un document XML relatif un cahier des

    charges

    34

  • 15/01/13

    18

    Exercice 5 Soit le cahier des charges suivant : Lentreprise X dispose dune liste de produits. Chaque produit est caractris par un prix dachat, un prix de vente ainsi quune dsignation. Bien sr, tous les produits sont codifis.

    Lentreprise X dtient galement un fichier client. Les clients sont caractriss par un code, une civilit, un nom, un prnom, une adresse, une ville et si possible un tlphone fixe, voir portable.

    Les clients peuvent passer des commandes. Ces commandes sont effectues une date donne et payes via un moyen de paiement. Au sein dune commande, un client peut commander plusieurs produits avec des quantits diffrentes.

    Dfinir une structure XML qui correspond au cahier des charges dcrit ci-dessus.

    Crer des exemples de produits, clients et commandes. 35

    Exercice 5 bis On souhaite modifier le cahier des charges : Lentreprise X souhaite effectuer le suivi des envois par colis des produits commands. Un colis relatif une commande contiendra tout ou partie des produits dune commande. Chaque colis sera identifi laide dun numro unique ainsi que du nom du transporteur effectuant la livraison. Bien sr, on souhaite galement savoir si le colis a t livr ou non.

    Etendre la prcdente structure XML.

    Crer des exemples avec des colis.

    36

Recommended

View more >