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

Bruno GRILHERES (EADS CASSIDIAN)

Présentations similaires


Présentation au sujet: "Bruno GRILHERES (EADS CASSIDIAN)"— Transcription de la présentation:

1 Bruno GRILHERES (EADS CASSIDIAN)

2

3 Sommaire Cours 1 : Introduction à XML XML, Namespaces, DTD, XML-Schema, Exemples dapplications utilisant XML Cours 2 : Transformations XML, Persistance et Recherche XML XSL, XSLT, XSL-FO XPath, XLink, XPointer, XQuery Cours 3 : Manipulation de XML en JAVA et Web Services DOM, SAX, JAXB WSDL, SOAP TP1 : Création dun CV en XML + validation avec un XSD TP2 : Construction dun feuille XSL pour transformation et visualisation du CV (XHTML) TP3 : Manipulation de CV en java et sérialisation en XML (JAXB)

4 Introduction à XML Objectif et Historique Les bases dXML Validation XML DTD XML Schema Autres approches (RELAX-NG, Schematron) Quelques utilisations dXML XHTML Ant/Maven Spring IOC GraphML et SVG OpenDocument

5 Explosion informationnelle Informations et documents dans lentreprise Constat : Inflation du volume dinformations Coût et difficulté : Difficultés à retrouver un document Coût induit par la gestion de documents

6 XML : Origine et objectifs Séparation du fond de la forme. Forme = présentation à partir de la structure (style) Fond = structure + données (contenu) Multiples précurseurs dont les plus connues : SGML pour la structuration HTML pour la présentation => Approches mélangeant parfois le fond et la forme. Origines

7 SGML(ISO 8879) Standard Generalized Markup Language Standard international pour la définition de la structure et du contenu dun document numérique Indépendant du type de matériel, et du système envisagé Système de balises extensibles Utilisation de DTD pour la validation de la structure Trés utilisé pendant plus de 10 ans mais trés lourd.

8 HTML(RFC 1866) HyperText Markup Language Sous ensemble de SGML utilisé pour la présentation dinformations sur le Web Utilisation dun vocabulaire de balises restreint

9 Quest ce que XML ? eXtensible Markup Language Recommendation du W3C 1.0 Ed01 en 1996, 1.0 Ed05 en en 2004 XML est un méta-langage universel pour représenter les données échangées (sur le Web) qui permet au développeur de délivrer du contenu depuis les applications à d'autres applications ou aux navigateurs XML standardise la manière dont l'information est : échangée présentée archivée retrouvée transformée cryptée... SGML XML HTML XHTML

10 A quoi peut servir XML ? Séparer les données de leur présentation Créer de nouveaux formats de données Echanger des données entre applications Valider, stocker et rechercher des données …

11 Les 10 règles de conception XML doit pouvoir être utilisé sans difficulté sur Internet XML doit soutenir une grande variété d'applications XML doit être compatible avec SGML et HTML Il doit être facile d'écrire des programmes traitant les documents XML Le nombre d'options dans XML doit être réduit au minimum, idéalement à aucune

12 Les 10 règles de conception Les documents XML doivent être lisibles par l'homme et raisonnablement clairs La spécification de XML doit être disponible rapidement La conception de XML doit être formelle et concise Il doit être facile de créer des documents XML La concision dans le balisage de XML est peu importante

13 Un exemple Attribut Commentaire Elément « vide » Entête Racine Entité Elément Contenu

14 Structure dArbre Livre Titre Chapitre Corps Chapitre Titre A AA …

15 XML « Buildings Blocks » En tête Une déclaration: version [, encoding, standalone] Une DTD optionnelle (Document Type Definition ) (standalone = no) Element Délimités par des chevrons Identifie la nature des éléments quils encadrent Format classique : … Elément vide: Attribut Couple clé-valeur à lintérieur dun élément Quelques règles de syntaxe : Tous les éléments doivent être fermés Les balises sont dépendantes de la casse Tous les documents XML doivent avoir un élément racine Les valeurs des attributs doivents être entre guillemets Les balises ne doivent pas se chevaucher

16 Espace de noms / Namespaces Objectif : Eviter les conflits de noms délements Namespace par défaut xmlns="…« Sapplique à tous les fils de lélément sur lequel le namespace est déclaré.

17 Espace de noms / Namespaces Quelques namespaces récurrents : Xml RDF Dublin-core SVG SOAP Schema XHTML XSLT

18 Validation XML Document XML bien formé Syntaxe XML Correcte Document XML valide bien formé + Conforme aux règles dune DTD, dun XML Schéma, etc.

19 DTD = Document Type Definition La DTD fournit : la liste des éléments, la liste des attributs, des notations et des entités du document XML associé ainsi que les règles des relations qui les régissent. DTD

20 DTD interne et externe La DTD est déclarée dans le document XML par la balise !DOCTYPE Elle peut être : incluse dans le code source du fichier XML, ou DTD interne : décrite dans un fichier externe, ou DTD externe :

21 Un exemple de DTD

22 DTD «Building blocks » Une DTD contient Une ou plusieurs définitions déléments introduites par la balise !ELEMENT : Une ou plusieurs listes dattributs introduites par la balise !ATTLIST: Une ou plusieurs définitions dentités introduites par la balise !ENTITY : ou

23 Combinaison dun ou plusieurs items : Mot-clé #PCDATA (Parsed Character Data) : le contenu est une chaîne de caractères Nom dun autre élément de la DTD Chaque item peut être suivi par un caractère facultatif doccurrence : ? : litem apparaît zéro ou au plus une fois + : litem apparaît au moins 1 fois * : litem apparaît zéro fois ou plus DTD : Eléments

24 Les items sont séparés par : Le caractère virgule «, » si les 2 items sont tous deux inclus dans le contenu Le caractère pipe « | » si le contenu est un choix entre les 2 items Les items peuvent être regroupés à laide de parenthèses pour définir des ordres de priorité ou doccurrence

25 DTD : Eléments Exemples Définition dun élément livre composé de un ou plus éléments chapitre. Définition dun élément chapitre, composé de quatre éléments : titre (facultatif), corps, chapitre (de 0 à n fois), image (de 0 à n fois) Définition dun élément chapitre contenant une chaîne de caractères Définition dun élément image de contenu vide

26 DTD : Attributs Déclaration dans la DTD par la balise !ATTLIST : Où : nom-élément est le nom dun élément défini dans la DTD par la balise !ELEMENT attribut est le nom de lattribut présentement défini pour lélément nom-élément type peut prendre lune des valeurs: CDATA : la valeur correspond au contenu de lélément (choix1|choix2|…) : la valeur doit être lune des choix énumérés ID : la valeur est un identifiant unique ENTITY : la valeur est une entité valeur-défaut prend lune des valeurs : valeur : valeur par défaut donnée à lattribut #REQUIRED : attribut obligatoire, sans valeur par défaut #IMPLIED : attribut optionnel, sans valeur par défaut #FIXED valeur : valeur fixe

27 DTD : Attributs Exemple Définition dun attribut source (obligatoire) pour lélément image

28 DTD : Entities Définition dune entité XML Une entité est une variable utilisée pour définir du texte. L'intérêt d'une entité consiste à pouvoir remplacer autant de fois que nécessaire dans le document XML l'entité par le texte qui lui est associé. Dans le document XML, la référence à une entité est introduite par le caractère "&" suivi du nom de lentité, et terminée par le caractère ";". Il existe 5 entités prédéfinies en XML : lt, gt, amp, apos et quot (caractères & ' ") Une entité est définie avec la balise !ENTITY, et dite: Interne si sa valeur est donnée dans la DTD Externe si sa valeur est fournie dans un fichier externe à la DTD

29 Limites des DTD Une DTD est difficile à lire Une DTD est non extensible (ce nest pas un document XML). Une DTD ne permet pas de typer les données Une DTD ne peut prendre en compte quun seul espace de nom (Namespace).

30 Exercice : DTD

31 Exercice : Corrigé

32 XML - Schéma Une spécification du W3C (2001) pour lécriture de règles de validation XML Specification : Est lui même exprimé en XML (… Metalanguage …) XML Schéma permettent de spécifier des types de données (restrictions sur les chaînes de caractères, sur des intervalles de nombres) Ne permet pas de définir des entités comme dans les DTD. Est externe.

33 Un exemple de XML Schéma

34 Un deuxième exemple

35 XSD : Elements Déclaration des types de données : Type simple byte, unsignedByte, hexBinary, integer, positiveInteger, negativeInteger, int, unsignedInt, long, unsignedLong, short, unsignedShort, decimal, float, double, string, NormalizedString, token, boolean, anyURI, language, time, dateTime, duration, date, gMonth, gYear, gYearMonth, gDay, gMonthDay, etc. Restriction de types simples Type complexe

36 XSD : Elements Exemples Définition dun élément titre de type chaîne de caractère Définition dun élément chapitre, composé de quatre éléments : titre (facultatif), corps, chapitre (de 0 à n fois), image (de 0 à n fois)

37 XSD : Attributs Déclaration des types de données : Type simple byte, unsignedByte, hexBinary, integer, positiveInteger, negativeInteger, int, unsignedInt, long, unsignedLong, short, unsignedShort, decimal, float, double, string, NormalizedString, token, boolean, anyURI, language, time, dateTime, duration, date, gMonth, gYear, gYearMonth, gDay, gMonthDay, etc. Restriction de types simples

38 DTD vs XSD La DTD permet de définir facilement et rapidement des grammaires simples. XML-Schema permet de définir de manière plus formelle et complète une grammaire => complexité accrue. Un document XML-Schema respecte la syntaxe XML. Un document XML-Schema est généralement plus volumineux et encore plus difficile à lire quune DTD (pour un opérateur humain).

39 Dautres approches Relax-NG Schematron

40 Quelques utilisations dXML XHTML Ant / Maven Spring IOC GraphML / SVG OpenDocument et quelques autres…

41 XHTML HTML + XML HTML bien formé et valide DTDs :

42 Ant Un « Makefile » pour Java Fichier Ant en XML

43 Maven 2 & 3 Gestion complète du cycle de vie en Java Gestion des dépendances Java Project Object Model (POM)

44 Spring IOC Inversion de contrôle Injection de valeur de propriété Java à lexécution par chargement de fichier XML

45 Spring IOC Exemple de chargement dune classe message contenant une chaine de caractères

46 GraphML GraphML Working Group 2002 Format XML pour décrire des graphes Orienté structure du graphe (et non pas présentation)

47 SVG Scalable Vector Graphics (W3C 1999) Format XML pour décrire des images vectorielles Permet de gérer des animations

48 OpenDocument OASIS 2006 Format XML pour les documents bureautiques (tableur, présentation, traitement de texte, etc.) OpenDocument = format des fichiers OpenOffice Structuration en 4 parties Contenu (content.xml) Style (style.xml) Métadonnées (meta.xml et settings.xml)

49 OpenDocument Exemple de tableau

50 Des dizaines dautres MathML : Notation mathématiques Xliff : Gestion des traductions VoiceML : Gestion du traitement de la parole WebLab : Document multimédia Office OpenXML : Document MS Office RDF/XML : Standard de représentation de connaissance BPEL : Standard de gestion de processus dexecution XMI : Representation de modèles (tels quUML) etc…

51 Conclusion XML Séparer les données de leur présentation Créer de nouveaux formats de données Echanger des données entre applications Valider, stocker et rechercher des données Fondement de très nombreuses technologies Utilisé au quotidien dans lentreprise

52 Références Cours de référence Jenny Benois-Pineau, Georges Gardarin, Yves Bekkers, Khaled Khelif Livres XML in a Nutshell, Third Edition Ed OReilly En ligne


Télécharger ppt "Bruno GRILHERES (EADS CASSIDIAN)"

Présentations similaires


Annonces Google