1 / 100

Le langage XML : fonctionnalités et standards associés

Le langage XML : fonctionnalités et standards associés. Antoine Rizk. La problèmatique. Création de l’information : 20% du PNB 90% de l’information sont des documents Traitement de texte et PAO traditionnels 30% du temps sur le formattage 30% du temps sur la recherche d’informations

chace
Télécharger la présentation

Le langage XML : fonctionnalités et standards associés

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Le langage XML : fonctionnalités et standards associés Antoine Rizk

  2. La problèmatique • Création de l’information : 20% du PNB • 90% de l’information sont des documents • Traitement de texte et PAO traditionnels • 30% du temps sur le formattage • 30% du temps sur la recherche d’informations • La technologie change tous les 18 mois • US : nombre de documents produits/an = 92 Mds

  3. XML : Les besoins • Productivité • Réutilisabilité • Perrenité • Integrité • Partage • Portabilité

  4. Les origines XML 1998 WWW HTML 1992 1986 SGML Internet GM 1960

  5. Historique • 1996 : un groupe de 80 experts SGML se réunit durant 11 semaines • Nov 1996 : 1er Draft XML du W3C à la conférence SGML à Boston • Fév 1998 : XML adopté par le W3C comme recommandation

  6. Rappel des concepts

  7. XML demain A partir du deuxième semestre de l’an 2000 : • le volume des données XML sera plus important que celui des données HTML. - Gartner Group • 47% des entreprises utiliseront XML • 47% des entreprises utiliseront Linux • 90% des entreprises utiliseront Java - Java Web Panel survey, IBM 12/98

  8. Generalised Markup • 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 <par> Ce document est une introduction à XML </par>

  9. Le balisage (Markup) Exemple RTF: \par\pard\sb240\sl-264\b0\hyphpar0 Ce document est une introduction à XML \par Starts a new paragraph \pard Restores the default paragraph properties \sb240 Twelve-point space before the paragraph \sl-264 Puts a 13.2 point space between lines. \b0 Switches bold off \hyphpar0 Switches off automatic hyphenation for the paragraph

  10. HTML <body bgcolor=«#FFFFFF» text =«#000000» link=«#054BBB» vlink=«#054BBB» background=«/Images/backshadow2.gif»> <a name=«top»></a> <img src=«/Images/ec.gif» border=0 width=50 height=5 align=left> • HTML 2.0, HTML 3.2 et HTML 4.0 sont des DTD SGML

  11. HTML • L'affichage de très longues pages • Frames, DIV, découpage en plusieurs pages • Contôle de la présentation • CSS • Les liens hypertextes • IMG, HREF • Un nombre prédéfini de balises

  12. HTML • 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 • Format de données non perenne • Format d'échange de données nonretraitables

  13. Introduction à XML Petit exemple <?xml version="1.0" standalone="yes"?> <IdentityCard> <FirstName>Antoine</FirstName> <LastName>Rizk</LastName> <CardNumber>11437398</CardNumber> <Photo url="ar.gif"/> </IdentityCard>

  14. Documents bien formés A chaque balise ouvrante doit correspondre une balise fermante Balisage spécifique pour les éléments vides <IMG SRC="picture.gif"/> <IMG SRC="picture.gif"></IMG> Les balises doivent s’imbriquer correctement Une racine doit exister Un élément ne peut avoir des attributs vides <DL COMPACT> incorrecte <DL COMPACT=""> correcte

  15. Documents valides Un document valide doit être bien formé ET se conformer à une grammaire (DTD)

  16. La DTD • Document Type Definition • Structure générique logique • Grammaire de la structure du document • Etablit les règles de structure de documents • Définit les noms d'éléments • Définit les relations entre éléments • Déclare les attributs ainsi que leurs types Document parser validant sortie erreurs DTD

  17. Exemple (1) <memo> <to>M. Bonnard</to> <from>A. Rizk</from> <date>4 Septembre 2000</date> <subject>Présentation XSL </subject> <para>La présentation XSL suivra celle sur XML</para> </memo>

  18. DTD memo <!DOCTYPE memo [ <!ELEMENT memo (to, from, date, subject?, para*) > <!ELEMENT para (#PCDATA) > <!ELEMENT to (#PCDATA) > <!ELEMENT from (#PCDATA) > <!ELEMENT date (#PCDATA) > <!ELEMENT subject (#PCDATA) > ]>

  19. DTD memo (2) <!DOCTYPE memo [ <!ELEMENT memo (to, from, date, subject?, (para|figure)+ > <!ELEMENT figure (graphic, caption?) > <!ELEMENT graphic EMPTY > <!ELEMENT para (#PCDATA|citation|figref)+ > <!ELEMENT to (#PCDATA) > <!ELEMENT from (#PCDATA) > <!ELEMENT date (#PCDATA) > <!ELEMENT subject (#PCDATA) > <!ELEMENT citation (#PCDATA) > <!ELEMENT figref (#PCDATA) > <!ELEMENT caption (#PCDATA) > ]>

  20. Exemple (2) <?xml version="1.0" ?> <Book Author=”Anonyme"> <Title>Un livre exemplaire</Title> <Chapter id="1"> Ceci est le chapitre 1. Pas très intéressant </Chapter> <Chapter id="2"> Ceci est le chapitre 2. Il est plus long, mais il n’est pas plus intéressant. </Chapter> </Book>

  21. DTD Book <!DOCTYPE Book [ <!ELEMENT Book (Title, Chapter+)> <!ATTLIST Book Author CDATA #REQUIRED> <!ELEMENT Title (#PCDATA)> <!ELEMENT Chapter (#PCDATA)> <!ATTLIST Chapter id ID #REQUIRED> ]>

  22. Un document est un arbre <chapitre> <titre>ceci est un fragment d'un livre</titre> <note> <par> cette note contient deux paragraphes </par> <par> un autre paragraphe </par> </note> </chapitre> chapitre titre note ceci est un .. par par un autre .. cette note..

  23. Les parsers • Modèle événementiel (SAX) • Callback appelé pour chaque événement : • début balise, attribut, fin document etc.. • Peut être efficace sur les gros documents • L’arbre n’est jamais construit entièrement en mémoire

  24. Les parsers (API DOM) • Un modèle d’arbre est construit en mémoire (arbres abstraits) • L’application accède par API à l’arbre pour le manipuler • API DOM est normalisée (recommandation W3C)

  25. Limites d’une DTD • Un langage différent de celui des instances • Limité à la structure d’arbre, différent du modèle R • Pas de typage de contenu • Pas d’héritage => possibilité d’utiliser des schémas : XML-Schema

  26. Données/documents dept poste labo 322 LABO 322 RIZK,Courtaud <telephone poste="322"> <dept>labo</dept> <person>Rizk</person> <person>Courtaud</person> </telephone> compta 456 nom poste Rizk 322 Courtaud 322 Parigot 456

  27. Données ou documents ? <chapitre> <titre>ceci est un fragment d'un livre</titre> <note> <par> cette note contient deux paragraphes </par> <par> un autre paragraphe </par> </note> </chapitre> <transaction> <time date="19980509"/> <amount>123</amount> <currency type="pounds"/> <from id="X3543>G.Dupont</from> <to id="X7987>J.Smith</to> </transaction>

  28. Les EIP Presentation Services Multiple Style Sheets Virtual Documents Access and Integration Services Personalization Metadata System Management Messaging Workflow Classification Content Integration Security Network Application Integration Information Services Collaboration Services Application Services Description, Search Docs Repositories Annotations, Recommendations Access, Hosting Wrapping

  29. Le “ Virtual XML Warehouse “ RDF • Description, organisation et recherche dans des ressources hétérogènes Virtual XML Warehouse Unique Point d’ Accès Archives Documents Web Bases de données

  30. Traitement XML • Parsing et traitement applicatif • import dans un SGBD • Regénération : export d’un SGBD • Fusion de données, génération d’arbre, transformation • XSL • Présentation • CSS, XSL

  31. Source XML Sortie (y) FO Interpreter (y) Résultat FO Sortie (x) FO Interpreter (x) XSL Transformer Feuille de style XSL Sortie (z) FO Interpreter (z) XSL <date>décembre, 1997</date> W3C XSL {\c6\f12\i décembre, 1997\par} <P STYLE="font-style:italic;color:green"> décembre, 1997</P> <fo:block font-style= "italic" color="green" xmlns:fo="http://www.w3.org/TR/WD-xsl/FO">décembre, 1997</fo:block> ... <xsl:template match="date"> <fo:block font-style="italic" color="green"> <xsl:apply-templates/> </fo:block> </xsl:template>

  32. XML + XSL Portail/ Serveur d’intermédiation SGBDR Terminal XML SGBDO XML Internet/Intranet XSL Terminal HTML Fichiers Terminal WAP

  33. Terminal XML Internet/Intranet Terminal HTML Terminal HTML/XML XML+XSL SGBD-R labo 322 <telephone poste="322"> <dept>labo</dept> <person>Rizk</person> <person>Israel</person> </telephone> compta 456 Données XML Plus feuilles XSL SGBD-O Rizk 322 Israel 322 Parigot 456

  34. XSL XML+HTML XML XML OO XML Repository XML + XSL architecture type XSL côté client SQL Traitement de requêtes XSL ou DOM côté serveur R-DBMS G X M L R-DBMS Middle-tier Serveurs HTTP Browser HTML/XML: CSS / XSL XML-QL

  35. R-DBMS-1 DBMS-2(IR) DBMS-3 DB2XML DB2XML DB2XML XML XML XML XML statique Transformations (scripts) Feuille XSLT Processeur XSLT XML données fusionnées Script python Impression catalogue DB-RESULTAT Ex. 2 : ré-ingénierie de données

  36. Les limites • XML reste au niveau syntaxique • Pas de typage • Pas de sémantique • Pas de relations/rôles entre concepts • => • Les liens hypertextes : XLL (Xlink+Xpath) • Les métadonnées : RDF spec et RDF schema • Les schémas typés : XML-Schema • Les topic maps

  37. resource Link element Link Document A Document B Liens simples

  38. Document A Document B Xpath

  39. Link elements Document A Liens étendus Document B

  40. Liens étendus “out of line” Link elements Document C Document A Document B

  41. L’enjeu • Définir une ontologie par domaine • Organiser les schémas de navigation • DTD + concepts + roles + sémantique = ontologie • ontologie + thesaurus = RDF schema • RDF schema => RDF specifications => métadonnées • Augmenter le taux de précision • Diminuer le taux de rappel

  42. L’évolution documentaire RDF Ontologie, Thesaurus Intermédiation Structure sémantique Production Publication XML,XSL XQL,XLL, SMIL... Structure syntaxique Formats monomédia ASCII, JPEG, MPEG...

  43. <tag1> <tag2> <tag3> </tag1> Intégration par les Métadonnées Organisation des Connaissances Ontologies Vocabulaires Description de ressources Métadonnées Données Informations et Ressources

  44. L’état actuel • XML : recommandation 10 fév 1998 • DOM : DOM1 (1er oct 1998), DOM2 (recommandation nov 00), DOM3.. • Xlink : recommandation 27 Juin 2001 • Xpointer : WD 16 août 2002 • SVG 1.1 : Recommendation 14 janv 2003 • SMIL 2.1 : recommandation 13 déc 2005 • XSLT + Xpath : recommandation 16 nov 1999 • XSLT2 : candidate recommendation on June2006 • XSL FO : recommendation 15 oct 2001 • MathML : V1 (recommandation Avr 1998), V1.1 (Juil. 99), V2 (WD) • XML Schema , XMLQuery • RDF : Model&syntax (recommandation fév 1999), Puis 10 fév 2004 • XHTML • Xforms : Recommendation 14 Mars 2006

  45. Core Architecture Artist Artist Painting Client Tier Museum URL Query Browsing Interface Painter Resource Description Interface Schema Generator http XML/XSL RDF/XML Schema RDF/XML Descriptions CWEB/Application Server Middleware APIs Session Manager Logical Middle Tier Metadata Store RDF/XML Loader XML/XSL Processor Query Engine URL Resolver XML XML XML Resources http XML Wrapper XML enabled DBMS Well-formed Other docs XML docs on the Intranet on the Web e.g. mails, news, reports

  46. Pour aller plus loin .. www.w3.org www.xmlfr.org www.oasis-open.org/cover Livre : A.Michard (chez Eyrolles)

  47. ZOOM sur XML

  48. Les éléments <chapitre> <titre>ceci est un fragment d'un livre</titre> <note> cette note contient deux paragraphes <par>un paragraphe </par> <par> un autre paragraphe </par> </note> <image f="image1.gif"/> <image f="image2.gif"></image> </chapitre> start-tag mixed content data content end-tag empty element sensible à la casse start-tag=end-tag < = &lt; > = &gt;

  49. Créer des spans (étendus) <chapitre> <titre>ceci est un fragment d'un livre</titre> <note> cette note contient <rev/>deux paragraphes <par>un paragraphe </par> <par> un autre <endrev/> paragraphe </par> </note> <image f="image1.gif"/> <image f="image2.gif"></image> </chapitre>

  50. Les attributs <transaction> <time date=”04092000" hour="0945"/> <amount>123</amount> <currency type="pounds"/> <from id="X3543”>G.Dupont</from> <to id="X7987”>J.Smith</to> </transaction> AttName/Attvalue sensibles à la casse Attvalue peut contenir des espaces " ou ' mais pas les deux à la fois ex. <vis dimension='2" '/> ou bien &quot; pour le " &apos; pour le ' l'omission du nom d'attribut n'est pas permise

More Related