La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

XML : concours d’acronymes ou futur standard ?

Présentations similaires


Présentation au sujet: "XML : concours d’acronymes ou futur standard ?"— Transcription de la présentation:

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

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, …

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 Pas de guide des balises disponibles

4 M comme Markup Tous les éléments sont repérés au moyen de balises
Les balises servent à structurer le document

5 L comme Language Langage de description de documents
Règles à respecter Parsing…

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

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 Notion de base Un nom valide est compose de chiffres lettres, « - », «_», « : » et « . » Doit commencer par une lettre ou blanc souligné.

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> Autre notion essentielle

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>

10 …et aussi <!-- des commentaires -->
Des entités externes/internes, analysables ou non &amp &quot &gt &lt <![CDATA [ …tout et n’importe quoi… …0x deadbeef … ]]>

11 Règles syntaxiques Commencer par une déclaration XML
Balisage sensible à la casse La valeur des attributs doit être quotée Balises non vides appariées <br></br> Balises vides fermées <br/> Les élèments ne doivent pas se chevaucher <jour> <mois> </jour> </mois> interdit Un élément doit encapsuler tous les autres Ne pas utiliser les caractères < et & seuls Déclaration Pas obligatoire mais conseillée

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

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"> ]> Sert a definir les differents elements

14 Spécifications éléments
(#PCDATA) Parsed Character DATA (ELT) 1 fois ELT (ELT1,ELT2) Séquence (ELT1|ELT2|…) Choix ELT? 0 ou 1 fois ELT ELT+ au moins 1 fois ELT ELT* 0 ou plusieurs fois ELT () groupe de sous éléments ANY n’importe quoi EMPTY rien Type des elements definis dans la DTD

15 Spécifications d’attributs
CDATA données textuelles NMTOKEN nom XML valide NMTOKENS noms XML valides (val-1|val-2|…val-n) liste de valeurs ID identificateur unique IDREF valeur d’un ID IDREFS valeurs d’Ids ENTITY entité externe non analysable ENTITIES entités externes non analysables Types des attributs definis dans la DTD

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

17 XSD « poupées russes » <?xml version="1.0" Encoding= "ISO " ? > <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: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:attribute name="langue" type="xsd:string" use="optional" /> <xsd:attribute name="urgence" type="xsd:string" use="required" />

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

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

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

21 DTD deja existantes…

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

23 Arbre de noël

24 localisation Chemin relatif/absolu Axe de localisation Test de nœuds
/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"]

25 eXtensible Style Language Transformation
XSL Processeur XSLT XML XML Ou texte Ou HTML

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 Mécanisme très puissant mais assez technique…

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…)

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

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…

30 Principe de XSL-FO Découpage par pages Notion de boites Pages maîtres
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

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…

32 XPointer But : adresser un fragment de ressource
Même arbre que processeur XSL Utilisation de XPath En cours de stabilisation…

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++

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 IDL = Interface definition language

35 XML et le Web (1) IE Netscape Servlet ou CGI Serveur web Doc XML
Feuille XSLT IE Netscape Serveur web Servlet ou CGI Processeur XSLT Analyseur XML HTML

36 XML et le Web (2) IE Netscape Servlet ou CGI Serveur web Opera
Doc XML Feuille XSLT IE Netscape Serveur web Servlet ou CGI Processeur XSLT Analyseur XML HTML Opera HTML +CSS Téléphones WAP WML

37 XML et le Web (3) IE Netscape Servlet ou CGI Serveur web Opera
Doc XML Feuille XSLT IE Netscape Serveur web Feuille XSLFO Servlet ou CGI Processeur XSLT Analyseur XML HTML +PDF Processeur XSLFO Opera HTML +CSS Téléphones WAP WML

38 XML et le Web (4) (Big) Browser Serveur web Doc XML Feuille XSLT
Processeur XSLT Serveur web Feuille XSLFO Processeur XSLFO XML XSLT XSLFO Analyseur XML

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…

40 Interro XML W3C DTD XSD XPATH XSLT CSS URI XSL-FO XLINK XPOINTER API
DOM IDL eXtensible Markup Language World Wide Web Consortium Définition de Type de Document XML Schema Document XML Path eXtensible Style Language Transformation Cascading Style Sheet Universal Ressource Information eXtensible Style Language Formatting Objects XML Link XML Pointer Application Programming Interface Document Object Model Interface Definition Language


Télécharger ppt "XML : concours d’acronymes ou futur standard ?"

Présentations similaires


Annonces Google