XML : concours d’acronymes ou futur standard ?

Slides:



Advertisements
Présentations similaires
Sintaks : Tentative de guide de mise en œuvre Michel Hassenforder.
Advertisements

Données structurées et XML
Introduction aux Web Services Partie 1. Technologies XML
16/01/2006 : 18h30-21h30 Aurélien Barbier-Accary 1 Coordonnées Aurélien Barbier-Accary Aurélien Barbier-Accary Supports du cours accessibles sur :
1 3.Langage XSL = XSLT + XSL-FO transformationFormatage.
Transformation de documents XML
DTD Sylvain Salvati
eXtensible Markup Language
JXDVDTEK – Une DVDthèque en Java et XML
Les espaces de nommage XML par Philippe Poulard 1
XML schema Objectifs Valider un doc. XML pour des contraintes syntaxiques Documenter un type de documents XML caractérisé par des contraintes Encadrer.
Données structurées et XML
Le Modèle Logique de Données
XHTML EXtensible HyperText Markup Language. HTML et XML HTML (HyperText Markup Language) et XML (eXtensible Markup Language) sont deux spécifications.
Les technologies XML Cours 3 : Les APIS XML Janvier Version 1.0 -
Cours 2 : Transformation de documents XML
le langage les éléments
Les fonctions de XPath et XSLT
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
version Beta Marie Calberg Ninni Louhelainen SLFN7
Tutoriel XSLT F. Sajous ERSS – 01/04/2005.
TP 3-4 BD21.
Manipulation d’XML avec XSL
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Laboratoire SAFARI , UQAM
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Introduction aux Web Services Partie 1. Technologies HTML-XML
XML eXtensible Markup Language
XML-Family Web Services Description Language W.S.D.L.
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
SYSTEMES D’INFORMATION
XML: Syntaxe XML, DTD et Schémas
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
Xpath XML Path language par Yves Bekkers
XSLT Langage de transformation darbre par Yves Bekkers.
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Projet de Master première année 2007 / 2008
Feuilles de styles CSS Syntaxe d'application d'un style à une balise HTML : Les différents types de style : Pourquoi utiliser un style ? Possibilité étendue.
Les feuilles de style CSS
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Données sous XML Stéphane Marchand-Maillet Groupe Viper Vision par Ordinateur et Multimédia CUI – Université de Genève
Langages de requêtes XML
8 - XML Cours XML.
Le Langage XML Belkhir Abdelkader Laboratoire LSI USTHB
1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années.
Le langage XHTML 420-S4W-GG Programmation Web Client
Les outils de base : XPath, XSL, XLink, XForms
CALENDRIER-PLAYBOY 2020.
XSL eXtensible Stylesheet Language Historique 1999: XSLT 1.0 et XPATH 1.0 : versions supportées par la plupart des outils depuis février 2007 XSLT 2.0.
XML et son usage dans la DMFA
Le langage XML.
Programmation Web : Introduction à XML
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Publication et Traitement avec XSL
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
Introduction à XML Yves Bekkers. Plan Introduction - structurer l’information Les langages à balises - un peu d’histoire XML - concepts de base Outils.
 G. Gardarin Les outils de base: Publication avec XML 1. XPATH 2. XSLT 3. XSLFO 4. XLink, XForms, RSS, … 5. XML et la bureautique.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
Page 1 © Expert-IT s.a. - Développer des projets en XML Pratique.
eXtensible Markup Language. Généralités sur le XML.
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
XSLT. Les documents XML peuvent avoir dans leur prologue une instruction de traitement xml-stylesheet. Cette instruction de traitement indique au navigateur.
Extensions à la spécification XML Le "plus petit cercle" XML Yves Bekkers Mise à jour : 9 octobre 2003.
Transcription de la présentation:

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

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

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

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

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

É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é.

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

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>

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

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

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

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

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

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

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

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: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" />

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

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

…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

http://www.xml.org DTD deja existantes…

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

Arbre de noël

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"]

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

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…

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

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

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…

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 …

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…

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

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

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

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

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

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

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

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…

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