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

Introduction et Concepts : De SGML à XML 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ? 1.

Présentations similaires


Présentation au sujet: "Introduction et Concepts : De SGML à XML 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ? 1."— Transcription de la présentation:

1 Introduction et Concepts : De SGML à XML 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ? 1

2 Au commencement… SGML  Standard Generalized Markup Language  Langage à balises pour représenter des documents structurés  Complexe, difficile à apprendre  Réservé aux professionnels de la documentation  Difficilement extensible au Web HTML ! (dérive de SGML)  Conçu dans l’optique d’afficher des « pages webs »  C’est ce qui a fait son succès Problème de ces langages ◦ Un document peut se définir par le fond et par la forme.  Forme = structure + présentation  Fond = structure + sémantique 2

3 SGML 1969 C. Goldfarb, E. Mosher, R. Lorie inventent GML chez IBM GML a été créé pour éditer des documents, les mettre en page et les partager au sein de systèmes de gestion éditoriaux 1978 Goldfarb prend la tête d’un comité « Computer Language for the Processing of Text » au sein de l’American National Standards Institute (ANSI). 3 SGML

4 Qu'est-ce que SGML ? Une norme internationale : ◦ Standard Generalized Markup Language ◦ ISO 8879 - 1989 Un métalangage de balisage de documents ◦ lisible par l’être humain et traitable par une machine ◦ permet de définir des langages de balisage Les documents sont balisés conformément à une grammaire (la DTD Document Type Definition) ◦ permet un balisage sémantique du fond. Implique la notion de validité d'un document 4 SGML

5 SGML : objectifs Séparation du fond et de la forme ◦ possibilité de multiples présentations ◦ un seul document en SGML ◦ plusieurs formats : Postcript, HTML, etc. Support de traitements sur le contenu des documents sans prise en compte de la forme Proposition d’un cadre défini pour l’expression des modèles documentaires (validité, contrôle) Intégration d'un format de stockage et d’échange normalisé 5 SGML

6 SGML : critiques Très lourd et complexe pour la mise en œuvre de documents respectant ce format Une grande rigueur est demandée à l'entrée des documents Standard complexe et complet pour le traitement des documents Liens hypertextes possibles mais complexes 6 SGML

7 HTML : présentation Proposé par le W3C comme format de documents sur le Web. Langage simple avec des balises standardisées permettant la mise en forme d’un texte. Standard reconnu par tous les navigateurs. Langage très populaire sur le Web Exemple Contenu du document une référence externe 7 HTML

8 HTML : inconvénients Normalisation des différentes balises difficile : ◦ les constructeurs ont eu tendance à définir leurs propres balises pour répondre à leurs besoins (incompatibilité) ◦ HTML 4.0  boutons, tables, applets, objects, graphiques, maths,...  styles, frames, protections,... Mises à jour difficiles : ◦ Données utiles et mises en forme ; ◦ restructuration ou remise en forme de l’ensemble des pages du site fastidieux. ◦ Pas de vérification syntaxique Mélange le fond et la forme ◦ méta-données avec la présentation ◦ La sémantique du contenu est perdue ◦ Pages conçues pour 1 type de terminal 8 HTML

9 Feuilles de style Introduite pour diversifier les présentations CSS (Cascading Style Sheet) ◦ mécanisme d'héritage entre nœuds ◦ une balise hérite de la parente ◦ seulement ce qu'elle spécifie est redéfini Recommandation W3C en décembre 1996 Mécanisme simple pour ajouter un style aux documents Web ◦ fonte, taille, couleur, etc. Utilisables avec XML 9 HTML

10 XML : objectifs XML= un nouveau langage d'échange basé sur le balisage XML= plus simple que SGML XML= plus complexe et performant que HTML XML = développé par XML Working Group dirigé par le W3C (depuis 1996) XML 1.0 = recommandation officielle du W3C depuis le 10 février 1998 10 Origines

11 les 10 objectifs d ’XML 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 11 Origines

12 les 10 objectifs D ’XML 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 12 Origines

13 Introduction à XML XML est un méta-langage universel pour les données sur le Web qui permet au développeur de délivrer du contenu depuis les applications à d'autres applications ou aux browsers XML promet de standardiser la manière dont l'information est : ◦ Échangée (XML) ◦ Personnalisée (XSL) ◦ Retrouvée (XQuery) ◦ Sécurisée (Encryption, Signature) ◦ Liée (XLink) ◦... 13 XML

14 XML : la base 14 Les utilisateurs peuvent définir leurs propres tags Document bien formé: … Bourgogne Dijon Les tags indiquent la signification des sections marquées Il est possible d'imposer une grammaire spécifique (DTD, Schéma) SGML XML HTML    XHTML XML

15 Concepts de base Balise (ou tag ou label) ◦ Marque de début et fin permettant de repérer un élément textuel ◦ Forme: de début, de fin Elément de données ◦ Texte encadré par une balise de début et une de fin ◦ Les éléments de données peuvent être imbriquées A. Briand Dijon Attribut ◦ Doublet nom="valeur" qualifiant une balise  15 XML

16 Pourquoi utiliser XML? Définir vos propres langages d’échange ◦ Lisible : texte balisé avec marquage ◦ Clair : séparation du fond et de la forme ◦ Extensible : supporte les évolutions applicatives Publier des informations ◦ Commande, facture, bordereau de livraison, etc. ◦ neutre du point de vue format ◦ mise en forme avec des feuilles de style Archiver des données (auto-description des archives) Développé par le W3C ◦ Pour le Web (Internet, Intranet) ◦ S'étend à l'entreprise et ses partenaires Supporté par les grands constructeurs ◦ IBM, Microsoft.net, SUN, BEA, etc. ◦ Des outils génériques et ouverts 16 Pourquoi XML ?

17 Publication multi-supports 17 XML Base de Données Application de publication (XSL) TV Numérique Pourquoi XML ? Middleware XMLizer

18 Échange de données 18 Extractor JDBC Mapper BD relationnelle Datawarehouse Datamining Pourquoi XML ?

19 Gestion documents semistructurés 19 Feuille de style XSL Feuille de style XSL Requêtes HTTP GET HTTP POST Requêtes Mapping XML-SQL Processeur XSL Feuille de style XSL HTML généré Serveur d’Applications Interface avec les applications bureautiques Amende ment SGBDR Pourquoi XML ?

20 Échange B2B XML EDI Échange B2B XML EDI 20 XML EDI XMLizer Internet (SOAP) Donneur d’ordre Fournisseur Pourquoi XML ?

21 Forces et faiblesses de XML Une technologie structurante Clarifie tous les échanges Des standards internes et externes Transversale à l'entreprise ◦ Échanges de données ◦ Bureautique ◦ GED ◦ Sites Web ◦ EDI ◦ Bases de données ◦ Intégration e-business ◦ … Une syntaxe bavarde Un méta-langage, mais de nombreux langages Coûteux en CPU ◦ Parsing Coûteux en mémoire ◦ Instanciation 21 Pourquoi XML ?

22 e X tensible M arkup L anguage eXtensible Markup Language

23 Plan De HTML à XML Documents bien formés Documents valides Liens Feuilles de style Traitement de documents XML Applications

24 de HTML à XML Généralités

25 HTML Langage à balises ◦ Balises obligatoires (head, body, …) ◦ Balises à valeur sémantique (h1, meta, …) ◦ Balises à valeur d’habillage (center, small,..) ◦ Nombre fini de balises ◦ Balises différentes suivant les navigateurs Pas d’évolution possible pour l’utilisateur

26 HTML Aucune séparation de la forme et du fond ◦ Balises de fond (Meta, Head, …) ◦ Balises de forme (center, small, …) ◦ Balises de fond & forme (h1, h2, …)  Durée de vie limitée à la durée de vie des outils capables de visionner ces documents.

27 L’apport de XML Ensemble non fini de balises ◦ L’utilisateur peut créer de nouvelles balises Séparation de la forme et du fond ◦ Un document XML sera constitué d’au moins deux entités (le fond et la forme) Séparation du contenu et de la grammaire ◦ Permet la validation des documents

28 Historique XML est un standard un W3C (World Wide Web Consortium) XML est basé sur le standard SGML Les travaux de XML ont commencé en 1996 En 1999, XML est considéré comme étant le standard d’échange d’information du futur

29 Documents bien formés règles syntaxiques de XML

30 Un document XML bien formé Exemple de document XML : le super livre 1 titre du chapitre 1 blabla blabla …

31 Documents XML bien formés Un document XML bien formé est un document qui est conforme aux règles syntaxiques du langage XML. Un document bien formé pourra être traité par un parseur XML sans générer d’exception. Un document XML bien formé pourra être associé avec une feuille de style.

32 Règles syntaxiques XML Un document XML est constitué de : ◦ Un prologue : qui contient un ensemble d’informations sur le document ◦ Un ensemble d’éléments avec leurs contenus : les éléments et leurs contenus sont les données du document ◦ Des commentaires qui peuvent être inclus n’importe où dans le document

33 Le prologue La déclaration XML ◦ Permet de préciser la version du document ◦ Permet de préciser l’encodage utilisé ◦ Permet de savoir si le document est autonome ou pas (lien vers d’autres documents)

34 Le prologue XML permet de définir des types de documents. Un type de documents est une sorte de grammaire, on peut alors valider un document par rapport à une grammaire. Le prologue permet de déclarer le type d’un document.

35 Ensemble d’éléments Les éléments des documents XML sont composés d’une balise d’ouverture, d’un contenu et d’une balise de clôture. contenue de l’élément Le nom d’une balise est composé de caractères alphanumériques, du tiret-souligné, du signe moins ou du point. Il ne faut pas qu’il soit composé d’espaces. Un nom doit commencer par un caractère alphabétique ou du caractère tiret-souligné. Un nom ne doit pas commencer par XML/Xml/xML/...

36 Ensemble d’éléments Une balise d’ouverture peut avoir un ensemble d’attributs. Ex : … Un attribut est une paire nom=valeur Les noms des attributs suivent les mêmes règles que les noms des éléments La valeur est une chaîne de caractères encadrée par les caractères guillemets ou apostrophe L’attribut xml:lang est prédéfini et sa valeur représente le langage utilisé dans le document Ex :...

37 Ensemble d’éléments Le contenu d’un élément peut être : ◦ un ensemble d’éléments ◦ et/ou des données sous forme de chaînes de caractères ne contenant pas les caractères & et < ◦ et/ou des références

38 Ensemble d’éléments Une référence peut être : ◦ une référence à un caractère alphanumérique, elle doit commencer par &#x, puis inclure le numéro du caractère et finir par ; Ex : 8 est une référence vers & ◦ une référence prédéfinie comme par exemple & ou &apos; qui sont deux références vers & et ‘ ◦ une référence vers quelque chose défini dans la DTD (Data Type Definition). Elle commence alors par &, puis par le nom de la référence, et finit par ; Ex : &ma_reference; (avec ma-reference=‘ texte long … ’ Ce couple (nom, valeur) est appelé une entité

39 Ensemble d’éléments Les balises de clôture sont composées des noms correspondant aux balises d’ouvertures précédés du caractère / Ex : En élément peut être vide (sans contenu), dans ce cas, il n’a qu’une seule balise (composée du nom suivi du caractère /) Ex :

40 Sections littérales Lorsque le parseur scanne un élément, il remplace toutes les références par leurs valeurs. Pour empêcher cela, il faut utiliser une section littérale. Une section littérale est encadrée par Ex : Dupond & ]]>

41 Instructions de traitement Il est possible d’inclure des instructions de traitement dans un document XML La déclaration d’une instruction de traitement se fait de la facon suivante : nom est le nom de l’application cible arg1, arg2, … sont les arguments de l ’application Les noms XML, XmL, … sont réservés

42 Commentaire Des commentaires peuvent être inclus dans le contenu d’un élément XML. Ils doivent être encadrés par les marques Un commentaire est une chaîne de caractères quelconque qui ne contient pas la chaîne -- Exemple :

43 Documents bien formés Le plus petit : Un autre : XML & HTML

44

45 Documents valides XML et grammaire

46 Document Type Definition En XML, un type de document représente une structure (une grammaire) Ex : le type livre précise qu’un livre est composé de chapitres, qui sont composés de parties … Un type de document est défini dans une DTD (Document Type Definition) Une DTD peut être inclue ou référencée par un document XML

47 Document Type Definition On peut vérifier la validité d’un document par rapport à la DTD qu’il référence ou qu’il inclut. On parlera alors de document XML valide Un document XML valide est donc un document XML bien formé qui a une DTD et qui est conforme à cette DTD Il existe déjà de nombreuses DTD, il est alors possible de les utiliser pour construire des documents XML valides Ex : La DTD MathML pour les équations

48 Document Type Definition Pour associer un document XML à une DTD, il faut le faire avec l’élément Ex : On considère qu’un document XML est constitué de deux choses : La DTD et la donnée. Un document XML bien formé peut ne pas être composé de DTD Un document XML valide doit avoir une DTD

49 Data Type Definition Une DTD est définie dans l’élément ◦ name est le nom du type de document ◦ SYSTEM "fichier.dtd" est une référence vers le fichier.dtd. Ce fichier contient tout ou une partie de la DTD. C’est la partie externe de la DTD ◦ [declaration] permet de définir tout ou une partie de la DTD. C ’est la partie interne de la DTD

50 Contenu d’une DTD Déclarations des entités Déclarations des éléments et de leurs contenus Déclarations des attributs des éléments Commentaires

51 Les entités Une entité est un couple (nom, valeur). On référence le nom pour utiliser la valeur. Ex : & (amp,&) Une entité peut être interne (définie dans le document) ou externe (définie ailleurs) Les entités internes ont des valeurs de chaînes de caractères XML et sont utilisées comme moyen d’abréviation. Les entités externes peuvent être de type ◦ XML : utilisé pour segmenter un document en parties ◦ non XML : utilisé pour inclure des sons, images...

52 Déclaration des entités Les entités doivent être déclarées dans la DTD Un document peut référencer n’importe quelle entité qui a été déclaré dans la DTD mais aussi les entités prédéfinis (amp, apos, …) La déclaration d’une entité se fait de la manière suivante : ◦ La valeur doit être entre guillemets

53 Les entités externes XML Permet la segmentation d’un document XML Ex : ]> &chapitre-1; &chapitre-2; Le mot clé SYSTEM indique une URL, voir le mot clé PUBLIC avec les identificateurs public

54 Les entités externes non-XML Les entités externes non-XML servent à inclure des images, du son ou autre dans un document XML Avant de définir l ’entité, il faut définir son format en utilisant une NOTATION Ex : Puis définir l’entité Ex : L ’utilisation se fait donc ainsi : Ex :

55 Les entités paramètres Ces entités sont définies dans une DTD mais elles sont aussi utilisées dans une DTD Une entités paramètre est forcement XML Une entités paramètre se définie comme une entité générale si ce n’est qu’il y a le caractère %. Ex : Pour référencer une entité paramètre on utilise le caractère % Ex : %nom;

56 Les éléments dans la DTD La déclaration d’un élément se fait de la manière suivante : Le nom correspond au nom de l’élément Le modèle défini le contenu de l’élément : ◦ éléments fils ◦ données ◦ mélanges éléments fils et données ◦ n’importe quoi respectant la syntaxe XML ◦ élément vide

57 Les éléments dans la DTD Pour décrire les éléments fils d’un élément, il suffit de donner leurs noms entre parenthèses. Si l’ordre des élément fils est important on les sépare par des virgules sinon par des barres verticales. Pour préciser les multiplicités des éléments fils on utilise : (soit fils le nom de l’élément fils) : ◦ fils = une fois et une seule ◦ fils? = 0 ou 1 fois ◦ fils* = 0, 1 ou plus d’une fois ◦ fils+ = au moins un fois il est possible de faire des groupes d’éléments fils en utilisant des parenthèses.

58 Les éléments dans la DTD Exemples de définition d’élément :...

59 Les éléments dans la DTD Lorsqu’un élément ne contient que des données (i.e. : un chaîne de caractère), on le défini de cette manière avec le mot clé : #PCDATAT Ex :

60 Les éléments dans la DTD Il est possible qu’un élément ait des éléments fils mais aussi des données. Il est tout à fait possible de définir ce type d’élément dans une DTD. Ex :

61 Les éléments dans la DTD Lorsqu’un élément peut contenir soit du texte, soit n’importe quel ensemble d’élément fils, il faut utiliser le mot clé ANY Ex : Lorsqu’un élément est un élément vide, il faut utiliser le mot clé EMPTY Ex :

62 Les attributs dans la DTD La déclaration des attributs d’un élément se fait de la manière suivante : element correspond au nom de l’élément qui contient l’attribut attribut correspond au nom de l’attribut type correspond au type de l’attribut default contient des indications sur la valeur par défaut

63 Les attributs dans la DTD Le type de l’attribut peut être : ◦ CDATA pour une chaîne de caractère ◦ ID ou IDREF pour des références internes au document ◦ ENTITY ou ENTITIES pour des références externes non-XML ◦ NOTATION pour associer le contenu de l’élément à une application

64 Les attributs dans la DTD L’indication sur la valeur par défaut peut être : ◦ #REQUIRED indique que l’attribut doit avoir une valeur une fois le document créé. ◦ #IMPLIED indique que l’attribut est optionnel. ◦ #FIXED ‘valeur’ indique que l’attribut est une constante

65 Les attributs dans la DTD Quelques exemples :...

66 Sections conditionnelles fait que le contenu appartient à la DTD fait que le contenu n’appartient pas à la DTD En utilisant des entités paramètres et en les redéfinissant dans le document, il est alors possible d’avoir une DTD conditionnelle

67 Liens Navigation XML

68 Avec les attributs ID et IDREF L’attribut ID permet d’associer un identifiant à un élément Ex : L ’attribut IDREF permet de référencer un élément qui possède un attribut ID Ex : D’où blabla

69 XPointer XML Pointer Language XPointer est le standard qui permet de référencer des ressources Un XPointer est constitué d’une référence de base puis d’une cascade de références. Ainsi il est possible de référencer la valeur de l’attribut couleur du 3ème éléments fils de l’élément de type voiture.

70 XPointer XML Pointer Language La référence de base d’un XPointer est : ◦ root() : la racine du document cible ◦ origin() : l’origine du pointeur. ◦ id(nb) : l’élément ayant un attribut id avec nb comme valeur ◦ html(val) : un élément ayant un attribut name avec val comme valeur

71 XPointer XML Pointer Language Les cascades de référence peuvent être : ◦ child(), descendant(), ancestor(), … avec les paramètres suivant :  nb : le numéro de l ’occurrence  #element, #pi, #comment, #text, #all  nom : le nom d’un élément  un nom d’attribut et/ou une valeur d’attribut ◦ attr(nom) pour la valeur d’un attribut nom ◦...

72 XPointer XML Pointer Language Un XPointer peut être précédé d’un URL, il faut utiliser le caractère # comme séparateur Exemples de XPointer http://un.deux.fr/toto.xml#root().child(1,ti tre) http://un.deux.fr/toto.xml#id(0123)...

73 XLink XML Linking Language Un XLink permet de lier plusieurs ressource entre elles. Les XLink peuvent être : ◦ simples / étendus : les liens simples n’ont qu’une seule cible contrairement aux liens étendus ◦ inclus / exclus : La ressource qui décrit les liens inclus est inclue dans le liens, elle est considérée comme l’origine.

74 XLink XML Linking Language DTD du lien simple

75 XLink XML Linking Language Pour les liens étendus, la valeur de l’attribut xml.link est ‘extended’ Un lien étendu est composé de plusieurs cibles. Chaques cibles est représenté par un élément avec l’attribut xml.link qui a comme valeur ‘locator’

76 Feuilles de style L’habillage de documents XML

77 La forme et le fond Un document XML contient des informations qui vont être présentées sur différents supports (ecran, feuille, son, …) Il est possible de créer des feuilles de style pour décrire comment se fait cette présentation Les feuilles de style sont référencées par les documents XML, elles n’en font pas parties

78 CSS : Cascading Style Sheets CSS est un standard du W3C pour décrire des feuilles de style. CSS-1 a été défini en 1996, CSS-2 en 1998 CSS-1 est supporté par les navigateur version 4 de netscape et microsoft. CSS-2 est supporté par les navigateur version 5 de netscape et microsoft Le W3C s’est engagé pour qu’une version N soit toujours valide par rapport au version N+x de la norme.

79 CSS : Cascading Style Sheets Il est possible de définir plusieurs feuilles de style pour un document XML Il est possible de définir une feuille de style avec des propriétés valables uniquement pour les écrans et des propriétés valables uniquement pour les imprimantes. Il est possible qu’une feuille de style importe d’autres feuilles de style

80 CSS : Cascading Style Sheets Le principe de base de CSS est le suivant selecteur { propriété1: valeur; propriété2: valeur; } Selecteur indique quel est (ou quels sont) l’élément affecté par ces propriétés. Les propriétés sont des indications sur la forme, CSS définit 122 propriétés

81 CSS : Cascading Style Sheets Ex de feuille de style CSS : @media screen, print { *{ background : black; color : yellow; font-weight : bold; font-size:14pt; font-family : Garamond; font-style : normal; }

82 CSS : Cascading Style Sheets

83

84 XSL : eXtensible Stylesheet Language XSL est un standard pour décrire des feuilles de style La spécification date de Avril 1999, elle n’est pas encore totalement stabilisée XSL permet plus de chose que CSS ◦ La présentation n’est pas basé sur l’arbre du document XML ◦ Il est possible de rajouter des informations (ex : table des matières, …)

85 XSL : eXtensible Stylesheet Language Pour afficher un document ◦ L’arbre source est transformé en fonction des directives de la feuille de style XSL ◦ L’arbre transformé est mis en sortie (écran, papier) Une feuille de style XSL décrit les directives de transformation de l’arbre source.

86 XSL : eXtensible Stylesheet Language Structure d’un feuille XSL var foo = … function bar(xx) {…} />

87 XSL :eXtensible Stylesheet Language Structure d’une feuille XSL (suite)

88 XSL : eXtensible Stylesheet Language Exemple de feuille XSL Salut je lis auteur

89 XSL : eXtensible Stylesheet Language


Télécharger ppt "Introduction et Concepts : De SGML à XML 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ? 1."

Présentations similaires


Annonces Google