Introduction à XML Gestion de l’information sur Internet Module 1 7 décembre 2004 EL MUSTAPHA EL ATIFI  /  SAID RADHOUANI
Rappels Langages de balisage <tag-nom attribut1=&quot;expression&quot; attribut2=&quot;…&quot;> contenu </tag-nom> Meta-données :données qui décrivent les données !! Ou  Informations descriptives que l’on ajoute à une ressource Web XHTML Feuilles de style CSS Définir et contrôler l’application des règles de style à du contenu html Séparer le contenu de son rendu Concevoir des rendus de document spécifiques à des besoins variés
Introduction Notion de document électronique Aspect statique Aspect dynamique Et si on veux partager des documents entre les membres d’une communauté? Et si l’on veux publier les mêmes données  sous multiples présentations (en tableau, en texte, graphique …) ? Avec éventuellement des traitements sur ces données: tris, enrichissement, sélections, réorganisations, génération automatique de libellés, tables des matières, index, etc.
Introduction Et ce sur de multiples médias (écran, papier, terminal Braille, cellulaire, etc.)  Et si l’on veux chercher sur Internet un hôtel libre à paris sans avoir une connexion chez sois? Remarque:  Les ordinateurs ne sont pas intelligents. Il faut leur dire exactement ce que représentent les informations.
Complément [Limites d’HTML] HTML est devenu le langage universel de formatage et de présentation des informations aux utilisateurs du web Mais! Les tâche utilisateur du web? Chercher de l’information Voir accès à une information structurée rassemblant non seulement l'information elle-même (mots, images,...) mais aussi des indications sur son contenu. utilisateurs et entreprises souhaitent des sites Web qui fournissent des services au-delà d’afficher des pages bien présentées Ils veulent des systèmes qui prennent des commandes de clients  des systèmes  qui consolident des informations
Complément [Limites d’HTML] des systèmes qui  traitent ces informations avant de les présenter Partager des documents à structure spécifique entre une communauté / ! \  HTML n'avait pas été conçu pour ce genre de tâches  HTML: peu de balises pour la structure <p>, <head>, <body>, <title>, … Avec HTML il est difficile d’exprimer la sémantique (méta-infos + commentaires+ sémantique des balises) HTML: mélange les balises de structure et ceux de la présentation
Historique Au début des années 80 (1986) standard SGML  Connu pour sa complexité de mise en œuvre Usage limité à de très grands systèmes documentaires.  En 1996 une équipe conduite par Jon Bosak de Sun Microsystems décide de créer une version du SGML plus simple et mieux adaptée aux besoins d'échange de données sur le Web. En 1998 XML est né: la recommandation  XML 1.0  a été publiée par l’XML Working Group le 10 février 1998  XML est l'abréviation d'e X tensible  M arkup  L anguage. Etat actuel :  XML 1.1 , recommandation publiée par le W3C le 4 février 2004
Historique Source: www.euroclid.fr GM Internet Web SGML HTML XML 1960 1986 1992 1996
XML c’est quoi? Document éléctronique Document texte plat décrit la structure logique et la sémantique des documents Langage pour écrire des langages (métalangage) Langage de balisage
Structure XML Un document XML est fait de: Un prologue  <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?>   Le prologue se poursuit avec des informations facultatives sur des instructions de traitement à destination d'applications particulières. Leur syntaxe est la suivante:  <?instruction de traitement?>  Le second élément est une déclaration de type de document (à l'aide d'un fichier annexe appelé  DTD  -  Document Type Definition )  L’arbre des éléments Un élément racine Des éléments internes Un élément peut contenir d’autres éléments ou du texte Un élément peut avoir des attributs Un élément peut être vide
Exemple de document XML <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <annuaire>     <personne type=&quot;étudiant&quot;>         <nom>HEUTE</nom>         <prenom>Thomas</prenom>         <email>webmaster@xmlfacile.com</email>     </personne>     <personne type=&quot;chanteur&quot;>         <nom>CANTAT</nom>         <prenom>Bertrand</prenom>     </personne> </annuaire>
Vue hierarchique XML annuaire Personne chanteur nom Personne étudiant prenom email nom prenom
Syntaxe Le document commence par une déclaration XML avec l’encodage. Le document  utilise une DTD s’il y a. Le document contient  un seul et unique élément racine. Le document contient un ou plusieurs éléments. Un  élément  correspond à une balise fermé sans contenu ou Une balise d’ouverture,  un contenu  une balise de fermeture. Une balise contenant des données doit impérativement être fermée.  Les balises doivent être correctement imbriquées.
Syntaxe XML - eXtensible XML n'impose pas de structure rigide : <nom valeur=EL ATIFI/> <nom>EL ATIFI</nom> décrit la structure logique et la sémantique des documents
Autres exemples de docs XML http:// cui.unige.ch / xml / evenements / derniere_depeche.xml http://cui.unige.ch/xml/DI/etudes/licence.xml http://cui.unige.ch/xml/etudiants/index.xml http://cui.unige.ch/etudiants/index.html http://cui.unige.ch/xml/etudiants/index-en.xml http://cui.unige.ch/etudiants/index-en.html
Caractéristiques et avantages L’édition d’un document XML se fait indépendamment de sa restitution future (papier, écran, cellulaire, synthèse vocale ou autre) ou d’un traitement futur Réutilisabilité et  amélioration de la productivité Rendre les données facilement partageables XML n’est pas un langage propriétaire (portabilité assurée) Le coût de mise en place est très faible : mettre à jour le contenu d’un fichier!
Caractéristiques et avantages XML a pour but de rendre les informations auto-explicatives pour les ordinateurs et pour les humains XML permet de représenter des données structurées ou des objets dans un fichier texte plat  e X tensible:  car les repères de marquage des données ne sont pas définies dans le langage comme en HTML.  Représentation des données indépendamment d'un système. Pas comme les feuille Excel, BD, fichier Word … XML facilite donc l'échange d'informations non seulement entre des systèmes informatiques différents mais aussi au-delà des frontières nationales ou culturelles: utilisation d’UNI-CODE Lisibilité Outils de validation
Editeurs XML Editeurs d’XML Jaxe  : éditeur XML   Xeena XML SPY Exchanger XML Editor  XML Editor  Jaxe Morphon XMLwriter  …
Parseurs XML Parseurs ou afficheurs :  Internet explorer  : A partir de  la version 5.0 et au delà. <http://www.microsoft.com/downloads/search.asp?LangID=7&LangDIR=FR> affiche l'arborescence d'un fichier xml.  Microsoft XML  Parser  (MSXML) 3.0 Service Pack 4 (SP4)  <http://msdn.microsoft.com/library/default.asp?url=/downloads/list/xmlgeneral.asp >  Opera  . A pertir de la version 5 <http://www.opera.com/opera5/specs.html#xml> valable pour BeOS, Linux,Windows, Epoc et Mac.  Mozilla  <http://www.mozilla.org/> affiche le contenu des balises d'un fichier xml les uns à la suite des autres.  Netscape  A partir de la version 6. <http://wp.netscape.com/download/>
Autour d’XML DTD( Document Type Definition ), XML est un ensemble de nouvelles technologies : «XML namespaces» «XML Schemas»,CSS, XPath, XLink , XQuery, … analyseurs  (en anglais  parsers , parfois francisé en  parseurs ).  le SAX et le DOM : ensemble de classes d'objets pour programmer avec des données XML.   Applications XML Dans le cadre du web Autres utilisations
Définition de types de document (DTD) Question? Comment imposer une structure rigide pour l’édition d’un document XML? Comment vérifier qu’un document XML respecte la charte d’une communauté au niveau de sa structure et son contenu? Validité de document Besoin d’un langage qui permet de définir des jeux de balises. => DTD: langage de Définition de Type de Document (Document Type Definition)
DTD Chaque document XML peut être associé à une DTD Une DTD c’est:  Ensemble de règles définissant la structure d’une classe de documents XML elle fournit la liste des éléments xml et leurs imbrication, leurs attributs, notations et entités Une DTD peut être insérée dans le document XML qu’elle régit, ou être associée à ce document par une adresse de référence (url externe). Ce dernier cas de figure permet de partager une DTD entre plusieurs documents
DTD interne: exemple <?xml version=1.0 standalone=yes?> <!DOCTYPE MESSAGE [ <!ELEMENT MESSAGE (#PCDATA)> ]> <MESSAGE> Salut tout le monde </MESSAGE> Visualiser le fichier avec IE
DTD partagée: exemple <?xml version=1.0 standalone=&quot;yes&quot;?> <!DOCTYPE MESSAGE SYSTEM &quot;message.dtd&quot;>  <MESSAGE> Salut tout le monde </MESSAGE> <?xml version=1.0 standalone=&quot;yes&quot;?> <!DOCTYPE MESSAGE SYSTEM &quot;http://unl.unige.ch/message.dtd&quot;>  <MESSAGE> Salut tout le monde </MESSAGE> Visualiser le fichier avec IE
DTD <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <!DOCTYPE annuaire SYSTEM &quot;annuaire.dtd&quot;> <annuaire>     <personne type=&quot;étudiant&quot;>         <nom>HEUTE</nom>         <prenom>Thomas</prenom>         <email>webmaster@xmlfacile.com</email>     </personne>     <personne type=&quot;chanteur&quot;>         <nom>CANTAT</nom>         <prenom>Bertrand</prenom>         <email>noir@desir.fr</email>     </personne> </annuaire>
DTD – exemple : annuaire <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <!ELEMENT annnuaire (personne*)> <!ELEMENT personne (nom+,prenom+,email?)> <!ATTLIST personne type (étudiant |professeur | chanteur | musicien) &quot;étudiant&quot;> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> <!ELEMENT email (#PCDATA)>
DTD Un document XML est dit valide s’il est conforme à ce qui est défini dans la DTD associée. Exemple de document XML non valide: <?xml version=1.0 standalone=yes?> <!DOCTYPE MESSAGE [ <!ELEMENT MESSAGE (#PCDATA)> ]> <MESSAGE  langue=&quot;fr&quot; > Salut tout le monde </MESSAGE> Il existe des validateurs de documents XML par rapport à leur DTD exemple:  http://www.cogsci.ed.ac.uk/%7Erichard/xml-check.html http://www.stg.brown.edu/service/xmlvalid/
XML Schema (XSD) XML Schema est un formalisme qui permet de définir des contraintes en matière de syntaxe, de structure et de valeurs applicables à une classe de documents XML. Il permet entre autres d'effectuer des contrôles de validité lors de la saisie/mise à jour de ces documents XSD est plus stricte qu’une DTD Permet d’introduire la notion de type de donnée
XSD - exemple <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <xsd:schema targetNamespace=&quot;http://localhost/perso/MonExemple&quot; &quot;xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xsd:element name=&quot;produit&quot;> <xsd:complexType>       <xsd:element name=&quot;specification&quot;>       <xsd:complexType>             <xsd:all>             <xsd:attribut name=&quot;taille&quot; type=&quot;xsd:string&quot; />             <xsd:attribut name=&quot;couleur&quot; type=&quot;xsd:string&quot; />             </xsd:all>       </xsd:complexType>       </xsd:element>       <xsd:element name=&quot;prix&quot;>       <xsd:complexType>             <xsd:all>             <xsd:attribut name=&quot;gros&quot; type=&quot;xsd:decimal&quot; />             <xsd:attribut name=&quot;detail&quot; type=&quot;xsd:decimal&quot; />             <xsd:attribut name=&quot;tva&quot; type=&quot;xsd:decimal&quot; />             </xsd:all>       </xsd:complexType>       </xsd:element>  <xsd:element name=&quot;notes&quot; minOccurs=&quot;0&quot; type=&quot;xsd:string&quot; /> </xsd:complexType> </xsd:element> </xsd:schema>
XML NameSpaces XML namespaces permet de mélanger les repères de sources différentes sans risques( c’est un mécanisme destiné à lever les ambiguïtés éventuelles des intitulés de balise ), Par exemple &quot;titre&quot; peut aussi bien désigner le titre d'un ouvrage que celui d'une personne. Pour lever ces ambiguïtés, le mécanisme des  namespaces  consiste à utiliser des préfixes, par ex. &quot;perso:titre&quot; et &quot;biblio:titre&quot;. Ces préfixes doivent être déclarés comme associés à une URL qui peut être fictive, mais qui le plus souvent fera référence à l'organisme garant du vocabulaire en question).
XML et le WEB Affichage d’un document XML par les différents navigateurs. Partager de l’information entre plusieurs sites en facilitant leur mise à jour: Chaque site possède son propre document Il enregistre le lien (URI) vers ce document auprès d'aggrégateur(s) de contenu Les mises à jour se font une seule fois et à un seul niveau  Efficace pour des sites portails (portails d’information) imaginer un portail qui regroupent toutes les informations relatives aux célébrités sportives et en même temps intègrent des informations sur leurs opérations financières Interfacer des applications Web
Applications XML sur le web XHTML XSL / XSLT VoiceXML ou VXML: Spécification XML, validée en mai 2000 par le W3C, conçue pour &quot;l'internet vocal&quot;.  Outils de création de sites vocaux ( Voice Publisher  ) Et des produits : Notifier [ http://www.dexem.fr/stories/2003/12/23/notifier] SVG: ( S calable  V ector  G raphics ) SMIL :  l'intégration du contenu multimédia grâce à XML  X3D : (Extensible 3D) langage de description de scènes de réalité virtuelle WML: ( Wireless Markup Language) similaire à HTML, il est lu et interprété par un navigateur intégré à un terminal WAP (téléphone portable)
XML et les feuilles de style Il est possible d'utiliser pour présenter un document XML  les feuilles de style CSS  les feuilles de style XSL  L’utilisation des feuilles de style XSL pour transformer ou rendre utilisable un document XML se fait par utilisation de XSLT
XML et CSS Association d’une ou plusieurs feuilles de style à un document XML Association au moyen de l’instruction de traitement <?xml-stylesheet …?> Par référence dans une autre feuille de style à l’aide de @import Feuille de style spécifié par l’utilisateur (options du navigateur) Moyens d’introduire des règles de style pour le contenu XML: Séléction par des pseudo-classes Séléction par identificateur Attribut d’exception STYLE=&quot;font-style:italic«  Attention pas pris en charge par tous les navigateurs Héritage des règles de style dans la hiérarchie des éléments.
XSL / XSLT XSL et XSLT sont des outils pour appliquer des transformations et styles à des documents, XSL et un langage normalisé de feuilles de style ( Extensible Style Language )  XSL permet de définir simplement les règles de construction de nouveaux documents(XML, html, pdf, txt,…) à partir de documents XML. XSLT et le mécanisme qui permet de transformer un arbre source représentant le document xml en un  arbre  résultat.
Source: www.euroclid.fr
Source: www.euroclid.fr
XSL / XSLT exemples Utiliser un navigateur (IE) pour afficher le contenu XML associé à une feuille de style xsl (voir demos)  Génération automatique des fiches des membres et des chercheurs du CUI (voir demos)
SVG SVG:  S calable  V ector  G raphics  Langage de définition de formes graphiques 2D en XML Intègre des éléments d’animation 1èr avantage: éditer un dessin graphique avec Note-Pad !! Les images SVG sont zoomable (sans perte de qualité)
Exemple SVG Autre exemple:  http:// www.svg.free.fr /SVG/ Voiture.html Voir : demos/svg
SMIL Langage d'Intégration Multimédias Synchronisés SMIL est pour le multimédia ce que HTML est pour le texte  Intègre des mécanismes puissants pour la gestion du temps, de la synchronisation et des animations
SMIL - exemple <smil> <head> <!-- Presentation attributes. --> <meta name=&quot;title&quot; content=&quot;video example&quot;/> <meta name=&quot;author&quot; content=&quot;EL atifi&quot;/> <layout>   <!-- Width, height, and background color of entire presentation. -->   <root-layout width=&quot;300&quot; height=&quot;300&quot; background-color=&quot;black&quot; />   <!-- Text region.  -->   <region id=&quot;text_region&quot;  left=&quot;0&quot;  top=&quot;175&quot; width=&quot;300&quot; height=&quot;120&quot; />   <!-- video region.  -->   <region id=&quot;video_region&quot;  left=&quot;0&quot;  top=&quot;0&quot; width=&quot;300&quot; height=&quot;170&quot; /> </layout> </head> <body> <par>   <!-- Play these streams concurrently (in parallel).  -->   <text  src=&quot;g2video.rt&quot; region=&quot;text_region&quot; />   <video src=&quot;g2video.rm&quot; region= &quot;video_region&quot;clip-end=&quot;0:43.0&quot;/> </par> </body> </smil>
SMIL - exemple Autres exemples:  http:// www.realnetworks.com / resources / samples / switching.html Voir : demos/smil/exemple2.smi
VXML le VoiceXML permet de déployer des applications professionnelles (centres d'appels, messagerie d'entreprise, intranet vocal) ou grand public (services d'informations boursières, météo, jeux, astrologie, etc...).  Permet l'accès à Internet via le téléphone, mobile ou fixe  navigation téléphonique sur Internet à travers des sites vocaux Conception de plate formes Internet pour les handicapés mal voyants… standard automatique, journal téléphoné, serveur vocal d'actualités, service thématique etc.
VXML <?xml version=&quot;1.0&quot;?> <vxml version=&quot;2.0&quot;>   <menu>     <prompt>       Choisissez une section: <enumerate/>     </prompt>     <choice next=&quot;http://www.le-site.com/sports.vxml&quot;>       Sports     </choice>     <choice next=&quot;http://www.le-site.com/meteo.vxml&quot;>       Météo     </choice>     <choice next=&quot;http://www.le-site.com/actus.vxml&quot;>       Actualités     </choice>     <noinput>Faites un choix parmi les sections proposées: <enumerate/>  </noinput>   </menu> </vxml>
VXML Le dialogue serait rendu comme suit, à l'aide d'un téléphone: Ordinateur: &quot;Choisissez une section: Sports; Météo; Actualités. &quot;   Utilisateur: &quot;Astrologie. &quot;   Ordinateur:  message spécifique à la plateforme, de la forme  &quot;Je n'ai pas compris ce que vous avez dit&quot;,  puis  &quot;Faites un choix parmi les sections proposées: Sports; Météo; Actualités.«  Utilisateur: &quot;Actualités.«  Ordinateur:  charge la page  http://www.le-site.com/actus.vxml
VXML - exemple Voir : demos/vxml
X3D (eXtensible 3D) D’abord il y avait VRML X3D: S uccesseur au VRML conforme à XML Langage de définition de scènes virtuelles 3D en XML Nécessite  des &quot;viewers&quot; pour rendre la scène visible et navigable Facilement intégrable aux services web (exemple environnements de chat 3D )
X3D - exemple <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> < !DOCTYPE X3D PUBLIC &quot;http://www.web3D.org/TaskGroups/x3d/translation/x3d-draft.dtd&quot;&quot;file://localhost/C:/www.web3D.org/TaskGroups/x3d/translation/x3d-draft.dtd&quot;> < X3D>     < Header>      < meta name=&quot;file&quot; content=&quot;HelloWorld.x3d&quot;/>     < meta name=&quot;author&quot; content=&quot;*enter name here*&quot;/>     < meta name=&quot;revised&quot; content=&quot;9 Feb 2000&quot;/>     < meta name=&quot;description&quot; content=&quot;Simplist World&quot;/>     < meta name=&quot;url&quot; content=&quot;*enter url address here*&quot;/>     < meta name=&quot;generator&quot; content=&quot;X3D-Edit,     http://www.web3D.org/TaskGroups/x3d/translation/README.X3D-Edit.txt&quot;/>   < /Header>     < Scene>      < Transform>        < Shape>          < Appearance>            < Material diffuseColor=&quot;0 0 1&quot;/>          < /Appearance>         < IndexedFaceSet coordIndex=&quot;0 1 2 3 0 -1&quot;>            < Coordinate point=&quot;-1.5 -1 0, 1.5 -1 0, 1.5 1 0, -1.5 1 0&quot;/>          < /IndexedFaceSet>        < /Shape>      < /Transform>    < /Scene>  < /X3D>
Scène virtuelle - exemple Voir : demos/x3d-vrml
Web sémantique Tout objet du web ou (ressource) possède une étiquette.  Toute étiquette est lisible par les agents logiciels et par les êtres humains.  Intégration des liens sémantiques externes qui existent entre les ressources  Beaucoup d’applications et langages ont vu le jour: RDF, RDFS, OWL, … Application dans plusieurs domaines et pour différents besoins Futur du web
Pour conclure Futur Futur d’Internet:  Cette modification mineure dans la manière de communiquer des ordinateurs va transformer l'Internet d'une plate-forme d'échange d'informations en une plate-forme pour traiter les informations. Futur des entreprises:  Disposer de données XML va devenir une condition sine qua non pour préserver sa position sur le marché. L’Utilisation d’XML va améliorer la recherche d'information
Pour conclure Mais XML n’est pas la solution miracle Les outils d’XML ne sont pas tous encore des standards XML ne peut pas remplacer à l’état actuel les bases de donnée mais peut les alimenter et les interfacer avec des applications. Le passage à XML au sein des entreprises et des organisation et limité par Les frais de formation du personnel La complexité de conversion des données stocké(fichiers texte, Excel, BD…) dans le format XML  Les gens sont content avec ce qu’ils ont  /!\ Il n’est pas toujours facile de changer les habitudes  /!\
Références http://www.chez.com/xml/ http:// www.toutestfacile.com http://www.w3c.org/XML/   http://www.w3schools.com/svg/svg_examples.asp http://www.w3.org/Math/ implementations.html XML le guide de l’utilisateur. Edition OSMAN EYROLLES MULTIMEDIA (Livre sur XML) http://www.yoyodesign.org/doc/w3c/w3c.html http:// apia.u-strasbg.fr / vrml / index.html   http://www.web3d-fr.com/

Introduction à XML

  • 1.
    Introduction à XMLGestion de l’information sur Internet Module 1 7 décembre 2004 EL MUSTAPHA EL ATIFI / SAID RADHOUANI
  • 2.
    Rappels Langages debalisage <tag-nom attribut1=&quot;expression&quot; attribut2=&quot;…&quot;> contenu </tag-nom> Meta-données :données qui décrivent les données !! Ou Informations descriptives que l’on ajoute à une ressource Web XHTML Feuilles de style CSS Définir et contrôler l’application des règles de style à du contenu html Séparer le contenu de son rendu Concevoir des rendus de document spécifiques à des besoins variés
  • 3.
    Introduction Notion dedocument électronique Aspect statique Aspect dynamique Et si on veux partager des documents entre les membres d’une communauté? Et si l’on veux publier les mêmes données sous multiples présentations (en tableau, en texte, graphique …) ? Avec éventuellement des traitements sur ces données: tris, enrichissement, sélections, réorganisations, génération automatique de libellés, tables des matières, index, etc.
  • 4.
    Introduction Et cesur de multiples médias (écran, papier, terminal Braille, cellulaire, etc.) Et si l’on veux chercher sur Internet un hôtel libre à paris sans avoir une connexion chez sois? Remarque: Les ordinateurs ne sont pas intelligents. Il faut leur dire exactement ce que représentent les informations.
  • 5.
    Complément [Limites d’HTML]HTML est devenu le langage universel de formatage et de présentation des informations aux utilisateurs du web Mais! Les tâche utilisateur du web? Chercher de l’information Voir accès à une information structurée rassemblant non seulement l'information elle-même (mots, images,...) mais aussi des indications sur son contenu. utilisateurs et entreprises souhaitent des sites Web qui fournissent des services au-delà d’afficher des pages bien présentées Ils veulent des systèmes qui prennent des commandes de clients des systèmes qui consolident des informations
  • 6.
    Complément [Limites d’HTML]des systèmes qui traitent ces informations avant de les présenter Partager des documents à structure spécifique entre une communauté / ! \ HTML n'avait pas été conçu pour ce genre de tâches HTML: peu de balises pour la structure <p>, <head>, <body>, <title>, … Avec HTML il est difficile d’exprimer la sémantique (méta-infos + commentaires+ sémantique des balises) HTML: mélange les balises de structure et ceux de la présentation
  • 7.
    Historique Au débutdes années 80 (1986) standard SGML Connu pour sa complexité de mise en œuvre Usage limité à de très grands systèmes documentaires. En 1996 une équipe conduite par Jon Bosak de Sun Microsystems décide de créer une version du SGML plus simple et mieux adaptée aux besoins d'échange de données sur le Web. En 1998 XML est né: la recommandation XML 1.0 a été publiée par l’XML Working Group le 10 février 1998 XML est l'abréviation d'e X tensible M arkup L anguage. Etat actuel : XML 1.1 , recommandation publiée par le W3C le 4 février 2004
  • 8.
    Historique Source: www.euroclid.frGM Internet Web SGML HTML XML 1960 1986 1992 1996
  • 9.
    XML c’est quoi?Document éléctronique Document texte plat décrit la structure logique et la sémantique des documents Langage pour écrire des langages (métalangage) Langage de balisage
  • 10.
    Structure XML Undocument XML est fait de: Un prologue <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> Le prologue se poursuit avec des informations facultatives sur des instructions de traitement à destination d'applications particulières. Leur syntaxe est la suivante: <?instruction de traitement?> Le second élément est une déclaration de type de document (à l'aide d'un fichier annexe appelé DTD - Document Type Definition ) L’arbre des éléments Un élément racine Des éléments internes Un élément peut contenir d’autres éléments ou du texte Un élément peut avoir des attributs Un élément peut être vide
  • 11.
    Exemple de documentXML <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <annuaire>     <personne type=&quot;étudiant&quot;>         <nom>HEUTE</nom>         <prenom>Thomas</prenom>         <email>webmaster@xmlfacile.com</email>     </personne>     <personne type=&quot;chanteur&quot;>         <nom>CANTAT</nom>         <prenom>Bertrand</prenom>     </personne> </annuaire>
  • 12.
    Vue hierarchique XMLannuaire Personne chanteur nom Personne étudiant prenom email nom prenom
  • 13.
    Syntaxe Le documentcommence par une déclaration XML avec l’encodage. Le document utilise une DTD s’il y a. Le document contient un seul et unique élément racine. Le document contient un ou plusieurs éléments. Un élément correspond à une balise fermé sans contenu ou Une balise d’ouverture, un contenu une balise de fermeture. Une balise contenant des données doit impérativement être fermée. Les balises doivent être correctement imbriquées.
  • 14.
    Syntaxe XML -eXtensible XML n'impose pas de structure rigide : <nom valeur=EL ATIFI/> <nom>EL ATIFI</nom> décrit la structure logique et la sémantique des documents
  • 15.
    Autres exemples dedocs XML http:// cui.unige.ch / xml / evenements / derniere_depeche.xml http://cui.unige.ch/xml/DI/etudes/licence.xml http://cui.unige.ch/xml/etudiants/index.xml http://cui.unige.ch/etudiants/index.html http://cui.unige.ch/xml/etudiants/index-en.xml http://cui.unige.ch/etudiants/index-en.html
  • 16.
    Caractéristiques et avantagesL’édition d’un document XML se fait indépendamment de sa restitution future (papier, écran, cellulaire, synthèse vocale ou autre) ou d’un traitement futur Réutilisabilité et amélioration de la productivité Rendre les données facilement partageables XML n’est pas un langage propriétaire (portabilité assurée) Le coût de mise en place est très faible : mettre à jour le contenu d’un fichier!
  • 17.
    Caractéristiques et avantagesXML a pour but de rendre les informations auto-explicatives pour les ordinateurs et pour les humains XML permet de représenter des données structurées ou des objets dans un fichier texte plat e X tensible: car les repères de marquage des données ne sont pas définies dans le langage comme en HTML. Représentation des données indépendamment d'un système. Pas comme les feuille Excel, BD, fichier Word … XML facilite donc l'échange d'informations non seulement entre des systèmes informatiques différents mais aussi au-delà des frontières nationales ou culturelles: utilisation d’UNI-CODE Lisibilité Outils de validation
  • 18.
    Editeurs XML Editeursd’XML Jaxe : éditeur XML Xeena XML SPY Exchanger XML Editor XML Editor Jaxe Morphon XMLwriter …
  • 19.
    Parseurs XML Parseursou afficheurs : Internet explorer : A partir de  la version 5.0 et au delà. <http://www.microsoft.com/downloads/search.asp?LangID=7&LangDIR=FR> affiche l'arborescence d'un fichier xml. Microsoft XML Parser (MSXML) 3.0 Service Pack 4 (SP4) <http://msdn.microsoft.com/library/default.asp?url=/downloads/list/xmlgeneral.asp > Opera . A pertir de la version 5 <http://www.opera.com/opera5/specs.html#xml> valable pour BeOS, Linux,Windows, Epoc et Mac. Mozilla <http://www.mozilla.org/> affiche le contenu des balises d'un fichier xml les uns à la suite des autres. Netscape A partir de la version 6. <http://wp.netscape.com/download/>
  • 20.
    Autour d’XML DTD(Document Type Definition ), XML est un ensemble de nouvelles technologies : «XML namespaces» «XML Schemas»,CSS, XPath, XLink , XQuery, … analyseurs (en anglais parsers , parfois francisé en parseurs ). le SAX et le DOM : ensemble de classes d'objets pour programmer avec des données XML. Applications XML Dans le cadre du web Autres utilisations
  • 21.
    Définition de typesde document (DTD) Question? Comment imposer une structure rigide pour l’édition d’un document XML? Comment vérifier qu’un document XML respecte la charte d’une communauté au niveau de sa structure et son contenu? Validité de document Besoin d’un langage qui permet de définir des jeux de balises. => DTD: langage de Définition de Type de Document (Document Type Definition)
  • 22.
    DTD Chaque documentXML peut être associé à une DTD Une DTD c’est: Ensemble de règles définissant la structure d’une classe de documents XML elle fournit la liste des éléments xml et leurs imbrication, leurs attributs, notations et entités Une DTD peut être insérée dans le document XML qu’elle régit, ou être associée à ce document par une adresse de référence (url externe). Ce dernier cas de figure permet de partager une DTD entre plusieurs documents
  • 23.
    DTD interne: exemple<?xml version=1.0 standalone=yes?> <!DOCTYPE MESSAGE [ <!ELEMENT MESSAGE (#PCDATA)> ]> <MESSAGE> Salut tout le monde </MESSAGE> Visualiser le fichier avec IE
  • 24.
    DTD partagée: exemple<?xml version=1.0 standalone=&quot;yes&quot;?> <!DOCTYPE MESSAGE SYSTEM &quot;message.dtd&quot;> <MESSAGE> Salut tout le monde </MESSAGE> <?xml version=1.0 standalone=&quot;yes&quot;?> <!DOCTYPE MESSAGE SYSTEM &quot;http://unl.unige.ch/message.dtd&quot;> <MESSAGE> Salut tout le monde </MESSAGE> Visualiser le fichier avec IE
  • 25.
    DTD <?xml version=&quot;1.0&quot;encoding=&quot;ISO-8859-1&quot;?> <!DOCTYPE annuaire SYSTEM &quot;annuaire.dtd&quot;> <annuaire>     <personne type=&quot;étudiant&quot;>         <nom>HEUTE</nom>         <prenom>Thomas</prenom>         <email>webmaster@xmlfacile.com</email>     </personne>     <personne type=&quot;chanteur&quot;>         <nom>CANTAT</nom>         <prenom>Bertrand</prenom>         <email>noir@desir.fr</email>     </personne> </annuaire>
  • 26.
    DTD – exemple: annuaire <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <!ELEMENT annnuaire (personne*)> <!ELEMENT personne (nom+,prenom+,email?)> <!ATTLIST personne type (étudiant |professeur | chanteur | musicien) &quot;étudiant&quot;> <!ELEMENT nom (#PCDATA)> <!ELEMENT prenom (#PCDATA)> <!ELEMENT email (#PCDATA)>
  • 27.
    DTD Un documentXML est dit valide s’il est conforme à ce qui est défini dans la DTD associée. Exemple de document XML non valide: <?xml version=1.0 standalone=yes?> <!DOCTYPE MESSAGE [ <!ELEMENT MESSAGE (#PCDATA)> ]> <MESSAGE langue=&quot;fr&quot; > Salut tout le monde </MESSAGE> Il existe des validateurs de documents XML par rapport à leur DTD exemple: http://www.cogsci.ed.ac.uk/%7Erichard/xml-check.html http://www.stg.brown.edu/service/xmlvalid/
  • 28.
    XML Schema (XSD)XML Schema est un formalisme qui permet de définir des contraintes en matière de syntaxe, de structure et de valeurs applicables à une classe de documents XML. Il permet entre autres d'effectuer des contrôles de validité lors de la saisie/mise à jour de ces documents XSD est plus stricte qu’une DTD Permet d’introduire la notion de type de donnée
  • 29.
    XSD - exemple<?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?> <xsd:schema targetNamespace=&quot;http://localhost/perso/MonExemple&quot; &quot;xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xsd:element name=&quot;produit&quot;> <xsd:complexType>       <xsd:element name=&quot;specification&quot;>       <xsd:complexType>             <xsd:all>             <xsd:attribut name=&quot;taille&quot; type=&quot;xsd:string&quot; />             <xsd:attribut name=&quot;couleur&quot; type=&quot;xsd:string&quot; />             </xsd:all>       </xsd:complexType>       </xsd:element>       <xsd:element name=&quot;prix&quot;>       <xsd:complexType>             <xsd:all>             <xsd:attribut name=&quot;gros&quot; type=&quot;xsd:decimal&quot; />             <xsd:attribut name=&quot;detail&quot; type=&quot;xsd:decimal&quot; />             <xsd:attribut name=&quot;tva&quot; type=&quot;xsd:decimal&quot; />             </xsd:all>       </xsd:complexType>       </xsd:element>  <xsd:element name=&quot;notes&quot; minOccurs=&quot;0&quot; type=&quot;xsd:string&quot; /> </xsd:complexType> </xsd:element> </xsd:schema>
  • 30.
    XML NameSpaces XMLnamespaces permet de mélanger les repères de sources différentes sans risques( c’est un mécanisme destiné à lever les ambiguïtés éventuelles des intitulés de balise ), Par exemple &quot;titre&quot; peut aussi bien désigner le titre d'un ouvrage que celui d'une personne. Pour lever ces ambiguïtés, le mécanisme des namespaces consiste à utiliser des préfixes, par ex. &quot;perso:titre&quot; et &quot;biblio:titre&quot;. Ces préfixes doivent être déclarés comme associés à une URL qui peut être fictive, mais qui le plus souvent fera référence à l'organisme garant du vocabulaire en question).
  • 31.
    XML et leWEB Affichage d’un document XML par les différents navigateurs. Partager de l’information entre plusieurs sites en facilitant leur mise à jour: Chaque site possède son propre document Il enregistre le lien (URI) vers ce document auprès d'aggrégateur(s) de contenu Les mises à jour se font une seule fois et à un seul niveau Efficace pour des sites portails (portails d’information) imaginer un portail qui regroupent toutes les informations relatives aux célébrités sportives et en même temps intègrent des informations sur leurs opérations financières Interfacer des applications Web
  • 32.
    Applications XML surle web XHTML XSL / XSLT VoiceXML ou VXML: Spécification XML, validée en mai 2000 par le W3C, conçue pour &quot;l'internet vocal&quot;. Outils de création de sites vocaux ( Voice Publisher ) Et des produits : Notifier [ http://www.dexem.fr/stories/2003/12/23/notifier] SVG: ( S calable V ector G raphics ) SMIL : l'intégration du contenu multimédia grâce à XML X3D : (Extensible 3D) langage de description de scènes de réalité virtuelle WML: ( Wireless Markup Language) similaire à HTML, il est lu et interprété par un navigateur intégré à un terminal WAP (téléphone portable)
  • 33.
    XML et lesfeuilles de style Il est possible d'utiliser pour présenter un document XML les feuilles de style CSS les feuilles de style XSL L’utilisation des feuilles de style XSL pour transformer ou rendre utilisable un document XML se fait par utilisation de XSLT
  • 34.
    XML et CSSAssociation d’une ou plusieurs feuilles de style à un document XML Association au moyen de l’instruction de traitement <?xml-stylesheet …?> Par référence dans une autre feuille de style à l’aide de @import Feuille de style spécifié par l’utilisateur (options du navigateur) Moyens d’introduire des règles de style pour le contenu XML: Séléction par des pseudo-classes Séléction par identificateur Attribut d’exception STYLE=&quot;font-style:italic« Attention pas pris en charge par tous les navigateurs Héritage des règles de style dans la hiérarchie des éléments.
  • 35.
    XSL / XSLTXSL et XSLT sont des outils pour appliquer des transformations et styles à des documents, XSL et un langage normalisé de feuilles de style ( Extensible Style Language ) XSL permet de définir simplement les règles de construction de nouveaux documents(XML, html, pdf, txt,…) à partir de documents XML. XSLT et le mécanisme qui permet de transformer un arbre source représentant le document xml en un arbre résultat.
  • 36.
  • 37.
  • 38.
    XSL / XSLTexemples Utiliser un navigateur (IE) pour afficher le contenu XML associé à une feuille de style xsl (voir demos) Génération automatique des fiches des membres et des chercheurs du CUI (voir demos)
  • 39.
    SVG SVG: S calable V ector G raphics Langage de définition de formes graphiques 2D en XML Intègre des éléments d’animation 1èr avantage: éditer un dessin graphique avec Note-Pad !! Les images SVG sont zoomable (sans perte de qualité)
  • 40.
    Exemple SVG Autreexemple: http:// www.svg.free.fr /SVG/ Voiture.html Voir : demos/svg
  • 41.
    SMIL Langage d'IntégrationMultimédias Synchronisés SMIL est pour le multimédia ce que HTML est pour le texte Intègre des mécanismes puissants pour la gestion du temps, de la synchronisation et des animations
  • 42.
    SMIL - exemple<smil> <head> <!-- Presentation attributes. --> <meta name=&quot;title&quot; content=&quot;video example&quot;/> <meta name=&quot;author&quot; content=&quot;EL atifi&quot;/> <layout> <!-- Width, height, and background color of entire presentation. --> <root-layout width=&quot;300&quot; height=&quot;300&quot; background-color=&quot;black&quot; /> <!-- Text region. --> <region id=&quot;text_region&quot; left=&quot;0&quot; top=&quot;175&quot; width=&quot;300&quot; height=&quot;120&quot; /> <!-- video region. --> <region id=&quot;video_region&quot; left=&quot;0&quot; top=&quot;0&quot; width=&quot;300&quot; height=&quot;170&quot; /> </layout> </head> <body> <par> <!-- Play these streams concurrently (in parallel). --> <text src=&quot;g2video.rt&quot; region=&quot;text_region&quot; /> <video src=&quot;g2video.rm&quot; region= &quot;video_region&quot;clip-end=&quot;0:43.0&quot;/> </par> </body> </smil>
  • 43.
    SMIL - exempleAutres exemples: http:// www.realnetworks.com / resources / samples / switching.html Voir : demos/smil/exemple2.smi
  • 44.
    VXML le VoiceXMLpermet de déployer des applications professionnelles (centres d'appels, messagerie d'entreprise, intranet vocal) ou grand public (services d'informations boursières, météo, jeux, astrologie, etc...). Permet l'accès à Internet via le téléphone, mobile ou fixe navigation téléphonique sur Internet à travers des sites vocaux Conception de plate formes Internet pour les handicapés mal voyants… standard automatique, journal téléphoné, serveur vocal d'actualités, service thématique etc.
  • 45.
    VXML <?xml version=&quot;1.0&quot;?><vxml version=&quot;2.0&quot;>   <menu>     <prompt>       Choisissez une section: <enumerate/>     </prompt>     <choice next=&quot;http://www.le-site.com/sports.vxml&quot;>       Sports     </choice>     <choice next=&quot;http://www.le-site.com/meteo.vxml&quot;>       Météo     </choice>     <choice next=&quot;http://www.le-site.com/actus.vxml&quot;>       Actualités     </choice>     <noinput>Faites un choix parmi les sections proposées: <enumerate/> </noinput>   </menu> </vxml>
  • 46.
    VXML Le dialogueserait rendu comme suit, à l'aide d'un téléphone: Ordinateur: &quot;Choisissez une section: Sports; Météo; Actualités. &quot; Utilisateur: &quot;Astrologie. &quot; Ordinateur: message spécifique à la plateforme, de la forme &quot;Je n'ai pas compris ce que vous avez dit&quot;, puis &quot;Faites un choix parmi les sections proposées: Sports; Météo; Actualités.« Utilisateur: &quot;Actualités.« Ordinateur: charge la page http://www.le-site.com/actus.vxml
  • 47.
    VXML - exempleVoir : demos/vxml
  • 48.
    X3D (eXtensible 3D)D’abord il y avait VRML X3D: S uccesseur au VRML conforme à XML Langage de définition de scènes virtuelles 3D en XML Nécessite des &quot;viewers&quot; pour rendre la scène visible et navigable Facilement intégrable aux services web (exemple environnements de chat 3D )
  • 49.
    X3D - exemple<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> < !DOCTYPE X3D PUBLIC &quot;http://www.web3D.org/TaskGroups/x3d/translation/x3d-draft.dtd&quot;&quot;file://localhost/C:/www.web3D.org/TaskGroups/x3d/translation/x3d-draft.dtd&quot;> < X3D>    < Header>     < meta name=&quot;file&quot; content=&quot;HelloWorld.x3d&quot;/>     < meta name=&quot;author&quot; content=&quot;*enter name here*&quot;/>     < meta name=&quot;revised&quot; content=&quot;9 Feb 2000&quot;/>     < meta name=&quot;description&quot; content=&quot;Simplist World&quot;/>     < meta name=&quot;url&quot; content=&quot;*enter url address here*&quot;/>     < meta name=&quot;generator&quot; content=&quot;X3D-Edit,     http://www.web3D.org/TaskGroups/x3d/translation/README.X3D-Edit.txt&quot;/>   < /Header>    < Scene>     < Transform>       < Shape>         < Appearance>           < Material diffuseColor=&quot;0 0 1&quot;/>         < /Appearance>         < IndexedFaceSet coordIndex=&quot;0 1 2 3 0 -1&quot;>           < Coordinate point=&quot;-1.5 -1 0, 1.5 -1 0, 1.5 1 0, -1.5 1 0&quot;/>         < /IndexedFaceSet>       < /Shape>     < /Transform>   < /Scene> < /X3D>
  • 50.
    Scène virtuelle -exemple Voir : demos/x3d-vrml
  • 51.
    Web sémantique Toutobjet du web ou (ressource) possède une étiquette. Toute étiquette est lisible par les agents logiciels et par les êtres humains. Intégration des liens sémantiques externes qui existent entre les ressources Beaucoup d’applications et langages ont vu le jour: RDF, RDFS, OWL, … Application dans plusieurs domaines et pour différents besoins Futur du web
  • 52.
    Pour conclure FuturFutur d’Internet: Cette modification mineure dans la manière de communiquer des ordinateurs va transformer l'Internet d'une plate-forme d'échange d'informations en une plate-forme pour traiter les informations. Futur des entreprises: Disposer de données XML va devenir une condition sine qua non pour préserver sa position sur le marché. L’Utilisation d’XML va améliorer la recherche d'information
  • 53.
    Pour conclure MaisXML n’est pas la solution miracle Les outils d’XML ne sont pas tous encore des standards XML ne peut pas remplacer à l’état actuel les bases de donnée mais peut les alimenter et les interfacer avec des applications. Le passage à XML au sein des entreprises et des organisation et limité par Les frais de formation du personnel La complexité de conversion des données stocké(fichiers texte, Excel, BD…) dans le format XML Les gens sont content avec ce qu’ils ont /!\ Il n’est pas toujours facile de changer les habitudes /!\
  • 54.
    Références http://www.chez.com/xml/ http://www.toutestfacile.com http://www.w3c.org/XML/ http://www.w3schools.com/svg/svg_examples.asp http://www.w3.org/Math/ implementations.html XML le guide de l’utilisateur. Edition OSMAN EYROLLES MULTIMEDIA (Livre sur XML) http://www.yoyodesign.org/doc/w3c/w3c.html http:// apia.u-strasbg.fr / vrml / index.html http://www.web3d-fr.com/