1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3...

40
1 XML : concours d’acronymes ou futur standard ? Bilan de l’école Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001

Transcript of 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3...

Page 1: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

1

XML : concours d’acronymes ou futur standard ?

Bilan de l’école Franco-Maghrébine IN2P3

Jean-Michel Gallone7.12.2001

Page 2: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

2

XML : la famille Né : fin 96 Père : W3C Petit-fils de SGML (ISO-1986) Cousin d’HTML Reconnu le : 10/02/98 – version 1.0 Descendance – XHMTL, MathML, …

Page 3: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

3

X comme eXtensible HTML : nombre fini de balises XML : possibilité de définir les balises

HTLM : balises pour formater XML : balises pour structurer

DTD ou Schéma pour définir les balises

Page 4: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

4

M comme Markup Tous les éléments sont repérés au

moyen de balises Les balises servent à structurer le

document

Page 5: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

5

L comme Language Langage de description de

documents Règles à respecter

Page 6: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

6

Document XML Données binaires Données textuelles Norme Unicode Marques :

Balises de début, de fin, références, commentaires, instructions de traitement

Définition de Type de Document

Page 7: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

7

Élément Composant de base Identifié par un nom Délimité par une balise ouvrante et

une balise fermante<AUTEUR> Victor Hugo </AUTEUR> Ou élément vide<PHOTO Source= "victor.gif"  /> Contenu textuel, éléments ou mixte

Page 8: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

8

Les attributs Inclus dans la balise ouvrante d’un

élément Composé d’un nom et d’une valeur

<AUTEUR NE="1802" MORT="1885" > Victor Hugo </AUTEUR>

Page 9: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

9

Exemple XML<?xml version="1.0" Encoding= "ISO-8859-

1" ? ><memo langue="fr" urgence= "maximale">

<to> Enfants Sages </to> <from> Père Noël </from> <date> 7/12/2001 </date> <body> Livraison confirmée <jour>25/12</jour>

<heure>0h00</heure><lieu> cheminée</lieu>

</body></memo>

Page 10: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

10

…et aussi <!-- des commentaires --> Des entités externes/internes, analysables

ou non&amp &quot &gt &lt

<![CDATA […tout et n’importe quoi……

0x01265423deadbeef49653453462…]]>

Page 11: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

11

Règles syntaxiques1. Commencer par une déclaration XML2. Balisage sensible à la casse3. La valeur des attributs doit être quotée4. Balises non vides appariées

<br></br>5. Balises vides fermées <br/>6. Les élèments ne doivent pas se chevaucher

<jour> <mois> </jour> </mois> interdit

7. Un élément doit encapsuler tous les autres8. Ne pas utiliser les caractères < et & seuls

Page 12: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

12

Type de document (Doctype) Permet de valider un document

XML Grammaire Définir la DTD

<!DOCTYPE … >

Interne / externe <?xml version= "1.0" standalone = "yes" >

Publique / privée

Page 13: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

13

Exemple de DTD<?xml version="1.0" Encoding= "ISO-8859-1" ? ><!DOCTYPE memo [

<!ELEMENT memo (to, from, date, body)><!ELEMENT to (#PCDATA)><!ELEMENT from (#PCDATA)><!ELEMENT date (#PCDATA)><!ELEMENT body (#PCDATA|jour|heure|lieu)><!ELEMENT jour (#PCDATA)><!ELEMENT heure (#PCDATA)><!ELEMENT lieu (#PCDATA)><!ATTLIST memo langue CDATA "Alsacien"><!ATTLIST memo urgence CDATA "normal">

]>

Page 14: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

14

Spécifications éléments(#PCDATA) Parsed Character DATA(ELT) 1 fois ELT(ELT1,ELT2) Séquence(ELT1|ELT2|…) ChoixELT? 0 ou 1 fois ELTELT+ au moins 1 fois ELTELT* 0 ou plusieurs fois ELT() groupe de sous élémentsANY n’importe quoiEMPTY rien

Page 15: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

15

Spécifications d’attributsCDATA données textuellesNMTOKEN nom XML valideNMTOKENS noms XML valides(val-1|val-2|…val-n) liste de valeursID identificateur uniqueIDREF valeur d’un IDIDREFS valeurs d’IdsENTITY entité externe non analysableENTITIES entités externes non

analysables

Page 16: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

16

Limites des DTD Syntaxe non XML Pas de type (entier/réel/chaînes…) Pas de notion d’espace de nom …Mai 2001, le W3C défini les Schémas XML Syntaxe XML types (entier/réel/chaînes…) Notion d’espace de nom …

Page 17: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

17

XSD « poupées russes »<?xml version="1.0" Encoding= "ISO-8859-1" ? ><xsd:element name="memo">

<xsd:complexType> <xsd:sequence>

<xsd:element name="to" type="xsd:string" /><xsd:element name="from" type="xsd:string" /><xsd:element name="date" type="xsd:date" /><xsd:element name="body" type="xsd:string" > <xsd:complexType> <xsd:sequence>

<xsd:element name="jour" type="xsd:date" /><xsd:element name="heure" type="xsd:time" /><xsd:element name="lieu" type="xsd:string" />

</xsd:sequence> </xsd:complexType></xsd:element>

</xsd:sequence> <xsd:attribute name="langue" type="xsd:string" use="optional" /> <xsd:attribute name="urgence" type="xsd:string" use="required" /> </xsd:complexType>

</xsd:element>

Page 18: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

18

XSD « catalogue » Définition des éléments (classe)<xsd:element name="to" type="xsd:string" />

Référence à l’élément (instance)<xsd:element name="memo">

<xsd:complexType> <xsd:sequence>

<xsd:element ref ="to"/>…etc

Permet de factoriser

Page 19: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

19

XSD « types nommés » Définir de nouveaux types Restrictions

<xsd:simpleType name="TypeISBN">

<xsd:restriction base = "xsd:string" >

<xsd:pattern value = "[0-9]{10}" />

</xsd:restriction>

</xsd:simpleType>

Union : autre type de dérivation Groupes : définir des types

complexes

Page 20: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

20

…vers l’orientation objet Groupe de substitution

Éléments abstraits (classes abstraites)

Dérivation de type (heritage) Restriction, extension (surcharge)

Modularité des schémas Gestion des espaces de noms

Page 21: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

21

http://www.xml.org

Page 22: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

22

Le langage XPATH Syntaxe et sémantique partagées par

d’autres outils (XSLT, Xpointer…) But : adresser les différentes parties

d’un document XML Représentation en forme d’arbre Type de nœuds :

Racine, éléments, texte, attributs, espace de noms, instruction de traitement, commentaires

Adressage type système de fichiers

Page 23: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

23

Arbre de noëltxt : fr

attr : langue

txt : m axim ale

attr : urgence

txt : Enfants Sages

elt : to

txt : Père N oël

elt : from

txt : 7/12/01

elt : date

txt : L ivraison confirm ée

txt : 25/12

elt : jour

txt : 0h00

elt : heure

txt : chem inée

elt : lieu

elt : B ody

rac: m em o

Page 24: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

24

localisation Chemin relatif/absolu

/memo/body/lieu Axe de localisation

self, child, desecendant, parent, ancestor, … Test de nœuds

text(), comment(), … Prédicats

last(), position(), count(), name(), …

/memo//[lieu="cheminée"]

Page 25: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

25

eXtensible Style Language Transformation

Processeur XSLT XMLXML

XSL

Ou texteOu HTML

Page 26: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

26

Feuille de style XSLT Transformer un arbre Feuille de style = ensemble de

règles Association motif / modèles Objectif :

Production de texte Personnalisation d’un document Réorganisation …

Page 27: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

27

Feuille de style CSS Cascading Style Sheet Langage très simple (non XML) CSS1 : décembre 96 CSS2 : mars 98 Encore mal supporté par les browsers (sauf Opera

4.02) Liste de règles qui décrit les éléments Pour chaque élément

Couleurs et image Polices de caractère Textes Boites Classification (style de listes, affichage par bloc…)

Page 28: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

28

CSS dans XML (ou HMTL) But : présentation vers browser Via instruction de traitement<?xml-stylesheet type = "text/css"

href="styleCD.css" ?>

href désigne l’URI de la feuille

Page 29: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

29

XSL-FO (Formatting Objects) Langage XML pour formater Finalisé par W3C fin Octobre 2001 Similaire à HTML/CSS mais

beaucoup plus puissant Outils permettant de générer PDF

(FOP) Devrait plaire aux utilisateurs

Latex…

Page 30: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

30

Principe de XSL-FO Découpage par pages Notion de boites

Contenu (texte, espace, images, objets…) Type (région, bloc, ligne, boite en-ligne,…) Hiérarchie Caractéristiques (position, fontes…)

Pages maîtres Séquences de pages Numérotation …

Page 31: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

31

XLINK Lien externe vers autre document Lien simple HREF classique Lien étendu Personnaliser les liens

Localisation des ressources distantes Mécanisme de traversée Texte facilitant l’emploi Ressources locales associées

En cours de stabilisation…

Page 32: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

32

XPointer But : adresser un fragment de

ressource Même arbre que processeur XSL Utilisation de XPath En cours de stabilisation…

Page 33: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

33

API SAX Application Programming Interface Mécanismes standardisés de

manipulation de documents XML API événementielle

Processeur analysant le document Association d’un gestionnaire de document Activation des méthodes durant l’analyse

Simple et efficace Implémentations JAVA (Xerces), C, C++

Page 34: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

34

API DOM - Document Object Model

SAX simple mais parfois limité (modification de structure impossible)

Analyse puis création d’une structure Adaptable (mais plutôt orienté objet…) Spécification en IDL (OMG) Implémentations en Java, javascript

Page 35: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

35

XML et le Web (1)

IENetscape

IENetscape

Serveur web

Servlet ou CGI

Processeur XSLT Analyseur XML

DocXML

FeuilleXSLT

HTML

Page 36: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

36

XML et le Web (2)

IENetscape

IENetscape

OperaOpera

TéléphonesWAP

TéléphonesWAP

Serveur web

Servlet ou CGI

Processeur XSLT Analyseur XML

DocXML

FeuilleXSLT

HTML

HTML+CSS

WML

Page 37: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

37

XML et le Web (3)

IENetscape

IENetscape

OperaOpera

TéléphonesWAP

TéléphonesWAP

Serveur web

Servlet ou CGI

Processeur XSLT Analyseur XML

DocXML

FeuilleXSLT

HTML+PDF

HTML+CSS

WML

Processeur XSLFO

FeuilleXSLFO

Page 38: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

38

XML et le Web (4)

Serveur web

Processeur XSLT

Analyseur XML

DocXML

FeuilleXSLT

XMLXSLTXSLFO

Processeur XSLFO

FeuilleXSLFO

(Big) Browser

Page 39: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

39

Futur standard ? Adopté par Microsoft et IBM… Interface avec nombreux logiciels

Oracle servlet XSQL, IFS Serveur Apache cocoon Framemaker génère CSS+XML

Nombreux schémas à succès MathML, SVG

Déjà beaucoup d’applications…

Page 40: 1 XML : concours dacronymes ou futur standard ? Bilan de lécole Franco- Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001.

40

Interro XML W3C DTD XSD XPATH XSLT CSS URI XSL-FO XLINK XPOINTE

R API DOM IDL

eXtensible Markup LanguageWorld Wide Web ConsortiumDéfinition de Type de DocumentXML Schema Document XML PatheXtensible Style Language Transformation Cascading Style SheetUniversal Ressource Information eXtensible Style Language Formatting

ObjectsXML Link XML PointerApplication Programming InterfaceDocument Object Model Interface Definition Language