XML Le nouveau standard de données sur le WEB. Agenda  Introduction  Définition de XML  Le Document Object Model  Afficher le XML  Rechercher dans.

Slides:



Advertisements
Présentations similaires
Les technologies décisionnelles et le portail
Advertisements

DOM Document Object Model. Généralités Standard du W3C Parseur XML – Génération dun arbre dobjet – Construction totale de larbre DOM est spécifié en IDL.
Transformation de documents XML
Xavier Blanc Web Services Xavier Blanc
DTD Sylvain Salvati
eXtensible Markup Language
Personnaliser et étendre les fonctions de recherche dOffice SharePoint Server 2007.
Les espaces de nommage XML par Philippe Poulard 1
L’architecture .net et ASP.net
XHTML EXtensible HyperText Markup Language. HTML et XML HTML (HyperText Markup Language) et XML (eXtensible Markup Language) sont deux spécifications.
le langage les éléments
Domaines nominaux XSLT
version Beta Marie Calberg Ninni Louhelainen SLFN7
TP 3-4 BD21.
Manipulation d’XML avec XSL
CREATION DE FEUILLE DE STYLE pour structuré le document XML
Introduction aux Web Services Partie 1. Technologies HTML-XML
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Introduction aux Web Services Partie 1. Technologies HTML-XML
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Etude des Technologies du Web services
XML-Family Web Services Description Language W.S.D.L.
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
ASP.NET un peu plus loin… Développement Rapide dApplications Web avec.NET.
Introduction à DOM Maroua Bouzid
Développement Rapide dApplications Web avec.NET « Mon premier site »
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
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.
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.
Arbres DOM (OC informatique, EPFL)
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
La face cachée des systèmes de recherche Martin Bouchard, président Janvier 2003.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Les feuilles de style CSS
8 - XML Cours XML.
PHP & My SQL.
JavaScript Nécessaire Web.
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.
Cours de programmation web
Les balises HTML et les objets JavaScript correspondants Objet document L'objet document est important dans la mesure ou il contient tous les objets du.
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
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.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
S'initier au HTML et aux feuilles de style CSS Cours 5.
SMIL Synchronized Multimedia Integration Language
Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Le développement Web.
Page 1Dernière mise à jour: 17 avril 2015 Service de l'enseignement des technologies de l'information, © HEC Montréal, Tous droits réservés.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
G.KEMBELLEC - UP81 Master 2 THYP Cas pratique d’utilisation De simpleXML Un lecteur de RSS Novembre 2009.
AJAX Jérôme CUTRONA 06:28:58 Programmation Web
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Page 1 © Expert-IT s.a. - Développer des projets en XML Pratique.
Initiation au web dynamique Licence Professionnelle.
Programmation Web : DOM en PHP Jérôme CUTRONA 11:06:45 Programmation Web
eXtensible Markup Language. Généralités sur le XML.
Chapitre 4 : Les feuilles de style (généralités) XML fournit aux applications une structure, mais pas la signification ou la manière de mettre en évidence.
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.
Dreamweaver Séance 1.
1 er séance SI28 A2004 YIN Lei Emmanuel Eugene. Plan de l’exposé  Introduction au HTML  Le HTML dans le bloc-notes (notepad)  Présentation de Dreamweaver.
XML Introduction. Langage XML eXtensible Markup Language XML permet de créer des documents Avec des balises propres au document Langage «extensible» Représentant.
Programmation Web : DOM en PHP
Transcription de la présentation:

XML Le nouveau standard de données sur le WEB

Agenda  Introduction  Définition de XML  Le Document Object Model  Afficher le XML  Rechercher dans le XML  Intégration Applicative  Conclusion

L’important en 3 Lettres... COM WNT MTS DNA DNS MSMQ HTML DHTML WEB ADO GDI SQL ASP IIS

Technologies en 3 Niveaux

Les problèmes résolus  Indépendance du client Application windows ou browser Application windows ou browser  Réutilisation du code binaire Composants COM Composants COM  Accès universel aux données ODBC/OLE-DB ODBC/OLE-DB  Indépendance du protocole réseau DCOM DCOM  Services middleware MTS / MSMQ / IIS MTS / MSMQ / IIS  Intégration avec l’existant COMTI / FalconMQ COMTI / FalconMQ

Les problèmes tenaces: sur le poste client  Limitations des fonctionnalités au ppcd des browsers  Pas ou peu de support de COM sur les plateformes autres que Windows  Développement client souvent différent du développement serveur

Les problèmes tenaces: sur le Middleware (Windows)  Accès indifférencié DCOM / HTTP... DCOM / HTTP... Comment structurer les données? Comment structurer les données?  Serveur Internet Serveur de pages (souvent statiques) Serveur de pages (souvent statiques) Peu de pages dynamiques Peu de pages dynamiques Réutilisation du code Réutilisation du code  Développement serveur souvent différent du développement client  Montée en charge

Les problèmes tenaces: sur le serveur  Aucun problème logiciel seul! Accès aux données: Accès aux données: Toutes plateformes / Tout support Toutes plateformes / Tout support Intégration aux Middleware Existants Intégration aux Middleware Existants CICS / MQSeries / BEA Tuxedo CICS / MQSeries / BEA Tuxedo  Problématiques de Haute disponibilité  Montée en charge

Et toujours les données...  L’accès aux données n’est plus un problème  Le transfert de ces données et leur signification en est un! Avez-vous déjà fait une recherche sur le WEB? Avez-vous déjà fait une recherche sur le WEB? Construisez-vous le tranfert de données de la même manière pour le WEB et pour le réseau d’entreprise? Construisez-vous le tranfert de données de la même manière pour le WEB et pour le réseau d’entreprise? La solution : XML

Agenda  Introduction  Définition de XML  Le Document Object Model  Afficher le XML  Rechercher dans le XML  Intégration Applicative  Conclusion

Qu’est ce que XML?  eXtensible Markup Language  Un format texte basé sur des tags pour: Les balises de Document Les balises de Document Les données Les données  Standard  Rigoureux, simple à parcourir (par rapport à HTML) Correctement formé versus valide Correctement formé versus valide

XML: Le format universel de données sur le WEB  Un enregistrement de données Commande, transaction Commande, transaction  Données sur un site WEB Quelles pages downloader, quand… Quelles pages downloader, quand… Jean Jean <Amount>100</Amount><Items><Item><Qty>6</Qty><Prod>E13</Prod></Item><Item><Qty>9</Qty><Prod>J14</Prod></Item></Items></Order>

Qu’est ce que XML?  Définit la sémantique des données, non la sémantique d’affichage  HTML définit l’affichage, pas les données  11 Novembre 1998  11 Novembre 1998 HTML définit un texte, mais pas ce qu’il représente HTML définit un texte, mais pas ce qu’il représente  11 Novembre 1998  11 Novembre 1998 XML définit une date, mais pas comment elle doit être affiché XML définit une date, mais pas comment elle doit être affiché

Status XML au W3C  Recommendation XML 1.0 XML 1.0 XML Document Object Model (DOM) XML Document Object Model (DOM) MathML MathML SMIL SMIL  Working Drafts Namespaces Namespaces Extensible Style Language (XSL) Extensible Style Language (XSL) Extensible Link Language (XLL) Extensible Link Language (XLL) Resource Description Framework (RDF) Resource Description Framework (RDF)  Submission Document Content Description (DCD) Document Content Description (DCD) XML-Data XML-Data Vector Markup Language (VML) Vector Markup Language (VML) Precision Graphics Markup Language (PGML) Precision Graphics Markup Language (PGML)

Support de XML dans IE5  Beaucoup d’améliorations Confirmité XML 1.0 Confirmité XML 1.0 Support des Namespace Support des Namespace Conformité DOM Conformité DOM DSO Amélioré DSO Amélioré Data Islands Data Islands XSL, incluant des requêtes complexes XSL, incluant des requêtes complexes Vue XML native - utilisant XSL ou CSS Vue XML native - utilisant XSL ou CSS XML Schemas technology preview XML Schemas technology preview Fonctionne sur le serveur également Fonctionne sur le serveur également

Agenda  Introduction  Définition de XML  Le Document Object Model  Afficher le XML  Rechercher dans le XML  Intégration Applicative  Conclusion

... } Attributs Document Eléments Text Text Text{ Modèle de données XML  XML est une structure arborescente Les noeuds de l’arbre contiennent les données Les noeuds de l’arbre contiennent les données

Modèle de données XML Les types de noeuds  Document  Element  Attribute  Processing Instruction Commande spécifique d’application Commande spécifique d’application  Comment  Text Information texte Information texte  Section CDATA  Entity Reference & &address; & &address;  Entity  DocumentFragment  DocumentType

Naviguer dans le XML Jane Doe … Jane Doe …</root>

Naviguer dans le XML name lastfirst JaneDoe orders orderorder date 07/16/98 date 07/23/98 Comment customer list root id customer 345 id customer 120 Namespace prefix=“x”

XML DOM Document  Un document peut être créé de 2 façons: Utiliser les XML Data Islands Utiliser les XML Data Islands Référence du XML en utilisant une URL ou inclure du XML directement Référence du XML en utilisant une URL ou inclure du XML directement Méthode recommandée pour l’interopérabilité Méthode recommandée pour l’interopérabilité Créer l’objet XML directement Créer l’objet XML directement Méthodes spécifiques au language Méthodes spécifiques au language

XML DOM Créer un document - Data Island … sebastmi … … … sebastmi … … </HTML>

XML DOM Créer un document - lang. spécifique  JScript var doc = Island1; var doc = new ActiveXObject(“Microsoft.XMLDOM”);  Visual Basic ® Scripting Edition dim doc set doc = CreateObject(“Microsoft.XMLDOM”)  Visual Basic ® dim doc as new DOMDocument  C++ IXMLDocument *pIXDDoc = CoCreateInstance(…)

XML DOM Document  L’objet Document hérite de l’objet Node  Base Node doctype Node documentElement string url boolean validateOnParse  Charger un document booleanload(URL) stringloadXML(xmlString) ParseErrorparseError

XML DOM Document  Construction Node createNode(type,name,namespace) Création d’un noeud de type spécifique Création d’un noeud de type spécifique Node createElement(tagName) Node createAttribute(name) Node createTextNode(data) Node createProcessingInstruction(target,data) Node createComment(data) Node createCDATASection(data) Node createEntityReference(name) Node createDocumentFragment()

XML DOM Document – Support de l’asynchrone  Propriétés intreadystate booleanasync  Méthodes voidabort()  Evènements voidonreadystatechange() void ondataavailable()

XML DOM Document Comment root ProcessingInstruction Document DocumentType Comment ProcessingInstruction Many { Only 1 { document.doctype document.documentElement

XML DOM Propriétés de l’objet Node  Propriétés de base stringnodeName stringnodeValue intnodeType stringnodeStringType NodeownerDocument Nodedefinition booleanspecified booleanparsed stringtext stringxml

XML DOM Propriétés de l’objet Node  Propriétés de navigation NodeparentNode boolean hasChildNodes NodeListchildNodes NamedNodeMapattributes NodefirstChild NodelastChild NodepreviousSibling NodenextSibling

XML DOM Anatomie d’un élément Node nodeType = Element nodeName = customer nodeValue = null hasChildNodes = true nextSiblingpreviousSibling parentNode NodeList NamedNodeMap childNodes firstChild lastChild attributes

XML DOM Méthodes Node  Méthodes Enfants NodeinsertBefore(newChild,refChild) NodereplaceChild(newChild,oldChild) NoderemoveChild(oldChild) NodeappendChild(child)  Avancées DocumentcloneNode(deep)

XML DOM NodeList  NodeList est une collection de Nodes  Base longlength Nodeitem(index)  Navigation NodenextNode() voidreset() Support du for…next Visual Basic

Utiliser le DOM foo def baz 456 foo abc bar root 123 mydocument 345 root root = mydocument.documentElement;

345 Utiliser le DOM foo def baz 456 foo abc bar root 123 node mydocument root = mydocument.documentElement; node = root.childNodes.item(1); root

8910 Utiliser le DOM foo def baz 456 foo abc bar root 123 node update mydocument root = mydocument.documentElement; node = root.childNodes.item(1); node.childNodes.item(0).nodeValue = “8910”; root

8910 Utiliser le DOM foo def baz 456 foo abc bar root 123 node update mydocument attr root = mydocument.documentElement; node = root.childNodes.item(1); node.childNodes.item(0).nodeValue = “8910”; attr = node.attributes.getNamedItem(“foo”); root

newNode 8910 root = mydocument.documentElement; node = root.childNodes.item(1); node.childNodes.item(0).nodeValue = “8910”; attr = node.attributes.getNamedItem(“foo”); root.insertBefore(newNode,root.firstChild); Utiliser le DOM foo def baz 456 foo abc bar root 123 node update mydocument attr root

newNode Utiliser le DOM 456 foo abc bar root 123 mydocument root root = mydocument.documentElement; node = root.childNodes.item(1); node.childNodes.item(0).nodeValue = “8910”; attr = node.attributes.getNamedItem(“foo”); root.insertBefore(newNode,root.firstChild);root.removeNode(root.lastChild);

XML DOM Namespaces  Implémente les Namespaces dans XML suivant le working draft  Un méchanisme pour mélanger des attributs avec le même nom mais des significations différentes  Supports des « scoped namespaces »  Supporte la définition des namespaces par défaut  Support complet dans le DOM

XML DOM Namespaces - DOM  Propriétés stringnamespace stringbaseName stringprefix stringnodeName

XML DOM Exemple de Namespaces <x:customer id=“345” xmlns:x=“ xmlns:x=“ …</x:customer>  Utiliser les propriétés du modèle objet custnode.namespace == “ custnode.prefix == “x” custnode.baseName == “customer” custnode.nodeName == “x:customer”  Comparer deux éléments if (node1.baseName == node2.baseName && node1.namespace == node2.namespace) node1.namespace == node2.namespace) // nodes are same element type

XML DOM Types de données  Permet un ensemble élargit de type de données en plus des chaines de caractères  L’OM vérifie que la donnée est du type déclaré  L’OM fournit un support spécifique NodenodeTypedValue stringdataType

XML DOM Types de données  string  int  float  boolean  dateTime  date  time  i1, i2, i4  ui1, ui2, ui4  r4  r8  uuid  uri  bin.hex  bin.base64

XML DOM Exemple de types de données  node.nodeValue = “12”  node.nodeTypedValue = 12  node.dataType = “int” </root>

XML DOM NamedNodeMap  Fournit un accès aux attributs  Base longlength Nodeitem(index) NodegetNamedItem(name) voidsetNamedItem(node) NoderemoveNamedItem(name)

XML DOM NamedNodeMap  Support des namespaces Node getQualifiedItem(base,URI) Node removeQualifiedItem(base,URI)  Navigation NodenextNode() voidreset() Support du for…next Visual Basic

XML-Data Schemas  Une manière de décrire une structure, un contenu, et des types de données XML  Etend la fonctionnalité du DTD  Utilise la grammaire XML  Peut être utilisé pour valider le XML

XML-Data Schemas  Schema </elementType>  DTD <!DOCTYPE bar [ ]>

Agenda  Introduction  Définition de XML  Le Document Object Model  Afficher le XML  Rechercher dans le XML  Intégration Applicative  Conclusion

Afficher le XML  HTML est le language d’affichage du browser  Deux méthodes pour afficher le XML: XSL: eXtended Stylesheet Language XSL: eXtended Stylesheet Language CSS: Cascading StyleSheet CSS: Cascading StyleSheet  Liaison aux données Data Soutce Object (DSO) Data Soutce Object (DSO)

Utiliser XSL pour générer du HTML Qu’est ce que XSL?  Une grammaire XML  Un processeur de modèle Transforme une grammaire XML en une autre (ou du HTML) Transforme une grammaire XML en une autre (ou du HTML) Déclaratif, pas de code requis Déclaratif, pas de code requis  Une méthode intégrée au DOM XML transformNode(stylesheet)

Utiliser XSL pour générer du HTML Comment l’utiliser?  La feuille de style est chargée par le parser XML  La méthode transformNode() est utilisée pour obtenir le texte de la grammaire cible  La représentation texte peut être: Du HTML à envoyer au client Du HTML à envoyer au client Une autre grammaire XML pouvant être parsée Une autre grammaire XML pouvant être parsée

Utiliser XSL pour générer du HTML Comment l’utiliser? XSL Stylesheet parse XML A BC ED A.transformNode(1) <new>…</new> parse new B E Response.Write

Utiliser les CSS  Standard du W3C  Technologie cliente  Transformations possible via les CSS Behaviors (IE5)

XML Data Source Object  Fonctionne en conjonction avec la liaison aux données dans Internet Explorer  Permet l’utilisation de données XML sans code  Contruit dans l’ensemble des versions de IE5  Haute performance. Compatible avec l’implémentation dans IE4  Fournir un accès ADO à XML

Agenda  Introduction  Définition de XML  Le Document Object Model  Afficher le XML  Rechercher dans le XML  Intégration Applicative  Conclusion

XML DOM Méthodes  Support des requêtes NodeListselectNodes() NodeselectSingleNode()  Integration au XSL wstringtransformNode()

XSL Pattern  Order by  Booléen : AND, OR, NOT author[(degree $or$ award) $and$ publication] author[(degree $or$ award) $and$ publication]  Equivalence: $eq$, $ne$ Trouver tous les auteurs dont le Last-name est Bob : Trouver tous les auteurs dont le Last-name est Bob : author[last-name = "Bob"] author[last-name $eq$ "Bob"] Trouver tous les auteurs dont l’attribut from est différent de Harvard : Trouver tous les auteurs dont l’attribut from est différent de Harvard : != "Harvard"] $ne$ "Harvard"]

XSL Pattern  Comparaison: $any$, $all$ Trouver tous les auteurs dont l’un des last name est bob : Trouver tous les auteurs dont l’un des last name est bob : author[last-name = “Bob”] author[$any$ last-name = “Bob”]  Collection Trouver tous les attributs de l’élément courant dont la valeur est « novel » : Trouver tous les attributs de l’élément courant dont la valeur est « novel » = "novel"] ...

Agenda  Introduction  Définition de XML  Le Document Object Model  Afficher le XML  Rechercher dans le XML  Intégration Applicative  Conclusion

Intégration Applicative  MSXML est un objet COM  Utilisable dans tous les languages Visual Basic Visual Basic Visual C++ Visual C++ Delphi Delphi PowerBuiler PowerBuiler......

Intégration Applicative  Sur le poste client: Affichage des données Affichage des données DSO / DOM DSO / DOM  Sur le middleware Composants métiers Composants métiers DOM DOM

Conclusion  Installez Internet Explorer 5  Utilisez XML sur le client et sur le serveur  Construisez des applications qui utilisent le DOM pour accéder à vos données XML  Utilisez le DSO pour construire des applications clientes utilisant XML

Ressources  Microsoft Web site  W3C DOM Committee Web site