support cours xml

Upload: dammakhajer

Post on 06-Apr-2018

238 views

Category:

Documents


5 download

TRANSCRIPT

  • 8/2/2019 Support Cours XML

    1/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    IntroductionIntroduction

    XML:XML: eXtensibleeXtensible MarkupMarkup LanguageLanguage

  • 8/2/2019 Support Cours XML

    2/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    GML (1969)IBM (Goldfarb, Mosher&Lory)

    SGML (1986)Normalisation ISO 8879

    XML (1998)Recommandation W3C

    HTML (1992)Recommandation W3C

    XHTML (1999)Recommandation W3C

    Solution de la gestion etde la publicationdocumentaire

    Application (i.e. DTD) deSGML pour la prsentation des

    documents sur le Web, Langagede visualisation,non adapt lchange entre

    programmes

    Mta-langage de structuration,simplifi compatible SGML,

    permet de: Normaliser et structurerlinformation avec un point devue smantique

    Sparer le contenuinformatif des donnes de leurreprsentation changer/partager lesdonnes

    et HTMLdevient uneinstance de XML ; XHTML utilise les

    mmes balises que HTML avec une syntaxeXML et des contraintes de mises en formeplus strictes.

    Mta-langage gnral de balisage ;Normalisation de GML,Puissant mais complexe, taille desspcifications imposantes (>500pages)

    Introduit la notion de DTD (grammairespcifique une application)

    IntroductionIntroduction

  • 8/2/2019 Support Cours XML

    3/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    IntroductionIntroductionXML versus SGML

    Le modle de rfrence : SGML Standard : normalis depuis 1986 (ISO 8879) Generalized : langage gnraliste de haut niveau dabstraction

    Utilis dans le monde de la gestion documentaire et de la publication Permet dtablir une distinction claire entre linformation (mots, images,etc .) et la prsentation de linformation (polices, couleurs, organisation, etc

    .) Markup : fond sur la dfinition et lutilisation de balises

    Syntaxe permissive (balises non refermes, attributs vides, etc .) Language : dcrit des informations relatives au contenu du document

    Repose sur la dfinition de structures (DTD) pour normaliser la rdaction

    Objectifs spcifiques de XML :

    XML doit pouvoir tre utilis sans difficult sur Internet Il doit tre facile dcrire des programmes qui manipulent du XML Il doit tre facile de crer et de lire des documents XML (intelligibilit) le nombre doptions doit tre rduit au minimum.

  • 8/2/2019 Support Cours XML

    4/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    IntroductionIntroductionXML versus HTML

    HTML (HyperText Markup Language) est un langage ddi : Application de SGML pour la prsentation de documents sur le web.

    La vocation de XML nest pas de se substituer HTML : Structuration versus prsentation

    HTML rpond la question comment prsenter des donnes ? XML rpond la question comment structurer des donnes ?

    Fond versus forme HTML sintresse la forme XML sintresse au fond

    XML et HTML sont complmentaires : Lvolution du web va vers une sparation du fond et de la forme Il faudra conserver un langage de mise en forme style HTML

  • 8/2/2019 Support Cours XML

    5/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    IntroductionIntroduction

    XHTML n

    autorise pas les simplifications que l

    on pouvait se permettre en HTML.Une page XHTML est donc un document XML utilisant un langage clairement

    spcifi. Un programme de validation peut y tre appliqu pour sassurer de saconformit parfaite. Plus de fiabilit, cest ce quapporte un langage XML.

  • 8/2/2019 Support Cours XML

    6/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    IntroductionIntroductionXXML : Dfinition

    XML est un mta-langage de description des donnes, c'est--dire quilpermet de dfinir des langages de description dinformations structures, encoreappels langages de structuration.

    En soi, XML ne sert rien (au sens applicatif du terme). En revanche, il estpossible, partir dune de ces descriptions des donnes, dutiliser lesnombreuses applications de XML pour faire quelque chose avec cesdonnes. Par exemple : affichage en HTML, traitements automatiques desdonnes (extraction de donnes, tri, transformation). XML permet notamment(liste non exhaustive) de :

    Normaliser et structurer linformation avec un point de vue smantique.

    Sparer le contenu informatif des donnes de leur reprsentation. changer/partager des donnes entre systmes informatiques.

  • 8/2/2019 Support Cours XML

    7/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    IntroductionIntroductionXML et les bases de donnes

    Les bases de donnes relationnellesoffrent des performances intressantesmais elles noptimisent pas les usagescourants. (mlanger dans une mmebase des donnes de mme naturemais sans dpendance entre elles).

    XML permet de stocker des donnes

    selon des regroupements correspondantaux usages principaux : les donnessont regroupes selon leursdpendances.

  • 8/2/2019 Support Cours XML

    8/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Concepts de baseConcepts de base

    XML:XML: eXtensibleeXtensible MarkupMarkup LanguageLanguage

  • 8/2/2019 Support Cours XML

    9/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Description dDescription dun document XMLun document XML

    Prologue(Entte dudocument)

    lmentdocument(lmentracine)

    Balise fermante

    Commentaire

    Racine du document

    Balise ouvrante

    Dclaration XML

    XML est la spcification de la syntaxe du langage de structuration. Undocument XML est dit bien form sil respecte la syntaxe XML.

    Jean-Chrisotophe

    Bernadac

    Construire une application XML

    Eyrolles

    Paris

    1999

  • 8/2/2019 Support Cours XML

    10/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Description dDescription dun document XMLun document XML

    Le prologue d'un document XML comprend :

    La dclaration XML Elle est optionnelle mais recommande, notamment pour y faire figurer le numro

    de version.

    Remarque : Si cette dclaration est incluse, lattribut version doitncessairement y figurer.

    Lencodage par lattribut encoding Il permet dindiquer la reprsentation physique des caractres du fichier; afin

    dviter de coder chaque caractre spcial.

    Des commentaires Ils peuvent galement exister,

    Ils ne peuvent tre placs lintrieur dune balise et ne sont pas obligatoirement

    transmis lapplication.

  • 8/2/2019 Support Cours XML

    11/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Description dDescription dun document XMLun document XML

    Lattribut SDD (Standalone Document Declaration) :

    Il permet de dterminer si le document est autonome (ou autodescriptif). Si cenest pas le cas, cest quil fait rfrence une DTD (ou un schma XML)externe. Par dfaut, un document XML est considr comme autonome, puisquela DTD peut tre omise.

    Remarque : Les attributs version, encoding et standalone qui figurent dans la dclaration

    doivent y figurer dans cet ordre.

    Le prologue du document peut galement contenir une dclaration de type dedocument (DTD), pour spcifier des informations additionnelles sur celui-ci.

  • 8/2/2019 Support Cours XML

    12/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Description dDescription dun document XMLun document XML

    L'lment document est la seconde partie d'un document XML, correspond un lment unique, lment racine (comparable au en HTML) quipeut contenir d'autres lments de donnes. Un lment de donnes est un texte encadr par une balise de dbut et une

    balise de fin.

    Un lment de donnes peut tre enrichi par:

    dautres lments imbriqus (structure arborescente) dans le cas dinformation de typecomplexe (numrations, possde des proprits)

    des attributs dans le cas dinformation valeur unique de type simple (informationmonovalue)

    Nom de llment

    Attribut n1 Attribut n3Attribut n2

  • 8/2/2019 Support Cours XML

    13/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Description dDescription dun document XMLun document XML

    La syntaxe XML comprend des rgles strictes. Dans un document XML bien form, Il doit y avoir une balise racine (qui englobe toutes les autres, BIBLIO dans lexemple).

    Toute balise ouvrante doit tre associe avec une balise fermante, sauf llment sanscontenu (exemple: = ) .

    Il ne doit pas y avoir dentrelacement de balises : (syntaxe incorrecte).

    La casse (majuscules/minuscules) doit tre respecte (case sensitive).

    Les noms des attributs doivent tre nots en minuscule.

    Les valeurs des attributs doivent tre nots entre guillemets ou apostrophes.

    Les caractres "" ou des guillemets simples ou doubles peut galement tre perturbant.Dans ce cas, on a recours >, ' et ".

    Un nom doit commencer par une lettre ou par le caractre "_" et non par un chiffre ou

    un autre signe de ponctuation. Un nom ne peut pas commencer par la squence de lettres x m l, quelle quen soit la

    casse.

    Aucun espace aprs le caractre d'ouverture < ou avant le caractre de fermeture >

  • 8/2/2019 Support Cours XML

    14/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Description dDescription dun document XMLun document XML

    Le non respect des conditions prcdentes entranera systmatiquement une erreur.

    < date> 09 2007

    Soit le code erron suivant :

  • 8/2/2019 Support Cours XML

    15/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Description dDescription dun document XMLun document XML

    Le non respect des conditions prcdentes entranera systmatiquement une erreur.

    09 2007

    Aprs une premire correction (suppressionde lespace dans llment date) ;

  • 8/2/2019 Support Cours XML

    16/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Description dDescription dun document XMLun document XML

    Le non respect des conditions prcdentes entranera systmatiquement une erreur.

    09 2007

    Aprs une deuxime correction (ajout delencodage dans lentte) ;

  • 8/2/2019 Support Cours XML

    17/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Description dDescription dun document XMLun document XML

    Le non respect des conditions prcdentes entranera systmatiquement une erreur.

    09 2007

    Aprs une troisime correction (rectification du nom de llment de la balise defermeture), on aboutit au code correct.

  • 8/2/2019 Support Cours XML

    18/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Exercice : structuration des donnExercice : structuration des donnes en XMLes en XML

    Une bouteille d'eau Cristaline de 150 cl contient par litre 71 mg d'ions positifscalcium, et 5,5 mg d'ions positifs magnsium. On y trouve galement des ions ngatifscomme des chlorures 20 mg par litre et des nitrates avec 1 mg par litre. Elle est recueillie St-Cyr la Source, dans le dpartement du Loiret. Son code barre est 3274080005003 et sonpH est de 7,45. Comme la bouteille est sale, quelques autres matriaux comme du fer s'ytrouvent en suspension.

    Une seconde bouteille d'eau Cristaline a t, elle, recueillie la source d'Aurledans les Alpes Maritimes. La concentration en ions calcium est de 98 mg/l, et en ionsmagnsium de 4 mg/l. Il y a 3,6 mg/l d'ions chlorure et 2 mg/l de nitrates, pour un pH de 7,4.Le code barre de cette bouteille de 50 cl est 3268840001008.

    Une bouteille de mme contenance est de marque Volvic, et a t puise ...Volvic, bien connu pour ses sources donnant un pH neutre de 7. Elle comprend 11,5 mg/ld'ions calcium, 8,0 mg/l d'ions magnsium, 13,5 mg/l d'ions chlorures et 6,3 mg/l d'ionsnitrates. Elle contient galement des particules de silice. Son code barre est3057640117008.

    PS : Volvic est dans le Puy-de-Dme...

  • 8/2/2019 Support Cours XML

    19/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    XML:XML: eXtensibleeXtensible MarkupMarkup LanguageLanguage

  • 8/2/2019 Support Cours XML

    20/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    XML est un mta-langage de balisage. Plusieurs entits lui sont associespour permettre la mise au point, la lecture ou la visualisation de linformationstructure.

    Un processeur (ou parser) XML :

    un module logiciel recevant en entre un document XML, produisant en sortieune structure de reprsentation interne (graphe dobjets ou flux dvnements),vrifiant que les donnes sont bien formes.

    il permet de raliser linterface entre une application et un document XML. Lastructure produite est encapsule par une surface applicative standardise (API).

    deux types de parseurs; le parseur SAX et le parseur DOM.

    Parseur

    XML

    vnements

    ou objets

    Application

    APIDocument XML

    Traitement dun document XML par une application

  • 8/2/2019 Support Cours XML

    21/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    Le modle objet de document (DOM) : (standardis par le W3C) Produit un graphe dobjets en mmoire.

    dfinit des interfaces qui permettent daccder aux objets (lments) dundocument XML. Une interface propose des proprits et des mthodes pourchaque type dlment.

    reprsente un document XML sous la forme dun arbre charg en mmoire etfournit des interfaces permettant de le manipuler.

    a des interfaces indpendantes de tout langage de programmation; unavantage du point de vue de la standardisation mais un inconvnient car il nestpas optimis pour une langage particulier.

    Exemple de parseurs : MSXML de Microsoft, SDK de Oracle

  • 8/2/2019 Support Cours XML

    22/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    un arbre est form dune racine Document , de nuds internes (les lments ouattributs) et de nuds feuilles (contenant les valeurs dlment ou attributs).

    Mthodes daccs et de modificationdes informations du nud courant

    Mthodes de modification des fils dunud courant

    getNodeName() : retourne le nom

    getNodeType() : retourne le typegetNodeValue() : retourne la valeur

    getOwnerDocument(): retourne le nuddocument racine

    hasChildNodes(): retourne true si lenud possde un enfant

    setNodeValue(): change la valeur

    CloneNode() :copie un noeud

    insertBefore(Nouveau_Noeud,

    N

    ud_Reference) : insre un nouveau n

    udfils avant le nud rfrence dj existant

    Replace_Child(Nouveau_Noeud,Ancien_Nud) : remplace un noeud

    removeChild(Noeud) supprime le nud

    appendChild(Noeud): ajoute un nud la finde la liste des nuds.

    Interface Node

  • 8/2/2019 Support Cours XML

    23/165

  • 8/2/2019 Support Cours XML

    24/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    Exemple : Cration dun document avec DOM

    Soit lexemple suivant

    Jean

    Dupont

  • 8/2/2019 Support Cours XML

    25/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XMLPublic class ExempleDOM{

    Public static main (String argc[ ]) throws IOException, DOMException

    {XMLDocument xmlDoc = new XmlDocument();

    //cration des nuds

    ElementNode nom = (ElementNode) xmlDoc.createElement("nom");

    ElementNode prenom = (ElementNode) xmlDoc.createElement("prenom");

    ElementNode nomfam = (ElementNode) xmlDoc.createElement("nomfamille");

    //cration de larbre

    xmlDoc.appendChild(nom); nom.appendChild(prenom);

    prenom.appendChild(xmlDoc.createTextNode("Jean"); Nom.appendChild(nomfamille);

    Nom.appendChild(xmlDoc.createTextNode("Dupont");

    //positionnement d un attribut

    Nom.setAttribute ("Ville","Paris");

    //sortie

    System.exit(0);

    } }

  • 8/2/2019 Support Cours XML

    26/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    LAPI simplifie pour XML (Simple API for XML), ou SAX : est

    une alternative au DOM standardise par le groupe XML-DEV.

    adapte lanalyse de documents XML volumineux et est plus complexe mettre en place, car elle ncessite la connaissance de la programmation en Javaet linstallation dun parser et dun environnement de dveloppement spcifiques.

    ne prend pas en compte la structure d arbre dun document; des vnements

    sont renvoys chaque fois que le parseur rencontre une nouvelle balise. adapt lchange des donnes entre applications.

    SAX est une API lgre et rapide, ne construit pas limage de document enmmoire mais permet les traitements la vole.

  • 8/2/2019 Support Cours XML

    27/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    Document XML Parser

    FluxXML

    .

    Mthodesutilisateur

    vnement

    StartDocument

    vnement

    StartElement

    vnement

    endDocument

    Principe dun parseur SAX

    Types d'vnement : dbut et fin de document ; dbut et fin d'lments ; attributs, texte, .

  • 8/2/2019 Support Cours XML

    28/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

  • 8/2/2019 Support Cours XML

    29/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

  • 8/2/2019 Support Cours XML

    30/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    Les espaces de nommage (XML Namespaces xmlns )

    Objectifs :

    mlanger du vocabulaire XML provenant de plusieurs grammaires.

    viter les conflits entre des termes identiques ayant des significationsdiffrentes dans des domaines diffrents.

    identifier de manire unique les balises XML.

    Principe associer une URI (Uniform Ressource Identifier) au nom de llment.

    lURI peut tre fictive (non vrifie) et pointe (quand mme) sur la grammaire delespace de nommage.

    Exemple : dans le cas dune entreprise, le document XML associ peut comporterdeux sortes de noms, quil est important darriver diffrencier ; le nom de lentrepriseet les noms de ses personnels. La solution propose par xmlns est de dfinir les

    balises suivantes et .

  • 8/2/2019 Support Cours XML

    31/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    Le document XML associ lorganisation de lentreprise est :

    DocNum inc

    XX YY

  • 8/2/2019 Support Cours XML

    32/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    Utilisation de liens avec Xlink (XML Linking Langague) :

    une spcification qui permet de dcrire les liens entre les documents.

    deux types de liens :

    lien simple (xlink:type ="simple") tend la notion de lien HTML auxdocuments XML, avec des complments (possibilit de catgoriser les liens)

    lien tendu (xlink:type ="extended") permet de dfinir des liens pluscomplexes (liens pointant vers des ressources multiples (cas de sitesmiroirs))

    Exemple :

    Version HTML

    lien vers doc

    Version Xlink

    lien vers doc

  • 8/2/2019 Support Cours XML

    33/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    XML permet de crer des liens vers dautres documents mais aussi de pointer surune partie prcise dun document XML.

    Exemple : cas dun lien simple qui pointe sur lentre de lannuaire contenant lenumro de tlphone de Harry:

    Numro de tlphone de Harry dans lannuaire

    Requte Xpath ; Xpath est un langage dexpression dechemin pour adresser des parties des documents XML

  • 8/2/2019 Support Cours XML

    34/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    Exemple : cas dun lien tendu ; un tel lien se compose : dun lment racine caractris par lattribut xlink : type= extended

    des lments fils de type ressource , locator ou arc

    ressource et locator dfinissent les nuds; ils sont similaires saufque ressource sont de vritables nuds alors que locator permettent de rfrencier des nuds (attribut hrefen plus). arc dfinissent les arcs.

    La Capitale de la France

    href=" /ville/Marseille.xml" />

    href=" /ville/Lyon.xml" />

    420 km

    600 km

    900 km

  • 8/2/2019 Support Cours XML

    35/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    Le langage de feuilles de styles associ XML, XSL (Extended StyleSheetLanguage) :

    permet la mise en forme de documents XML.

    se compose des langages XPATH, qui permet la localisation des lments etdes parties dans un document XML (cest un langage de requte pour extrairedes donnes dun document XML), et XSLT (XSL Transformations), qui dfinit leformat de sortie du document. Lassociation dXSL un document XML permet

    de complter le couple donnes / mta-donnes dfini dans le document en luiassociant des informations de formatage. Il existe aussi un troisime langage,XSL-Formatting Objects, qui permet daller plus loin dans la compositiondocumentaire, en dcrivant notamment la structure physique des pages desdocuments gnrs.

    Les dclarations de type de document (DTD) ou les schmas XMLpermettent de dfinir la structure de linformation dcrite de faon plus oumoins approfondie. Lorsquun document XML est associ une DTD ou un schma XML et quil est conforme la description de linformationindique, on dit quil est valide.

  • 8/2/2019 Support Cours XML

    36/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les composants de XMLLes composants de XML

    Document XML

    DTD ouschma

    DTD ouschma

    ?

    Bienform?

    valide?

    Interprtation dudocument

    Message derreur/Document

    non-interprt

    Message derreur/Document

    non-interprt

    (Optionnel)

    nonoui

    non oui oui

    non

    Comment un document XML est interprt par le parser?

  • 8/2/2019 Support Cours XML

    37/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Grammaire XML:Grammaire XML:DTD etDTD et XMLXML--schschmama

    XML:XML: eXtensibleeXtensible MarkupMarkup LanguageLanguage

  • 8/2/2019 Support Cours XML

    38/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dfinition de type de document, donc une spcification du modle de donnesauquel appartient un document.

    Une DTD se place dans le prologue dun document XML.

    Pour quun document soit valid par une DTD, il faut : quil contienne une (et une seule) dclaration de type de document,

    quil fasse rfrence, de faon interne ou externe, une DTD dcrivant sastructure.

    Une DTD permet de vrifier quun document XML est conforme une syntaxedonne ( une grammaire).

    La norme XML nimpose pas lutilisation de DTD mais elle impose le respectexact des rgles de base de la norme XML.

    Une fois une DTD est associ un document XML, le parser est encharge de vrifier que le document obit aux rgles fixes par cette mmeDTD.

    DTD = Document Type Definition

  • 8/2/2019 Support Cours XML

    39/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Une DTD peut tre dfinie de 2 faons : Sous forme interne, incluant la grammaire dans le document.

    Sous forme externe, soit en appelant un fichier contenant la grammaire partirdun fichier local ou bien en y accdant par son URL.

    Une DTD dcrit : les lments du document XML, de faon arborescente, en partant de

    llment racine (mot-cl : ELEMENT), les attributs des diffrents lments, sous forme de liste (ATTLIST). les diffrentes entits auxquelles font rfrence les lments du document(ENTITY), les ventuelles notations, qui dclarent du contenu non XML, comme desdonnes graphiques ou binaires (mot-cl : NOTATION).

    DTD = Document Type Definition

  • 8/2/2019 Support Cours XML

    40/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les lments XML sont dfinis dans une balise . La syntaxe est :

    Le paramtre contenureprsente soit un type de donnes prdfini, soitun lment de donnes compos, constitu lui mme d'lments

    Types prdfinis:

    #PCDATA : dsigne des donnes textuelles qui seront traites par le parseur.Exemple : en DTD: et en XML : texte

    EMPTY : L'lment ne contient pas de donnes spcifiques.Exemple : en DTD : et en XML :

    ANY : L'lment peut contenir tout type de donne (contenu libre).

    Dclaration dlment simple

    NB: Il est impratif dcrire ELEMENT en majuscule.

  • 8/2/2019 Support Cours XML

    41/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dfinit une squence ou un choix dlment. Syntaxe spcifique avec oprateurs de composition dlments.

    Dclaration dlment compos

    (A,B)+Les parenthses permettent de regrouper des lments afin de leur appliquerles autres oprateurs.

    ( )

    A,BL'lment A doit tre prsent et suivi de l'lment B,

    A|BL'lment A ou B peut tre prsent (mais pas les deux)|

    A?L'lment peut avoir 0 ou 1 occurrence?A*L'lment peut avoir 0 N occurrences*

    A+L'lment doit avoir au moins une occurrence+

    ExempleSignificationOprateur

    NB: Lordre dans lequel sont dclars les diffrents composants dun lmentcomposite est trs important ; ces lments devront tre organiss en rapport aveccette dclaration, sinon le document XML sera non valide.

  • 8/2/2019 Support Cours XML

    42/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Le document annuaire.xml est valide par rapport la DTD annuaire.dtd

    Paul

    010200345

    Document XML pour une DTD externe

    annuaire.dtd

    ]>

    Paul

    010200345

    Document XML pour une DTD interne

    Dclaration dlment composExemple 1

  • 8/2/2019 Support Cours XML

    43/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Un lment NomPersonne est compos : Soit d'un sigle M, Mme, Mlle D'un prnom D'un 2me prnom Et d'un nom de famille

    Personne.dtd

    JohnEdouardMartin

    Personne.xml

    Dclaration dlment composExemple 2

  • 8/2/2019 Support Cours XML

    44/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Rdiger une DTD pour une Bibliographie. Cette bibliographie: contient des livres et des articles; les informations ncessaires pour un livre sont :

    son titre gnral; les noms des auteurs ; ses tomes et pour chaque tome, leur nombre de pages ;

    des informations gnrales sur son dition comme par exemple le nom delditeur, le lieu ddition, le lieu dimpression, son numro ISBN ;

    les informations ncessaires pour un article sont : son titre ; les noms des auteurs ; ses rfrences de publications : nom du journal, numro des pages, anne depublication et numro du journal

    on rservera un champ optionnel pour un avis personnel

    Dclaration dlment composExercice

  • 8/2/2019 Support Cours XML

    45/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration dattributs

    balise spcifie l'lment auquel est attach l'attribut

    Attributest le nom de l'attribut dclar

    Type dfinit le type de donne de l'attribut choisi parmi: CDATA pour des donnes textuelles. Valeur numre, liste de choix. Exemple (M | Mme | Mlle). ID sert d'identifiant unique pour cette instance d'lment. Deuxattributs de type ID ne peuvent donc pas avoir la mme valeur dansun mme document XML.

    IDREF rfrence une cl.

    Mode prcise le caractre obligatoire ou non de l'attribut #REQUIRED, #IMPLIED ou #FIXED

    Un attribut permet de complter un lment, cest une sorte dadjectif.

  • 8/2/2019 Support Cours XML

    46/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration dattributs

    #REQUIRED : l'attribut doit figurer dans chaque instance de l'lment

    #IMPLIED : l'attribut est facultatif

    #FIXED "valeur par dfaut" : l'attribut peut figurer ou non dans le document.S'il est prsent, il doit alors avoir la valeur "Edit-Corp" sinon le parseur peutfournir la valeur par dfaut.

    Une valeur par dfaut : l'attribut peut apparatre ou non dans le document.S'il est absent, le parseur peut fournir la valeur par dfaut. Si une valeur est

    dfinie, il peut tre n'importe quelle valeur figurant dans la liste ATTLIST.

  • 8/2/2019 Support Cours XML

    47/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration dattributs

    ]>MarieJeanPierreJulie

  • 8/2/2019 Support Cours XML

    48/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration dattributsExercice

    Modifier la DTD prcdente...

    - en ajoutant un attribut optionnel soustitre l'lment titre ;- en faisant de l'lment tome un lment vide et en lui ajoutant un

    attribut requis nb_pages et un attribut optionnel soustitre ;

    - en faisant de l'lment nom_journal un attribut de l'lment journalet en lui donnant comme valeur par dfaut Feuille de Chou ;- en faisant de l'lment annee un attribut de type numr, prenant

    comme valeurs possibles 2002, 2003, 2004, "avant_2002" et "inconnue" etproposant comme valeur par dfaut inconnue.

  • 8/2/2019 Support Cours XML

    49/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration dentits

    Entit dfinie dans le document

    Une telle entit sert en gnral d'abrviation pour des informations rptitives,de raccourci pour des noms longs

    rutilisable dans un document par simple appel &nom;

    ]>

    &cie;&imp;

    ]>

    Utilisation des entits Juste un exemple

  • 8/2/2019 Support Cours XML

    50/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration dentits

    ]>

    &MR;

    DUPONT

    Jean

    Monsieur

    DUPONT

    Jean

  • 8/2/2019 Support Cours XML

    51/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration dentits

    Entit dfinie lexterne

    Les entits dfinies l'extrieur des documents sont utilises de la mme faonmais sont dclares ainsi :

    ]>

    &chap1;&chap2;

  • 8/2/2019 Support Cours XML

    52/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration dentits

    Entits prdfinies

    Les entits prdfinies permettent l'utilisation de certains caractres sansqu'ils puissent tre confondus avec les caractres spciaux utiliss par lesdocuments XML pour le balisage.

    lt : caractre ''amp : caractre ''quot : caractre '"' (guillemet double)apos : caractre "'" (guillemet simple ou apostrophe)

  • 8/2/2019 Support Cours XML

    53/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration dentits

    Entit paramtre

    Ce type dentit permet la dclaration dun paramtre utilisable uniquement dansla DTD. La DTD doit tre externe au document pour pouvoir utiliser des entitsparamtres. Une entit paramtre se dclare et sutilise avec le signe %.

    180

  • 8/2/2019 Support Cours XML

    54/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Limites des DTD

    Expression de cardinalits limite Pas de nombre prcis doccurrences dun lment dans une grammaire

    XML : * (0 N), ? (0 ou 1), + (1 N)

    La structuration des DTD est crite avec une syntaxe particulirediffrente de la syntaxe XML. ncessit de se procurer dun outil spcifique pour dvelopper des DTD

    difficile interprter difficile traduire en schma objets

    Syntaxe des DTD trs limite un seul type des donnes est dfini : il sagit de PCDATA (du texte) Impossible de typer les donnes ou de poser des contraintes sur les

    valeurs (virgules flottantes, format de date, longueur dune chane)

    Propositions de complments Les schmas XML du W3C

  • 8/2/2019 Support Cours XML

    55/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Objectifs

    Un schma XML permet de dcrire les classes de documents XML. Il

    dfinit un ensemble de composants : La signification, lutilisation et les relations entre diffrents lments et leur contenu. les attributs et leurs valeurs Les types de donnes, les attributs associs ces donnes, les entits et les

    notations.

    Le schma XML est spcifi en XML pas de nouveau langage balisage de dclaration utilise un espace de nom xsd: (ou xs:)

    Prsente de nombreux avantages ditable avec un diteur XML classique sans faire appel des programmes ddis. abstraction faite sur la dfinition des diffrents lments (organisation des balises ou

    de leur contenu)

    possibilit de typer des donnes (types simples ou complexes). possibilit de dfinir des contraintes (domaines des valeurs, cardinalits, existence) plus riche et plus complet que les DTD.

  • 8/2/2019 Support Cours XML

    56/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Structure de base

    Comme tout document XML, un schma XML commence par un prologue et a unlment racine.

    lment racine

    Tout schma XML doit commencer par le prfixe xsd

  • 8/2/2019 Support Cours XML

    57/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Exemple

    Le document XML-Schma (entree.xsd)

  • 8/2/2019 Support Cours XML

    58/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Exemple

    Le document XML sans rfrence au espace de noms

    Jean-Claude 0123456789

    Le document XML avec rfrence au espace de noms

    < annuaire:nom> Jean-Claude

    0123456789

    L h XML C t

  • 8/2/2019 Support Cours XML

    59/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Concepts

    Les principales clauses de dfinition de schma sont les suivantes :

    qui permet dassocier un type un lment;

    qui permet dassocier un type un attribut ;

    qui permet de spcialiser un type de classe choisiparmi les multiples types de base ;

    qui permet de dfinir un type complexe comme unesquence, alternative ou un ensemble de types.

    L h XML D l ti dl t

  • 8/2/2019 Support Cours XML

    60/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlments

    Un lment dans un schma XML se dclare avec la balise .

    Llment contacts est un typedfini par lutilisateur

    Llment remarque est de typesimple prdfini de XML schma

  • 8/2/2019 Support Cours XML

    61/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlments

    La base dun schma XML: llment qui peut avoir un type:

    Simple si sa valeur a un type prdfini en XML-Schmaou une extension de ces types.

    Types primitifs: string, boolean, float, double, integer,

    Types drivs : drivent dun type primitif ou dun autre type driv. Ils sontobtenus par hritage soit par extension (ajout dlments) soit par restriction(ajout de contraintes).

    Complexe sil contient des sous lments ou sil comporte un attribut

    xsd:all : collection non ordonne d'lments typs

    xsd:choice : choix entre lments typs xsd:sequence : collection ordonne d'lments typs

    Les schmas XML : Dclaration dlments

  • 8/2/2019 Support Cours XML

    62/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlments

    Hirarchie des types prdfinis

    Les schmas XML : Dclaration dlments

  • 8/2/2019 Support Cours XML

    63/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlmentsTypes primitifs

    Les schmas XML : Dclaration dlments

  • 8/2/2019 Support Cours XML

    64/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration d lmentsTypes drives

    Les schmas XML : Dclaration dlments

  • 8/2/2019 Support Cours XML

    65/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration d lmentsTypes dfinis par restriction

    minlengthlengthmaxlengthpatternenumeration

    minInclusivemaxInclusiveminExclusivemaxExclusive...

    Booleannumberfloatdoubledate

    time...

    Fait appel une expression

    Les schmas XML : Dclaration dlments

  • 8/2/2019 Support Cours XML

    66/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration d lmentsQuelques exemples dexpressions

    A*B B, AB, AAB, AAAB, AAAAB

    [xyz]A xA, yA, zA

    A?B B, AB

    A+B AB, AAB, AAAB, AAAAB

    [A-C]y Ay, By, Cy

    C \s \d C suivi dun espace suivi dun dcimal

  • 8/2/2019 Support Cours XML

    67/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlments

    Spcification de type par restriction :

    < xsd: restriction base = "xsd:string ">

    < /xsd: restriction>

    Exemple 1: cas o le type nameType est dfini comme chane decaractres de longueur maximale 32.

    < xsd: restriction base = "xsd:string ">

    < /xsd: restriction>

    Exemple 2: cas dune expression SEQ forme par trois nombresdcimaux suivis par un tiret puis par deux majuscules.

    Cet attribut spcifie lenom de type dedonnes en cours dedfinition.

    Cet attribut spcifie lenom de type dedonnes primitif.

  • 8/2/2019 Support Cours XML

    68/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlments

    Spcification de type par extension :

    < xsd:complexContent >

    < xsd:extension base = "Adresse " >< xsd:sequence>

    < / xsd:complexContent >

    Exemple 1: cas de lajout de llment pays ladresse (cas dune base detype complexe)

    Les types spcialiss par extension sont appels contenus complexes et sont

    marqus par une balise < complexContent >. La clause introduit ce sous-typage avec en attribut le nom du type de base.

  • 8/2/2019 Support Cours XML

    69/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlments

    Spcification de type par extension :

    Exemple 2: cas de lajout de lunit de mesure la valeur donne (casdune base de type simple)

    Si on suppose que la valeur de mesure est un entier encadr entre 0 et 120 etque lunit de mesure peut prendre soit la valeur m soit cm alors onpeut dfinir les types simples ValeurMesure et UniteMesure comme suit :

    L h XML D l ti dl t

  • 8/2/2019 Support Cours XML

    70/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlments

    L h XML D l ti dl t

  • 8/2/2019 Support Cours XML

    71/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlments

    quivalent enDTD

    XML-Schma

    L h XML D l ti dl t

  • 8/2/2019 Support Cours XML

    72/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlments

    quivalent enDTD

    XML-Schma

    Les schmas XML : Dclaration dlments

  • 8/2/2019 Support Cours XML

    73/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Dclaration dlments

    lment aveccontenu nondfini

    lment aveccontenuvariable

    Type

    quivalent en DTDXML-Schma

    Les schmas XML : Dclaration dattributsDclaration simple

  • 8/2/2019 Support Cours XML

    74/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration simple

    La dfinition dattributs associs un lment se fait dans un lment qui possde les attributs suivants: Name : nom de lattribut

    Type : type de lattribut, par exemple xsd:string, xsd:boolean,

    Use : permet de prciser si lattribut est obligatoire ou optionnel. Valeurs possibles:required (obligatoire), optional (facultatif),

    Fixed ou default (valeur par dfaut)

    Exemple: . On souhaite modliser cet lmentdans un XML-Schma. Lattribut at1 est optionnel et a comme valeur par dfaut"a". Lattribut at2 est obligatoire et a comme valeur par dfaut "true" .

    Les schmas XML : Dclaration dattributsDclaration complexe

  • 8/2/2019 Support Cours XML

    75/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Dclaration complexe

    Lattribut choix peut prendre 3 valeurs: oui, non et ne sait pas.

    Les schmas XML : Rutilisation de type

  • 8/2/2019 Support Cours XML

    76/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Type simple avec restriction

    Type complexe (squence)

    Les schmas XML : Rutilisation de type

  • 8/2/2019 Support Cours XML

    77/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Une bibliothque contient au moins un livre

    Les schmas XML : Identifiant

  • 8/2/2019 Support Cours XML

    78/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les schmas XML : Identifiant

    Les schmas XML : Exercice

  • 8/2/2019 Support Cours XML

    79/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Reprenons lexercice prcdent sur les DTD mais cette fois-ci avec un schma. Onne dclarera pour le moment que le type de chanes de caractres. Rdiger un

    schma XML pour une bibliographie qui:

    contient des livres et des articles; les informations ncessaires pour un livre (lment livre) sont :

    son titre gnral (lment titre) ; les noms des auteurs (lment auteur) ; ses tomes (lment tomes) et pour chaque tome (lment tome), leur nombre depages (lment pages) ;

    des informations gnrales sur son dition (lment infoEdition) comme parexemple le nom de lditeur (lment editeur), le lieu ddition (lment LieuEdition), le lieu dimpression(lment LieuImpression), son numro ISBN(lment ISBN) ;

    les informations ncessaires pour un article (lment article) sont : son titre (lment titre) ; les noms des auteurs (lment auteur) ; ses rfrences de publications (lment infoPublication): nom du journal (lmentnomJournal), numro des pages (lment pages), anne de publication (lmentanneePublication) et numro du journal (lment numeroJournal) ;

    on rservera un champ optionnel, pour chaque livre et chaque article pour un avis(lment avis) personnel

    Les schmas XML : Exercice

  • 8/2/2019 Support Cours XML

    80/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Modifier le schma prcdent...

    Dclaration dattributs:- en ajoutant un attribut optionnel soustitre l'lment titre ;- en faisant de l'lment tome un lment vide et en lui ajoutant un

    attribut requis nbPages et un attribut optionnel soustitre ;- en faisant de l'lment nomJournal un attribut de l'lment infoPublication

    et en lui donnant comme valeur par dfaut Feuille de Chou ;

    Utilisation de types intgrs :- llment pages doit tre un entier positif, de mme pournumeroJournal

    Dclaration de types:- dfinir un type simple nomm numro ISBN, bas sur une restriction du

    type xsd: string, se limitant une chane de caractres compose de 10 chiffres.

    Les schmas XML : Exercice

  • 8/2/2019 Support Cours XML

    81/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Soit la DTD suivante :

    titre (M.|Mme |Mlle) # IMPLIEDsuffixe (Fils |Pere |Mere|fille) # IMPLIED

    >

    Reprsenter ces information selon le document XML Schma

    Les schmas XML : Rsum

  • 8/2/2019 Support Cours XML

    82/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Un type simple(i.e. xsd:string)

    ou le nom duncomplexTypemais pas les deux

    Dclarationdlment

    Nom dedlment Un entier

    non ngatif,valeur pardfaut 1

    Un entiernon ngatif ou unbounded valeur pardfaut 1

    Les schmas XML : Rsum

  • 8/2/2019 Support Cours XML

    83/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    ou

    Les schmas XML : Rsum

  • 8/2/2019 Support Cours XML

    84/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Un type simplexsd:stringxsd:integerxsd:boolean

    ...

    Dclarationdattribut

    Nom delattribut

    required(obligatoire)

    optional

    (optionnel)

    Lattribut use doittre optionnel pourdfinir lattribut

    default

    Les schmas XML : Rsum

  • 8/2/2019 Support Cours XML

    85/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    ou

    Les schmas XML : Rsum

  • 8/2/2019 Support Cours XML

    86/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    ComplexContent et SimpleContent dpendent du type de la base sur laquelle va treeffectue la restriction ou lextension- dans le cas dune base de type simple, il sagit de simpleContent- dans le cas dune base de type complexe, il sagit de complexContent.

    Y doit tre de type simpleX doit tre de type complexe

  • 8/2/2019 Support Cours XML

    87/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Mise en forme dMise en forme dunun

    documentdocument

    XML:XML: eXtensibleeXtensible MarkupMarkup LanguageLanguage

    Les feuilles de style CSS

  • 8/2/2019 Support Cours XML

    88/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    CSS : abrviation de Cascading Style Sheets (Feuille de style).

    CSS est un langage de description de styles. Il permet de spcifier dans une page web les polices de caractres

    utiliser, leurs attributs daffichage (gras, italique, soulign, taille,couleur), la couleur ou limage de fond, les formats de puces,

    Les CSS sont une solution pour sparer le contenu de la forme.

    Sparer le travail de la rdaction de celui de la prsentation. Les CSS assurent la cohrence graphique dun site.

    Plusieurs pages peuvent partager la mme feuille de style.

    La modification de la charte graphique dun site web est facilite parlutilisation des CSS. Seule la feuille de style est modifie. Maintenance et adaptation (aux diffrents priphriques daffichage et de

    sortie) sont facilites.

    Les feuilles de style CSS

  • 8/2/2019 Support Cours XML

    89/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Le C (Cascading) de CSS signifie quon peut dfinir des styles CSS en cascadedune manire similaire lhritage. Chaque nouvelle dfinition dun style CSS hrit vient le complter ou le redfinir. En cas de contradiction sur un aspect particulier, cest la dernire dfinition rencontre

    dans lordre des dclarations qui limporte.

    Les lments enfants hritent de certaines valeurs de leurs lments parentsdans l'arborescence du document. Chacune des proprits dfinit si elle est

    hrite, ou non. Supposons un lment (ici EM) dans un lment H1 : Le titre est important !

    Si aucune couleur n'est prcise pour l'lment EM, le mot accentu "est" hritera dela couleur de l'lment parent, ainsi l'lment H1 ayant une couleur bleu, EM le seragalement.

    Pour appliquer une proprit de style "par dfaut" un document, un auteurpeut l'appliquer la racine de l'arborescence du document. On peut utiliser les

    lments HTML ou BODY pour cet usage.

    volution des CSS

  • 8/2/2019 Support Cours XML

    90/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Le langage CSS a beaucoup volu et a intgr de nombreuses nouveautsau fur et mesure des rvisions successives.

    Les diffrentes versions officielles de ce standard sont les suivantes: CSS1 (level 1), recommandation depuis dcembre 1996. CSS2 (level 2), recommandation depuis mai 1998.

    CSS3 (level 3), en cours dlaboration.

    CSS1 et CSS2 sont supports par la plupart des navigateurs web (Microsft

    Internet Explorer, Nestcape Navigator, Mozilla,).

    CSS2 apporte de nombreuses fonctionnalits, notamment davantage definesse dans les rglages daffichage graphique, ainsi que la gestion du son.

    CSS3 (en cours) propose un support international encore mieux amlioravec une gestion de laffichage des langues arabes et chinoises ainsi que

    lintgration des dessins vectoriels (dcrire des formes gomtriques enXML).

    Syntaxe des CSS

  • 8/2/2019 Support Cours XML

    91/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Une rgle de style des CSS est compose :- dun slecteur,- et dau moins une dclaration.

    Exemple de rgle:

    h1 {color: #0000FF; font-family: Arial; font-size: 12px;}

    slecteur dclaration (compose dune proprit et de saValeur )

    h1 est le slecteur qui dfinit le style qui sera appliqu la balise html ,la dclaration attribue la couleur bleue et la police Arial de taille 12 au titre.

    Syntaxe des CSS

  • 8/2/2019 Support Cours XML

    92/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    La dclaration du style proprement dite est place entre desaccolades { }

    La proprit et sa valeursont spares l'une de l'autre par :

    Les expressions compltes contenant proprit et valeur sont

    spares par ;

    balise { proprit de style: valeur;proprit de style: valeur; }

    Il est possible de grouper plusieurs slecteurs ayant une rgle de

    style identique, spars par une virgule : h1, h2, h3 { color: red }

    Application des rgles de styles des CSS

  • 8/2/2019 Support Cours XML

    93/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Plusieurs manires :

    1. Grce une feuille de style intgre au document Celle-ci sera situe dans l'entte, entre les balises On utilisera alors la balise qui prvient le navigateur que des CSS

    sont utilises.

    style interne au document

    html, body { font-family: sans-serif; background-color: white }h1, h2 { color: blue }p {text-align: justify }

    Application des rgles de styles des CSS

  • 8/2/2019 Support Cours XML

    94/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    2. Grce l'attribut style : appel style en ligne- ajouter du CSS une balise donne

    Un style en ligne...

    3. En faisant appel une feuille de style externe : balise dansl'entte du document :

    appel une feuille de style externe

  • 8/2/2019 Support Cours XML

    95/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    La balise avertit le navigateur qu'il faudra raliser un lien.

    L'attribut rel=stylesheet prcise que le navigateur trouvera unefeuille de style externe.

    L'attribut type="text/css" prcise que l'information est du texte et detype cascading style sheets (css).

    L'attribut de lien href=" ... " donne le chemin d'accs et le nom du

    fichier lier.

    Quelques proprits des CSS

  • 8/2/2019 Support Cours XML

    96/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Pour les polices font-family:nom de la police; font-size:la taille; font-color:la couleur; font-weight:normal|bold|light;

    Pour lalignement du texte text-align:left|right|center|justify;

    Pour larrire-plan background-color:couleur; background-image:url|none;

    Pour les couleurs utiliser de prfrence la valeur hexadcimale (Exemple : #0033CC correspond

    la couleur bleue) La couleur peut galement tre appele par un nom prdfini tel red, blue,

    yellow

    CSS : ExempleLe document "style.css" contient:

  • 8/2/2019 Support Cours XML

    97/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Le document style.css contient:

    H1 {

    color: #FF0000 ;

    font-weight: bold ;

    text-align : center;

    }

    body {

    background: #FFFFFF ;

    font-size: 150% ;

    text-align : justify;

    }

    On redfinit la balise H1

    le fond dcran sera blanc

    le texte sera moiti plus grand

    le texte sera justifi

    le texte sera rouge

    en gras

    centr

    On redfinit la balise BODY

    CSS : ExempleLe document test.html contient:

  • 8/2/2019 Support Cours XML

    98/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    bonjourLes feuilles de style vous apportentl'option de sparer l'information

    sur vos pages, en modifiant leurprsentation.

    Rsultat avec lafeuille de style

    Rsultat sans lafeuille de style

    XML et CSS

  • 8/2/2019 Support Cours XML

    99/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Contrairement HTML, XML a t prvu pour contenir uniquement des donnes et des

    informations sur ces donnes (mta-donnes) mais aucune notion deprsentation.

    Les donnes XML ne sont jamais mlanges avec les informationspermettant de dterminer leur prsentation.

    Pour obtenir un affichage des donnes dans un document XML, ilest ncessaire dintroduire le concept de feuille de style. XML est un nouveau langage, faut-il galement crer un nouveau

    format de feuilles de style ou bien adopter un standard existant?

    XML et CSS : Exempletitre {

  • 8/2/2019 Support Cours XML

    100/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    display: block;

    width: 250px;

    font-size: 16pt ;

    font-family: arial ;

    font-weight: bold;

    background-color: red;

    color: white;

    }

    auteur {

    display: block;

    font-size: 12pt;

    padding-left: 10px;

    }

    editeur {

    display: block;

    font-size: 12pt;

    color: red ;font-weight: bold;

    }

    Initiation XML

    D.Hunter et al.

    Eyrolles

    XQuery

    P. Walmsley

    OReilly

    XML et CSS : Limites

  • 8/2/2019 Support Cours XML

    101/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    CSS a t initialement prvu pour la prsentation des documents HTML CSS propose donc uniquement des fonctions de mise en forme assez simples. pas de possibilit de filtres (en fonction de certains critres) et de tris, il faudrait donc

    que le fichier XML prsenter ne contienne que ce que lon souhaite afficher et dansle bon ordre.

    Mme dfauts que HTML :- Syntaxe non modifiable et non extensible

    - Syntaxe difficile normaliser- Difficults pour trouver des lments

    Solution : XSL (eXtensible Stylesheet Language) est un langage de feuilles destyles associ XML mais aussi un langage de transformation de documentXML (trier un document et/ou extraire uniquement linformation pertinente pour laprsenter).

    XSL est un langage plus performant ayant des possibilits plus tenduesque le langage CSS.

    XSL: eXtensible StyleSheet LangagueXSL est un langage XML constitu de deux parties :

  • 8/2/2019 Support Cours XML

    102/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    XSL est un langage XML constitu de deux parties :

    XSLT (XSL Transformation) : un langage pour transformer un fichier XMLen un autre fichier XML

    Les feuilles XSLT sont aussi des documents XML bien forms et valides :dclaration XML en premire ligne, dclaration de lencodage, rgles defermeture des balises, etc.

    Mais, bien qutant une application XML, il nexiste ni DTD ni schma caractre normatif pour dcrire formellement le langage.

    XSL-FO (XSL Formatting Objects) : un vocabulaire XML pour spcifier desinstructions de formatage (affichable ou imprimable en PDF par exemple).

    XSL-FO est une liste extensive de primitives de formatage de bas niveau: blocsde texte, marges, enchanements, entte, pied de page

    Exemple : est quivalent la balise en HTML est quivalent la balise en HTML

    Les deux parties XML sont complmentaires, mais indpendantes.

    Les feuilles de style XSLT

  • 8/2/2019 Support Cours XML

    103/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Une dclaration standard de feuille de style XSLT est la suivante.

    Cest lespace de nom qui contient les normes XSL

    Dans le fichier ".xml", il faut faire rfrence la feuille de style ".xsl" associe par:

    Les feuilles XSLT sont fondes sur des structures nommes modles(templates) Un modle spcifie ce qui doit tre recherch dans larbre source et ce qui

    doit tre plac dans larbre rsultat. Le contenu dun modle est encadr par une balise qui

    possde un attribut match.

    Le modle de dpart de toute feuille de style XSLT est associ la racine du document, dfini par .

    Les feuilles de style XSLT: ExempleBiblio.xsl

    Permet

    Balise pour dfinir ledbut de la feuille

  • 8/2/2019 Support Cours XML

    104/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Exemple value-of select

    Mes Livres

    Auteur :
    Titre :
    Editeur :
    Page :

    dutiliser/dinterprter les

    tags HTML

    sert appliquer un style un bloc de texte nonbalis

    permet de recopier la valeur textuelle d

    un noeud (lmentou attribut) spcifi par lattribut select. Il sagit duneexpression XPath value par rapport au noeud courant.

    Les feuilles de style XSLT: ExempleBiblio.xml

  • 8/2/2019 Support Cours XML

    105/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    D. Hunter, C.CAGLE, et alInitiation XMLEyrolles856

    Jean-Christophe Bernadac Construire une application XML EyrollesXXX

    Les feuilles de style XSLT: Exemple

  • 8/2/2019 Support Cours XML

    106/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Seul le premier noeudrencontr dans ledocument source estpris en considrationmalgr la prsencedautres noeuds

    Les feuilles de style XSLT: Exemple

    Biblio.xsl

  • 8/2/2019 Support Cours XML

    107/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Exemple value-of select

    Mes Livres

    Auteur :
    Titre :
    Editeur :
    Page :

    Permet de fairelaffichage deplusieurs lments la fois; traitementitratif chaquenud qualifiant

    Les feuilles de style XSLT: Exemple

  • 8/2/2019 Support Cours XML

    108/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les feuilles de style XSLT: ExempleBiblio.xsl

  • 8/2/2019 Support Cours XML

    109/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Utilisation dunmodle pourlaffichage;

    spcificationdes rgles deprsentation

    Exemple de sortie HTML

    Mes Livres

    Auteur :
    Titre :
    Editeur :
    Page :


    Les feuilles de style XSLT: TrisAffichera les lments classs par ordre alphabtique (croissant) de titres

  • 8/2/2019 Support Cours XML

    110/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Affichera les lments classs par ordre alphabtique (croissant) de titres

    Affichera les lments classs par ordre alphabtique (dcroissant) de titres

    Exemples dutilisation : Cas de lutilisation dun modle pour laffichage :

    Cas de lutilisation dun appel itratif sur un noeud donn

    Auteur :

    Titre :

    Les feuilles de style XSLT: Tris

  • 8/2/2019 Support Cours XML

    111/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Les feuilles de style XSLT: Filtrage

    Le langage XSL permet aussi de filtrer les donnes du fichier XML associ selon

  • 8/2/2019 Support Cours XML

    112/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    e a gage S pe et auss de t e es do es du c e assoc se o

    des critres comme gal (=), pas gal (!=), plus grand que (>), plus petit que ( 2]

    XPATH: Fonctions densemble

  • 8/2/2019 Support Cours XML

    141/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Exemple: /Animaux/ [count( )>=2]

    Name(node-set) : retourne le nom qualifi du premier nud de lensemblede nuds pass en argument Exemple: //Animaux/*[name()!="Chats"]

    Tous les nuds peuvent tre convertis en chane de caractres.

    Syntaxe: string(object)

    XPATH: Conversion des nuds en chanes

  • 8/2/2019 Support Cours XML

    142/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Syntaxe: string(object) retourne la chane correspondante, en fonction du type:

    Type de nud Rsultat

    Text La valeur du noeud

    Comment La valeur du noeud

    Attribute La valeur du noeudElement La concatnation des valeurs de nuds texte du contenu

    Document La concatnation des valeurs de nuds texte du contenu

    Namesapce La valeur du noeud

    Remarque: Ensemble de nuds, le premier nud seulement est converti

    XPATH: Conversion des nuds en chanes

    Exemple: string (/Animaux/*) retourne Lassie noir Mdor marron

    string(/Animaux) retourne Lassie noir Mdor marron Flix blanc Tom gris

  • 8/2/2019 Support Cours XML

    143/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    On peut effectuer des comparaisons, des oprations. Cela implique

    un typage et des conversions de type

    XPATH : Typage

  • 8/2/2019 Support Cours XML

    144/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    un typage et des conversions de type. Types XPath :

    les numriques (Comparaisons habituelles (, !=), Oprations (+, -, *,

    div, mod), la fonction number() qui permet de tenter une conversion )

    les chanes de caractres

    les boolens (true et false), pour les conversions des numriques : 0 ou

    NaN sont false, tout le reste est true, des chanes : une chane vide estfalse, tout le reste est true, des ensembles de noeuds : un ensemble

    vide est false, tout le reste est true

    enfin les ensembles de noeuds

    XPATH: Exercice

    th Ki l A i / th

    Utiliser le fichier XML suivant pourrpondre aux questions suivantes en

    utilisant le langage XPATH:

    Soit le fichier Awards.xml

  • 8/2/2019 Support Cours XML

    145/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Kingsley AmisThe Old Devils1986

    Margaret AtwoodThe Blind Assassin2000

    Peter CareyOscar and Lucinda1988

    J M CoetzeeDisgrace1999

    ut sa t e a gage1. Le deuxime livre dans la liste

    2. Lauteur du troisime livre

    3. Le titre du livre qui a gagn en 200

    4. Le nom de lauteur du libre intitul

    Disgrace 5. Le nom de tous les auteurs dont le

    livre a gagn depuis 1995

    6. Nombre total de prix discerns

    XML:XML: eXtensibleeXtensible MarkupMarkup LanguageLanguage

  • 8/2/2019 Support Cours XML

    146/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    XQueryXQuery

    Langage de requte pour XMLLangage de requte pour XML

    XML:XML: eXtensibleeXtensible MarkupMarkup LanguageLanguage

    Besoin dBesoin dun langage de requtes pour XMLun langage de requtes pour XML

    Si XML simpose comme standard dchange de donnes sur le web, ildevient naturel que les applications puissent exprimer leurs requtes surdes donnes au format XML.

  • 8/2/2019 Support Cours XML

    147/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    W3C a mis en place en octobre 1999, un groupe de travail pour laspcification dun langage de requtes pour XML. Nom propos pour celangage XQuery.

    Les langages de requtes existants ne peuvent pas tre utiliss sur lesdonnes XML. Classiquement, le langage de base de donnes est SQL. Les

    fonctionnalits de SQL sur les tables (collections de tuples) doivent donctre tendues pour permettre des oprations similaires sur les forts(collection darbres o chaque arbre est un document XML),

    Besoin dBesoin dun langage de requtes pour XMLun langage de requtes pour XML

    XQuery est un sur-ensemble de SQL :

    Les fonctionnalits de SQL sur les tables sont tendues pour supporter des

    oprations sur les arbres.

  • 8/2/2019 Support Cours XML

    148/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    p

    RequteSQL Recherchedinformation

    Structuredarbre

    XQuery

    XML versus Relationnel

    Structure htrogne/ Structure rgulire

    Mta-donnes disperses dans les donnes/ Mta-donnesspares

  • 8/2/2019 Support Cours XML

    149/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    pspares.

    lments imbriqus sur plusieurs niveaux/ Donnes plates

    Ordre intrinsque sur les lments/ Pas dordre sur les donnes.

    Donnes parses/ Donnes souvent denses (trs peu de trous)

    Absence dlment ou lments vides/ Valeur Null

    XQuery doit prendre en compte la spcifi des donnes XML. En XML, il est naturel de chercher de manire indpendante du niveau

    XQuery : principe

    Langage pour interroger les donnes (arbres) XML

    = requtes, plus pour interroger (et trouver des lments) que pourtransformer

  • 8/2/2019 Support Cours XML

    150/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    , p p g (transformer

    plus souple que XSL qui est plus une transformation darbre XML,mais utilisant tous les deux les expressions XPath

    XQuery est un langage de requtes complet qui permet :

    de crer des noeuds et de construire des arbres nouveaux,

    de dfinir et d'instancier des variables,

    de dfinir des fonctions, ...

    FonctionnalitFonctionnalits des de XQueryXQuery

    Projection darbres sur des sous-arbres. Il sagit dextraire des sous-arbresdes arbres de collections.

    Slection darbres et de sous-arbres en utilisant des prdicats sur lesvaleurs des feuilles Les prdicats classiques (= = > < !=) peuvent tre

  • 8/2/2019 Support Cours XML

    151/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    valeurs des feuilles. Les prdicats classiques (=, =,>,

  • 8/2/2019 Support Cours XML

    152/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    0142462375

    Absinthe

    10 quai Quarantaine Honfleur

    Fruits de mer Jean

    Marrakech

    Saint-Genevive

    Paris

    Ali Moussa

    Le Grand Htel

    Promenade M. Proust

    Cabourg

    14000

    guidenormand.xml

    guideXX.xml

    repertoirenormand.xml

    XQueryXQuery : Expression XPATH: Expression XPATH

    Lister les noms des restaurants du guide normand

    Document ("guidenormand.xml") //Restaurant/Nom/text()

    Retourne le nuddocument correspondantau documentguidenormand.xml

  • 8/2/2019 Support Cours XML

    153/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Cas dune requte applique un document et qui retourne, sous format texte,les noms des restaurants cits dans le document "guidenormand.xml".

    Ralisationaveclinterface IPSI

    NB: le documentguidenormand.xmldoit tre plac dansle rpertoireexamples/data

    Requte

    Rsultat

    XQueryXQuery : Expression XPATH: Expression XPATH

    Remarque : Document ("guidenormand.xml") //Restaurant/Nom

    retourne les noms des restaurants munis de leur balise.

  • 8/2/2019 Support Cours XML

    154/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Ralisationaveclinterface IPSI

    NB: le documentguidenormand.xmldoit tre plac dansle rpertoireexamples/data

    Requte

    Rsultat

    XQueryXQuery : Expression: Expression FlowerFlower(FLWR)(FLWR)

    Une requte FLWR est une expression de la forme for let

    where return applique une ou plusieurs collections darbresdfinies dans le bloc for permettant de retourner les arbres

  • 8/2/2019 Support Cours XML

    155/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    dfinies dans le bloc for permettant de retourner les arbresconstruits par le bloc return partir des arbres mmoriss par lebloc let et/ou slectionns par le bloc where.

    La forme gnrale dune requte FLWR :

    for $ in [, $ in ] //itrationlet $:= //assignationwhere //slectionreturn //construction

    XQueryXQuery : Expression: Expression FlowerFlower(FLWR)(FLWR)

    Exemple : lister le nom des restaurants de la ville de Cabourg du fichierguidenormand.xml :

    for $R in document("guidenormand xml")//Restaurant

  • 8/2/2019 Support Cours XML

    156/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    for $R in document( guidenormand.xml )//Restaurant

    where $R/Adresse/Ville="Cabourg"

    return $R/Nom

    Cette requte est une

    simple slection qui peuttre exprime directementavec XPATH

    document("guidenormand.xml")//Restaurant[Adresse/Ville="Cabourg"]/Nom

    XQueryXQuery : Imbrication de requtes: Imbrication de requtes

    Lister le nom des restaurants avec leur numro de tlphone dans la rue delhtel "Le Grand Htel"

    for $R in document("guidenormand.xml")//Restaurant,$H in document("repertoirenormand.xml")//Hotel

  • 8/2/2019 Support Cours XML

    157/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    where $H/Adresse/Rue= $R/Adresse/Rue and $H/Nom = "Le Grand Htel"

    return

    {$R/Nom/text() }

    {$R/Telephone/text() }

    XQueryXQuery : Imbrication de requtes: Imbrication de requtes

    Nom et adresse des restaurants deux toiles

    for $R in document("guidenormand.xml")// Restaurant

    where $R/@categorie= "**"

    return

  • 8/2/2019 Support Cours XML

    158/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    return

    {$R/Nom}

    {$R/Adresse//text() }

  • 8/2/2019 Support Cours XML

    159/165

    XQueryXQuery : Imbrication de requtes: Imbrication de requtes

    Pour chaque manager dans le guide, lister son nom et le nom de sesrestaurants, groups lintrieur dun lment Manage

    for $M in document("guidenormand.xml")// Restaurant/Managerreturn

  • 8/2/2019 Support Cours XML

    160/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    {$M}

    {document("guidenormand.xml")//Restaurant[Manager=$M]/Nom}

    XQueryXQuery : Calcul d: Calcul dagragrgatsgats

    Combien de restaurants y-a-t-il dans le document guidenormand?

    let $R :=document("guidenormand.xml")//Restaurant

    return { count($R)}

  • 8/2/2019 Support Cours XML

    161/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    return { count($R)}

    Cette requte peut tre exprimeplus simplement par application de

    la fonction count une expressionXPATH

    { count(document("guidenormand.xml")

    //Restaurant)}

    XQueryXQuery : Tri: Tri

    Trier par ordre alphabtique les noms des restaurants et afficher dans unebalise le nom du restaurant suivi de son adresse.

    for $R in document("guidenormand.xml")//Restaurant

  • 8/2/2019 Support Cours XML

    162/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    order by $R/Nom ascending

    return

    {$R/Nom}

    {$R/Adresse//text()}

    Exercice

    tant donne une table relationnelle avec des rsultats des lectionsprsidentielles de 4 bureaux de votes

    6589Dupond1Lyon69

    3398Toto1Lyon69

    VoixCandidatBureauNomVilleIdVille

  • 8/2/2019 Support Cours XML

    163/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    5167Dupond1Marseille634568Toto1Marseille63

    4532Dupond1Paris71

    3340Toto1Paris71

    4090Dupond2Lyon69

    5645Toto2Lyon69

    6589Dupond1Lyon69

    1. Donnez une reprsentation XML de cette table

    2. Donnez la DTD du document trouv en 1)

    3. Exprimez dans la DTD la contrainte que les deux seuls candidats sont Toto et Dupond.

    Exercice4. Traduisez les requtes SQL suivantes en utilisant des expressions XPATH :

    Select Bureau from votes

    Select voix from votes where ville= Lyon and candidat= Dupond

    Select ville from votes where candidat= Toto and voix>5000 Select A.Candidat from votes A, votes B

  • 8/2/2019 Support Cours XML

    164/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    where (A.voix>B.voix) and (A.ville=B.ville) and (A.bureau=B.bureau)

    5. Soit le programme XSLT suivant :

    Vote :

    / / /

    /

    Exercice

    Quel est le rsultat de lapplication de ce programme XSLT sur le document XML trouv en 1

    mailto:%3Cxsl:value-ofselect=%22../@num
  • 8/2/2019 Support Cours XML

    165/165

    ENIS 2008-2009

    Fadoua DRIRA HAMMAMI

    Quel est le rsultat de l application de ce programme XSLT sur le document XML trouv en 1.

    6. Donnez le rsultat de la requte XQuery

    for $a in //bureau, $x in $a/candidat, $y in $a/candidat[not [@nom=$x/@nom]]

    return if ($x/@voix>$y/@voix) then ($a/../@nomVille,$a/@num,$x/@nom)

    else ($a/../@nomVille,$a/@num,$y/@nom))

    7. Donnez pour chaque candidat son nom et la somme de ses voix.

    8. Donnez la requte XQuery qui donne le nom du vainqueur des lections