Скачать презентацию XML origine — concept — techniques Tuyêt Trâm Скачать презентацию XML origine — concept — techniques Tuyêt Trâm

9d5825ff5136ea12999238bd0dae52d2.ppt

  • Количество слайдов: 59

XML origine - concept - techniques Tuyêt Trâm DANG NGOC Laboratoire PRi. SM Université XML origine - concept - techniques Tuyêt Trâm DANG NGOC Laboratoire PRi. SM Université de Versailles-Saint-Quentin Cours 2/2

Récapitulatif XML Résumé des concepts du cours précédent Récapitulatif XML Résumé des concepts du cours précédent

XML (1/3) <un standard défini par l'organisme de normalisation W 3 C (World Wide XML (1/3)

Déclaration format" src="http://present5.com/presentation/9d5825ff5136ea12999238bd0dae52d2/image-4.jpg" alt="XML (2/3) Déclaration format" /> XML (2/3) Déclaration format XML Déclaration schéma associé Déclaration feuille de style Elements Balise ouvrante Contenu Programmation Linux 2. 0 Attribut 28. 88 Nom d'attribut Valeur d'attribut Balise fermante Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 4

XML (3/3) <Plus strict que HTML, moins que SGML <Un document XML DOIT être XML (3/3)

Standards connexes à XML - résumé <Décrire la structure d'un document XML < DTD Standards connexes à XML - résumé

Standards XML émergents <Normalisé et produits existants, mais peu d'utilisation industrielle encore ou alors Standards XML émergents

Langages d’interrogation <Besoins : <Opérateurs standards de requêtes sur bases de données <Navigation dans Langages d’interrogation

Langage de requête sur XML : XQuery • Collection d’arbres utilisés • Equivalent du Langage de requête sur XML : XQuery • Collection d’arbres utilisés • Equivalent du FROM de SQL • Mémorisation d’arbres • Affectation de variables locales F L W • Condition (élagage) • Equivalent du WHERE de SQL O • Ordonnancement • Equivalent de ORDER-BY de SQL R for $var in expr let $var : = expr where expr order-by $var return expr • Sous-arbres sélectionnés • Présentation des sous-arbres • Equivalent du SELECT de SQL avec une reconstruction Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 9

<hotel> <nom>Le Loir</nom> <adresse> <rue>Nid</rue> <ville>Paris</ville> </adresse> <telephone>0112345678</telephone> <commentaire>On y dort bien !</> </hotel> Le Loir Nid Paris 0112345678 On y dort bien ! Exemple XQuery (1) < Lister la liste des hôtels de Paris, et les trier par nom descendant Données Résultat Schéma Requête for $h in collection ( « hotels » )/hotel where $h/adresse/ville = « Paris » return La Marmotte Terrier {$h/nom} Versailles 0124680246 order-by (nom descending) 01642086421 Collection "hotels" hotel La Marmotte La Marmotte nom adresse Terrier rue Le Loir Paris ville Tuyêt Trâm DANG NGOC - Université de Versailles 0187654321 telephone Monday, March 19, 2018 10

Exemples XQuery (2) < Noms de tous les restaurants sous forme de fragments XML Exemples XQuery (2) < Noms de tous les restaurants sous forme de fragments XML collection ( « restaurants » )/restaurant/nom < Lister l’adresse des restaurants dans le 20 eme arrondissement Collection "restaurants" de Paris restaurant for $r in collection ( « restaurant » )/restaurant nom where $r/adresse/codepostal = « 75020 » adresse return $r/adresse rue codepostal menu for $r in collection ( « restaurants » )/restaurant[adresse/codepostal= « 75020 » ] return $r/adresse Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 11

Exemples XQuery (3) <Lister les noms des hôtels, le nom et le menu des Exemples XQuery (3) {$h/nom} {$r/menu} Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 hotel nom adresse rue ville telephone Collection "restaurants" restaurant nom adresse rue codepostal menu 12

XQuery - fonctionnalités < Expression de chemin XPath : /a//b[c = 5] < Expressions XQuery - fonctionnalités < Expression de chemin XPath : /a//b[c = 5] < Expressions FLWR : FOR. . . LET. . . WHERE. . . RETURN < Constructeurs d'éléments : . . . < Variables et constantes: $x, 5 < Operateurs et appels de fonctions: x + y, -z, foo(x, y) < Expressions conditionnelles : IF. . . THEN. . . ELSE < Quantifieurs: EVERY var IN expr SATISFIES expr < Expressions d'ordonnancement : expr ORDER-BY (expr ASCENDING , . . . ) < Quelques propositions pour INSERT, REPLACE, DELETE Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 13

XLink <Exprimer des liens entre fragments XML <Aller au delà du simple usage des XLink

The Design of the" src="http://present5.com/presentation/9d5825ff5136ea12999238bd0dae52d2/image-15.jpg" alt="Xlink : exemple [. . . ] The Design of the" /> Xlink : exemple [. . . ] The Design of the UNIX Operating System General overview of the system Introduction to the kernel The buffer cache [. . . ] [. . . ] http: //. . . /fichier_livre. xml#ID(z 42), CHILD(3, CHAPTER) Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 15

RDF <RDF (Ressource Description Framework) : cadre permettant de décrire et d’échanger les métadonnées. RDF

RDF <Une propriété (Property) est une combinaison d’une ressource, d’un type de propriété et RDF W 3 C Ressource Description Framework Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 17

Outils de programmation XML <DOM <SAX <SOAP Outils de programmation XML

Outils de programmation XML <Interfaces de programmation spécifiées par le W 3 C <Interfaces Outils de programmation XML

Document XML – Flux SAX – Arbre DOM start. Document () start. Element (personne) Document XML – Flux SAX – Arbre DOM start. Document () start. Element (personne) start. Element (nom) personne characters (Cover) Cover nom end. Element (nom) #text: Cover start. Element (prenom) prenom characters (Harry) Harry #text: Harry end. Element (prenom) adresse start. Element (adresse) rue start. Element (rue) #text: Stendhal characters (Stendhal) Stendhal ville end. Element (rue) #text: Paris start. Element (ville) characters (Paris) Paris end. Element (ville) end. Element (adresse) end. Element (personne) Tuyêt Trâm DANG NGOC - Université de Versailles end. Document. Monday, March 19, 2018 () 20

SAX (Sample API for XML) <Modèle simplifié d'événement. <Types d'événement : <début et fin SAX (Sample API for XML)

SAX <Fonctionne sur le principe des callbacks (rétro-appels) <Au fur et à mesure de SAX

Linux Kernel 2. 0 " src="http://present5.com/presentation/9d5825ff5136ea12999238bd0dae52d2/image-23.jpg" alt="Application Handler Linux Kernel 2. 0 " /> Application Handler Linux Kernel 2. 0 Card start. Document () { Afficher "Debut -"} start. Element (nom_balise, tableau_attributs){ Afficher nom_balise Afficher attributs entre crochets Afficher ': ' Ouvrir parenthèse} XML start. Document () Parseur SAX start. Element ("livre", [isbn="2 -212 -08932 -5", date="1995">]) start. Element ("titre", []) characters ("Linux Kernel 2. 0", 0, 16) end. Element ("titre") start. Element ("auteur", [id="1"]) start. Element ("nom", []) characters ("Card", 0, 4) end. Element ("nom") end. Element ("auteur") end. Element ("livre") end. Document () Tuyêt Trâm DANG NGOC - Université de Versailles characters (contenu, debut, longueur){ Afficher contenu en bleu} end. Element (nom_balise){ Fermer parenthèse} Résultat end. Document () { Afficher "- Fin"} Debut - livre [2 -212 -089 -5, 1995]: ( titre [] : ( Linux Kernel 2. 0 ) auteur [1] : ( nom [] : ( Card )) ) - Fin Monday, March 19, 2018 23

DOM (Document Object Model) <API d'accès aux documents XML <Interfaces d'accès en IDL <Modèle DOM (Document Object Model)

Modèle DOM <Dans le modèle DOM, toute les classes dérivent du type Node. <La Modèle DOM

Attribute Document node. Value : [] Text name : isbn node. Value : [] Attribute Document node. Value : [] Text name : isbn node. Value : [] Value : "2 -212 -08932 -5" Element Attribute nodename : livre nodevalue : [] Text name : date node. Value : [] Value : "1995" Element Text nodename : titre nodevalue : [] Linux Kernel 2. 0 Card Attribute Element nodename : auteur nodevalue : [] Tuyêt Trâm DANG NGOC - Université de Versailles Value : "Linux Kernel 2. 0" Text name : id node. Value : [] Value : "1" Element nodename : nom nodevalue : [] Monday, March 19, 2018 Text Value : "Card" 26

Invocation de services <Invocations d'objets <RPC (1980) <CORBA <Java RMI <Microsoft DCOM <Format spécifique Invocation de services

Invocation de services <Format XML ? <Système de typage (XML-Schema) <Format de codage universel Invocation de services

SOAP (Simple Object Access Protocol) <Défini par le W 3 C <Envoi de message SOAP (Simple Object Access Protocol)

WSDL, USSDI <WSDL (Web Service Description Language) : <description d'une API en XML <récupérable WSDL, USSDI

Protocole SOAP Serveur Web Port de connexion <requete/> Traducteur SOAP Serveur d'application HTTP Application Protocole SOAP Serveur Web Port de connexion Traducteur SOAP Serveur d'application HTTP Application cliente RPC local Parseur XML Internet Pare-feux (firewall) Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 31

Composition d'un message SOAP En-tête du protocole (HTTP, SMTP) En-tête SOAP Corps du message Composition d'un message SOAP En-tête du protocole (HTTP, SMTP) En-tête SOAP Corps du message Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 32

Requête SOAP <SOAP-ENV: Envelope xmlns: SOAP-ENV= Requête SOAP La Huitieme Couleur Atalante Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 33

Réponse SOAP <SOAP-ENV: Envelope xmlns: SOAP-ENV= Réponse SOAP Terry Pratchett Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 34

" src="http://present5.com/presentation/9d5825ff5136ea12999238bd0dae52d2/image-35.jpg" alt=". . . Definition WSDL " /> . . . Definition WSDL . . . Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 35

Langages XML <VML <Math. ML <SMIL <XHTML Langages XML

Langages XML <XML est un méta-langage <Chacun peut créer son propre langage à l'aide Langages XML

VML (Vector Markup Language) Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 38

Math. ML (Math Markup Language) <reln> • Recommandation W 3 C depuis avril 1998 Math. ML (Math Markup Language) • Recommandation W 3 C depuis avril 1998 • Approche mixte présentation / sémantique • exploitable par des logiciels mathématiques très utilisés. ex. Mathematica, Maple Tuyêt Trâm DANG NGOC - Université de Versailles A x y z w x 2 4 x 4 Monday, March 19, 2018 x 2 + 4 x + 4 =0 39

SMIL (Synchronized Multimedia Integration Language) Format basé sur XML pour la présentation multimédia (audio, SMIL (Synchronized Multimedia Integration Language) Format basé sur XML pour la présentation multimédia (audio, vidéo, image, texte, etc. ). affichage textuel image Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 40

XHTML (e. Xtendel Hyper-Text Markup Language) <Langage HTML rendu conforme à XML <Un XML-Schéma XHTML (e. Xtendel Hyper-Text Markup Language) Mon CV

Voici ma photo

C'est tout HTML Tuyêt Trâm DANG NGOC - Université de Versailles Mon CV

Voici ma photo

C'est tout

XHTML Monday, March 19, 2018 41

Déploiement d'un site web avec XML Déploiement d'un site web avec XML

Scénario courant Navigateur HTTP (GET, POST) Serveur Web public Navigateur HTML Scénario courant Navigateur HTTP (GET, POST) Serveur Web public Navigateur HTML "public" HTML "interne" Script 2 (CGI-BIN, MS ASP, Servlet, . . . ) (ODBC, PLSQL. . . ) PDF interne Serveur Web interne Script 1 SQL PDF public Script 3 Script 4 TUPLES Base de données existante relationnelle (postgres, oracle, sybase, . . . ) Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 43

Scénario avec XML Navigateur HTTP (GET, POST) Serveur Web public HTML Scénario avec XML Navigateur HTTP (GET, POST) Serveur Web public HTML "interne" HTML "public" Serveur Web interne XSL XML PDF public PDF interne XSL XSL Processeur XML Programme d'interrogation et récupération XML TUPLES SQL Base de données existante relationnelle (postgres, oracle, sybase, . . . ) Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 44

Pages web dynamiques <JSP, ASP et PHP : des portions de code de programmation Pages web dynamiques

Cocoon <Permet de séparer le contenu et la présentation de sites Web <Accepte de Cocoon

Cocoon (caractéristiques) <Aucune ligne de code Java n'est nécessaire <Souplesse et réutilisabilité grâce à Cocoon (caractéristiques)

Environnement classique/cocoon : statique <HTML/> <XML/> <HTML> Transform. XSL <HTML> <XSLT> <XSL> I II Environnement classique/cocoon : statique Transform. XSL I II Documents Traitement Tuyêt Trâm DANG NGOC - Université de Versailles III Présentation Monday, March 19, 2018 48

Environnement classique/cocoon : dynamique <HTML/> Perl <XML/> <HTML> Processeur Shell Tcl Processeur XSP Java Environnement classique/cocoon : dynamique Perl Processeur Shell Tcl Processeur XSP Java XSP tags I II Documents Traitement Tuyêt Trâm DANG NGOC - Université de Versailles Transform. XSL III Présentation Monday, March 19, 2018 49

Outils XML Outils XML

Outils d'édition XML Spy L'éditeur XML le plus complet. Gère les fichiers XML, les Outils d'édition XML Spy L'éditeur XML le plus complet. Gère les fichiers XML, les DTD, XSL, XMLSchéma (. xsd). Version d'évaluation de 30 jours. http: //www. xmlspy. com/download. html Microsoft XML Notepad Editeur simple de documents XML-based data. Freeware. http: //msdn. microsoft. com/xml/notepad/download. asp XML Pro Editeur XML assez complet. Shareware http: //www. vervet. com/demo. html XMetal Frame. Maker Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 51

Conclusion <Qu'est ce que XML ? <Quand est-ce que ça sert ? <Quand est-ce Conclusion

Résumé : Qu'est que XML ? <XML est une méthode pour mettre des données Résumé : Qu'est que XML ?

Quand utiliser XML ? <Quand on veut échanger des informations à travers des applications Quand utiliser XML ?

Quand NE PAS utiliser XML ? <Si l'on n'en n'a pas besoin. . . Quand NE PAS utiliser XML ?

Références XML Références XML

XML < La page web de référence du W 3 C (documentations, spécifications et XML < La page web de référence du W 3 C (documentations, spécifications et références) http: //www. w 3. org/ < Les implémentations d'Apache sur la technologie XML (opensource) http: //xml. apache. org < Les travaux d'Apache sur COCOON (open-source) : http: //cocoon. apache. org/2. 0/ < Articles et travaux d'IBM sur XML (logiciels souvent en Open -Source) http: //www-106. ibm. com/developerworks/xml/ < Documentation XML en francais (article et actualité + traductions de certains documents de référence du W 3 C) http: //xmlfr. org/ Tuyêt Trâm DANG NGOC - Université de Versailles Monday, March 19, 2018 57

XML et les bases de données <Document sur XML et les bases de données XML et les bases de données

XQuery <W 3 C XQuery http: //www. w 3. org/TR/xquery. html <W 3 C XQuery