Le langage XML : fonctionnalités et standards associés
description
Transcript of Le langage XML : fonctionnalités et standards associés
Antoine.Rizk: www.euroclid.fr 1
Le langage XML :
fonctionnalités et standards associés
Antoine RizkAntoine Rizk
EUROCLIDEUROCLID
Antoine.Rizk: www.euroclid.fr 2
La problèmatiqueLa problèmatique
Création de l’information : 20% du PNB Création de l’information : 20% du PNB
90% de l’information sont des documents90% de l’information sont des documents
Traitement de texte et PAO traditionnels Traitement de texte et PAO traditionnels
- 30% du temps sur le formattage30% du temps sur le formattage
- 30% du temps sur la recherche d’informations30% du temps sur la recherche d’informations
La technologie change tous les 18 moisLa technologie change tous les 18 mois
US : nombre de documents produits/an = 92 MdsUS : nombre de documents produits/an = 92 Mds
Antoine.Rizk: www.euroclid.fr 3
Les solutionsLes solutions
1960
1986
1992
1998 XML
HTML
SGML
GM
Internet
WWW
Antoine.Rizk: www.euroclid.fr 4
XML : AvantagesXML : Avantages
ProductivitéProductivité
RéutilisabilitéRéutilisabilité
PerrenitéPerrenité
IntegritéIntegrité
PartagePartage
PortabilitéPortabilité
Antoine.Rizk: www.euroclid.fr 5
XML demainXML 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 6
Introduction à XMLIntroduction à 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 7
Documents bien formésDocuments 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 8
Documents validesDocuments valides
Un document valide doit Un document valide doit
être bien formé être bien formé
ET ET
se conformer à une grammaire (DTD) se conformer à une grammaire (DTD)
Antoine.Rizk: www.euroclid.fr 9
La DTDLa 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
Documentparser
validant
DTD
erreurs
sortie
<!ELEMENT obs (loc, date, temp?, hygro?, nebulo?, anemo?, pluvio?) ><!ATTLIST obs num ID #REQUIRED >
Antoine.Rizk: www.euroclid.fr 10
Les parsersLes parsers
Modèle événementiel (SAX)Modèle événementiel (SAX)- Callback appelé pour chaque événement :Callback appelé pour chaque événement :- début balise, attribut, fin document etc..début balise, attribut, fin document etc..
Peut être efficace sur les gros documentsPeut être efficace sur les gros documents- L’arbre n’est jamais construit entièrement en mémoireL’arbre n’est jamais construit entièrement en mémoire
Antoine.Rizk: www.euroclid.fr 11
Les parsers (API DOM)Les parsers (API DOM)
Un modèle d’arbre est construit en mémoire (arbres Un modèle d’arbre est construit en mémoire (arbres
abstraits)abstraits)
L’application accède par API à l’arbre pour le L’application accède par API à l’arbre pour le
manipulermanipuler
API DOM est normalisée (recommandation W3C)API DOM est normalisée (recommandation W3C)
Antoine.Rizk: www.euroclid.fr 12
Limites d’une DTDLimites d’une DTD
Un langage différent de celui des instancesUn langage différent de celui des instances Limité à la structure d’arbre, différent du modèle RLimité à la structure d’arbre, différent du modèle R Pas de typage de contenuPas de typage de contenu Pas d’héritagePas d’héritage
=> possibilité d’utiliser des schémas : XML-Schema=> possibilité d’utiliser des schémas : XML-Schema
Antoine.Rizk: www.euroclid.fr 13
Données/documentsDonnées/documents
dept postelabo
compta
322
456
postenomRizk
Courtaud
322
322
Parigot 456
<telephone poste="322">
<dept>labo</dept>
<person>Rizk</person>
<person>Courtaud</person>
</telephone>
LABO 322
RIZK,Courtaud
Antoine.Rizk: www.euroclid.fr 14
Données ou documents ?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 15
Traitement XML/XSLTraitement XML/XSL
Parsing et traitement applicatifParsing et traitement applicatif- import dans un SGBDimport dans un SGBD
Regénération : export d’un SGBDRegénération : export d’un SGBD
Fusion de données, génération d’arbre, Fusion de données, génération d’arbre,
transformationtransformation- XSLXSL
Présentation Présentation - CSS, XSLCSS, XSL
Antoine.Rizk: www.euroclid.fr 16
XSLXSL
XSL
Transformer
Sortie (x)FO
Interpreter
(x)
FO
Interpreter
(y)
Sortie (y)
FO
Interpreter
(z)
Sortie (z)
Feuille de style XSL
SourceXML
W3C XSL
RésultatFO
<date>décembre, 1997</date>
<xsl:template match="date"> <fo:block font-style="italic" color="green"> <xsl:apply-templates/> </fo:block></xsl:template>
<fo:block font-style= "italic" color="green" xmlns:fo="http://www.w3.org/TR/WD-xsl/FO">décembre, 1997</fo:block>
<P STYLE="font-style:italic;color:green">décembre, 1997</P>
...
{\c6\f12\i décembre, 1997\par}
Antoine.Rizk: www.euroclid.fr 17
Portail/Serveur d’intermédiation
Internet/Intranet
Terminal XML
Terminal HTML
Terminal
WAP
XSL
XML + XSLXML + XSL
SGBDR
SGBDO
Fichiers
XML
Antoine.Rizk: www.euroclid.fr 18
XML+XSLXML+XSL
SGBD-R
labo
compta
322
456
SGBD-ORizk
Israel
322
322
Parigot 456
<telephone poste="322">
<dept>labo</dept>
<person>Rizk</person>
<person>Israel</person>
</telephone>
Données XML
Plus feuilles XSLInternet/Intranet
Terminal XML
Terminal HTML
Terminal HTML/XML
Antoine.Rizk: www.euroclid.fr 19
XML + XSL generic architectureXML + XSL generic architecture
XSL
Browser HTML/XML:graphics renderingunder CSS / XSL fo control
Net + HTTP server(s) Middle-tier server
XML
OO XML Repository
R-DBMS
XML+HTML XMLR-DBMS
GXML
SQLQuery handlingServer-side XSL transform
XQL
Client-side XSL transformClient-side prog. -> DOM
Antoine.Rizk: www.euroclid.fr 20
Ex. 2 : ré-ingénierie de donnéesEx. 2 : ré-ingénierie de données
R-DBMS-1 DBMS-2(IR) DBMS-3
XML XML XML XML statique
Processeur XSLT Feuille XSLT
XML données fusionnées Script python
DB-RESULTAT
DB2XML DB2XML DB2XML
Impression catalogue
Transformations (scripts)
Antoine.Rizk: www.euroclid.fr 21
Antoine.Rizk: www.euroclid.fr 22
Les limitesLes limites
XML reste au niveau syntaxiqueXML reste au niveau syntaxique Pas de typagePas de typage Pas de sémantiquePas de sémantique Pas de relations/rôles entre conceptsPas de relations/rôles entre concepts =>=> Les liens hypertextes : XLL (Xlink+Xpath)Les liens hypertextes : XLL (Xlink+Xpath) Les métadonnées : RDF spec et RDF schemaLes métadonnées : RDF spec et RDF schema Les schémas typés : XML-SchemaLes schémas typés : XML-Schema Les topic mapsLes topic maps
Antoine.Rizk: www.euroclid.fr 23
Liens simplesLiens simplesLiens simplesLiens simples
Document BDocument A
Link element Linkresource
Antoine.Rizk: www.euroclid.fr 24
XpathXpathXpathXpath
Document BDocument A
Antoine.Rizk: www.euroclid.fr 25
Liens étendusLiens étendusLiens étendusLiens étendus
Document B
Link elements
Document A
Antoine.Rizk: www.euroclid.fr 26
Liens étendus “out of line”Liens étendus “out of line”Liens étendus “out of line”Liens étendus “out of line”
Link elementsDocument C
Document BDocument A
Antoine.Rizk: www.euroclid.fr 27
Topic maps Topic maps www.infoloom.comwww.infoloom.com
Antoine.Rizk: www.euroclid.fr 28
L’enjeuL’enjeu
Définir une ontologie par domaineDéfinir une ontologie par domaine Organiser les schémas de navigationOrganiser les schémas de navigation
DTD + concepts + roles + sémantique = ontologieDTD + concepts + roles + sémantique = ontologie ontologie + thesaurus = RDF schemaontologie + thesaurus = RDF schema RDF schema => RDF specifications => métadonnéesRDF schema => RDF specifications => métadonnées
Augmenter le taux de précisionAugmenter le taux de précision Diminuer le taux de rappel Diminuer le taux de rappel
Antoine.Rizk: www.euroclid.fr 29
L’évolution documentaireL’évolution documentaire
ASCII, JPEG, MPEG...
XML,XSLXQL,XLL, SMIL...
Formats monomédia
Structure syntaxique
Structure sémantique RDFOntologie,Thesauru
s
Intermédiation
ProductionPublication
Antoine.Rizk: www.euroclid.fr 30
L’état actuel 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 31
Autres applications (1)Autres applications (1)
Channel Definition Format, CDF (Based on XML) Channel Definition Format, CDF (Based on XML) Web Collections using XML Web Collections using XML Meta Content Framework Using XML (MCF) Meta Content Framework Using XML (MCF) XML-Data XML-Data ANZLIC - Metadata ANZLIC - Metadata XML Metadata Interchange Format (XMI) - OMGXML Metadata Interchange Format (XMI) - OMG Educom Instructional Management Systems Project (IMS) Educom Instructional Management Systems Project (IMS) Structured Graph Format (SGF) Structured Graph Format (SGF) Legal XML Working Group Legal XML Working Group Web Standards Project (WSP) Web Standards Project (WSP) Open Software Description Format (OSD) Open Software Description Format (OSD) XLF (Extensible Log Format) Initiative XLF (Extensible Log Format) Initiative WAP Wireless Markup Language Specification WAP Wireless Markup Language Specification HTTP Distribution and Replication Protocol (DRP) HTTP Distribution and Replication Protocol (DRP) Chemical Markup Language Chemical Markup Language Bioinformatic Sequence Markup Language (BSML) Bioinformatic Sequence Markup Language (BSML) Virtual Hyperglossary (VHG) Virtual Hyperglossary (VHG) Weather Observation Definition Format (OMF) Weather Observation Definition Format (OMF) vCard Electronic Business Card vCard Electronic Business Card
Open Financial Exchange Open Financial Exchange Open Trading Protocol (OTP) Open Trading Protocol (OTP) Signed Document Markup Language (SDML) Signed Document Markup Language (SDML) Bank Internet Payment System (BIPS) Bank Internet Payment System (BIPS) OpenMLS - Real Estate DTD Design OpenMLS - Real Estate DTD Design Customer Support Consortium Customer Support Consortium XML for the Automotive Industry - SAE J2008 XML for the Automotive Industry - SAE J2008 X-ACT - XML Active Content Technologies Council X-ACT - XML Active Content Technologies Council OpenTag Markup OpenTag Markup CDIF XML-Based Transfer Format CDIF XML-Based Transfer Format Precision Graphics Markup Language (PGML) Precision Graphics Markup Language (PGML) Vector Markup Language (VML) Vector Markup Language (VML) WebBroker: Distributed Object Communication on the WebBroker: Distributed Object Communication on the
Web Web Web Interface Definition Language (WIDL) Web Interface Definition Language (WIDL) XML/EDI - Electronic Data Interchange XML/EDI - Electronic Data Interchange XML/EDI Repository Working Group XML/EDI Repository Working Group DISA, ANSI ASC X12/XML DISA, ANSI ASC X12/XML Information and Content Exchange (ICE) Information and Content Exchange (ICE) CommerceNet Industry InitiativeCommerceNet Industry Initiative
Antoine.Rizk: www.euroclid.fr 32
Autres application (2)Autres application (2)
LACITO Projet Archivage de données linguistiques LACITO Projet Archivage de données linguistiques Astronomical Markup Language Astronomical Markup Language GedML: [GEDCOM] Genealogical Data in XML GedML: [GEDCOM] Genealogical Data in XML Newspaper Association of America (NAA) - Classified Ads Newspaper Association of America (NAA) - Classified Ads
Format Format Notes Flat File Format (NFF) Notes Flat File Format (NFF) Java Help API Java Help API Cold Fusion Markup Language (CFML) Cold Fusion Markup Language (CFML) Document Content Description for XML (DCD) Document Content Description for XML (DCD) XSchema XSchema WEBDAV WEBDAV Tutorial Markup Language (TML) Tutorial Markup Language (TML) Java Speech Markup Language (JSML) Java Speech Markup Language (JSML) XML and VRML (Virtual Reality Modeling Language) XML and VRML (Virtual Reality Modeling Language) XML for Workflow Management [NIST] XML for Workflow Management [NIST] SWAP - Simple Workflow Access Protocol SWAP - Simple Workflow Access Protocol Theological Markup Language (ThML) Theological Markup Language (ThML) XML-F ('XML for FAX') XML-F ('XML for FAX') Extensible Forms Description Language (XFDL) Extensible Forms Description Language (XFDL) Broadcast Hypertext Markup Language (BHTML) Broadcast Hypertext Markup Language (BHTML) IEEE LTSC XML Ad Hoc Group IEEE LTSC XML Ad Hoc Group
Open Settlement Protocol (OSP) - ETSI/TIPHON Open Settlement Protocol (OSP) - ETSI/TIPHON WDDX - Web Distributed Data Exchange WDDX - Web Distributed Data Exchange Common Business Library (CBL) Common Business Library (CBL) Open Applications Group - OAGIS 6 Open Applications Group - OAGIS 6 Schema for Object-oriented XML (SOX) Schema for Object-oriented XML (SOX) VoxML Markup LanguageVoxML Markup Language Telecommunications Interchange Markup (TIM, TCIF/IPI) Telecommunications Interchange Markup (TIM, TCIF/IPI) Encoded Archival Description (EAD) Encoded Archival Description (EAD) UML eXchange Format (UXF) UML eXchange Format (UXF) Translation Memory eXchange (TMX) Translation Memory eXchange (TMX) Scripting News in XML Scripting News in XML InterX.org Initiative InterX.org Initiative NuDoc Technology NuDoc Technology Coins: Tightly Coupled JavaBeans and XML Elements Coins: Tightly Coupled JavaBeans and XML Elements DMTF Common Information Model (CIM) DMTF Common Information Model (CIM) Process Interchange Format XML (PIF-XML) Process Interchange Format XML (PIF-XML) Ontology and Conceptual Knowledge Markup LanguagesOntology and Conceptual Knowledge Markup Languages
Antoine.Rizk: www.euroclid.fr 33
Pour aller plus loin ..Pour aller plus loin ..
www.w3c.orgwww.w3c.org
www.oasis-open.org/coverwww.oasis-open.org/cover