Les technologies XML - PowerPoint PPT Presentation

1 / 75
About This Presentation
Title:

Les technologies XML

Description:

Assurant un entretien ais . Intelligent. Facilit de mise en uvre de ... Assurant un d veloppement ais . 23. DEFINITION 1/2. eXtensible Markup Language ... – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 76
Provided by: lucgrac
Category:
Tags: xml | aise | les | technologies

less

Transcript and Presenter's Notes

Title: Les technologies XML


1
Les technologies XML
  • Cours 1 Introduction au langage XML
  • (XML, DTD, XML-Schema)
  • Janvier 2007

2
PRESENTATION DU COURS 1/2
  • 1 Introduction au langage XML
  • XML
  • DTD
  • XML-Schema
  • 2 Transformation de documents XML
  • XPath
  • XSLT
  • 3 Présentation de documents XML
  • XSL Fo
  • 4 Langages XML
  • Xquery
  • XMI
  • XUL

3
PRESENTATION DU COURS 2/2
  • 5 Les APIs XML
  • 6 XML et les architectures N-tiers
  • 7 Technologies liées à XML
  • EJB
  • Web Services
  • 8 Exemples dapplications de XML

4
SOMMAIRE DU COURS INTRODUCTION A XML
  • Rappel sur HTML
  • Problématique à lorigine de XML
  • (le W3C)
  • Caractéristiques et définition de XML
  • Applications de XML
  • Structure dun document XML
  • Spécifications du langage XML
  • Définitions de Types de Document (DTD)
  • XML-Schema
  • Conclusion DTD versus XML-Schema

5
Du HTML vers XML
  • Rappel du HTML
  • HTML langage de base pour la création des
    interfaces des services web.
  • Premier pas vers description de contenu

6
Eléments du HTML
  • Balises
  • Balises de structure du document
  • Balises de formatage
  • Balises de listes
  • Balises des hyperliens
  • Balises des images et des images maps
  • Balises de tableaux
  • Balises de formulaires
  • Balises des cadres
  • Balises de contenus executables
  • Balises possèdent des attributs

Ce rappel est loin dêtre exhaustif et ne donne
que des éléments nécessaires pour ce cours
7
Balisesde la structure (1)
  • ltHTMLgt lt/HTMLgt - balise obligatoire
  • ltHEADgt lt/HEADgt - contient les balises qui
    composent lentête du document
  • ltBODYgt lt/BODYgt - contient lensemble des contenus
    des balises qui composent le corp dun document
  • ltTITLEgt lt/TITLEgt donne un titre descriptif dun
    document, saffiche dans la barre de navigateur
  • ltSTYLEgt lt/STYLEgt - spécifie les propriétés du
    style relatives au document
  • ..

8
Premier exemple HTML
  • lt!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Tansitional//EN" "http//www.w3.org/TR/xhtml1/DTD/
    xhtml1-transitional.dtd"gt
  • lthtml xmlns"http//www.w3.org/1999/xhtml"
    lang"fr"gt
  • ltstyle type "text/css"gt
  • body font-family Helvetica
  • h2 font-family Arial color bluefont-size
    22px
  • h3 font-family Arial color bluefont-size
    16px
  • .reponse colorred font-weight bold
  • lt/stylegt
  • ltheadgt
  • ltmeta http-equiv"Content-Type"
    content"text/xhtml charsetiso-8859-1"/gt
  • lttitlegtTD1lt/titlegt
  • lt/headgt
  • ltbodygt
  • lth2gtPremier exemple HTMLlt/h2gt
  • ltol type"i" compactgt
  • ltligt lta href"installation"gtInstaller et
    configurer Tomcatlt/agtlt/ligt
  • ltligt lta href"td1"gtRéaliser une page html avec
    quelques contrôles Javascriptlt/agtlt/ligt
  • lt/olgt

9
Premier Exemple
  • ExHTML1.html

10
Balises de formatage(2)
  • 2. Balises de formatage
  •  Mélange du contenu et du style   du fond et
    de la forme 
  • ltBgt texte lt/Bgt, - texte en gras
  • ltfontgt texte ltfontgt,
  • ltBRgtlt/BRgt - saut de ligne
  • ltHRgtlt/HRgt - insertion dune ligne horisontale
  • Utiliser les feuilles de style CSS!
  • .

11
Exemple 2
  • lt!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Tansitional//EN" "http//www.w3.org/TR/xhtml1/DTD/
    xhtml1-transitional.dtd"gt
  • lthtml xmlns"http//www.w3.org/1999/xhtml"
    lang"fr"gt
  • lt--exemple 2 avec les elements de formattage en
    plus----/gt
  • ltstyle type "text/css"gt
  • body font-family Helvetica
  • h2 font-family Arial color bluefont-size
    22px
  • h3 font-family Arial color bluefont-size
    16px
  • .reponse colorred font-weight bold
  • lt/stylegt
  • ltheadgt
  • ltmeta http-equiv"Content-Type"
    content"text/xhtml charsetiso-8859-1"/gt
  • lttitlegtTD1lt/titlegt
  • lt/headgt
  • ltbodygt
  • lth2gtPremier exemple HTMLlt/h2gt
  • ltfont size7 color"red" face"Helvetica"gt
  • Quelques formatages locaux
  • Desapprouvés par W3C
  • lt/fontgt

12
Balises de liste (3)
  • HTML4.01 Listes de définitions, listes
    numérotées,listes à puces, compatibilité HTML3.2
  • ltli type  type de liste  start valeur
    initiale  compact value3gttextelt/ligt
  • OL listes numérotées,
  • ltol typei/a/ start valeur initiale 
    compact/gt
  • UL listes avec les puces
  • ltul type disc /  square /  circle 
    compact/gt

13
Exemple 3
  • .
  • ltbodygt
  • lth2gtPremier exemple HTMLlt/h2gt
  • ltli type"i" start 3 value4gtnous
    commensonslt/ligt
  • attributs sont sans effet
  • ltol type "a" compactgt
  • ltligt action1 lt/ligt
  • ltligt action2 lt/ligt
  • lt/olgt
  • ltol type"i" compactgt
  • ltligt lta href"installation"gtInstaller et
    configurer Tomcatlt/agtlt/ligt
  • ltligt lta href"td1"gtRéaliser une page html avec
    quelques contrôles Javascriptlt/agtlt/ligt
  • lt/olgt
  • ltol type"a" compact start 3gt
  • ltligt action3 lt/ligt
  • ltligtaction4lt/ligt
  • lt/olgt
  • ltul typedisc compactgt
  • ltligt Les actions sont à specifierlt/ligt

14
Balises dhyperliens(4)
  • ltagt
  • Deux fonctions
  • 1. associée à latribut HREF définit un hyperlien
  • 2.associée à lattribut  name  définit un ancre
    à lintérieur du document
  • - possibilité de naviguer dans des documents
    volumineux

15
Exemple 4
  • ..
  • ltbodygt
  • lth2gtBalises des hyperliens HTMLlt/h2gt
  • ltol type"i" compactgt
  • ltligt lta href"installation"gtInstaller et
    configurer Tomcatlt/agtlt/ligt
  • ltligt lta href"td1"gtRéaliser une page html avec
    quelques contrôles Javascriptlt/agtlt/ligt
  • lt/olgt
  • lthrgtlt/hrgt
  • ltfont size1 color blue face Arialgt
  • tttttttttttttttttltbrgt
  • tttttttttttttttltbrgt
  • ..
  • lt/fontgt
  • lthrgtlt/hrgt
  • lta name"installation"gtlt/agt
  • lth3gtNe rien faire pour le momentlt/h3gt
  • ltfont size1 color green face Arialgt
  • aaaaaaaaaaaaaaaaaaaaaltbrgt
  • aaaaaaaaaaaaaaaaaaaaaaaaaaaltbrgt

16
Balises de tableaux (6)
  • lttable align left/center/right 
    border épasseur  bgcolor couleur 
  • Width largeur en de fenêtre/pels
    cols nombre de colonnes 
  • lt/tablegt
  • Balises corrélatives
  • ltcaptiongt,lttheadgt, lttfootgt,lttbodygt,ltcolgroupgt,ltcol
    gt,lttrgt,ltth,lttdgt

17
Balises de tableaux(6)
  • ltcolgroupgt permet de définir des propriétés
    communes à un gourpe de colonnes
  • ltcolgroup span3 align center  valign top gt
  • lt/colgroupgt
  • lttrgt lt/trgt définit une ligne de tableau
  • lttdgt lt/tdgt définit une cellule à linterieur de
    tr
  • ltthgt lt/thgt de même
  • Attribut importan colspan
  • lttr align  left  colspan3gt.lt/trgt

18
  • .
  • ltbodygt
  • lth2gtTableau de HTMLlt/h2gt
  • lttable border 1gt
  • lttbodygt
  • lttrgt
  • lttd align"center"gtPremière colonne du premier
    groupe centrée lt/tdgt
  • lttd align"right"gtSeconde colonne du premier
    groupe alignée à droitelt/tdgt
  • lttd align"center"gtpremiere colonne du second
    groupe centréelt/tdgt
  • lttd align"center"gtseconde colonne du second
    groupe centréelt/tdgt
  • lt/trgt
  • lttrgt
  • lttd align"center"gt1.1lt/tdgt
  • lttd align"right"gt1.2lt/tdgt
  • lttd align"center"gt2.1lt/tdgt
  • lttd align"center"gt2.2lt/tdgt
  • lt/trgt
  • lt/tbodygt

19
PROBLEMATIQUE 1/2
  • Informations et documents dans lentreprise
  • Constat
  • Inflation du volume dinformations
  • Coût et difficulté
  • Difficultés à retrouver un document
  • Coût induit par la gestion de documents

20
PROBLEMATIQUE 2/2
21
W3C
  • Le WORLD WIDE WEB Consortium crée des standards
    pour le Web.
  • Le W3C en 7 points
  • Accès universel (internationalisation, web
    mobile)
  • Web sémantique (RDF, XML)
  • Confiance (signatures électroniques,
    collaboratif)
  • Intéropérabilité (consensus industriel)
  • Evolutivité (simplicité, modularité,
    compatibilité)
  • Décentralisation (systèmes répartis, tolérance
    aux erreurs)
  • Multimédia (SVG, SMIL)
  • Pour plus dinformations www.w3c.org

22
CARACTERISTIQUES
  • Richesse sémantique de SGML
  • Compatible SGML
  • Dédié au traitement des données
  • Soutenant une grande variété dapplications
  • Assurant un entretien aisé
  • Intelligent
  • Facilité de mise en uvre de HTML
  • Simple et lisible
  • Portable et facilement utilisable sur Internet
  • Assurant un développement aisé

23
DEFINITION 1/2
  • eXtensible Markup Language
  • Recommandation (norme) du W3C
  • Spécifiant un langage
  • Constitué dun ensemble déléments appelés
    balises
  • Utilisable pour créer dautres langages
  • 2 concepts fondamentaux
  • Structure, contenu et présentation sont séparés
  • Les balises ne sont pas figées

24
DEFINITION 2/2
  • Conséquences
  • XML est un format de document
  • XML est un format de données
  • XML est un mode de structuration de
    linformation
  • XML est un méta-langage

25
Exemple (1)
  • ltddgt Ma chanson (identification de la définition
    d'un terme)
  • ltulgt
  • ltligt par l'auteurlt/ligt
  • ltligt Producteur Dupondlt/ligt
  • ltligt Editeur Maison editionlt/ligt
  • ltligt Duree 620lt/ligt
  • ltligt Date 1978lt/ligt
  • ltligt Artiste Totolt/ligt
  • lt/ulgt
  • lt/bodygt
  • lt/htmlgt
  • ExHTML6.html

26
Exemple (2)
  • XML
  • ltSONGgt
  • ltTITLEgt Ma chanson lt/TITLEgt
  • ltCOMPOSERgt par lauteurlt/COMPOSERgt
  • ltPRODUCERgt Dupondlt/PRODUCERgt
  • ltEDITORgt Maison editionlt/EDITORgt
  • ltDURATIONgt 620lt/DURATIONgt
  • ltDATEgt 1978lt/DATEgt
  • ltARTISTgt Totolt/ARTISTgt
  • lt/SONGgt
  • Balises propriétaires compréhensibles à la
    profession, dérivation des langages proprétaires.
  • XML sépare le contenu de son aspect ( à la
    différence de HTML ou tout peut être mélangé)

27
APPLICATIONS 1/2
  • GED et Gestion de Contenu
  • GED traditionnelle statique, redondante,
    lourde
  • Apports dXML dynamique, cohérence,
    intelligence
  • EDI
  • Exploitation des données complexe, rigide
  • Apports dXML simplicité, flexibilité,
    intelligence

28
APPLICATIONS 2/2
  • Interopérabilité de SI hétérogènes
  • Architectures existantes complexité,
    dépendances
  • Apports dXML simplicité, flexibilité,
    indépendance
  • Commerce électronique
  • Exploitation de linformation complexe,
    statique
  • Apports dXML relation client personnalisée

29
STRUCTURE DUN DOCUMENT XML
30
SPECIFICATIONS DU LANGAGE XML
  • Résumé des spécifications
  • Un document doit commencer par une déclaration
    XML
  • Toutes les balises avec un contenu doivent être
    fermées
  • Toutes les balises sans contenu doivent se
    terminer par les caractères /gt
  • Le document doit contenir un et un seul élément
    racine
  • Les balises ne doivent pas se chevaucher
  • Les valeurs dattributs doivent être entre
    guillemets
  • La casse doit être respectée pour toutes les
    occurrences de noms de balise (MAJUSCULES ou
    minuscules).
  • Un document respectant ces critères est dit bien
    formé

31
PREMIERE FEUILLE DU STYLE CSS
  • XML comment définir laspect du document?
  • Premières solutions CSS, XSL
  • CSS Cascading Style Sheet héritage du HTML

32
Principes de CSS
  • Une Feuille de style CSS liste de règles,
    chacune indiquant les noms des éléments auquelles
    elles sappliquent et les paramètres de style qui
    doivent être utilisés.

33
Syntaxe 1/2
  • La syntaxe de base doit respecter le modèle
  • element propriété valeur
  • body color blue
  • p font-family arial
  • Il est possible de grouper les éléments lors
    dune définition
  • h1, h2, h3 colorgreen
  • La définition de classe permet daffiner un
    élément
  • element.classe propriété valeur
  • p.droit text-align right
  • Il ne peut y avoir quune classe par élément HTML
  • Dans la cas ou lon ne précise pas lélément de
    base de la classe celle-ci sapplique à tous les
    éléments HTML

34
Syntaxe 2/2
  • Il est possible de spécifier des règles ne
    sappliquant quà un seul élément en utilisant
    son id.
  • Le style peut sappliquer sur un élément
  • elementid propriété valeur
  • ppar1 font-family arial
  • Ou sur le premier id trouvé
  • id propriété valeur
  • par1 font-family arial

35
Utilisation 1/2
  • Les styles peuvent être définis
  • Dans un fichier à part, lié à laide de
    linstruction
  • ltheadgt
  • ltlink rel"stylesheet" type"text/css"
    href"ltfichier.cssgt"/gt
  • lt/headgt
  • Directement dans le fichier HTML
  • ltheadgtltstyle type"text/css"gt
  • P color blue
  • lt/stylegt
  • lt/headgt

36
Exemple de HTML/CSS
  • Fichier HTML
  • lt!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Tansitional//EN" "http//www.w3.org/TR/xhtml1/DTD/
    xhtml1-transitional.dtd"gt
  • lthtml xmlns"http//www.w3.org/1999/xhtml"
    lang"fr"gt
  • ltheadgt
  • ltlink rel"StyleSheet" href"styleEx7.css"
    type"text/css" media"screen"/gt - balise de
    structure ltlinkgt
  • ltmeta http-equiv"Content-Type"
    content"text/xhtml charsetiso-8859-1"/gt
  • lttitlegtExCSSlt/titlegt
  • lt/headgt
  • ltbodygt
  • lth2gtDefinition des chansonslt/h2gt
  • ltddgt Ma chanson (identification de la définition
    d'un terme)
  • ltulgt
  • ltligt par l'auteurlt/ligt
  • ltligt Producteur Dupondlt/ligt
  • ltligt Editeur Maison editionlt/ligt
  • ltligt Duree 620lt/ligt
  • ltligt Date 1978lt/ligt

Attribut rel Specifie la relation entre les
fichiers
37
Feuille de style
  • Fichier .css
  • body font-family Helvetica
  • h2 font-family Arial color bluefont-size
    22px
  • h3 font-family Arial color bluefont-size
    16px
  • li font-familyArial colorgreenfontsize 14px

38
Utilisation 2/2
  • 3. Directement dans la définition de lélément
  • ltp style"color redtext-align right"gt
  • La valeur réelle du style est lunion de toutes
    les définitions.
  • De plus une notion dhéritage existe ainsi la
    définition de body impacte les paragraphes

39
Priorité
  • Il existe des priorités dans lordre de présence
    des styles
  • Les styles définis dans un élément HTML sont les
    plus prioritaires
  • Ensuite viennent les éléments définis dans le
    head du fichier
  • Ensuite viennent les éléments définis dans une
    feuille de style externe
  • Ensuite viennent les styles par défaut du
    navigateurs

40
Pratique avancées 2/3
  • Les pseudos classes
  • Ce sont des classes prédéfinies ( active, hover,
    link, visited, first-child, lang)/
  • Elementpseudo-classe propriété valeur
  • alink color FF0000
  • avisited colorFFFF00
  • Les pseudos classes se combinent avec les classes
  • element.classepseudo-classe
  • a.redvisited color FFFFFF

41
XML CSS
  • Inconvénient de CSS
  • statique, ne permet pas de modifier la structure
    du document
  •  action à la façon de html 
  • Solution XSL XML style sheet
  • permet de modifier la structure par
    transformations XSLT.

42
Références
  • http//www.w3c.org/Style/CSS
  • http//www.w3schools.com/css
  • http//www.slackerhtml.com/CSS-Home.htm
  • http//www.websitetips.com/css/index.shtml

43
DEFINITIONS DE TYPES DE DOCUMENT 1/5
  • DTD Document Type Definition
  • La DTD fournit
  • la liste des éléments,
  • la liste des attributs,
  • des notations et
  • des entités du document XML associé ainsi que
  • les règles des relations qui les régissent.

44
DEFINITIONS DE TYPES DE DOCUMENT 2/5
  • La DTD est déclarée dans le document XML par la
    balise !DOCTYPE
  • Elle peut être
  • incluse dans le code source du fichier XML, ou
    DTD interne
  • lt!DOCTYPE élément-racine déclaration des
    élémentsgt
  • décrite dans un fichier externe, ou DTD externe
  • lt!DOCTYPE élément-racine SYSTEM
    "nom_fichier.dtd"gt

45
DEFINITIONS DE TYPES DE DOCUMENT 3/5
  • Exemple de DTD interne

46
DEFINITIONS DE TYPES DE DOCUMENT 4/5
  • Exemple de DTD externe reprise de lexemple
    précédent, en version DTD externe

47
DEFINITIONS DE TYPES DE DOCUMENT 5/5
  • La DTD contient
  • Une ou plusieurs définitions déléments
    introduites par la balise !ELEMENT
  • lt!ELEMENT nom-élément valeurgt
  • Une ou plusieurs listes dattributs introduites
    par la balise !ATTLIST
  • lt!ATTLIST nom-élément attribut type défautgt
  • Une ou plusieurs définitions dentité introduites
    par la balise !ENTITY
  • lt!ENTITY nom-entité "valeur"gt
  • ou
  • lt!ENTITY nom-entité SYSTEM "nom_fichier"gt

48
DTD ELEMENTS 1/4
  • Chaque balise dun document XML valide doit être
    déclarée à laide dun élément dans la DTD
    associée.
  • Un élément est défini par la balise !ELEMENT
  • lt!ELEMENT nom-élément valeur-élémentgt
  • Où
  • nom-élément est une balise du document XML
  • valeur-élément prend lune des trois formes
  • (contenu)
  • Déclaration dun élément à contenu explicite.
    Exemple
  • lt!ELEMENT sujet (PCDATA)gt
  • EMPTY
  • Déclaration dun élément vide. Utilisé en HTML
    pour les sauts
  • de ligne (BR), image, filet horizontal (HR) etc.
    Exemple
  • lt!ELEMENT br EMPTYgt
  • ANY
  • Déclaration dun élément pouvant contenir tout
    type
  • de donnée. Exemple
  • lt!ELEMENT note ANYgt

49
DTD ELEMENTS 2/4
  • Contenu explicite
  • Combinaison dun ou plusieurs items
  • Mot-clé PCDATA (Parsed Character Data) le
    contenu est une chaîne de caractères
  • Nom dun autre élément de la DTD
  • Chaque item peut être suivi par un caractère
    facultatif doccurrence
  • ? litem apparaît zéro ou au plus une fois
  • litem apparaît au moins 1 fois
  • litem apparaît zéro fois ou plus
  • Les items sont séparés par
  • Le caractère virgule  ,  si les 2 items sont
    tous deux inclus dans le contenu
  • Le caractère pipe    si le contenu est un
    choix entre les 2 items
  • Les items peuvent être regroupés à laide de
    parenthèses pour définir des ordres de priorité
    ou doccurrence

50
DTD ELEMENTS 3/4
  • Exemples

51
DTD ELEMENTS 4/4
  • Exemples

52
DTD ATTRIBUTS 1/3
  • Les balises ouvrantes et les balises vides
    peuvent contenir des couples nom-valeur des
    attributs
  • XML
  • ltGREETING LANGUAGE Englishgt
  • Hello everybody
  • lt/GREETINGgt
  • Les attributs possibles dun élément du document
    XML sont déclarés dans la DTD associée.

nom
valeur
53
DTD ATTRIBUTS 2/3
  • Déclaration dans la DTD par la balise !ATTLIST
  • lt!ATTLIST nom-élément nom-attribut type
    valeur-défautgt
  • Où
  • nom-élément est le nom dun élément défini dans
    la DTD par la balise !ELEMENT
  • attribut est le nom de lattribut présentement
    défini pour lélément nom-élément
  • type peut prendre lune des valeurs
  • CDATA la valeur correspond au contenu de
    lélément
  • (choix1choix2) la valeur doit être lune des
    choix énumérés
  • ID la valeur est un identifiant unique
  • ENTITY la valeur est une entité
  • valeur-défaut prend lune des valeurs
  • valeur valeur par défaut donnée à lattribut
  • REQUIRED attribut obligatoire, sans valeur par
    défaut
  • IMPLIED attribut optionnel, sans valeur par
    défaut
  • FIXED valeur valeur fixe

54
DTD ATTRIBUTS 3/3
  • Exemples
  • lt!ELEMENT GREETING (PCDATA)gt
  • lt!ATTLIST GREETING LANGUAGE CDATA Englishgt
  • Définition dun carré et de son attribut largeur
  • DTD
  • lt!ELEMENT carre EMPTYgt
  • lt!ATTLIST carre largeur CDATA 0gt
  • XML
  • ltcarre largeur100gt
  • Liste de moyens de paiement
  • DTD
  • lt!ATTLIST paiement moyen (especeschequeCB)
    CBgt
  • XML
  • ltpaiement moyenchequegt
  • lt!-- ... --gt
  • ltpaiement moyenCBgt

55
DTD ENTITES 1/3
  • Définition et rappel dune entité XML
  • Une entité est une variable utilisée pour définir
    du texte.
  • L'intérêt d'une entité consiste à pouvoir
    remplacer autant de fois que nécessaire dans le
    document XML l'entité par le texte qui lui est
    associé.
  • Dans le document XML, la référence à une entité
    est introduite par le caractère "" suivi du nom
    de lentité, et terminée par le caractère "". Il
    existe 5 entités prédéfinies en XML lt, gt,
    amp, apos et quot (caractères lt gt ' ")
  • Une entité est définie avec la balise !ENTITY, et
    dite
  • Interne si sa valeur est donnée dans la DTD
  • lt!ENTITY nom-entité "valeur"gt
  • Externe si sa valeur est fournie dans un fichier
    externe à la DTD
  • lt!ENTITY nom-entité SYSTEM "nom_fichier"gt

56
DTD ENTITES 2/3
  • Exemple de document XML avec DTD interne et
    entité interne "titre"
  • lt?xml version"1.0"?gt
  • lt!DOCTYPE introduction
  • lt!ENTITY titre "Introduction au language XML"
    gt
  • lt!-- . . . --gt
  • gt
  • ltintroduction gt
  • titre
  • lt!-- . . . --gt
  • lt/introduction gt

57
DTD ENTITES 3/3
  • Exemple de document XML avec DTD interne et
    entité externe "chapitre1"
  • lt?xml version"1.0" ?gt
  • lt!DOCTYPE livre
  • lt!ENTITY chapitre1 SYSTEM "chapitre1.xml"gt
  • gt
  • ltlivregt
  • lttitregtTitre du livrelt/titregt
  • chapitre1
  • lt/livregt
  • Contenu du fichier "chapitre1.xml"
  • lt?xml version"1.0" ?gt
  • ltchapitregt
  • lttitregttitre du chapitre 1lt/titregt
  • ltsectiongt1ère sectionlt/sectiongt
  • ltsectiongt2ème sectionlt/sectiongt
  • lt/chapitregt

58
DEFINITIONS DE TYPES DE DOCUMENT 1/2
  • Résumé des spécifications
  • Une DTD (grammaire) permet de déclarer
  • un type délément,
  • une liste dattribut dun élément,
  • une entité
  • Chaque balise du langage doit faire lobjet
    dune et dune seule déclaration
  • Un document XML est dit valide sil possède une
    DTD et si sa syntaxe est conforme aux règles de
    la DTD
  • Un document valide est obligatoirement bien
    formé

59
DEFINITIONS DE TYPES DE DOCUMENT 2/2
  • Espaces de nom
  • XML Namespaces est une recommandation permettant
    dutiliser le vocabulaire (les balises) de 2 DTD
    distinctes sans risque dambigüité.
  • Inconvénients des DTD
  • Une DTD est difficile à lire
  • Une DTD est non extensible (ce nest pas un
    document XML).
  • Une DTD ne permet pas de typer les données
  • Une DTD ne peut prendre en compte quun seul
    espace de nom (Namespace).

60
XML-SCHEMA 1/4
  • En réponse aux lacunes des DTD, une alternative a
    été proposée comme recommandation il sagit de
    XML-Data dont XML-Schema est un sous-ensemble.
  • Cette nouvelle norme achève de faire dXML un
    format pivot
  • La version 1.1 de XML Schema (datée de mai 2001)
    se compose de 3 normes
  • XML Schema tome 0 Introduction
  • XML Schema tome 1 Structures
  • XML Schema tome 2 Types de données

61
XML-SCHEMA 2/4
  • Les documents XML-Schema sont des documents
  • respectant la syntaxe XML,
  • permettant de décrire la structure dun document
    XML dune façon beaucoup plus complète que les
    DTD.
  • XML-Schema permet en effet de
  • spécifier la typologie des données que va
    contenir le document XML décrit par le
    XML-Schema,
  • gérer une quarantaine de types de données
    simples,
  • gérer des types complexes,
  • gérer les occurrences des données.

62
XML-SCHEMA 3/4
  • Exemple de document XML-Schema

63
XML-SCHEMA 4/4
  • Référence à un XML-Shema dans un document XML
  • Lespace de nommage xsi correspond aux instances
    de documents XML respectant les contraintes
    définies dans un document XML-Schema. Le W3C a
    défini une librairie de balises et attributs
    pouvant être utilisés par ces documents.

64
Constituantsdun XML-SCHEMA 1/8
  • Déclaration de lentête
  • Lélément ltxsdschemagt permet de déclarer un
    document XML-Xchema.
  • Lattribut targetNamespace permet de préciser
    lespace de nommage de ce type de documents.
  • Lattribut elementFormDefault précise si les
    documents XML respectant cette grammaire doivent
    référer à cet espace de nommage.

lt?xml version"1.0" encoding"ISO-8859-1"
?gt ltxsdschema xmlnsxsd"http//www.w3.org/2001/X
MLSchema"gt lt!--balise schema obligatoire --gt
65
Constituantsdun XML-SCHEMA 2/8
  • Déclaration des types de données
  • Il est possible de déclarer un type de données
  • soit dans la déclaration dun élément (local)
  • soit hors de la déclaration de lélément
    (global)
  • XML-Schema permet dutiliser des données
  • de type prédéfini (string, int)
  • de type complexe
  • dont le type est une restriction de type
  • dont le type est une extension de type

66
Constituants dun XML-SCHEMA 3/8
  • Déclaration des types de données
  • Types prédéfinis
  • byte, unsignedByte, hexBinary, integer,
    positiveInteger, negativeInteger, int,
    unsignedInt, long, unsignedLong, short,
    unsignedShort, decimal, float, double
  • string, NormalizedString, token
  • boolean, anyURI, language
  • time, dateTime, duration, date, gMonth, gYear,
    gYearMonth, gDay, gMonthDay
  • ID, IDREF, IDREFS, ENTITY, ENTITIES, NOTATIN,
    NMTOKEN, NMTOKENS
  • Exemple ltxsdelement name"comment"
    type"xsdstring"/gt

67
Constituants dun XML-SCHEMA 4/8
  • Déclaration des types de données
  • Types complexes
  • Exemple le type de données TypeAdresse se
    compose de 6 éléments Numero, Rue1, Rue2, Ville,
    CP et Pays

68
Constituants dun XML-SCHEMA 5/8
  • Déclaration des types de données
  • Restriction de type existant
  • Exemple le type de données string comprend 6
    attributs optionnels pattern, enumeration,
    length, minlength, maxlength, whitespace. Si on
    désire représenter un choix Oui/Non (restriction
    sur lattribut enumeration)

69
Constituants dun XML-SCHEMA 6/8
  • Déclaration des types de données
  • Extension / dérivation de type existant
  • Exemple si lon souhaite créer un type Personne
    contenant en plus du nom et du prénom, un élément
    de type Adresse (extension du type Adresse vu
    précédemment)

70
Constituants dun XML-SCHEMA 7/8
  • Déclaration des éléments

71
Constituants dun XML-SCHEMA 8/8
  • Déclaration des attributs

72
Conclusion DTD versus XML-SCHEMA
  • La DTD permet de définir facilement et rapidement
    des grammaires simples.
  • XML-Schema permet de définir de manière plus
    formelle et complète une grammaire mais cest au
    prix dune complexité accrue.
  • Un document XML-Schema respecte la syntaxe XML.
  • Un document XML-Schema est généralement plus
    volumineux et plus difficile à lire quune DTD
    (pour un opérateur humain).

73
Exemple de XML-XSD
  • lt?xml version"1.0" encoding"ISO-8859-1"
    standalone"no" ?gt
  • ltcave xmlnsxsi"http//www.w3.org/2001/XMLSchema-
    instance" xsinoNamespaceSchemaLocation'td2.xsd'gt
  • ltappellation id"01" nom"Saint Estèphe"gt
  • ltchateau id"0101"gt
  • ltnomgt Chateau Bellevuelt/nomgt
  • ltadressegt 12 Rue du Pontlt/adressegt
  • lttéléphonegt 0556124321lt/téléphonegt
  • lt/chateaugt
  • ltchateau id"0102"gt
  • ltnomgt Chateau Le Bernadotlt/nomgt
  • ltadressegt 21 Avenue du Cygnelt/adressegt
  • lttéléphonegt 0556324231lt/téléphonegt
  • lt/chateaugt
  • lt/appellationgt
  • lt/cavegt

74
XSD
  • lt?xml version"1.0" encoding"ISO-8859-1"?gt
  • ltxsdschema xmlnsxsd'http//www.w3.org/2001/XMLS
    chema'gt
  • ltxsdelement name"cave"gt
  • ltxsdcomplexTypegt
  • ltxsdsequencegt
  • ltxsdelement ref"appellation" minOccurs'1'
    maxOccurs'unbounded'/gt
  • lt/xsdsequencegt
  • lt/xsdcomplexTypegt
  • lt/xsdelementgt
  • ltxsdelement name"appellation"gt
  • ltxsdcomplexTypegt
  • ltxsdsequencegt
  • ltxsdelement ref"chateau" minOccurs'0'
    maxOccurs'unbounded'/gt
  • lt/xsdsequencegt
  • ltxsdattribute name"id" type"xsdinteger"
    use'required'/gt
  • ltxsdattribute name"nom" type"xsdstring"/gt
  • lt/xsdcomplexTypegt
  • lt/xsdelementgt

75
  • ltxsdelement name"chateau"gt
  • ltxsdcomplexTypegt
  • ltxsdsequencegt
  • ltxsdelement ref"nom" minOccurs'1'
    maxOccurs'1'/gt
  • ltxsdelement ref"adresse"/gt
  • ltxsdelement ref"téléphone"/gt
  • lt/xsdsequencegt
  • ltxsdattribute name"id" type"xsdinteger"
    use'required'/gt
  • lt/xsdcomplexTypegt
  • lt/xsdelementgt
  • ltxsdelement name"nom" type"xsdstring"/gt
  • ltxsdelement name"adresse" type"xsdstring"/gt
  • ltxsdelement name"téléphone" type"xsddecimal"/
    gt
  • lt/xsdschemagt
Write a Comment
User Comments (0)
About PowerShow.com