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

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

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

Présentations similaires


Présentation au sujet: "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."— Transcription de la présentation:

1 XML Le nouveau standard de données sur le WEB

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

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

4 Technologies en 3 Niveaux

5 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

6 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

7 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

8 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

9 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

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

11 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

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

13 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é

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

15 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

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

17 ... } 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

18 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

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

20 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”

21 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

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

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

24 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

25 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()

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

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

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

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

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

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

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

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

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

35 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

36 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

37 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

38 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);

39 XML DOM Namespaces  Implémente les Namespaces dans XML suivant le working draft http://www.w3.org/TR/WD-xml-names http://www.w3.org/TR/WD-xml-names  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

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

41 XML DOM Exemple de Namespaces <x:customer id=“345” xmlns:x=“http://richroll.com/customer.xml”> xmlns:x=“http://richroll.com/customer.xml”> …</x:customer>  Utiliser les propriétés du modèle objet custnode.namespace == “http://sebastmi…” 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

42 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

43 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

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

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

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

47 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

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

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

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

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

52 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

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

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

55 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

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

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

58 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 : degree[@from != "Harvard"] degree[@from $ne$ "Harvard"]

59 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 d’attributs: @* 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"] ...

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

61 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......

62 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

63 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

64 Ressources  Microsoft Web site http://www.microsoft.com/xml http://www.microsoft.com/xml  W3C DOM Committee Web site http://www.w3.org/TR/WD-DOM/ http://www.w3.org/TR/WD-DOM/

65


Télécharger ppt "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."

Présentations similaires


Annonces Google