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

XML : concours d’acronymes ou futur standard ?

  • Upload
    zariel

  • View
    21

  • Download
    1

Embed Size (px)

DESCRIPTION

XML : concours d’acronymes ou futur standard ?. Bilan de l’école Franco-Maghrébine IN2P3 Jean-Michel Gallone 7.12.2001. 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, …. - PowerPoint PPT Presentation

Citation preview

Page 1: XML : concours d’acronymes ou futur standard ?

1

XML : concours d’acronymes ou futur standard ?

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

Jean-Michel Gallone7.12.2001

Page 2: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

4

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

moyen de balises Les balises servent à structurer le

document

Page 5: XML : concours d’acronymes ou futur standard ?

5

L comme Language Langage de description de

documents Règles à respecter

Page 6: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

15

Spécifications d’attributsCDATAdonné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’IdsENTITYentité externe non analysableENTITIES entités externes non analysables

Page 16: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

21

http://www.xml.org

Page 22: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

25

eXtensible Style Language Transformation

Processeur XSLT XMLXML

XSL

Ou texteOu HTML

Page 26: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

32

XPointer But : adresser un fragment de

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

Page 33: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

35

XML et le Web (1)

IENetscape

Serveur webServlet ou CGI

Processeur XSLT Analyseur XML

DocXML

FeuilleXSLT

HTML

Page 36: XML : concours d’acronymes ou futur standard ?

36

XML et le Web (2)

IENetscape

Opera

TéléphonesWAP Serveur web

Servlet ou CGI

Processeur XSLT Analyseur XML

DocXML

FeuilleXSLT

HTML

HTML+CSS

WML

Page 37: XML : concours d’acronymes ou futur standard ?

37

XML et le Web (3)

IENetscape

Opera

TéléphonesWAP Serveur web

Servlet ou CGI

Processeur XSLT Analyseur XML

DocXML

FeuilleXSLT

HTML+PDF

HTML+CSS

WML

Processeur XSLFO

FeuilleXSLFO

Page 38: XML : concours d’acronymes ou futur standard ?

38

XML et le Web (4)

Serveur web

Processeur XSLT

Analyseur XML

DocXML

FeuilleXSLT

XMLXSLTXSLFO

Processeur XSLFO

FeuilleXSLFO

(Big) Browser

Page 39: XML : concours d’acronymes ou futur standard ?

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: XML : concours d’acronymes ou futur standard ?

40

Interro XML W3C DTD XSD XPATH XSLT CSS URI XSL-FO XLINK XPOINTER 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