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 origine - concept - techniques Tuyêt Trâm DANG NGOC Laboratoire PRiSM Université de Versailles-Saint-Quentin Cours 2/2.

Présentations similaires


Présentation au sujet: "XML origine - concept - techniques Tuyêt Trâm DANG NGOC Laboratoire PRiSM Université de Versailles-Saint-Quentin Cours 2/2."— Transcription de la présentation:

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

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

3 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 3 XML (1/3) un standard défini par l'organisme de normalisation W3C (World Wide Web Consortium) dérivé des standards HTML et SGML séparation du fond et de la forme (du contenu et de la présentation) semi-structuré arborescent structure plus ou moins définie

4 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 4 XML (2/3) un langage balisé Programmation Linux Programmation Linux Déclaration format XML Déclaration schéma associé Déclaration feuille de style Elements Balise ouvrante Attribut Contenu Balise fermante Nom d'attribut Valeur d'attribut

5 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 5 XML (3/3) Plus strict que HTML, moins que SGML Un document XML DOIT être bien formé : une seule racine balises correctement imbriquées attributs correctement spécifiés caractères XML valides un document XML PEUT être valide : structure et les contenus du document conformes à des règles spécifiées par un "vocabulaire (DTD ou XML- Schéma)

6 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 6 Standards connexes à XML - résumé Décrire la structure d'un document XML DTD : anciennement XML-Schema : intègre typage et contraintes Présenter un document XML XSL/XSLT Transformation d'un document XML en un autre document XML ou un document dans un autre format (HTML, PDF) Se repérer dans un document XML XPath Navigation dans un document XML à l'aide d'expressions et de prédicats simples Différencier les documents XML XML Namespace Distinction de vocabulaires différents

7 Standards XML émergents Normalisé et produits existants, mais peu d'utilisation industrielle encore ou alors très spécialisée En cours de normalisation Etudes de quelques normes XQuery XLink RDF

8 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 8 Langages dinterrogation Besoins : Opérateurs standards de requêtes sur bases de données Navigation dans les données Recherche par motifs Interrogation du schéma et des données Construction du résultat Type de langages Extension de langages classiques : SGMLQL, HyOQL, LOREL/OEM-QL Conçus pour le semi-structuré : XML-QL, XQL, QUILT Normalisation : XPath, XQuery

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

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

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

12 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 12 Exemples XQuery (3) Lister les noms des hôtels, le nom et le menu des restaurants dans la même rue for $r in collection (« restaurants »)/restaurant for $h in collection (« hotels »)/hotel where $h/adresse/rue = $r/adresse/rue return {$h/nom} {$r/nom} {$r/menu} hotel adresse nom rue ville telephone Collection "hotels" restaurant adresse nom rue codepostal menu Collection "restaurants"

13 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 13 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

14 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 14 XLink Exprimer des liens entre fragments XML Aller au delà du simple usage des identificateurs Différents types de liens Généricité

15 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 15 Xlink : exemple [... ] The Design of the UNIX Operating System General overview of the system Introduction to the kernel The buffer cache [...]

16 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 16 RDF RDF ( Ressource Description Framework ) : cadre permettant de décrire et déchanger les métadonnées. Une ressource (Ressource) est tout ce qui peut avoir une URI. ex : Un Type de propriété (Property Type) est une ressource qui a un nom et peut être utilisé comme propriété. ex : Auteur, Titre

17 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 17 RDF Une propriété ( Property ) est une combinaison dune ressource, dun type de propriété et dune valeur. ex : W3C Ressource Description Framework comme titre pour W3C Ressource Description Framework

18 Outils de programmation XML DOM SAX SOAP

19 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 19 Outils de programmation XML Interfaces de programmation spécifiées par le W3C Interfaces de programmation XML en Java, C++, Perl,... Implémentation diverses Apache IBM...

20 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 20 Document XML – Flux SAX – Arbre DOM Cover Harry Stendhal Paris personne nom prenom adresse rue ville #text: Cover #text: Paris #text: Stendhal #text: Harry startDocument () startElement (personne) startElement (nom) characters (Cover) endElement (nom) startElement (prenom) characters (Harry) endElement (prenom) startElement (adresse) startElement (rue) characters (Stendhal) endElement (rue) startElement (ville) characters (Paris) endElement (ville) endElement (adresse) endElement (personne) endDocument ()

21 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 21 SAX (Sample API for XML) Modèle simplifié d'événement. Types d'événement : début et fin de document ; début et fin d'éléments ; attributs, chaîne de caractères. Utilisé dans les implémentations des parseurs XML du domaine public.

22 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 22 SAX Fonctionne sur le principe des callbacks (rétro-appels) Au fur et à mesure de la lecture document XML, le parseur appelle des fonctions correspondants aux évènements rencontrés avec les paramètres appropriés Ces fonctions sont définies par une interface standards et doivent être implémentées de telle sorte à répondre aux besoins de l'application startDocumentdébut du document endDocumentfin de document startElementdébut element endElementfin élément characterscontenu d'élément

23 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 23 Application Handler startDocument () { Afficher "Debut -"} startElement (nom_balise, tableau_attributs){ Afficher nom_balise Afficher attributs entre crochets Afficher ':' Ouvrir parenthèse} characters (contenu, debut, longueur){ Afficher contenu en bleu} endElement (nom_balise){ Fermer parenthèse} endDocument () { Afficher "- Fin"} startDocument () Debut - startElement ("livre", [isbn=" ", date="1995">]) livre [ , 1995]: ( Linux Kernel 2.0 Card endDocument () - Fin startElement ("titre", []) titre [] : ( Linux Kernel 2.0 characters ("Linux Kernel 2.0", 0, 16) ) endElement ("titre") characters ("Card", 0, 4) Card startElement ("auteur", [id="1"]) auteur [1] : ( startElement ("nom", []) nom [] : ( endElement ("auteur") ) endElement ("nom") ) endElement ("livre") ) Parseur SAX XML Résultat

24 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 24 DOM (Document Object Model) API d'accès aux documents XML Interfaces d'accès en IDL Modèle de traitement d'arbres pour l'accès et la mise à jour API de manipulation d'arbres, d'objets typés avec des attributs parcours ajout suppression

25 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 25 Modèle DOM Dans le modèle DOM, toute les classes dérivent du type Node. La classe Document représente le document XML La classe Element représente les éléments du document XML. Document ne peut posséder quun seul fils de type Element (XML n'a qu'une seule racine du document) Attribute représente les attributs d'un élément La classe Text représente le contenu textuel d'un Element ou d'un Attribute

26 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 26 Linux Kernel 2.0 Card Document nodeValue : [] Element nodename : livre nodevalue : [] Element nodename : titre nodevalue : [] Element nodename : auteur nodevalue : [] Element nodename : nom nodevalue : [] Attribute name : isbn nodeValue : [] Text Value : " " Attribute name : date nodeValue : [] Text Value : " 1995 " Attribute name : id nodeValue : [] Text Value : " 1 " Text Value : " Card " Value : " Linux Kernel 2.0 " Text

27 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 27 Invocation de services Invocations d'objets RPC (1980) CORBA Java RMI Microsoft DCOM Format spécifique Protocole de transport spécifique Services registry service Application cliente requete reponse publier chercher

28 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 28 Invocation de services Format XML ? Système de typage (XML-Schema) Format de codage universel Sécurisation Authentification, Gestion de clef Chiffrement, Signature Contrôle de transaction Protocole HTTP : protocole web SMTP : protocole de mail Services registry service Application cliente requete reponse publier chercher WSDL UDDI SOAP WSDL

29 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 29 SOAP (Simple Object Access Protocol) Défini par le W3C Envoi de message formaté en XML en utilisant HTTP pour les véhiculer Pour invoquer des services web Pour récupérer des réponses en XML Utilisation de XML comme format universel d'encodage Possibilités de contrôles (transaction, sécurité)

30 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 30 WSDL, USSDI WSDL (Web Service Description Language) : description d'une API en XML récupérable par l'intermédiaire d'un registry UDDI UDDI (Universal Description, Discovery and Integration) répertoire de services (spécifiés en documents XML) défini en WSDL

31 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 31 Protocole SOAP Application cliente Serveur d'application Parseur XML HTTP Serveur Web Port de connexion RPC local Traducteur SOAP Internet Pare-feux (firewall)

32 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 32 Composition d'un message SOAP En-tête du protocole (HTTP, SMTP) En-tête SOAP Corps du message

33 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 33 Requête SOAP La Huitieme Couleur Atalante

34 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 34 Réponse SOAP Terry Pratchett

35 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles Definition WSDL

36 Langages XML VML MathML SMIL XHTML

37 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 37 Langages XML XML est un méta-langage Chacun peut créer son propre langage à l'aide de XML Certains langages basés sur XML sont standardisés et spécialisés

38 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 38 VML (Vector Markup Language) XML et les données spatiales

39 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 39 MathML (Math Markup Language) A x y z w A x y z w Recommandation W3C depuis avril 1998 Approche mixte présentation / sémantique exploitable par des logiciels mathématiques très utilisés. ex. Mathematica, Maple x 2 4 x 4 x 2 + 4x + 4 =0

40 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 40 SMIL (Synchronized Multimedia Integration Language) Format basé sur XML pour la présentation multimédia (audio, vidéo, image, texte, etc.)....layout information......layout information... synchronisation : en parallèle synchronisation : en parallèle sons affichage textuel image

41 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 41 XHTML (eXtendel Hyper-Text Markup Language) Langage HTML rendu conforme à XML Un XML-Schéma a été associé à XHTML Voici ma photo C'est tout Mon CV Rendu Mon CV Voici ma photo C'est tout Mon CV Voici ma photo C'est tout HTML Mon CV Voici ma photo C'est tout Mon CV Voici ma photo C'est tout XHTML

42 Déploiement d'un site web avec XML

43 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 43 Scénario courant Base de données existante relationnelle (postgres, oracle, sybase,...) Navigateur Serveur Web public Script1 (CGI-BIN, MS ASP, Servlet,...) HTML "public" Serveur Web interne Navigateur Script2 HTML "interne" Script3 PDF public Script4 PDF interne HTTP (GET, POST) SQL (ODBC, PLSQL...) TUPLES

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

45 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 45 Pages web dynamiques JSP, ASP et PHP : des portions de code de programmation sont incluses dans le document HTML Servlets ou CGI : le document HTML est construit et renvoyé dans un flux HTTP Cocoon : le processus de production d'un document Web peut se décomposer en 3 logiques particulières LogiquesActeurs I. Document (statique, requête SQL) II. Traitements (filtrage, ajout,...) II. Présentation (HTML, PDF, WML) Rédacteur Programmeur Web designer.

46 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 46 Cocoon Permet de séparer le contenu et la présentation de sites Web Accepte de nombreuses sources de données. fichiers, SGBD, LDAP, et des bases de données XML natives. Nombreux formats de sortie : HTML, WML, PDF, RTF, etc. Doit être installé au sein d'un moteur de Servlets pour fonctionner (ex : Jakarta Tomcat).

47 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 47 Cocoon (caractéristiques) Aucune ligne de code Java n'est nécessaire Souplesse et réutilisabilité grâce à la séparation totale entre contenu du document et sa présentation Implémentation de XSL pour le format PDF Gestion des documents dynamiques et les outils disponibles Solutions simples aux incompatibilités entre browsers Authentification Administration du portail par une interface web Open-source, maintenu et de plus en plus utilisé

48 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 48 Environnement classique/cocoon : statique Transform. XSL I Documents II Traitement III Présentation

49 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 49 Environnement classique/cocoon : dynamique Transform. XSL I Documents II Traitement III Présentation Processeur XSP XSP tags Java Processeur Perl Shell Tcl

50 Outils XML

51 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 51 Outils d'édition XML 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. Microsoft XML Notepad Editeur simple de documents XML-based data. Freeware. XML Pro Editeur XML assez complet. Shareware XMetal FrameMaker

52 Conclusion Qu'est ce que XML ? Quand est-ce que ça sert ? Quand est-ce que ça ne sert pas ?

53 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 53 Résumé : Qu'est que XML ? XML est une méthode pour mettre des données structurées dans un fichier texte XML N'EST PAS HTML XML est textuel, mais n'est pas fait pour être lu tel quel XML est une collection de technologies XML est verbeux, mais ce n'est pas le problème XML est nouveau, mais pas tant que ça XML est license-free, indépendant de toute plateforme et bien supporté

54 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 54 Quand utiliser XML ? Quand on veut échanger des informations à travers des applications très différentes Si on a un site web qui va évoluer très souvent dans son fond et sa forme Si on crée un nouvel outil et une nouvelle application

55 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 55 Quand NE PAS utiliser XML ? Si l'on n'en n'a pas besoin... Si les logiciels qu'on utilise pour l'instant fonctionnent correctement et qu'on n'envisage pas d'évolution Si c'est juste pour frimer

56 Références XML

57 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 57 XML La page web de référence du W3C (documentations, spécifications et références) Les implémentations d'Apache sur la technologie XML (open- source) Les travaux d'Apache sur COCOON (open-source) : Articles et travaux d'IBM sur XML (logiciels souvent en Open-Source) Documentation XML en francais (article et actualité + traductions de certains documents de référence du W3C)

58 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 58 XML et les bases de données Document sur XML et les bases de données : Document répertoriant tous les produits sur XML et les bases de données, et en particulier dans la section "middleware" tous les produits se "greffant" sur une BD classique et permettant de récupérer du XML.

59 vendredi 2 mai 2014 Tuyêt Trâm DANG NGOC - Université de Versailles 59 XQuery W3C XQuery W3C XML Query Use Cases W3C XML Query Requirements W3C XML Query Data Model W3C XML Query Algebra


Télécharger ppt "XML origine - concept - techniques Tuyêt Trâm DANG NGOC Laboratoire PRiSM Université de Versailles-Saint-Quentin Cours 2/2."

Présentations similaires


Annonces Google