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

Mots « magiques » pour le cours

Présentations similaires


Présentation au sujet: "Mots « magiques » pour le cours"— Transcription de la présentation:

0 XML dans son contexte Une introduction à la description et à la structuration de données Application : construction de ressources linguistiques électroniques Serge Fleury

1 Mots « magiques » pour le cours
Document structuré Document arboré Annotations de documents Arbre de document Balisage Grammaire de document Règles de réécriture XML : eXtensible Markup Language

2 Enjeux de ce cours Apprendre à décrire et à structurer des informations dans un document Construire des documents structurés organiser les informations contenues dans un document pour faciliter : leurs échanges leurs manipulations via des traitements automatiques

3 Ressources linguistiques
Corpus textuels sous format électronique Jouent un rôle central dans de nombreux domaines de recherche liés au traitement de la langue Mais aussi des usages Industriel, professionnel et grand public Textes, littérature, scientifiques, techniques, journaux Mono et multilingue (parallèle et comparable) Dictionnaires, lexiques et grammaires, bases terminologiques Mono et multilingue Transcription de l’oral et du multimodale

4 Normalisation et contexte d’utilisation
Représentation uniforme de la structure S’appuyer sur un codage logique et hiérarchique de l’information Présentation vs. représentation Faciliter : la mise en place d’une politique éditoriale consistante les analyses linguistiques et les traitements automatiques de la langue à partir de ressources textuelles Mais également, prendre en compte toutes les informations contextuelles nécessaires à la bonne conduite d’un projet – les méta-data

5 Partage et distribution des ressources linguistiques
Mise en réseau de ressources linguistiques Partage et distribution des ressources linguistiques Facilité l'accès aux données, la ré-utilisation Maintenance locale des ressources Données évolutives, vivantes, … Répartition de la charge des traitements

6 Sommaire Partie 1 : (long) Préambule Partie 2 : Partie 3 : Partie 4 :
fichiers binaires, fichiers texte Le balisage : introduction HTML : un langage à balises pour le WEB XML : des balises, des arbres, des grammaires... Partie 2 : Formats de documents électroniques Partie 3 : SGML : une introduction Partie 4 : XML : une introduction

7 Références bibliographiques
Manuels de référence « XML, langage et applications », Alain Michard, Editions Eyrolles, 1999 (noté désormais [XML 99]) « XML in a nutshell », manuel de référence, E.R. Harold & W.S. Means, traduction de T. Broyer, P. Ensarguet, A. Ketterlin, Editions O'REILLY, 2001 (désormais noté [XML 01]) « Ingénierie des langues », sous la direction de Jean-Marie Pierrel, Editions HERMES, 2000 en particulier, chapitre 7, « Codage et normalisation de ressources textuelles »

8 Lectures « obligatoires »
Le poly distribué en cours « Documents structurés, introduction à XML », leçons 0,1,2,3 Les documents annexes : « Introduction à SGML » par Michel Goossens, Chapitres 7 et 8 de « Ingénierie des Langues » J.M. Pierrel… Sur le Web : Revue solaris n°06 : « Normes et documents numériques : quels changements ?  »

9 Préambule Fichiers binaire/texte Balisage SGML/HTML/XML Sommaire
Partie 1 Préambule Fichiers binaire/texte Balisage SGML/HTML/XML Sommaire

10 Stockage de données sur un ordinateur (1)
Il existe deux moyens de stocker les données sur un ordinateur fichier binaire a priori, fichiers « illisibles » : fichiers composés de suite de bits, de « 0 » ou de « 1 » les fichiers binaires ne peuvent être ouverts que par les programmes qui les ont ouverts ou créés exemple : un document WORD restriction sur ces fichiers : format propriétaire

11 Stockage de données sur un ordinateur (2)
fichier texte un fichier texte constitue en réalité un fichier binaire structuré que l ’on peut qualifier d ’ « universel » les bits des fichiers texte sont regroupés en petits ensembles qui permettent de coder la représentation des symboles (lettres ou chiffres) : tous les programmes peuvent les lire restriction sur ces fichiers : le texte y est contenu de manière « brute » (pas de mise en forme par exemple)

12 Fichiers binaires

13 ABC.doc Avec word Sous un éditeur de texte

14 Fichiers texte (1)

15 ABC.txt Avec word Avec un éditeur de texte

16 Fichiers texte (2)

17 Le balisage

18 Structuration de fichier texte : le balisage
Introduction de balises pour mettre en forme un fichier texte pour indiquer que la phrase : « le petit chat est mort » doit être écrite en rouge, il suffit de faire précéder le début de la phrase par une suite de symbole indiquant ce formatage et le nombre de caractères concernés {rouge 22 {le petit chat est mort}} Solution facile, mais pas forcément lisible Une meilleure solution : le balisage <rouge>le petit chat est mort</rouge>

19 Balisage Identification de la structure logique d'un document au moyen de « balises » Balises : chaînes de caractères ayant une signification/fonction spéciale dans un document; distinction claire entre contenu et balisage (utilisation de caractères spéciaux) Exemples de balises : <mot> (balise d'ouverture) </mot> (balise de fermeture) <mot>cours</mot><mot>de</mot><mot>licence</mot>

20 Baliser = Interpréter « Nous définissons le balisage (l ’encodage) comme le moyen de rendre explicite une interprétation d ’un texte… Encoder un texte pour un traitement informatique est, en principe, comme transcrire un manuscrit à partir d ’une scriptio continua… un processus qui vise à conduire le lecteur vers la manière dont le contenu du texte devrait être interprété. » (Lou Bernard, « What is SGML and how does it help », 1995. => Le balisage permet d ’indiquer de manière claire les informations de diverses natures dans le document, ce qui rend leur utilisation aisée scriptio continua : dans les textes manuscrits médiévaux, le texte est continu, sans ponctuation, ni même parfois de séparations entre les mots.

21 Exemples de documents structurés
Un corpus de transcription Un dictionnaire

22 Transcription de données orales
Le document est associé à un fichier son Les thèmes de la discussion sont précisés Les participants sont identifiés Les tours de parole sont délimités

23 Un dictionnaire (cf le devoir)

24 Balisage en 2 temps Définition de l'ensemble des balises dont on va se servir pour décrire la structure d'un document (grammaire du document ou DTD (Définition de Type de Document)) Balisage proprement dit du document d'après la définition donnée par la grammaire (DTD)

25 Le texte : une entrée de dictionnaire
Descripteurs d ’une entrée de dictionnaire <dictionnaire> <article> <forme> Bidingue n. et adj de bilingue et de dingue bilingue fou Forme graphique de l ’entrée </forme> <grammaire> <categorie> Catégorie grammaticale associée </categorie> </grammaire> <etymologie> Informations étymologiques </etymologie> <acception> <definition> Acception et définition </definition> </acception> </article> </dictionnaire> Amorce d ’une grammaire de document : la classe de document « Dictionnaire »

26 Grammaire et arbre de document
Element Contenu dictionnaire -> article+ article -> forme, grammaire, etymologie, acception forme -> caractères grammaire -> caractères etymologie -> caractères acception -> definition, exemple* definition -> caractères exemple -> caractères Grammaire de document Arbre de document

27 Le texte : un courrier électronique
Expéditeur Exemple de courrier électronique Destinataire Un en-tête Destinataire en copie Sujet Un corps de message Texte du message Signature Adresse

28 Représentation formelle d’un courrier électronique
courrier -> en-tête, corps-message en-tête -> émetteur, destinataire, cc?, sujet? émetteur -> adresse-électronique destinataire -> adresse-électronique+ cc -> adresse-électronique+ sujet -> caractères corps-message -> message, signature, adresse-postale? message -> caractères signature -> caractères adresse-postale -> caractères adresse-électronique -> prestataire nom -> caractères prestataire -> caractères

29 Différents types de balisage
Balisage de type « présentation » traitements de texte type WORD ce type de balisage correspond à une représentation spécifique du document : la présentation physique à l ’impression Balisage logique ou générique description de la structure logique en faisant abstraction de tout aspect physique

30 Balisage logique généralisé
Description de la structure d ’un document Etape 1: Définition de l ’ensemble des balises pour identifier les éléments de base d ’un document et les règles formelles qui décrivent sa structure : un modèle de document i.e. la grammaire d ’un document (sa DTD) Etape 2: Introduction du balisage dans le document lui-même selon les principes décrits dans la DTD

31 Remarques méthodologiques
Un texte balisé n ’est pas fait pour être lu mais pour être manipulé par des outils de traitements particuliers les balises HTML sont utilisées par les navigateurs pour gérer l ’affichage d ’une page HTML On peut utiliser des logiciels pour extraire des fragments de texte relevant d ’un type donné : sur des , extraire les émetteurs, les destinataires… sur un dictionnaire, extraire les définitions, les usages...

32 On ne balise pas à la main
Le processus de balisage d ’un document se fait de manière semi-automatique on balise les champs réguliers de manière automatique : on construit des programmes adaptés. Exemple : passage d ’un texte pur en HTML on ajuste ou on corrige à la main le reste Exemple : la conversion HTML faite par WORD n ’est pas optimale

33 {Mais que fait Word (Microsoft) ?}
Word crée des « marqueurs » et les cache à l ’utilisateur Word peut être considéré comme formé de plusieurs programmes coopérants pour donner à l ’utilisateur l ’illusion de travailler directement sur la forme finale du document Module d ’édition de Word Saisie du texte dans un fichier interne en y insérant des balises RTF (invisibles pour l ’utilisateur) : {\ul…} Programme d ’affichage d ’un texte balisé RTF Programme d ’impression : RTF -> PostScript Programme de lecture qui ignore les balises RTF, par exemple pour recherche la chaîne « ul »

34 Documents structurés : balisage logique

35 Documents structurés Séparation logique/physique Généricité
« A chacun son métier » : les auteurs écrivent, les typographes ou maquettistes règlent les problèmes de mise en forme Une même version d ’un roman peut être imprimée dans un format poche ou dans une édition de luxe : la structure « profonde » est la même Généricité Une définition structurée de documents permet de décrire l ’organisation logique de toute une classe générique de documents : des articles, des thèses...

36 Normalisation des documents : pourquoi faire ?
L ’ordinateur permet de gérer des masses importantes de données textuelles et permet une actualisation rapide de ces données Passage de plus en plus rapide du support papier au support électronique : édition d ’annuaires, de dictionnaires, de recueils juridiques… Faciliter l ’échange et l ’exploitation des documents

37 Applications autour du document électronique (1)
A partir d ’une collection d ’adresses (téléphoniques, électroniques…) production d ’annuaire-papier développement d ’un service interrogeable par MINITEL développement d ’un service interrogeable par INTERNET Imprimer des étiquettes etc.

38 Applications autour du document électronique (2)
A partir de textes de loi ou d ’une série d ’articles de linguistique : Edition d ’un code contenant toutes les lois Encyclopédie de la linguistique (?) Publication de revue avec mises à jour régulières Sélectionner des articles sur un domaine restreint pour générer un ouvrage thématique Proposer un service de consultation sur Minitel ou via Internet Développement d ’un système hypertexte pour une édition sur CD-ROM

39 Les langages à balise De SGML à XML

40 Une brève histoire du balisage (1)
SGML : à partir des travaux de C. Godfarb, E. Mosher, R. Lorie chez IBM dans les années 70 Langage sémantique et structurel à balises pour les documents textuels HTML : application SGML pour la réalisation de pages Web 1996, J. Bosak, T. Bray, C.M. Sperberg-McQueen, J. Clark... commencent à travailler sur une version simplifiée de SGML pour le Web Février 1998 : XML 1.0

41 SGML (en le disant rapidement)
SGML, langage de balisage généralisé langage de balisage = système formel avec lequel l ’information et le codage sont ajoutés à la version électronique d ’un document dans le but de représenter son sens et donc d ’en contrôler son traitement Le modèle de base pour la représentation de données au format SGML correspond à un arbre hiérarchique Cet arbre représente les données textuelles avec des éléments de contenu de types différents et encapsulés les uns dans les autres L ’objectif de SGML est de fournir une représentation logique des données indépendamment de la manière dont elles seront manipulées ou présentées

42 Instance de document du type « mémo »
<!DOCTYPE memo SYSTEM "memo.dtd"> <memo statut="conf"> <auteur>Serge Fleury</auteur> <dest> <nom>André Salem</nom> <nom>Pollet Samvelian</nom> </dest> <sujet>Cours SLFE6</sujet> <corps> <par>Veuillez noter que le cours SLFE6 sur les documents électronique aura bel et bien lieu au mois de mai 2002</par> <par>S'il y avait des changements de votre côté, veuillez m'en aviser dans les plus brefs délais.</par> </corps> </memo> La grammaire du document est décrite ici

43 Grammaire de document du type « mémo »
<!-- DTD utilisable pour baliser les memos en SGML --> <!ELEMENT memo -- ((auteur & (date?) & sujet & dest & (cc?)), corps)> <!ATTLIST memo statut (conf | pub) pub> <!ELEMENT (dest | cc) -- (nom+)> <!ELEMENT corps -- (par*)> <!ELEMENT (auteur | date | sujet | nom | par) -- (#PCDATA)>

44

45 Exemple de DTD (1) (grammaire)
Une grammaire de type « roman » <!ELEMENT roman --(chapitre+)> <!ELEMENT chapitre --(titre, paragraphe+)> <!ELEMENT paragraphe - -(texte+)> <!ELEMENT titre - -(texte)> Contenu de ces éléments Nom des éléments utilisés pour décrire la structure des documents

46 Eléments (1) Objets ou blocs d'information d'un document qu'on désire identifier et ainsi différencier d'autres objets/blocs dans le document Syntaxe : <!ELEMENT NOM D F (modèle de contenu)> cette déclaration donne le nom de l ’élément et indique entre parenthèses ce que peut ou doit contenir cet élément (son modèle de contenu) Présence/absence de balise : doit être présente : caractère « - » peut être omise caractère « O » Indication de présence/omission des balises de début ou de fin Nom de l ’élément

47 Le modèle de contenu Eléments (2)
utilisation d ’opérateurs d ’ordre et de choix , tous doivent apparaître dans l ’ordre indiqué & tous doivent apparaître, ordre quelconque | un et un seul doit apparaître + élément obligatoire et répétable (1 fois ou plus) ? élément optionnel (0 ou 1 fois) * élément optionnel et répétable (0 fois ou plus)

48 Eléments (3) Un élément peut contenir d ’autres éléments ou des caractères Types de caractères utilisés PCDATA données textuelles analysées (balises ou appels d ’entités interdits) <!ELEMENT TITLE - - (#PCDATA)> RCDATA données textuelles remplaçables CDATA données textuelles ANY PCDATA ou tout élément de la DTD EMPTY contenu vide <!ELEMENT IMG - O EMPTY>

49 Une brève histoire du balisage (2)
SGML Le « Standard Generalized Markup Language » est le premier langage de type auto-descriptif conçu pour faciliter la gestion d ’importants fichiers langage extrêmement complexe le langage HTML utilisé sur le web est une application restreinte de SGML XML SGML trop « complexe » HTML trop « simple » et réservé à l ’affichage dans un navigateur XML (eXtensible Markup Language) est la solution idéale version simplifiée de SGML

50 HTML : un langage à balises pour le WEB
“Hypertext Mark-Up Language” (HTML) Langage de “structuration de documents” Description de contenus par des éléments de formatage Liens hypertextuels (références internes et externes) Le langage HTML tire son origine du langage SGML Il s'agit d'un type particulier d'annotations destiné au WWW et qui correspond à une collection de « marqueurs » (les balises) reconnaissables par les navigateurs Un navigateur (en anglais « browser ») est donc un logiciel qui interprète à l'écran les balises HTML contenues dans un document accessible sur le WWW

51 Description d’un document HTML
Le HTML (HyperText Markup Language) est un langage permettant de mettre en forme du texte, des images, du son, etc. destinés à être visualisés grâce à un navigateur (Microsoft Internet Explorer, Netscape Navigator, Opéra…) Ce langage de description de page utilise des balises pour spécifier la façon dont un élément doit apparaître, pour afficher des images ou définir des actions Ces marques sont toujours placées entre les signes “<” et “>” et agissent très souvent par paire : la première spécifie le début d’application du style (ou de l’action), la seconde, qui comporte le signe “/”, marque la fin d’application du style (ou de l’action)

52 Créer un document HTML <HTML> première ligne du document
<head> ouverture de la zone d'entête <title> titre de la page suivi de </title> </head> fermeture de la zone d'entête <body> ouverture du corps du document Mettre le texte et les images ici </body> fin du corps du document </HTML> fin du document HTML

53 Un document HTML (1) Ecriture d ’un document HTML dans un éditeur de texte

54 Visualisation du document HTML via un navigateur
Un document HTML (1) Visualisation du document HTML via un navigateur

55 Les limites de HTML HTML ne permet pas de « marquer » les informations en fonction de leur signification si l'on souhaite présenter des informations concernant la linguistique, la chimie, la météorologie... pas de balises PHRASE, MOT, SYNTAGME, CATEGORIE…pour les linguistes ATOM ou MOLECULE pour les chimistes ni de balises CARTE ou TEMPERATURE pour les météorologues

56 Pour aller plus loin avec HTML
Nombreux cours sur le WEB pour commencer : slides HTML sur le site TAL

57 XML « Définition » : XML est une méthode universelle et standardisée de représentation(1) textuelle (2) de données structurées

58 Textuel par opposition à binaire
Un document XML contient du texte (jamais de données binaires) Les données sont incluses dans un document XML sous forme de chaînes de caractères et elles sont délimitées par des marqueurs textuels qui les décrivent Il est éditable par n'importe quel programme capable de lire un fichier texte XML est sensible à la casse : les composants d'un document XML écrits dans une casse différente sont différents Une unité particulière de donnée et son marqueur est appelée un élément XML est lisible : « par l ’homme » et par « des programmes » <dictionnaire> <article> <forme>bidingue</forme> <grammaire> <categorie>n. et adj</categorie> </grammaire> <etymologie>de bilingue et de dingue </etymologie> <acception> <definition>bilingue fou </definition> </acception> </article> ... </dictionnaire>

59 représentation(1) XML a été conçu pour constituer essentiellement un format d ’échange de données et éventuellement de stockage Les structures de données sont représentées comme un flux de caractères (balises et contenus)

60 XML en le disant rapidement
XML consiste très schématiquement à entourer les données par des balises indiquant leur type <dictionnaire> <article> <forme>bidingue</forme> <grammaire> <categorie>n. et adj</categorie> </grammaire> <etymologie>de bilingue et de dingue</etymologie> <acception> <definition>bilingue fou</definition> </acception> </article> ... </dictionnaire>

61 XML et les données de langue
XML permet de structurer et d ’organiser les données XML permet ainsi l ’extraction de l ’information de manière simple et puissante chaque donnée peut être associée à son type exemple : dans un dictionnaire, recherche de toutes les informations morpho-syntaxiques associées aux entrées du dictionnaire

62 Faciliter les traitements automatiques
DOCUMENT XML = structures de données manipulables par programme Repose sur des interfaces de programmation normalisées (API) pour manipuler la structure et le contenu « textuel » traitement évènementiel par règles : SAX Cette interface ne s ’appuie pas sur la description complète de l ’arbre du document mais permet de déclencher des évènements sur des types d ’objets rencontrés lors du parcours de l ’arbre traitement par manipulation d ’arbre : DOM Cette interface de programmation permet de parcourir l ’arborescence à partir de l ’un de ses nœuds dans différentes directions, de modifier ses propriétés (le document ou un nœud) cf cours de maîtrise (SLFN7-8)

63 Arbres XML Les documents XML sont des arbres
Un seul élément sans parent : la racine Dès lors que les éléments ne se chevauchent pas et que tous les éléments, à l'exception de la racine, possèdent un parent, les documents XML représentent une structure de données appelée arbre

64 De la grammaire pour linguistes… (1)
<Phrase> -> <GN> <GV> <GN> -> <Art> <Adj>* <Nom> <GV> -> <Verbe> <Adv> | … <Art> -> le | la | un | … Application de cette grammaire pour « Le joli chien court rapidement » : représentation à plat avec des balises : <Phrase><GN><Art>Le</Art><Adj>joli</adj><Nom>chien</Nom></GN><GV><Verbe>court</verbe><Adv>rapidement</Adv></GV></Phrase>

65 Des arbres pour linguistes...

66 … aux grammaires de textes
Description formelle d ’un texte de type « roman » <roman> -> <chapitre>* <chapitre> -> <titre> <paragraphe>* <titre> -> <texte> <paragraphe> -> <texte> Un roman est formé d ’un nombre quelconque de chapitres, un chapitre est formé d’un titre et d’un nombre quelconque de paragraphes et un paragraphe c’est du texte...

67 XML 1.0 XML 1.0 est un standard défini par une recommandation du World Wide Web Consortium (W3, organisation responsable de la normalisation pour le Web). Quoique récent, on peut dire qu'XML 1.0 est déjà largement déployé Dans l'environnement immédiat d'XML, il y d'autres normes dont l'état est plus ou moins avancé : XSL, XLL, XPATH...

68 XSLT : langage de manipulation d ’arbres
XSLT est un langage (décrit en XML) qui permet de transformer des arbres XML il permet d ’écrire des règles de restructuration d ’un document XML Application : présentation de document XML sur le Web conversion d ’un document XML vers HTML Exemples : une liste d ’entrées bibliographiques un catalogue de CD « Le petit prince » version bilingue : français et tchèque cf cours de maîtrise SLFN8

69 Formats de documents électroniques Etat de l ’art
Partie 2 Formats de documents électroniques Etat de l ’art Un nouveau paradigme Internet Sommaire

70 Format de documents (1) Format propriétaire
conçu par un constructeur, en fonction des besoins d ’une application qui en reste propriétaire le format évolue en même temps que le logiciel exemple : Word de Microsoft Problèmes posés par le format propriétaire incompatibilité verticale : les documents Word98 ne sont pas lisibles par Word 6 cette lecture est possible si on construit un convertisseur spécial (en général bien après) incompatibilité horizontale : les autres applications (concurrentes) doivent construire des convertisseurs pour lire ce type de document

71 Formats de documents (2)
Format normalisé norme internationale garantie par un organisme standard industriel (i.e. propriété d ’un constructeur) qui s ’est engagé publiquement sur un format et sur sa stabilité le format normalisé repose sur un consensus entre les acteurs (utilisateurs, développeurs, constructeurs…) Exemple : le développement du Web est devenu possible grâce à l ’adoption d ’un format commun : HTML Avantages du format normalisé compatibilité horizontale (entre logiciels conformes) échange de données plus facile pour l ’utilisateur, utiliser une norme c ’est s ’affranchir d ’un outil et de son constructeur

72 Comment décrire un document ?
(1) Niveau de description physique décrire un document par sa forme matérielle exemple : un document RTF (Microsoft) contient des indications sur le rendu imprimé du document (2) Niveau de description logique décrire un document en termes de structures logiques et des relations qu ’elles entretiennent exemple : LATEX (système de représentation de documents) exige qu ’un rapport soit structuré en document, sections…, un livre est fait de chapitres,... On peut passer de (2) à (1)... une description logique permet de déduire description physique (feuille de style déclarative) : XML + XSLT mais plus difficilement de (1) à (2) une liste à tirets peut correspondre à un dialogue ou à une énumération

73 Edition de documents électroniques
Microsoft Word PDF HTML SGML XML => cf document distribué : « le texte dans tous ces états »

74 Microsoft Word Format propriétaire de représentation des documents
documentation inaccessible au grand public RTF (Rich Text Format) format d ’échange pour documents Word qui est en principe une fidèle représentation du format propriétaire Un document est décrit par une suite de caractères (représentant le contenu) entrecoupés de commandes décrivant leur mise en forme l ’entête peut contenir des définitions de styles (caractéristiques de mise en forme pour les caractères ou les paragraphes) les styles sont organisés de manière hiérarchique les commandes précisent des caractéristiques visuelles du texte ou permettent d ’introduire d ’autres types d ’objets (graphiques…) Word n’est pas un format de document structuré les structures peuvent être décrites en termes de styles, mais l ’utilisation des styles n ’est pas obligatoire

75 Document RTF

76 PDF : Portable Document Format (1)
Format propriétaire de représentation des documents de Adobe devenu un standard industriel format de description des documents dans leur présentation exacte de façon portable Un document est décrit un arbre de pages (avec pour chacune une description visuelle, des annotations...) éventuellement un ou plusieurs arbres représentant le plan du document des indicateurs permettant de guider ou de modifier la lecture (table des matières, liens hypertextuels, zoom, sélection d ’un flux linéaire de lecture…)

77 PDF : Portable Document Format (2)
PDF est un format structuré proposant une structure documentaire fixe basée sur une description physique des documents l ’unité documentaire est la page PDF comporte une description visuelle des pages des structures logiques permettant d ’en instrumenter la lecture

78

79 HyperText Markup Language (1)
Langage de description des pages WEB visualisables de la même manière par tous les utilisateurs Dans HTML, la notion de document se confond avec celle de page d ’écran chaque document est conçu pour être affiché en une seule page Un document HTML est défini par un fichier source balisé les balises sont conçues pour permettre le repérage de structures logiques ayant une influence sur la présentation physique

80 Document HTML

81 SGML : Standart Generalized Markup Language
SGML est une norme internationale pour la représentation de documents SGML est un métalangage, i.e. un formalisme qui permet de définir des langages de balisage Chaque langage de balisage est une grammaire de balises que les documents doivent respecter

82 Documents SGML Des grammaires de documents :
des modèles pour chaque type de document (livre, rapport, dictionnaire…) Des instances de document pour chaque modèle : les instances (les documents proprement dits) doivent respecter le modèle auquel ils sont associés un document SGML doit être conforme à une DTD

83 Instance de document SGML représentant un mémo
<!DOCTYPE memo SYSTEM "memo.dtd"> <memo statut="conf"> <auteur>Serge Fleury</auteur> <dest> <nom>André Salem</nom> <nom>Claire Beyssade</nom> </dest> <sujet>Cours SLFE6</sujet> <corps> <par>Veuillez noter que le cours SLFE6 sur les documents électronique aura bel et bien lieu au mois de mai 2000</par> <par>S'il y avait des changements de votre côté, veuillez m'en aviser dans les plus brefs délais.</par> </corps> </memo> La grammaire du document est décrite ici

84 Grammaire des documents de type mémo
<!-- Ceci est la DTD utilisable pour baliser les memos en SGML --> <!ELEMENT memo -- ((auteur & (date?) & sujet & dest & (cc?)), corps)> <!ATTLIST memo statut (conf | pub) pub> <!ELEMENT (dest | cc) -- (nom+)> <!ELEMENT corps -- (par*)> <!ELEMENT (auteur | date | sujet | nom | par) -- (#PCDATA)>

85 Pourquoi SGML Traitement d ’un nombre croissant de documents électroniques : dictionnaires, annuaires, textes de lois… Amélioration des documents par ajout de balises structurelles Augmentation de l ’« utilisabilité » et de la « réutilisabilité » Mise à jour des documents Extraction d ’informations dans les documents Publication sous différentes formes

86 Brève histoire de la norme SGML
Origine : travaux de Charles F. Goldfarb (ingénieur chez IBM) sur le Generalized Markup Language (GML) en Adoption de SGML par l'ISO (International Organization for Standardization) le 15 octobre 1986 ISO/IEC 8879:1986 : Information Processing - Text and Office Systems - Standard Generalized Markup Language (SGML)

87 Qui utilise SGML AAP : Association des éditeurs américains
sélection de 3 types de document dans le domaine de l ’édition : le livre, la publication en série, l ’article : élaboration d ’un modèle de document pour chaque type British Library Guidelines for editors & publishers McGraw-Hill Encyclopedia of science and technology

88 Text Encoding Initiative
La TEI est un système de codage permettant l ’échange et la circulation de documents électroniques utilisés en sciences sociales La TEI couvre un ensemble de type de textes extrêmement large : prose, poésie, théâtre, dictionnaires, bases terminologiques,… La TEI vise des domaines variés : publication électronique, analyse littéraire et historique, lexicographie, TAL, recherche documentaire, etc. Migration de TEI vers XML Cf [XML-01] : exemple de document TEI utilisant la version XML de la DTD TEI

89 Lecture : Codage TEI des dictionnaires
Groupe de travail de la TEI sur les dictionnaires Véronis & al. Cahier GUTemberg n°24 Fournir un ensemble de conventions pour les entrées du dictionnaire pour la structuration au niveau supérieur (page de titre, matériau introductif, divisions en noms communs et noms propres…)

90 Composants de base Informations clairement identifiables
forme du mot, informations grammaticales, définitions ou traductions, étymologie, renvois, sous-entrées, notes d ’usage, exemples… Construction d ’une DTD : spécification d ’une typologie des éléments atomiques qui figurent dans les entrées visées une nomenclature adéquate pour ces éléments

91 Du dictionnaire à la DTD
Une entrée du Collins English Dictionnary roughcast (r^f,ca:st) n.1.a coarse plaster used to cover the surface of an external wall. 2. Any rough or preliminary form, model, etc. 3. Covered with or denoting roughcast. ~vb. -casts, -casting, -cast. 4. To apply roughcast to (a wall, etc.). 5. To prepare in rough. 6. (tr. Another word for rough-hew. -- ’rough, caster n.

92 Organiser la structure d ’une entrée
Structuration de façon hiérarchique une entrée peut contenir une ou plusieurs sous-partie (homographes grammaticaux) « subdivisables » en sens et sous-sens Factorisation des informations à certains niveaux de la hiérarchie : les informations ont une portée Généralement, les informations relatives à la prononciation, à la forme orthographique, à la catégorie grammaticale sont mises en facteur à la tête de l ’entrée : elles s ’appliquent à différents sens de cette entrée

93 Structure hiérarchique et portée
<entry> <form> <orth>roughcast</orth><pron> r^f,ca:st </pron></form> <hom> <gram><pos>N</pos> <sense N=‘1’><def>a coarse plaster… </def> </sense> <sense N=‘2’><def>any rough… </def> </hom> <gram><pos>ADJ</pos> <sense N=‘3’><def>covered… </def> </hom>… </entry>

94 Problèmes et difficultés (1)
Chaque entrée d ’un dictionnaire est un objet fortement structuré : nombreux mécanismes d ’abréviation et d ’organisation typographique Cette structure varie considérablement d ’un dictionnaire à l ’autre, dans un même dictionnaire Un dictionnaire est à la fois une base de données (structure profonde) et un ensemble de textes (structure de surface)

95 Problèmes et difficultés (2)
Une grande partie des informations de la structure profonde n ’est pas explicite dans la structure de surface et nécessite la connaissance des conventions, de la présentation des dictionnaires Que faut-il privilégier pour le codage ? Point de vue « base de données » Point de vue textuel => Points de vue orthogonaux et codages respectifs parfois très différents

96 Vers un nouveau paradigme Internet ?
Maîtriser le déluge textuel Structurer l ’information dans les documents et la retrouver facilement et pouvoir l ’utiliser facilement dans des applications Faire des hypertextes puissants Afficher et imprimer de manière flexible Gérer toutes sortes de données et d ’usages diffuser, échanger, stocker, chercher… pas juste afficher

97 XML, une version simplifiée de SGML
La norme SGML n'a pas été retenue en raison de sa lourdeur et de sa complexité : un très grand nombre de fonctionnalités qui sont très rarement utilisées le support des différents jeux de caractères internationaux est « quelque peu léger » Pour toutes ces raisons le W3C à créé une norme plus simple, dérivée de SGML, et renforcée là ou SGML comporte des faiblesses. Cette norme est la norme XML

98 Normalisation de documents Introduction à SGML Sommaire
Partie 3 Normalisation de documents Introduction à SGML Sommaire

99 Des documents à la représentation formelle des documents
Enjeux Partager les ressources textuelles Diffusion des ressources textuelles Une norme de représentation doit permettre une manipulation normalisée une mise à jour aisée

100 Pré-requis pour les documents électroniques
Ne pas stocker l ’information sous une forme correspondant à celle d ’un document imprimé (ex: WORD) Conserver la structure logique des documents

101 SGML : grammaire (DTD) et documents
SGML est un méta-langage pour décrire des grammaires définissant des classes de documents structurés Une grammaire de document = un modèle de document DTD Document Type Definition

102 Exemple de DTD (1) (grammaire)
Une grammaire de type « roman » <!ELEMENT roman --(chapitre+)> <!ELEMENT chapitre --(titre, paragraphe+)> <!ELEMENT paragraphe - -(texte+)> <!ELEMENT titre - -(texte)> Contenu de ces éléments Nom des éléments utilisés pour décrire la structure des documents

103 Eléments (1) Objets ou blocs d'information d'un document qu'on désire identifier et ainsi différencier d'autres objets/blocs dans le document Syntaxe : <!ELEMENT NOM D F (modèle de contenu)> cette déclaration donne le nom de l ’élément et indique entre parenthèses ce que peut ou doit contenir cet élément (son modèle de contenu) Présence/absence de balise : doit être présente : caractère « - » peut être omise caractère « O » Indication de présence/omission des balises de début ou de fin Nom de l ’élément

104 Le modèle de contenu Eléments (2)
utilisation d ’opérateurs d ’ordre et de choix , tous doivent apparaître dans l ’ordre indiqué & tous doivent apparaître, ordre quelconque | un et un seul doit apparaître + élément obligatoire et répétable (1 fois ou plus) ? élément optionnel (0 ou 1 fois) * élément optionnel et répétable (0 fois ou plus)

105 Eléments (3) Un élément peut contenir d ’autres éléments ou des caractères Types de caractères utilisés PCDATA données textuelles analysées (balises ou appels d ’entités interdits) <!ELEMENT TITLE - - (#PCDATA)> RCDATA données textuelles remplaçables CDATA données textuelles ANY PCDATA ou tout élément de la DTD EMPTY contenu vide <!ELEMENT IMG - O EMPTY>

106 Une instance de document de type « roman »
Un roman de G. Pérec « La vie mode d ’emploi » <!DOCTYPE roman SYSTEM "roman.dtd"> <roman> <chapitre> <titre><texte>Dans l ’escalier</texte></titre> <paragraphe><texte>Oui, cela pourrait commencer … combles.</texte></paragraphe> <paragraphe><texte>…</texte></paragraphe> ... </chapitre> </roman>

107 Exemple de DTD : une carte postale
DTD d'une carte (postale) Cette DTD est contenue dans le fichier carte.dtd <!-- element min contenu -- > <!ELEMENT CARTE ((BONJOUR, CORPS, SALUT) & (IMAGE)) > <!ELEMENT BONJOUR - - (#PCDATA) > <!ELEMENT CORPS (DIVERS, TEMPS?) > <!ELEMENT DIVERS - - (PARA)* > <!ELEMENT TEMPS (#PCDATA) > <!ELEMENT PARA - o (#PCDATA) > <!ELEMENT SALUT (#PCDATA) > <!ELEMENT IMAGE - o EMPTY > <!-- Attributs --> <!ATTLIST IMAGE SRC NAME #REQUIRED > Remarques: <!-- --> marque un commentaire Le 'o' dans l'élément PARA indique que la balise de fin peut être omise

108 Un exemple de carte postale conforme à cette DTD
<!DOCTYPE CARTE SYSTEM "carte.dtd"> <CARTE> <IMAGE SRC = "le_port.gif"> <BONJOUR>Mon tres cher ami,</BONJOUR> <CORPS><DIVERS> <PARA>Les vacances ont commence. </PARA> <!-- cette balise peut etre omise --> <PARA>Les cailloux sont en fleur. </PARA> </DIVERS> <TEMPS>Le soleil transpire a grosses gouttes.</TEMPS> </CORPS> <SALUT>Bonjour chez vous.</SALUT> </CARTE>

109 XML : Le langage de base Sommaire
Partie 4 XML : Le langage de base Sommaire

110 XML : un métalangage à balises
XML est un métalangage à balises pour les documents texte Les données sont incluses dans un document XML sous forme de chaînes de caractères et elles sont délimitées par des marqueurs textuels (les balises) qui les décrivent Une unité particulière de donnée et son marqueur est appelée un élément Spécifications XML Ensemble de documents qui précisent les règles de formation des documents XML

111 Documents XML Deux types de documents XML Document bien formé :
il obéit aux règles syntaxiques du langage XML (document correct) Document valide : un document bien formé obéit en outre à une structure type définie dans une DTD le document valide est associé à une DTD

112 Structure d ’un document
Un prologue facultatif mais conseillé Un arbre d ’éléments le contenu propre du document Commentaires et instructions de traitement facultatifs, présents dans le prologue ou dans l ’arbre d ’éléments

113 Le prologue Une déclaration XML Instructions de traitement
<?xml version=« 1.0 » encoding=« ISO  » standalone=« yes »> Instructions de traitement cf [XML 1999, (Chap1, 4.4.7)] Une déclaration de type de document indique le type de document auquel se conforme le document en question DTD externe : <!DOCTYPE rapport SYSTEM « rapport.dtd »> DTD interne : <!DOCTYPE rapport […]>

114 Déclarations XML Les documents XML peuvent commencer par une déclaration (syntaxe similaire à celle des instructions de traitement) Nom : xml, attributs : version, standalone et encoding <?xml version="1.0" encoding="ISO " standalone="yes"> Version : version des spécifications XML Encoding : type de codage, ISO (Latin-1) prend en compte les caractères nécessaires pour les langues occidentales Standalone : si la valeur est no, l'application peut avoir besoin de lire une DTD externe. Pour les documents sans DTD, on peut utiliser la valeur yes

115 « Mon premier doc XML » Entête Arbre d ’éléments

116 Un élément d ’un document XML
L ’arbre d ’éléments (1) Un élément d ’un document XML une balise d ’ouverture le contenu de l ’élément une balise de fermeture Exemple : <nom>contenu de l ’élément</nom> Éléments vides Les éléments sans contenu ont une syntaxe spéciale, on peut les représenter par une balise « auto-fermée » <nomElement/>

117 Nom d ’élément Les noms d'éléments et autres noms XML peuvent contenir n'importe quel caractère alphanumérique Ils peuvent aussi contenir les signes : souligné (_), trait d'union (-) et point (.) Ils ne doivent pas contenir d'autres signes de ponctuation Le caractère : est réservé pour une utilisation avec les espaces de noms Les noms XML doivent commencer par des lettres, des symboles ou le caractère souligné Ils ne doivent pas commencer par un nombre, un trait d'union ou un point Il n'y a pas de limite dans la longueur d'un nom XML

118 Tout élément fils de l ’arbre est complètement inclus dans son père
L ’arbre d ’éléments (2) Tout élément fils de l ’arbre est complètement inclus dans son père i.e. pas de recouvrement entre balises Il existe un et un seul élément père qui contient tous les autres : l ’élément racine (root)

119 Eléments et attributs <NomElement [attribut1=‘ val1 ’…]>
une balise d ’ouverture se compose : < le nom de l ’élément un ou plusieurs attributs pour décrire certaines propriétés de l ’élément >

120 Eléments et attributs Contenu d ’élément « visible » <personne>
<nom>Serge Fleury</nom> <adresse>ILPGA</adresse> </personne> Contenu d ’élément « invisible » <personne nom=« Serge Fleury » adresse=« ILPGA »/>

121 Un élément peut contenir
Contenu d ’un élément Un élément peut contenir d ’autres éléments des données des références à des entités des sections littérales des instructions de traitement

122 Constituées par un flot de caractères
Données Constituées par un flot de caractères tous les caractères sont acceptés sauf le e commercial « & » et le caractère « plus petit que (<) »

123 Références à des entités (1)
Entités prédéfinies < => < > => > & => & &apos; => ‘  " => « 

124 Références à des entités (2)
Références à des caractères références décimales < => < & => & références hexadécimales &#003c; => < => & utilisation des numéros que ces caractères ont dans les tables ISO ou Unicode

125 Références à des entités (3)
Entités internes il est possible de créer ses propres entités et d ’y faire référence dans le contenu des éléments <!ENTITY nom_entity « valeur_entity »>

126 <![CDATA [<auteurs>S. Fleury & al.</auteurs>]]>
Sections littérales Si l ’on souhaite insérer une longue suite de caractères « spéciaux » il est préférable d ’utiliser une section littérale ou CDATA : <![CDATA [<auteurs>S. Fleury & al.</auteurs>]]> réalisation : <auteurs>S. Fleury & al.</auteurs> Tout ce qui est contenu à la place de … dans (<![CDATA [...]]) est traité comme des données textuelles brutes (le parseur ne les analyse pas)

127 Instructions de traitement
Une indication de traitement est destinée aux applications qui manipulent les documents XML <?cible arg1 arg2 …?> cible : nom de l ’application arg1, arg2 : chaînes passées à l ’application exemple : association d ’une feuille de style <?xml-stylesheet href="person.css" type="text/css"?> Les instructions de traitement sont des balises mais pas des éléments

128 Commentaires Les documents XML peuvent contenir des commentaires
Ils commencent par <!-- Ils se terminent par --> Le double trait d'union ne doit pas apparaître dans le commentaire avant la séquence --> Les commentaires peuvent apparaître n'importe où sauf à l'intérieur d'une balise ou dans un autre commentaire

129 Entités et notations (1)
Entités externes via URL <?xml version=« 1.0 »?> <!DOCTYPE livre [ <!ENTITY chap1 SYSTEM « chap1.xml »> <!ENTITY chap2 SYSTEM « chap2.xml »> <!ENTITY auteur «SF»>]> <livre> <titre>Mon livre</livre> <auteur>&SF;</auteur> &chap1; &chap2; </livre>

130 Entités et notations (2)
Entités externes via identificateur public cf [XML 1999] Entités non XML

131 Exemple : une lettre [XML 00]

132 Exemple : une lettre [XML 00]

133 Exemple : une lettre [XML 00]
Ajout d ’attributs

134 Définition de type de document DTD
Les DTDs permettent de définir quels éléments et quelles entités peuvent apparaître dans un document XML et quels sont les contenus des éléments et des attributs

135 Structure Type de document
Un document valide obéit à une structure type de document défini dans une DTD un document valide est une instance de cette DTD Une DTD est l ’ensemble de toutes les déclarations contenues, soit directement ou par référence à des entités externes, dans une déclaration de type de document

136 Structure Type de document
Exemple 1 <?xml version=« 1.0 »?> <!DOCTYPE EXEMPLE [ <!-- Début DTD --> <!ELEMENT EXEMPLE (#PCDATA)> <!-- Fin DTD --> ]> <-- Début instance --> <EXEMPLE>Texte de l ’instance de document correspondant à la DTD définie ci-dessus</EXEMPLE> <-- Fin instance --> Exemple 2 : le dico

137 Déclarations d ’éléments Déclarations de listes d ’attributs
Contenu d ’une DTD Entités générales Entités paramètres Notations Déclarations d ’éléments Déclarations de listes d ’attributs Commentaires

138 Déclaration d ’élément (1)
<!ELEMENT nom modèle> Séquences : <!ELEMENT nom (ID1, ID2, ID3)> l ’élément nom est composé de ID1 suivi de ID2 puis de ID3 Choix (l ’un ou l ’autre) : <!ELEMENT nom (ID1 | ID2 | ID3)> L ’élément nom est composé soit de ID1, soit de ID2, soit de ID3

139 Déclaration d ’élément (2)
Indicateur d ’occurrence d ’un élément : <!ELEMENT nom (ID1+)> l ’élément ID1 peut apparaître 1 ou n fois dans l ’élément nom <!ELEMENT nom (ID1*)> l ’élément ID2 peut apparaître 0 ou n fois dans l ’élément nom <!ELEMENT nom (ID1?)> l ’élément ID1 peut apparaître 0 ou 1 fois dans l ’élément nom Parenthèses : pour combiner les choix, les séquences et les suffixes <!ELEMENT nom (ID1 , (ID2 | ID3)>

140 Déclaration d ’élément (4)
Données dans un élément <!ELEMENT DONNEES (#PCDATA)> les données sont constituées par un flot de caractères Modèle mixte <!ELEMENT MIXTE (#PCDATA | ID1 | ID2)*> dans cet exemple l ’élément mixte est composé de données et d ’éléments, le caractère de répétition est obligatoirement l ’étoile Contenu libre <!ELEMENT LIBRE ANY> Elément vide <!ELEMENT VIDE EMPTY>

141 Déclaration de listes d ’attributs
<!ATTLIST Nom_élément Nom_attribut type_attribut défaut> ex : <!ATTLIST ex1 nb (1|2|3) ‘ 1 ’> Type d ’attributs : CDATA : chaîne de caractères prise telle quelle ID ou IDREF : renvoi dans le document ENTITY ou ENTITIES : entité externe non XML NMTOKEN : noms symboliques formés de caractère alphanumériques NOTATION : attribut de notation

142 Valeur par défaut : la valeur en question
#REQUIRED : attribut obligatoirement présent et valeur spécifié par le créateur de l ’instance #IMPLIED : présence de l ’attribut facultative #FIXED ‘ Valeur ’ : l ’attribut prend toujours cette valeur

143 Déclaration d ’entités paramètres
Les entités déclarées dans un document sont appelées « générales » Les entités déclarées dans une DTD sont appelées « paramètres » <!ENTITY % nom « valeur »> <!ENTITY % nom SYSTEM ‘ URL ’> <!ENTITY % NOM PUBLIC ‘ lien public ’> Référence à l ’entité par %nom;

144 Les entités paramètres peuvent être déclarées librement dans la partie externe de la DTD
Dans la partie interne (entre les crochets [ et ] de DOCTYPE), elles sont déclarées librement mais ne peuvent pas être référencées dans une autre déclaration

145 Pour aller plus loin Format de documents électroniques :
Transparents sur le site TAL/ILPGA XML : une introduction TP XML Perl / XML JAVA / XML Programmation : modèles de programmation


Télécharger ppt "Mots « magiques » pour le cours"

Présentations similaires


Annonces Google