Tutoriel XML – Première Partie F. Sajous & L. Tanguy ERSS – Sémantique et Corpus.

Slides:



Advertisements
Présentations similaires
Académie de Créteil - B.C.
Advertisements

1 Georgeta Bădău CRÉATION ET GESTION DUN BLOG AVEC LA PLATE-FORME LEWEBPEDAGOGIQUE.COM Séance no.4.
DTD Sylvain Salvati
Niveau Intermédiaire 12/01/ Visualiser votre groupe de TD ( Visualiser mon emploi du temps) 12/01/
1 V-Ingénierie… La compétence au service de lexigence… vous présente.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Les espaces de nommage XML par Philippe Poulard 1
Présentation de l’application « Livret personnel de compétences »
Architecture de réseaux
Initiation et perfectionnement à lutilisation de la micro-informatique Initiation à Microsoft Word 2008 Deuxième partie ©Yves Roger Cornil
Initiation et perfectionnement à lutilisation de la micro-informatique Publier des films sur DailyMotion (sur Mac et sur PC) ©Yves Roger Cornil
Le publipostage La fonction de fusion permet de créer des documents identiques dans les grandes lignes que l’on personnalise automatiquement à chaque destinataires.
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
Tutoriel XSLT F. Sajous ERSS – 01/04/2005.
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
Autorisations Utilisation eCATT
Manipulation d’XML avec XSL
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
La fonction Style Permet de créer des types de texte, par exemple
Les fonctions.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Développement d’applications web
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
1 Comment utiliser votre Extranet Se connecter 2.My Site 3.Documentation 3.1 Documents dintégration 3.2 Documents types 4.Vos informations privées.
Introduction à lutilisation des corpus 2. Comment constituer un corpus?
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
18/05/ Utiliser le cahier de texte en ligne avec lapplication SPIP Adresse du site du lycée :
Représentation numérique de l’information
L’utilisation des bases de données
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
XML: Syntaxe XML, DTD et Schémas
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
CHAINE DE CARACTERES : Définition :
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
1.1 LES VECTEURS GÉOMÉTRIQUES
Introduction à lutilisation des corpus 2. Comment constituer un corpus?
Les formats Débutant – Semaine 4.
OPTIMA, 6 novembre 2008, BnF 1 un outil daide à la transcription Thomas PALFRAY Stéphane NICOLAS Thierry PAQUET L aboratoire d I nformatique, T raitement.
Tout savoir sur la synchronisation des mails, contacts et calendrier sur Windows Phone Lire cette présentation en mode plein écran.
1 GPA435 Systèmes d’exploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 8 Filtres UNIX.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
8 - XML Cours XML.
Le Langage XML Belkhir Abdelkader Laboratoire LSI USTHB
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années.
Le langage XHTML 420-S4W-GG Programmation Web Client
Biologie – Biochimie - Chimie
Création et présentation d’un tableau avec Word 2007
Centre d’échange d’informations sur la Convention sur la Diversité Biologique Bienvenue dans le cours sur l’ajout d’une page web sur un site web développé.
Le site-en-kit pour les locales 2. Créer des pages.
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
LE HTML ISN Terminale S Un peu d’histoire …
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Le langage XML.
Introduction à l’informatique en gestion 1 Plan de la leçon Compagnon office Sections et Mise en page En-têtes et pieds de page Notes de bas.
Programmation Web : Introduction à XML
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
XHTML les fondamentaux M.DIENG Abdoulaye DTS 1 Réseaux & Données.
Traitement de texte +.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
IUT SRC Année 2004/2005Antonio Capobianco 1 HTML>Formater du texte>Les titres Définir les titres HTML distingue 6 niveaux de titre : Titre N°1 Titre N°2.
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
eXtensible Markup Language. Généralités sur le XML.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Bloc 1 - UE 5 - Technologies de l’information et de la communication TIC Bachelier en immobilier T. SOUMAGNE.
XML les données réellement portables La nécessité d’un format de données universel et lisible se faisait sentir depuis longtemps, aujourd’hui avec le développement.
INF2005– Programmation web– A. Obaid Variantes de HTML.
Transcription de la présentation:

Tutoriel XML – Première Partie F. Sajous & L. Tanguy ERSS – Sémantique et Corpus

2 Plan Aparté obligatoire : le codage des caractères Historique, principes, soucis et solutions La structure d'un document XML En-tête et syntaxe Blocs structurants, blocs en lignes, attributs Bonne formation Saisie et modifications avec un éditeur XML Les DTD Principes Déclaration Lien document-DTD, validation Recherche dans un document XML par XPath

3 Principes du codage des caractères (1) Un caractère est stocké sous la forme d'un code numérique Un fichier texte = une suite de nombres Table de codage : équivalence caractère- nombre Plusieurs types de codages Raisons historiques, techniques et commerciales Peut varier d'un système / outil à l'autre Distinction : caractère glyphe (apparence physique, indiqué par une police)

4 Combien de caractères (et lesquels) ? Coder le minimum de caractères pour gagner de la place ASCII : 7 bits = 128 (lettres, chiffres, signes) Pas de lettres accentuées (cible = anglais) Extensions du code ASCII : 8 bits (octet) = 256 Iso (latin 1) : ajout des lettres accentuées pour l'europe de l'ouest Plusieurs codes similaires : CP1252, CP857, … De latin 2 à latin 10 : autres langues d'europe Autres alphabets sans rapport avec l'ASCII API, cyrillique, arabe, etc.

5 Problèmes dus au codage (1) Texte écrit par l'application A utilisant la table TA 'é' -> 243 Texte lu par l'application B utilisant la table TB 243 -> 'Û' L'application B n'est pas forcément au courant Codages concurrents actuels : Standard anglo-saxon : ASCII Standards ISO (Unix), CodePage Windows, DOS, Mac, etc.

6 Problèmes dus au codage (2) Uniquement pour les fichiers texte (bruts) Les traitements de texte et autres indiquent en interne le codage Autres alphabets API, autres langues, etc. Autant de tables de codage Problème en texte brut : plusieurs alphabets dans le même document

7 Codage "Universel" UNICODE : codage pour tous les caractères 4 Milliards de caractères possibles (langues asiatiques notamment) En couches de 256 caractères Un standard, plusieurs utilisations UTF-8 : les caractères ASCII sont codés sur un octet, les autres, cela dépend… UTF-16 : les caractères ASCII, latin, etc sur 2 octets, les autres sur 4 UTF-32 : tous sur 4 octets

8 Concrètement (1) Le codage d'un fichier texte doit être fait suivant un code précis Texte en Français, Anglais, Allemand, etc. : Choix entre "Iso Latin 1" et Unicode Texte mixte (Français + API, Français + Coréen…) : Unicode Espérer que les destinataires seront bien équipés Le choix par défaut : UTF-8 (incompatible avec iso pour les lettres accentuées) En XML, le codage est explicite !

9 Concrètement (2) Taper un caractère bizarre Lettres accentuées du français : pas de pb. Sinon : Vérifier que l'on est bien en codage Unicode En fonction de l'outil Word : insérer caractères spéciaux Sinon, copier-coller depuis Word Dans le pire des cas, utiliser le code numérique du caractère Ų = ¬ Dans tous les cas, vérifier que l'on a bien installé une police compatible…

10 Concrètement (3) Que faire si on a des accents mal fichus ? Identifier le problème : "ça a raté" ٱa a ratٱcode 8 bits interprété en UTF-8 ça a raté UTF-8 interprété en 8 bits a a rat mauvais code 8 bits Pas de panique ! Windows : Utilisez un éditeur universel : Word, NotePad (ils vous poseront la question) Linux : utilisez "recode", le transcodeur universel Macintosh : Ok, vous pouvez paniquer

11 XML : Eléments de Syntaxe

12 Structure générale d'un document En-tête Indique que c'est du XML, de quelle version Indique le codage des caractères Exemple : Note : c'est le seul cas où une balise est notée par Corps Une balise unique doit contenir tout le reste du document (racine du document)

13 Eléments : syntaxe générale Une balise doit être nommée : Avec des minuscules (c'est mieux), accentuées si l'on veut Eventuellement, des _, des - et des chiffres Eléments simples : Balise ouvrante Balise fermante Toute balise ouverte tu fermeras Tu ne feras pas chevaucher des balises Mauvais exemple :

14 Types d'éléments (1) Eléments vides Balise ouvrante et fermante à la fois Rôle : permet d'indiquer des informations ponctuelles dans un document Exemples : pauses dans un discours, référence à un élément non-textuel (photo, etc.)

15 Types d'éléments (2) Eléments avec attributs Eléments vides ou non Les attributs sont codés dans la balise Syntaxe : nom="valeur" OU nom='valeur' L'ordre des attributs n'a pas d'importance La balise fermante est une balise simple Exemple : ….

16 Eléments structurants ou en ligne Deux types d'usage des éléments Structurants Organisent la hiérarchie du document Contiennent soit d'autres balises, soit du texte (élément terminal) Sont généralement nécessaires Exemples : titres, sections, paragraphes, etc. En ligne Permettent un balisage au fil du texte Sont optionnels Exemples : indications discursives, annotations, notes, pauses, etc.

17 XML et mise en page Les retours à la ligne ne jouent AUCUN rôle dans un document XML Ils ne servent qu'à faciliter la lecture Les éditeurs peremettent généralement de réorganiser la présentation du document à l'écran Les espaces n'ont d'importance que dans le texte Aucun rôle entre deux balises Attention à séparer les attributs, toutefois

18 Commentaires et caractères spéciaux On peut commenter une partie d'un document en l'entourant de Le contenu sera ignoré pour tout traitement Pour insérer dans du texte les caractères suivants : & On doit utiliser les notations suivantes : <(less than)< >(greater than)> &(ampersand)& On peut insérer un caractère quelconque si on connaît son code : {Caractère de code 123 (décimal) ᨯCaractère de code 1A2F (hexadécimal) (donné par Word entre autres)

19 Editeur XML Facilite la saisie Permet de vérifier la bonne formation Les règles syntaxiques ont-elles été respectées ? Peut mettre en forme votre document Exemple : Oxygen Disponible sur Windows et Unix Pas trop cher Pas trop mal Au boulot ! (Exercice 1)

20 Les DTD Principes Syntaxe Association doc-DTD Validation d'un document

21 Principes Généraux des DTD Grammaire du document Indique les éléments pouvant être utilisés, et comment Permet la validation d'un document Facilite la saisie / annotation de données

22 Syntaxe d'une DTD Dans un fichier à part (extension.dtd) Une ligne d'en-tête : la même que pour un document XML Note : le codage de caractères est indépendant des fichiers XML associés… Puis, dans un ordre quelconque, la déclaration des éléments du document

23 Déclaration d'un élément (note : pas du XML !) Où : nom : nom de la balise / élément type peut être : #PCDATA : l'élément ne contient que du texte (structure) : l'élément contient d'autres éléments, avec une syntaxe particulière

24 Structure d'un élément complexe La structure indique quels éléments, combien, et dans quel ordre, on peut trouver dans l'élément défini (e1, e2) : un élément e1 puis un élément e2 (e1 | e2) : l'un ou l'autre (e+) : 1 ou plusieurs éléments e (e*) : 0 ou plusieurs éléments e (e?) : 0 ou 1 élément e Les éléments e1 et e2 doivent ensuite être décrit de la même manière

25 Encore plus compliqué… Eléments complexes : <!ELEMENT mail (auteur, destinataire+, sujet?, corps, signature?)> Soit : un auteur, un ou plusieurs destinataires, un sujet optionnel, un corps, une signature optionnelle Eléments mixtes, pouvant contenir du texte, et éventuellement des éléments : Exemple d'instanciation : début texte notable suite

26 Attributs (1) On peut en plus autoriser des attributs à un élément Syntaxe : <!ATTLIST élément attribut1type1option1 attribut2type2option2 …>

27 Attributs (2) Type d'un attribut CDATA : texte non contraint ID : identifiant unique (valeur1 | valeur2 | … ) : choix parmi une liste Options d'un attribut #REQUIRED : attribut obligatoire #IMPLIED : attribut optionnel Exemple : Instanciation XML possible : …

28 Association DTD-document Rien à faire dans la DTD Dans l'en-tête du document XML : Où racine est le nom de l'élément de plus haut niveau défini dans la DTD Il est possible d'utiliser une DTD située sur un serveur Web :

29 Quelques règles pour les DTD Tout élément apparaissant dans la description d'un autre doit aussi être décrit L'ordre n'a aucune importance On peut vérifier la bonne formation d'une DTD On ne peut pas vérifier sa cohérence Sauf avec des éditeurs très chers Une vérification plus approfondie se fait au moment de la validation d'un document XML

30 Au boulot Définir une DTD Associer une DTD à un document Pour en faciliter la saise Pour en vérifier la conformité et le valider Pour importer des données de texte brut A discuter par la suite : Choix d'une structure pour une information Attributs vs. éléments

31 XPATH Elément de la technologie XSLT Pour la manipulation des documents XPATH permet : De repérer un élément dans un document Incidemment, de fouiller des données en se basant sur la structure XPATH est intégré dans les bons éditeurs XML A venir : interrogation de corpus par XPATH…

32 XPATH : principes Une expression analogue à celle d'une adresse Web, avec en plus, des contraintes Il faut penser en termes d'arbre Exemples de base : /mail/expéditeur expéditeur d'un mail priorité (attribut) d'un mail

33 Syntaxe par l'exemple /Racine du document /XElément racine du document (de nom X) //YElément Y n'importe où dans le document /X/ZElément Z situé sous la racine X //X/..Elément contenant l'élément X att de l'élément X //X/../YElément Y frère de l'élément X Etc. NOTE : une expression XPATH peut correspondre à plusieurs éléments d'un même document

34 Ajout de contraintes Aspect vital : ajouter des contraintes sur le contenu ou la position des éléments Contrainte sur la position //X[1] = premier élément X /X/Y[2] = deuxième fils Y de X Contraintes sur le contenu //X[Y = 'contenu']Elément X dont le texte du fils Y est contenu Exemple : //mail[expéditeur = 'ludovic'] NOTES :- utilisez soit des ' ' soit des " " - il s'agit d'une équivalence exacte - idem pour les attributs

35 Recherche de chaînes Au lieu de l'équivalence exacte, on peut utiliser la fonction contains qui recherche des segments //mail[contains (subject, 'XML')] tout mail dont le sujet contient la chaîne 'XML' //mail[contains (subject, 'XML')]/corps Le corps d'un mail dont le sujet contient 'XML' Si la contrainte porte sur l'élément sélectionné, on utilise la notation "text()" : //subject[contains(text(), 'XML')] Le sujet d'un mail, s'il contient "XML"

36 Combinaisons de contraintes On peut mixer plusieurs contraintes par des connecteurs logiques (and / or ) //mail[contains(subject, 'XML') and auteur='ludovic'] Un mail de ludovic dont le sujet contient XML //mail[contains(subject, 'XML') or contains(subject, 'corpus') ] Un mail dont le sujet contient XML ou corpus

37 Au boulot ! Prochaines étapes : Le langage de transformation XSLT Les liens bases de données XML D'ici là : Etudes de cas réels du labo Phonologie, discours, corpus divers