330 likes | 438 Views
Le langage XML : fonctionnalités et standards associés. Antoine Rizk EUROCLID. 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
E N D
Le langage XML : fonctionnalités et standards associés Antoine Rizk EUROCLID Antoine.Rizk: www.euroclid.fr
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 Antoine.Rizk: www.euroclid.fr
Les solutions XML 1998 WWW HTML 1992 1986 SGML Internet GM 1960 Antoine.Rizk: www.euroclid.fr
XML : Avantages • Productivité • Réutilisabilité • Perrenité • Integrité • Partage • Portabilité Antoine.Rizk: www.euroclid.fr
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 Antoine.Rizk: www.euroclid.fr
Introduction à XML Premier exemple <?xml version="1.0" standalone="yes"?> <IdentityCard> <FirstName>Antoine</FirstName> <LastName>Rizk</LastName> <CardNumber>11437398</CardNumber> <Photo url="ar.gif"/> </IdentityCard> Antoine.Rizk: www.euroclid.fr
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 Antoine.Rizk: www.euroclid.fr
Documents valides Un document valide doit être bien formé ET se conformer à une grammaire (DTD) Antoine.Rizk: www.euroclid.fr
La DTD <!ELEMENT obs (loc, date, temp?, hygro?, nebulo?, anemo?, pluvio?) > <!ATTLIST obs num ID #REQUIRED > • 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 Antoine.Rizk: www.euroclid.fr
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 Antoine.Rizk: www.euroclid.fr
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) Antoine.Rizk: www.euroclid.fr
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 Antoine.Rizk: www.euroclid.fr
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 Antoine.Rizk: www.euroclid.fr
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> Antoine.Rizk: www.euroclid.fr
Traitement XML/XSL • 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 Antoine.Rizk: www.euroclid.fr
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> Antoine.Rizk: www.euroclid.fr
XML + XSL Portail/ Serveur d’intermédiation SGBDR Terminal XML SGBDO XML Internet/Intranet XSL Terminal HTML Fichiers Terminal WAP Antoine.Rizk: www.euroclid.fr
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 Antoine.Rizk: www.euroclid.fr
XSL XML+HTML XML XML OO XML Repository XML + XSL generic architecture Client-side XSL transform Client-side prog. -> DOM SQL Query handling Server-side XSL transform R-DBMS G X M L Browser HTML/XML: graphics rendering under CSS / XSL fo control R-DBMS Net + HTTP server(s) Middle-tier server XQL Antoine.Rizk: www.euroclid.fr
Ex. 2 : ré-ingénierie de données 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 Antoine.Rizk: www.euroclid.fr
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 Antoine.Rizk: www.euroclid.fr
resource Link element Link Document A Document B Liens simples Antoine.Rizk: www.euroclid.fr
Document A Document B Xpath Antoine.Rizk: www.euroclid.fr
Link elements Document A Liens étendus Document B Antoine.Rizk: www.euroclid.fr
Liens étendus “out of line” Link elements Document C Document A Antoine.Rizk: www.euroclid.fr Document B
Topic maps www.infoloom.com Antoine.Rizk: www.euroclid.fr
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 Antoine.Rizk: www.euroclid.fr
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... Antoine.Rizk: www.euroclid.fr
L’état actuel • XML : recommandation 10 fév 1998 • DOM : DOM1 (1er oct 1998), DOM2 (Candidate 10 mai 00), DOM3.. • Xlink, Xpointer : WD • SVG : WD V8 • SMIL : WD V3 • XSLT + Xpath : recommandation 16 nov 1999 • XSL : WD final • MathML : V1 (recommandation Avr 1998), V1.1 (Juil. 99), V2 (WD) • XML Schema , XMLQuery • RDF : Model&syntax (recommandation fév 1999),schema spec (candidate Mars 2000) • XHTML • Xforms : WD 1 Antoine.Rizk: www.euroclid.fr
Channel Definition Format, CDF (Based on XML) Web Collections using XML Meta Content Framework Using XML (MCF) XML-Data ANZLIC - Metadata XML Metadata Interchange Format (XMI) - OMG Educom Instructional Management Systems Project (IMS) Structured Graph Format (SGF) Legal XML Working Group Web Standards Project (WSP) Open Software Description Format (OSD) XLF (Extensible Log Format) Initiative WAP Wireless Markup Language Specification HTTP Distribution and Replication Protocol (DRP) Chemical Markup Language Bioinformatic Sequence Markup Language (BSML) Virtual Hyperglossary (VHG) Weather Observation Definition Format (OMF) vCard Electronic Business Card Open Financial Exchange Open Trading Protocol (OTP) Signed Document Markup Language (SDML) Bank Internet Payment System (BIPS) OpenMLS - Real Estate DTD Design Customer Support Consortium XML for the Automotive Industry - SAE J2008 X-ACT - XML Active Content Technologies Council OpenTag Markup CDIF XML-Based Transfer Format Precision Graphics Markup Language (PGML) Vector Markup Language (VML) WebBroker: Distributed Object Communication on the Web Web Interface Definition Language (WIDL) XML/EDI - Electronic Data Interchange XML/EDI Repository Working Group DISA, ANSI ASC X12/XML Information and Content Exchange (ICE) CommerceNet Industry Initiative Autres applications (1) Antoine.Rizk: www.euroclid.fr
LACITO Projet Archivage de données linguistiques Astronomical Markup Language GedML: [GEDCOM] Genealogical Data in XML Newspaper Association of America (NAA) - Classified Ads Format Notes Flat File Format (NFF) Java Help API Cold Fusion Markup Language (CFML) Document Content Description for XML (DCD) XSchema WEBDAV Tutorial Markup Language (TML) Java Speech Markup Language (JSML) XML and VRML (Virtual Reality Modeling Language) XML for Workflow Management [NIST] SWAP - Simple Workflow Access Protocol Theological Markup Language (ThML) XML-F ('XML for FAX') Extensible Forms Description Language (XFDL) Broadcast Hypertext Markup Language (BHTML) IEEE LTSC XML Ad Hoc Group Open Settlement Protocol (OSP) - ETSI/TIPHON WDDX - Web Distributed Data Exchange Common Business Library (CBL) Open Applications Group - OAGIS 6 Schema for Object-oriented XML (SOX) VoxML Markup Language Telecommunications Interchange Markup (TIM, TCIF/IPI) Encoded Archival Description (EAD) UML eXchange Format (UXF) Translation Memory eXchange (TMX) Scripting News in XML InterX.org Initiative NuDoc Technology Coins: Tightly Coupled JavaBeans and XML Elements DMTF Common Information Model (CIM) Process Interchange Format XML (PIF-XML) Ontology and Conceptual Knowledge Markup Languages Autres application (2) Antoine.Rizk: www.euroclid.fr
Pour aller plus loin .. www.w3c.org www.oasis-open.org/cover Antoine.Rizk: www.euroclid.fr