Extensible Markup Language

Slides:



Advertisements
Présentations similaires
D.U Introduction à XML Université Paris II & LRI Michel de Rougemont 1.Introduction à XML 2.DTD 3.XSL : style.
Advertisements

Transformation de documents XML
DTD Sylvain Salvati
eXtensible Markup Language
Conception de Site Webs Interactifs Cours 3
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
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.
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 -
le langage les éléments
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
Introduction Concepts fondamentaux Éléments d’architecture
version Beta Marie Calberg Ninni Louhelainen SLFN7
Tutoriel XSLT F. Sajous ERSS – 01/04/2005.
XML en 10 points1 Jean-Daniel Fekete Département Informatique École des Mines de Nantes
TP 3-4 BD21.
Manipulation d’XML avec XSL
Introduction et Concepts : De SGML à XML
Adamou Mahamane Sidi Maman Bachir
NSY107 - Intégration des systèmes client-serveur
XML eXtensible Markup Language
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Les instructions PHP pour l'accès à une base de données MySql
Web Structurel
RDF(S)
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
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.
XSLT Langage de transformation darbre par Yves Bekkers.
<XML/> Bruno GRILHERES (EADS CASSIDIAN)
XML : concours d’acronymes ou futur standard ?
Rappel (très) succint d’éléments techniques (XML, DTD, XSL, PHP)
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.
Les feuilles de style CSS
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
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
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
Le langage XML.
Web sémantique Par Lydia Carine Mampais KI Bamba SISSOKO
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Initiation à XML Antonin Benoît DIOUF eXtensible Markup Language.
S'initier au HTML et aux feuilles de style CSS Cours 5.
SMIL Synchronized Multimedia Integration Language
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Le développement Web.
Introduction à XML Yves Bekkers. Plan Introduction - structurer l’information Les langages à balises - un peu d’histoire XML - concepts de base Outils.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
1. Introduction 2. DTD 3. Schémas
XSD XML Schema Definition Année universitaire UP web.
eXtensible Markup Language. Généralités sur le XML.
Introduction à MathML Par Katia Larrivée UQO Le 18 mars 2004.
Introduction à SVG Scalable Vector Graphic. Informations ● Plus d'informations ici (draft, tutoriaux, outils... ): –
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
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.
Le langage XML Documents bien formés Un document XML est dit bien formé lorsque le document est correct sans toutefois posséder une DTD. Le prologue du.
XML les données réellement portables La nécessité d’un format de données universel et lisible se faisait sentir depuis longtemps, aujourd’hui avec le développement.
XML Introduction. Langage XML eXtensible Markup Language XML permet de créer des documents Avec des balises propres au document Langage «extensible» Représentant.
Préparé par : Marouane FELJA
Transcription de la présentation:

Extensible Markup Language XML Extensible Markup Language

Why do we need XML? XML Introduction to XML Skill Level: Introductory Doug Tidwell (dtidwell@us.ibm.com) XML Evangelist IBM 07 Aug 2002 SGML as an ISO Standard XML HTML Standard Generalized Markup Language (langage normalisé de balisage généralisé - SGML) est un langage de description à balises, de norme ISO (ISO 8879:1986). 1986 1993 1996

Why do we need XML? << "HTML is the most successful markup language of all time. <p> <b>Mrs. Mary McGoon</b> <br/> 1401 Main Street Anytown, NC 34829 </p> The trouble with HTML is that it was designed with humans in mind. … The tags don't tell the browser what the information is. You and I know it's an address, but a machine doesn't. ">>

XML voué à la simplicité des échanges est aujourd'hui une galaxie.

<XML> Document and Publishing Focus Data Integration / e-Business Focus <XML>

<XML> XQuery SOAP XSLT SVG EXI XSL-FO RelaxNG DTDs Schemas Document and Publishing Focus Data Integration / e-Business Focus SOAP XQuery SOA and Web Services XSLT Application Integration SVG EXI Flexible Data Interchange XSL-FO RelaxNG DTDs Schemas <XML>

training http://www.w3schools.com/xpath/xpath_intro.asp

W3C

XML et la diversité d'utilisation et fonctionnement XML Tutorials XML Tutorial DTD Tutorial XML DOM Tutorial XSL Tutorial XSLT Tutorial XSL-FO Tutorial XPath Tutorial XQuery Tutorial XLink Tutorial XPointer Tutorial Schema Tutorial XForms Tutorial SOAP Tutorial WSDL Tutorial RDF Tutorial RSS Tutorial WAP Tutorial Web Services Tutorial

XML et la diversité d'utilisation et fonctionnement XML voué à la simplicité des échanges est aujourd'hui une galaxie. XML Schema pour définir les structures et les types de données XSLT pour transformer des données XML SOAP XML pour échanger des données entre les applications WSDL pour décrire les services Web RDF pour décrire des ressources Web XPath et XQuery pour accéder à des données XML SMIL pour des graphiques

Plan XML Balise Contenu et balisage Éléments Documents

Plan XML Balise Contenu et balisage Éléments Documents

XML Permet le stockage l'organisation et la vérification de l'information. XML est un standard W3C. XML est devenu indispensable dans le système d'information.

Plan XML Balise Contenu et balisage Éléments Documents

Balisage XML est un ensemble de règles permettant la création de langages de balisage. un langage de balisage est un ensemble de symboles placés dans le corps d'un document afin d'en délimiter et d'en étiqueter les différentes parties. XML n'est pas en langage en lui-même : c'est une spécification Le balisage améliore la compréhension de l'information. HTML : <i> 183 <i> XML : <taille unite="cm"> 183 </taille>

Plan XML Balise Contenu et balisage Éléments Documents

Balisage et contenu Le contenu et le balisage sont des valeurs informatives du document. Le Contenu est ce qui compte pour le lecteur mais cela doit être présenté d'une façon signifiante. Le Balisage permet au programmes de déterminer les fonctions et les limites de ces différents contenus (voir plus loin).

Plan XML Balise Contenu et balisage Éléments Documents

Les éléments Les éléments sont des morceaux qui composent un document. Ils s'imbriquent les uns dans les autres structurant et étiquetant le contenu d'un document.

Plan XML Balise Contenu et balisage Éléments Documents

Le document Un document est en XML l'unité fondamentale de l'information. C'est un ensemble ordonné de balises et éléments Le document peut correspondre à une BD un format d'échange de données entre application (c'est une notion plus large que le document traditionnel)

Modèle de document Il existe deux moyens pour créer un langage dérivé de XML XML sans modèle On parle de document bien formé, si le document satisfait aux règles minimales de XML XML modèle de document Création d'une spécification qui établit les règles propres du document. La conformité des instances de document est obtenu par comparaison avec le modèle On parle de validation de document.

Type de document On parle de type de document (ou application XML) qui respecte les règles de XML. Il existe de nombreuses applications XML dans de nombreux domaines. XMLNews is a specification for exchanging news and other information. XML Weather Service http://www.weather.gov/xml/current_obs/ http://www.medicalnewstoday.com/index.php?page=newsfeed

Présentation En XML, les styles et mise en forme du document sont définis dans un document appelé feuille de style. L'idée est de séparer la forme du fond

Traitement Tout programme qui peut lire et traiter du XML est appelé processeur XML. On parle de traitement du XML. Validateurs Navigateurs Parseurs Le parseur transforme par exemple le flux de caractères en atomes et construit une structure d'arbre en mémoire.

Exemple de Transformation Un processus qui réorganise les différentes parties d'un document est appelée transformation. Les documents sont transformés à l'aide de XSLT (Extensible Style Language for transformation) il est possible de résumer extraire calculer Limites du HTML.

Document Prologue Contenu textuel Les chevrons (<>) et les noms qu'ils encadrent sont appelé des balises. Elles marquent et nomment les parties du document et ajoutent des informations qui aident à en définir la structure. Le balisage et le contenu sont complémentaires. Ils forment ensemble une entité d'information dont les données sont découpées et étiquetées.

<!-- Prologue --> <?xml version="1.0" encoding="ISO-8859-1"?> <!-- Élément racine --> <biblio> <!-- Premier enfant --> <livre> <!-- Élément enfant titre --> <titre>Les Misérables</titre> <auteur>Victor Hugo</auteur> <nb_tomes>3</nb_tomes> </livre> <titre>L'Assomoir</titre> <auteur>Émile Zola</auteur> <livre lang="en"> <titre>David Copperfield</titre> <auteur>Charles Dickens</auteur> </biblio>

Prologue Contient une déclaration XML décrivant des propriétés générales du document indiquant au processeur XML qu'il a besoin d'un parseur XML pour l'interprétation du document. Une déclaration de type on spécifie la déclaration d'entité la DTD utilisée, nom de l'élément racine.

Exemple : Déclaration XML <?xml nom="val" ... ?> propriété Propriété : version encoding standalone (No : indique qu'il faut charger d'autres fichiers)

<!-- Prologue --> <?xml version="1.0" encoding="ISO-8859-1"?> <!-- Élément racine --> <biblio> <!-- Premier enfant --> <livre> <!-- Élément enfant titre --> <titre>Les Misérables</titre> <auteur>Victor Hugo</auteur> <nb_tomes>3</nb_tomes> </livre> <titre>L'Assomoir</titre> <auteur>Émile Zola</auteur> <livre lang="en"> <titre>David Copperfield</titre> <auteur>Charles Dickens</auteur> </biblio>

Déclaration de type <!DOCTYPE racine SYSTEM "URI vers la DTD"> C'est une déclaration optionnelle servant à attacher une grammaire de type Document Type Definition au document XML.

exemple http://www.w3schools.com/dtd/default.asp <?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend</body> </note> http://www.w3schools.com/dtd/default.asp

Balisages élément attribut espace de noms entités commentaires les instructions de traitements sections CDATA

Balisages élément attribut espace de noms entités commentaires les instructions de traitements sections CDATA

Éléments Les éléments sont les parties d'un document <nom attribut="val" ... > contenu </nom> Les éléments vides <nom attribut="val" ... /> Les éléments sont soumis aux règles de positionnement La balise de fin doit arriver après la balise de début Les balises début et fin doivent apparaître tous deux à l'intérieur d'un même élément parent.

<titre> Les Misérables </titre> <!-- Prologue --> <?xml version="1.0" encoding="ISO-8859-1"?> <!-- Élément racine --> <biblio> <!-- Premier enfant --> <livre> <!-- Élément enfant titre --> <titre> Les Misérables </titre> <auteur>Victor Hugo</auteur> <nb_tomes>3</nb_tomes> </livre> <titre>L'Assomoir</titre> <auteur>Émile Zola</auteur> <livre lang="en"> <titre>David Copperfield</titre> <auteur>Charles Dickens</auteur> </biblio> Copyright (c) 2004-2006 Gilles Chagnon

Éléments Nom d'un élément : suite non vide de caractères alphanumériques tiret-souligné (underscore) signe moins point caractère deux-points (:) ce caractère possède un sens particulier Contraintes à satisfaire le premier caractère doit être alphabétique ou un tiret-souligné les trois premiers caractères ne doivent pas former une chaîne dont la représentation en lettres minuscules est "xml".

Éléments Corrects _tiyi Nom_société xsl:rule X.11 Incorrects 2009-catalogue XmlSpécifification nom société

Balisages élément attribut espace de noms entités commentaires les instructions de traitements sections CDATA

Attributs Un élément peut avoir un nombre quelconque d'attributs nom="valeur" attributs réservés : xml:lang xml:space xml:link xml:attribut

Attributs ou éléments On peut écrire avec des attributs ce que l'on écrit avec des éléments <livre lang="en"> … </livre> <livre> <lang>en </lang> L'inverse n'est pas vrai Un attribut ne peut pas être repété dans un élément (sauf au travers d'élément différents)

Régles Choix de l'attribut, lorsque une valeur n'est pas répétée n'évoluera pas vers une structure complexe En cas de doute choix de l'élément

Balisages élément attribut espace de noms entités commentaires les instructions de traitements sections CDATA

Espace de noms : garantir l'absence de conflits doc 2 doc1 doc 3 nom (livre) nom (auteur) on a les packages en java.

Choix d'un identifiant unique L'identifiant pourrait être n'importe quel chaîne de caractère. L'identifiant est généralement une URL L'URL ne signifie pas qu'il doit y avoir un document sur le serveur.

Choix d'un identifiant unique <h:table xmlns:h="http://www.w3.org/TR/html4/"> <f:table xmlns:f="http://www.w3schools.com/furniture">

exemple xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

Exemple <?xml version="1.0" encoding="utf-8"?> <library xmlns="http://dyomedea.com/ns/library" > <book id="b0836217462"> <title>Being a Dog Is a Full-Time Job</title> <authors> <person id="CMS"> <name>Charles M Schulz</name> </person> </authors> </book> </library>

remarque l'espace de nom est invisible : Mozilla

l'espace de nom est visible

Equivalence des écritures <?xml version="1.0"?> <lib:library xmlns:lib="http://dyomedea.com/ns/library"> <lib:book id="b0836217462"> <lib:title> Being a Dog Is a Full-Time Job </lib:title> <lib:authors> <lib:person id="CMS"> <lib:name> Charles M Schulz </lib:name> </lib:person> </lib:authors> </lib:book> </lib:library> <?xml version="1.0" encoding="utf-8"?> <library xmlns="http://dyomedea.com/ns/library" > <book id="b0836217462"> <title>Being a Dog Is a Full-Time Job</title> <authors> <person id="CMS"> <name>Charles M Schulz</name> </person> </authors> </book> </library>

Espace de noms par défaut <library xmlns="http://dyomedea.com/ns/library" > <book id="b0836217462"> … </book> </library> L'espace de noms http://dyomedea.com/ns/library est définie comme l'espace de noms par défaut. L'espace de noms s'applique à tous les éléments du document.

Et encore ! <?xml version="1.0"?> <l:library xmlns:l="http://dyomedea.com/ns/library"> <l:book id="b0836217462" xmlns:lib="http://dyomedea.com/ns/library"> <l:title> Being a Dog Is a Full-Time Job </l:title> <lib:authors> <l:person id="CMS" xmlns="http://dyomedea.com/ns/library"> <name> Charles M Schulz </name> </l:person> </lib:authors> </l:book> </l:library>

coexistence des espaces de noms <?xml version="1.0"?> <!-- Namespace: http://dyomedea.com/ns/library --> <library xmlns="http://dyomedea.com/ns/library" xmlns:mkt="http://dyomedea.com/ns/library/mkt"> <book id="b0836217462"> <title> Being a Dog Is a Full-Time Job </title> <authors> <person id="CMS"> <name> Charles M Schulz </name> </person> </authors> <mkt:cover> Paperback </mkt:cover> <mkt:pages> 128 </mkt:pages> </book> </library> XML sert de glue entre applications, et les espaces de noms ont été créés pour faire cohabiter différents vocabulaires. En ajoutant des nouveau espaces de noms "mkt=marketing" le reste de l'application est inchangée.

Balisages élément attribut espace de noms entités Entités Entité de caractère Entités de contenu mixte Entité non parsée commentaires les instructions de traitements sections CDATA

Une entité Son rôle remplacement de caractère marquage de position pour inclure un fichier joue le rôle de variable de remplacement dans le document Une entité générale est une réserve de contenu qui apparaît au niveau de la racine où à n'importe quel niveau à l'intérieur de celui-ci. Losque le parseur rencontre des appels d'entités, il recherche dans une table en mémoire le marqueur pour le remplacer dans le document.

Entité de caractère Pour éviter des conflits avec les délimiteurs de balisage & & apos ' gt > lt < quot "

Unité de caractère Numérique Unicode 10000 caractères, symboles. Impossibilités d'utiliser le clavier, remplacé par un code de saisie numérique ¥ ¥ ¥

Entités de contenu mixte Entité interne <!ENTITY nom "<name>nom</name>"> Entité externe <!ENTITY chap1 SYSTEM "chap1.xml"> Identifiant système est une URL, qui permet d'inclure n'importe quel fichier

Entité non parsée L'analyse syntaxique doit restreindre son analyse à des documents comme les images, graphique. <!ENTITY img SUSTEM "Photo.gif" NDATA GIF> Exemple d'identifiant de notation

Balisages élément attribut espace de noms entités commentaires les instructions de traitements sections CDATA

Commentaires <!-- texte -->

Balisages élément attribut espace de noms entités commentaires les instructions de traitements sections CDATA

Instructions de traitements joue le rôle de conteneur pour des données destinées à un processeur XML spécifique <? nom données ?>

Balisages élément attribut espace de noms entités commentaires les instructions de traitements sections CDATA

Sections CDATA CDATA : caractères data : signifie pas de balise Indique au parseur que les caractères de balisage doivent être traités comme des caractères normaux.

Documents bien formés Les documents bien formés répondent à un ensemble de règles de bases : les délimiteurs de balise doivent être corrects une balise de fin suit une balise début les éléments ne se chevauchent pas si un document répond à ces règles, il est bien formé.

Plan XML Balise Contenu et balisage Éléments Documents

EOF

Format de fichier Le standard et ses extensions proposent : support de très nombreux encodages (Unicode, ISO Latin, etc.) international inclusion et macro (très élémentaires) contraintes de structure : Document Type Definition (DTD), Schéma méta organisation : namespace liens évolués : XPointer et Xlink stockage : bases de données XML (langage de requêtes XQuery) compression spécialisée calcul de différences (gestion de version)

Programmation Le standard et ses extensions proposent : analyse syntaxique : modèle objet : Document Object Model (DOM) modèle évènementiel : Simple API for Xml (SAX) sérialisation validation (en général intégrée à l’analyseur) : DTD schéma moteur de transformation (d’un document XML en un autre) : XSLT expressions rationnelles XML : XPath Outils Open Source par le groupe apache http://xml.apache.org : Xerces : analyse syntaxique et validation Xalan : transformation et expressions rationnelles (voir aussi Saxon, http://saxon.sourceforge.net/)

Outils et normes utiles : base de connaissances : Ressource Description Framework (RDF) transformation vers HTML et WML : XSLT impression de qualité : XSL :FO dessin vectoriel : Scalable Vector Graphics (SVG) animation : SMIL mathématiques : MathML RPC en XML : xmlrpc et SOAP Outils Open Source par le groupe apache http://xml.apache.org : FOP : support de XSL :FO Batik : support de SVG