Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parYvette Baudet Modifié depuis plus de 9 années
1
Antoine Rizk, XML 2005 1 Le langage XML : fonctionnalités et standards associés Antoine Rizk
2
Antoine Rizk, XML 2005 2 La problèmatique n Création de l’information : 20% du PNB n 90% de l’information sont des documents n Traitement de texte et PAO traditionnels -30% du temps sur le formattage -30% du temps sur la recherche d’informations n La technologie change tous les 18 mois n US : nombre de documents produits/an = 92 Mds
3
Antoine Rizk, XML 2005 3 XML : Les besoins n Productivité n Réutilisabilité n Perrenité n Integrité n Partage n Portabilité
4
Antoine Rizk, XML 2005 4 Les origines 1960 1986 1992 1998 XML HTML SGML GM Internet WWW
5
Antoine Rizk, XML 2005 5 Historique n 1996 : un groupe de 80 experts SGML se réunit durant 11 semaines n Nov 1996 : 1er Draft XML du W3C à la conférence SGML à Boston n Fév 1998 : XML adopté par le W3C comme recommandation
6
Antoine Rizk, XML 2005 6 Rappel des concepts
7
Antoine Rizk, XML 2005 7 XML demain A partir du deuxième semestre de l’an 2000 : n le volume des données XML sera plus important que celui des données HTML. - Gartner Group n 47% des entreprises utiliseront XML n 47% des entreprises utiliseront Linux n 90% des entreprises utiliseront Java - Java Web Panel survey, IBM 12/98
8
Antoine Rizk, XML 2005 8 Generalised Markup n Generalised ou descriptive Markup -n’inclut pas les instructions de formattage -décrit uniquement le rôle logique d’un élément -le formattage est décrit séparément par une feuille de style \par Ce document est une introduction à XML ou bien Ce document est une introduction à XML
9
Antoine Rizk, XML 2005 9 Le balisage (Markup) Exemple RTF: \par\pard\sb240\sl-264\b0\hyphpar0 Ce document est une introduction à XML \parStarts a new paragraph \pardRestores the default paragraph properties \sb240Twelve-point space before the paragraph \sl-264Puts a 13.2 point space between lines. \b0Switches bold off \hyphpar0Switches off automatic hyphenation for the paragraph
10
Antoine Rizk, XML 2005 10 HTML n HTML 2.0, HTML 3.2 et HTML 4.0 sont des DTD SGML
11
Antoine Rizk, XML 2005 11 HTML n L'affichage de très longues pages -Frames, DIV, découpage en plusieurs pages n Contôle de la présentation -CSS n Les liens hypertextes -IMG, HREF n Un nombre prédéfini de balises
12
Antoine Rizk, XML 2005 12 HTML n La diffusion d'informations structurées -La charge sur le serveur -Aucune interprétation côté client problème de mise-à-jour de fragments de pages -Recherche d'informations pauvre n Format de données non perenne n Format d'échange de données nonretraitables
13
Antoine Rizk, XML 2005 13 Introduction à XML Petit exemple Antoine Rizk 11437398
14
Antoine Rizk, XML 2005 14 Documents bien formés A chaque balise ouvrante doit correspondre une balise fermante Balisage spécifique pour les éléments vides Les balises doivent s’imbriquer correctement Une racine doit exister Un élément ne peut avoir des attributs vides incorrecte correcte
15
Antoine Rizk, XML 2005 15 Documents valides Un document valide doit être bien formé ET se conformer à une grammaire (DTD)
16
Antoine Rizk, XML 2005 16 La DTD n Document Type Definition -Structure générique logique -Grammaire de la structure du document n Etablit les règles de structure de documents n Définit les noms d'éléments n Définit les relations entre éléments n Déclare les attributs ainsi que leurs types Document parser validant DTD erreurs sortie
17
Antoine Rizk, XML 2005 17 Exemple (1) M. Bonnard A. Rizk 4 Septembre 2000 Présentation XSL La présentation XSL suivra celle sur XML
18
Antoine Rizk, XML 2005 18 DTD memo <!DOCTYPE memo [ ]>
19
Antoine Rizk, XML 2005 19 DTD memo (2) <!DOCTYPE memo [ ]>
20
Antoine Rizk, XML 2005 20 Exemple (2) Un livre exemplaire Ceci est le chapitre 1. Pas très intéressant Ceci est le chapitre 2. Il est plus long, mais il n’est pas plus intéressant.
21
Antoine Rizk, XML 2005 21 DTD Book <!DOCTYPE Book [ ]>
22
Antoine Rizk, XML 2005 22 Un document est un arbre ceci est un fragment d'un livre cette note contient deux paragraphes un autre paragraphe chapitre titre note par ceci est un.. cette note.. un autre..
23
Antoine Rizk, XML 2005 23 Les parsers n Modèle événementiel (SAX) -Callback appelé pour chaque événement : -début balise, attribut, fin document etc.. n Peut être efficace sur les gros documents -L’arbre n’est jamais construit entièrement en mémoire
24
Antoine Rizk, XML 2005 24 Les parsers (API DOM) n Un modèle d’arbre est construit en mémoire (arbres abstraits) n L’application accède par API à l’arbre pour le manipuler n API DOM est normalisée (recommandation W3C)
25
Antoine Rizk, XML 2005 25 Limites d’une DTD n Un langage différent de celui des instances n Limité à la structure d’arbre, différent du modèle R n Pas de typage de contenu n Pas d’héritage => possibilité d’utiliser des schémas : XML-Schema
26
Antoine Rizk, XML 2005 26 Données/documents deptposte labo compta 322 456 postenom Rizk Courtaud 322 Parigot456 labo Rizk Courtaud LABO 322 RIZK,Courtaud
27
Antoine Rizk, XML 2005 27 Données ou documents ? ceci est un fragment d'un livre cette note contient deux paragraphes un autre paragraphe 123 G.Dupont J.Smith
28
Antoine Rizk, XML 2005 28 Les EIP Presentation Services Access and Integration Services Application Services Collaboration Services Classification Metadata Content Integration Personalization Security Network Messaging Workflow Application Integration System Management Annotations, Recommendations Access, Hosting Wrapping Multiple Style Sheets Virtual Documents Information Services Description, Search Docs Repositories
29
Antoine Rizk, XML 2005 29 Le “ Virtual XML Warehouse “ n Description, organisation et recherche dans des ressources hétérogènes Unique Point d’ Accès Archives Virtual XML Warehouse Documents Bases de données Web RDF
30
Antoine Rizk, XML 2005 30 Traitement XML n Parsing et traitement applicatif -import dans un SGBD n Regénération : export d’un SGBD n Fusion de données, génération d’arbre, transformation -XSL n Présentation -CSS, XSL
31
Antoine Rizk, XML 2005 31 XSL Transformer Sortie (x) FO Interpreter (x) FO Interpreter (y) Sortie (y) FO Interpreter (z) Sortie (z) Feuille de style XSL Source XML W3C XSL Résultat FO décembre, 1997 décembre, 1997 décembre, 1997... {\c6\f12\i décembre, 1997\par}
32
Antoine Rizk, XML 2005 32 Portail/ Serveur d’intermédiation Internet/Intranet Terminal XML Terminal HTML Terminal WAP XSL XML + XSL SGBDR SGBDO Fichiers XMLXML
33
Antoine Rizk, XML 2005 33 XML+XSL SGBD-R labo compta 322 456 SGBD-O Rizk Israel 322 Parigot456 labo Rizk Israel Données XML Plus feuilles XSL Internet/Intranet Terminal XML Terminal HTML Terminal HTML/XML
34
Antoine Rizk, XML 2005 34 XML + XSL architecture type Browser HTML/XML: CSS / XSL XSL Serveurs HTTP Middle-tier XML OO XML Repository R-DBMS XML+HTMLXML R- DBMS GXMLGXML SQL Traitement de requêtes XSL ou DOM côté serveur XML-QL XSL côté client
35
Antoine Rizk, XML 2005 35 Ex. 2 : ré-ingénierie de données R-DBMS-1DBMS-2(IR)DBMS-3 XML XML statique Processeur XSLT Feuille XSLT XML données fusionnées Script python DB-RESULTAT DB2XML Impression catalogue Transformations (scripts)
36
Antoine Rizk, XML 2005 36 Les limites n XML reste au niveau syntaxique n Pas de typage n Pas de sémantique n Pas de relations/rôles entre concepts n => n Les liens hypertextes : XLL (Xlink+Xpath) n Les métadonnées : RDF spec et RDF schema n Les schémas typés : XML-Schema n Les topic maps
37
Antoine Rizk, XML 2005 37 Liens simples Document B Document A Link element Link resource
38
Antoine Rizk, XML 2005 38 Xpath Document B Document A
39
Antoine Rizk, XML 2005 39 Liens étendus Document B Link elements Document A
40
Antoine Rizk, XML 2005 40 Liens étendus “out of line” Link elements Document C Document B Document A
41
Antoine Rizk, XML 2005 41 L’enjeu n Définir une ontologie par domaine n Organiser les schémas de navigation n DTD + concepts + roles + sémantique = ontologie n ontologie + thesaurus = RDF schema n RDF schema => RDF specifications => métadonnées n Augmenter le taux de précision n Diminuer le taux de rappel
42
Antoine Rizk, XML 2005 42 L’évolution documentaire ASCII, JPEG, MPEG... XML,XSL XQL,XLL, SMIL... Formats monomédia Structure syntaxique Structure sémantique RDF Ontologie, Thesaurus Intermédiation Production Publication
43
Antoine Rizk, XML 2005 43 Intégration par les Métadonnées Ontologies Vocabulaires Description de ressources Métadonnées Données Informations et Ressources Organisation des Connaissances
44
Antoine Rizk, XML 2005 44 L’état actuel n XML : recommandation 10 fév 1998 n DOM : DOM1 (1er oct 1998), DOM2 (recommandation nov 00), DOM3.. n Xlink : recommandation 27 Juin 2001 n Xpointer : WD 16 août 2002 n SVG 1.1 : Recommendation 14 janv 2003 n SMIL 2.1 : recommandation 13 déc 2005 n XSLT + Xpath : recommandation 16 nov 1999 n XSLT2 : candidate recommendation on June 2006 n XSL FO : recommendation 15 oct 2001 n MathML : V1 (recommandation Avr 1998), V1.1 (Juil. 99), V2 (WD) n XML Schema, XMLQuery n RDF : Model&syntax (recommandation fév 1999), Puis 10 fév 2004 n XHTML n Xforms : Recommendation 14 Mars 2006
45
Antoine Rizk, XML 2005 45 L’interopérabilité n Sémantique : -ontologies (ex. ICOM/CIDOC), thesaurus (ex. ULAN, TGN, AAT), métadonnées (ex. CIMI/Aquarelle Z39.50 profile) -Resource Description Framework (RDF) n Structurelle : -DTDs, XML Schema n Syntaxique : -XML, XLL,... n Fonctionnelle : -XPath, XQuery, XSL,...
46
Antoine Rizk, XML 2005 46 Core Architecture Query Engine Session Manager URL Resolver Metadata Store Painter Museum Painting XML Wrapper Resources XML Logical Middle Tier CWEB/Application Server Other docs news, reports on the Intranet e.g. mails, Well-formed XML docs on the Web XML XML enabled DBMS Client Tier Schema Generator RDF/XML Loader XML/XSL Processor Resource Description Interface Query Browsing Interface Artist XML/XSL Middleware APIs http Artist URL RDF/XML Schema RDF/XML Descriptions
47
Antoine Rizk, XML 2005 47 Pour aller plus loin.. www.w3.org www.xmlfr.org www.oasis-open.org/cover Livre : A.Michard (chez Eyrolles)
48
Antoine Rizk, XML 2005 48 ZOOM sur XML
49
Antoine Rizk, XML 2005 49 Les éléments ceci est un fragment d'un livre cette note contient deux paragraphes un paragraphe un autre paragraphe start-tag end-tag sensible à la casse start-tag=end-tag < = < > = > mixed content empty element data content
50
Antoine Rizk, XML 2005 50 Créer des spans (étendus) ceci est un fragment d'un livre cette note contient deux paragraphes un paragraphe un autre paragraphe
51
Antoine Rizk, XML 2005 51 Les attributs 123 G.Dupont J.Smith AttName/Attvalue sensibles à la casse Attvalue peut contenir des espaces " ou ' mais pas les deux à la fois ex. ou bien " pour le " ' pour le ' l'omission du nom d'attribut n'est pas permise
52
Antoine Rizk, XML 2005 52 Les attributs réservés n Xml:lang this is English text..lift.....elevator... code ISO 639 code ISO 3166 code IANA Internet Assigned Numbers Authority défini par l'utilisateur
53
Antoine Rizk, XML 2005 53 Attributs ou éléments? n Attributs quand : -Typage est nécessaire -Information ne fait pas partie du contenu (ex. version)
54
Antoine Rizk, XML 2005 54 Les attributs réservés n Xml:space -deux valeurs possibles : 'preserve' et 'default' cette note contient deux paragraphes un paragraphe un autre paragraphe cette note contient deux paragraphes un paragraphe un autre paragraphe
55
Antoine Rizk, XML 2005 55 Les déclarations (1) Instructions au parser/XML processor Forme simple : Forme groupée : <!... [ ]>
56
Antoine Rizk, XML 2005 56 Les déclarations(2) n ou <!DOCTYPE myDTD [ définition de la DTD ici ]> n n Character data section est une balise XML. < remplace le n
57
Antoine Rizk, XML 2005 57 Processing instruction un saut de page ici serait bien
58
Antoine Rizk, XML 2005 58 La déclaration XML Les attributs sont optionnels Les valeurs ci-dessus sont les valeurs par défaut
59
Antoine Rizk, XML 2005 59 Les entités Document Entité A Entité B Le document entier = 3 entités : Le document entity (sans nom) Entité A Entité B
60
Antoine Rizk, XML 2005 60 L'usage des entités n Eviter la duplication de certaines informations (factorisation) n Différenciation des informations pour des plateformes incompatibles n Diviser des gros documents en unités gérables n Utilisation de données non XML
61
Antoine Rizk, XML 2005 61 La DTD n Document Type Definition -Structure générique logique -Grammaire de la structure du document n Etablit les règles de structure de documents n Définit les noms d'éléments n Définit les relations entre éléments n Déclare les attributs ainsi que leurs types Document parser validant DTD erreurs sortie
62
Antoine Rizk, XML 2005 62 La DTD n External subset vs. Internal subset Internal subset External subset document instance
63
Antoine Rizk, XML 2005 63 Structure de la DTD n Ensemble de déclarations au format n selon 4 classes -ELEMENT -ATTLIST -ENTITY -NOTATION
64
Antoine Rizk, XML 2005 64 Document type declaration <!DOCTYPE mybook [... ]> <!DOCTYPE mybook SYSTEM "/mydir/DTDS/mybook.dtd" [... ]> partie externe lu en premier déclaration retenue
65
Antoine Rizk, XML 2005 65 Les éléments nom modèle de contenu model group alphanumérique. - _ : ex: P, X:2, A-3
66
Antoine Rizk, XML 2005 66 Modèle de contenu connecteur de séquence connecteur de choix indicateurs d'occurence
67
Antoine Rizk, XML 2005 67 Le texte contenu mixte
68
Antoine Rizk, XML 2005 68 Les ambiguités (item?, item) à remplacer par (item, item?) ((nom,prof) | (nom,eleve)) à remplacer par (nom, (prof | eleve) )
69
Antoine Rizk, XML 2005 69 Les entités n Internal entities function as typing shortcuts or macros. Internal entities n External entities allow you to incorporate content from other files. External entities n Parameter entities, which can be internal or external, are only available within the internal and external subsets (the DTD). Parameter entities Internal Entities : remplacement d’un texte déclaré dans la DTD Forme suivante: Ex: Remplacement de texte dans l’instance par &yoyo;
70
Antoine Rizk, XML 2005 70 Entités (suite) n External Entities : référence à du texte XML ou autre notation dans un fichier externe. D’où usage de SYSTEM -system identifier est une URI, souvent un nom de fichier. Le public identifier, s’il est présent, peut être utilisé comme raccourci vers la ressource externe par certains parsers.URI Ex: -&chap1; Incorpore le contenu du fichier chap1.xml n n Ex: -GIF doit être déclaré comme NOTATION (voir plus loin)
71
Antoine Rizk, XML 2005 71 Entités (suite) n Parameter entities n Le fichier dans URI ne peut qu’être XML. Pas une notation autre.
72
Antoine Rizk, XML 2005 72 Entities : qqes infos n External entities can be further classified as either "parsed" or "unparsed". Entities which refer to external files that contain XML are called "parsed entities;" entities which refer to other types of data, identified by a notation, are "unparsed." n The parser inserts the replacement text of a parsed entity into the document wherever a reference to that entity occurs. It is an error to insert an entity reference to an unparsed entity directly into the flow of an XML document. Unparsed entities can only be used as attribute values on elements with ENTITY attributes.ENTITY attributes n Unparsed entities are used most frequently on XML elements that incorporate graphics into a document.
73
Antoine Rizk, XML 2005 73 Entities <!DOCTYPE doc [ <!ATTLIST graphic image ENTITY #REQUIRED alt CDATA #IMPLIED > ]> The following element incorporates the image declared as "mypicture": Le nom de l’entité Référence à l’entité
74
Antoine Rizk, XML 2005 74 Déclarations d'attributs Exemple <!ATTLISTchapitre nivsecurite CDATA dateCDATA version NMTOKEN type (corps | annexe) >
75
Antoine Rizk, XML 2005 75 Les types d'attributs n CDATA -chaîne de caractères (équiv.DTD absente) - n NMTOKEN, NMTOKENS - n ENTITY, ENTITIES
76
Antoine Rizk, XML 2005 76 Les types d'attributs n ID, IDREF, IDREFS voir chapitre 2 pour plus d'info etc etc
77
Antoine Rizk, XML 2005 77 La valeur par défaut <!ATTLIST aatt1NMTOKEN #REQUIRED att2NMTOKEN#IMPLIED att3NMTOKEN"A4" att4(x | y)"y" att5NMTOKEN>
78
Antoine Rizk, XML 2005 78 Déclaration de NOTATION SYSTEM
79
Antoine Rizk, XML 2005 79 Les types d'attributs n NOTATION main() {....} n NAME GROUP
80
Antoine Rizk, XML 2005 80 Référence à une NOTATION A l'aide d'une entité je mets le logo ici &logoEVE; A l'aide d'un attribut main() {....} gcc 2 4 3 1
81
Antoine Rizk, XML 2005 81 La DTD n Internal subset External subset standalone = "yes" standalone="no"
82
Antoine Rizk, XML 2005 82 XPath
83
Antoine Rizk, XML 2005 83 Arbre XML Boris Vian L'automne à Pékin Voyage en Exopotamie Amadis Dudu suivait... Il y avait du soleil...
84
Antoine Rizk, XML 2005 84 self parent Ancestor -or-self ancestor following following- sibling preceding- sibling preceding child descendant descendant-or-self
85
Antoine Rizk, XML 2005 85 Le vocabulaire XPath n Exprime la notion d'axe : parent, enfant, ancêtre, descendant pour identifier des sous-ensembles de noeuds au sein d'un document XML. n Permet d'exprimer des conditions dans la sélection des noeuds d'un document XML, ce sont les predicats, n Expression formelle d'une requête Xpath : axe::noeud[predicat]
86
Antoine Rizk, XML 2005 86 Xpath un langage orienté contexte n La syntaxe axe::noeud[prédicat] est répétable à la manière de la notation d'un système de fichier : -Le séparateur est le / -Chaque expression est dépendante du résultat (ensemble de noeuds ou NodeSet) de la précédente
87
Antoine Rizk, XML 2005 87 Xpath un langage orienté contexte n Un axe est une direction dans le document, il pose la base de la requête en pré-sélectionnant le premier sous-ensemble de noeuds XML à tester, n Puis vient l'expression du/des noeud(s) qui peut avoir deux formes dans la requêtes : -Générique : *, child -Explicite : le nom du noeud XML lui-même.
88
Antoine Rizk, XML 2005 88 Xpath un langage orienté contexte n Quelques axes : -Parent, child -Descendant, descendant-or-self -Ancestor, ancestor-or-self -Following, following-sibbling -Preceding, preceding-sibbling
89
Antoine Rizk, XML 2005 89 Xpath un langage orienté contexte n Il existe une syntaxe simplifiée qui permet d'exprimer des chemins d'une manière plus condensée, n Rapprochement encore plus fort vers la syntaxe de type « Système de fichiers » n Attention cependant, il est préférable de l'utiliser dans un contexte relatif
90
Antoine Rizk, XML 2005 90 Xpath un langage orienté contexte n Les expressions précédentes peuvent s'écrire aussi : -..* -//* -../.. ainsi de suite pour remonter au noeud ancêtre
91
Antoine Rizk, XML 2005 91 Xpath un langage orienté contexte n Un prédicat est une condition à satisfaire afin de rendre le contexte valide, n S'exprime entre crochets juste après l'expression du noeud n Permet de filtrer les noeuds : -Par leur nom, -Leur attribut, -Par leur valeur n Grace à des fonctions/opérateurs classiques
92
Antoine Rizk, XML 2005 92 Exemples de requêtes XPath n child::para ● Element para, enfant du noeud courant n child::* ● Tous les noeuds enfants du noeud courant n child::text() ● Tous les noeuds de type textuel enfants du noeud courant
93
Antoine Rizk, XML 2005 93 Exemples de requêtes XPath n child::node() -Tous les noeuds enfants du noeud courant quel que soit leur type n attribute::name -Selectionne l'attribut du noeud courant nommé name n Attribute::* -Tous les attributs du noeud courant
94
Antoine Rizk, XML 2005 94 Exemples de requêtes XPath n descendant::para -Tous les elements para, descendants du noeud courant n ancestor::div -Tous les elements div, ancetres du noeud courant n ancestor-or-self::div -Tous les elements div, ancetres du noeud courant et lui meme eventuellement
95
Antoine Rizk, XML 2005 95 Exemples de requêtes XPath n descendant-or-self::para -Tous les elements para descendants du noeud courant n self::para -Sélectionne le noeud courant s'il se nomme para n child::chapter/descendant::para -Tous les noeuds para descendants des noeuds chapter enfants du noeud courant
96
Antoine Rizk, XML 2005 96 Exemples de requêtes XPath n child::*/child::para -Tous les noeuds para petits enfants du noeud courant n / Sélectionne le noeud racine n /descendant::para -Selectionne tous les noeud para du document n /descendant::olist/child::item -Tous les élements item enfants des élements olist du document
97
Antoine Rizk, XML 2005 97 Exemples de requêtes XPath n child::para[position()=1] -Le premier enfant para du noeud courant n child::para[position()=last()] -Le dernier enfant para du noeud courant n following-sibling::chapter[position()=1] -Sélectionne le prochain élement chapter au noeud courant
98
Antoine Rizk, XML 2005 98 Exemples de requêtes XPath n preceding-sibling::chapter[position()=1] -Sélectionne le précédent élement chapter au noeud courant n /descendant::figure[position()=42] -Sélectionne le quarante deuxième élement figure dans le document n child::para[attribute::type="warning"] -Sélectionne tous les noeuds para qui ont un attribut nommé type possédant la valeur « warning »
99
Antoine Rizk, XML 2005 99 Exemples de requêtes XPath n /child::doc/child::chapter[position()=5]/child::section[po sition()=2] -Tous les élements section situés en deuxième position et enfants des élements chapter situés en cinquième position des élements doc enfants du noeud racine n child::para[attribute::type='warning'][position()=5] -Sélectionne les élements para enfants du noeud courant s'ils ont un attribut type égal à « warning » et s'ils sont en cinquième position
100
Antoine Rizk, XML 2005 100 Exemples de requêtes XPath n child::chapter[child::title] -Séléctionne les élements chapter s'ils ont un enfant nommé title n child::*[self::chapter or self::appendix] -Tous les enfants du noeud courant à condition qu'ils se nomment chapter ou appendix n child::*[self::chapter or self::appendix][position()=last()] -Idem. Et à condition qu'ils soient en dernière position
101
Antoine Rizk, XML 2005 101 Equivalences n Syntaxe complète -Self -Attribute -N[position()=5] -Parent -N/descendant::para -N[attribute::a1][attribute::a2] n Syntaxe simplifiée -. -@ -N[5] -.. -N//para -N[@a1 and @a2]
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.