L`impact d`XML pour les technologies multilingues Qu`est-ce
Transcription
L`impact d`XML pour les technologies multilingues Qu`est-ce
L’impact d’XML pour les technologies multilingues Andrei Popescu-Belis TIM / ETI, Université de Genève cours n°1, 13/3/2002 Qu’est-ce que XML ? • eXtended Markup Language • Langage de marquage pour les documents • Marquer la structure des documents, et pas uniquement leur forme 1 Exemple de fichier XML <?xml version="1.0" encoding="UTF-8"?> <LETTRE VALEUR="x"> <ENTREE> <mot_cle>Xerox</mot_cle> <trad pos="nf">photocopieuse</trad> <trad pos="nf">photocopie</trad> </ENTREE> </LETTRE> Explications (1) • Première ligne: « c’est du XML » <?xml version="1.0" encoding="UTF-8"?> – version toujours 1.0 ; encodage à préciser • Ensuite: série d’éléments avec/sans attributs <trad>photocopieuse</trad> – soit emboîtés : <AA><BB>bla</BB></AA> – soit enchaînés : <AA>bla</AA><BB>blabla</BB> – mais jamais chevauchés!<AA>xx<BB>yy</AA>zz</BB> 2 Explications (2) • Un « fichier XML » est donc: – un fichier texte = suite de caractères lisibles sur tout ordinateur (PAS un fichier Word, PDF, etc.) – des balises du type: • <ma_balise>Le contenu de mon élément</ma_balise> • <une-balise-sans-contenu/> • <un-exemple un-attribut="valeur">... – noms des balises à définir selon les besoins A quoi ça sert ? (1) • Fournir une méthode pour structurer… – de façon explicite – selon le contenu – en vue du partage ...l’information qui se trouve dans les fichiers • Clarté, organisation, simplicité => succès ! 3 A quoi ça sert ? (2) • Une convention pour définir des noms de balises et un ordre permis = une application • Des centaines d’applications XML existent: http://xml.coverpages.org/xml.html#applications Qu’est-ce que XML n’est pas ? • Ce n’est pas un langage de programmation (tels Basic, C, Prolog, Perl, etc.) • Ce n’est pas un format propriétaire (tel le format de Word) • Ce n’est pas non plus une base de données (bien qu’en un certain sens XML permette le stockage des informations structurées) 4 XML vs. HTML • Noms de balises – XML : à définir selon les besoins – HTML : fixés en vue de l’affichage • Syntaxe des balises – XML : stricte (cf. ci-dessus) – HTML : assez tolérante, dépend du navigateur • Outils associés, applications possibles, ... Bref historique (1) • Ancêtre : SGML (Standard Generalized…) – début des années 1980 – 1986 : standard ISO 8879 – mêmes principes (structuration sémantique des fichiers), mais plus complexe que XML • ‘Application’ de SGML: HTML – le langage des pages web – seulement intéressé par l’aspect des documents 5 Bref historique (2) • • • • • 1996: initiative visant à alléger SGML => XML 1998: spécification XML 1.0, très appréciée Organisme fédérateur: le W3C Spécifications ouvertes, format transparent Développement d’outils et de fonctionnalités complémentaires • Très nombreuses applications La « galaxie XML » (1) • XML : la syntaxe de base des balises • ‘Espaces de noms’ : éviter les conflits entre noms de balises pour différentes applications • XSL (eXtensible Stylesheet Language) – XSLT : tranformations d’un document XML – XSL-FO : formatage en vue de l’affichage • XPath : mécanisme pour se référer à une partie d’un document XML 6 La « galaxie XML » (2) • XLink, XPointer : connexions entre documents (cf. les ‘href’ de HTML) • XML Query : langage de requêtes • Les DTD et XML Schema : important ! – définir la syntaxe des balises pour une application – DTD : document type definition (SGML) – XML Schema : plus riche, écrite déjà en XML XML et le traitement multilingue • • • • • • Structuration de documents : XML Support des caractères spéciaux : XML Interfaçage avec Unicode : XML Format de localisation : LIFF < XML Echange de mém. de trad. : TMX < XML Et aussi: – sites web multilingues (Cocoon), terminologie, … • Toutefois: outils d’édition à adapter 7 Objectifs de ce séminaire • Offrir un aperçu global de la galaxie XML • Donner des bases solides sur le noyau XML – syntaxe XML, DTD, formatage avec XSL – perspectives vers le TIM • Donner les éléments pour progresser individuellement en XML • Accent mis sur les outils informatiques et la pratique Organisation : apports • • • • • Ouvert à tous Pas d’examen, pas de crédits non plus Questions, discussions = encouragées ! Cours (1h) + Travaux pratiques (1h) Projet pratique cohérent : conception d’une base bibliographique (?) • Dates: 13/3, 20/3 // 10/4, 17/4, 24/4 8/5, 22/5 // 5/6, 12/6, 19/6 8 Organisation : pré-requis • Niveau minimal en informatique – fichiers (manipulation, formats) – traitements de texte – Internet, format HTML (notions) • Désir d’apprendre des notions techniques • … et une certaine assiduité (TPs inclus) Eléments de syntaxe XML • En quoi consiste un document XML ? – Ligne de déclaration XML – Eventuellement déclaration du DOCTYPE – Eléments emboîtés (à partir d’une racine) • éléments avec ou sans contenu • texte, commentaires • balises avec ou sans attributs – Commentaires 9 Balises et attributs: noms permis • Les noms XML peuvent contenir – des lettres de tous les alphabets (Unicode) _ . • Les noms XML ne peuvent pas: – des chiffres, et: – contenir d’autres ponctuations (sauf :) – contenir des blancs, retour à la ligne, etc. – commencer par autre chose qu’une lettre ou _ • Attentions, majuscules ≠ minuscules Encodage et caractères spéciaux • Encodage (dans la déclaration): – US-ASCII, ISO-8859-1, UTF-8, etc. • Caractères réservés à remplacer par des entités: – < (<) & (&) – > (>) " (") '(') – entités avec les codes des caractères: © • Commentaires – <!-- en voici un --> – <![CDATA[ mais celui-ci est plus robuste "<>& ]]> 10 Présentation des travaux pratiques associés (utiliser de préférence les PCs, par groupes de 2-3 étudiants) La documentation XML • Recherche des principaux sites définissant les normes XML et fournissant de l’aide: – w3c.org – ibiblio.org/xml – xml.apache.org xml.org xml.coverpages.org java.sun.com/xml • Regardez ces sites • Retenez ces pointeurs • Utilisez-les ! 11 Mon premier document XML • Application imaginaire: stocker des fiches bibliographiques (livres, articles, etc.) sous la forme d’un document XML • Rédigez une fiche très simple • Quel éditeur utiliser ? • Faites vérifier votre fiche par un(e) collègue • Visualisez-là par InternetExplorer/ Netscape Vérifier la bonne formation • Sources d’erreur (quelques pistes…) – – – – – mauvaise syntaxe des balises pas d’élément racine mauvaise formation des noms XML caractères spéciaux mal utilisés absence de déclaration XML • Etudiez certains des exemples suivants, à http://www.issco.unige.ch/andrei/staff/xml/ 12 Outils pour vérifier la BF • InternetExplorer (> 5); Netscape (> 6) • Vérificateurs sur Internet: RUWF, RXP, autres? – http://www.xml.com/pub/a/tools/ruwf/check.html – http://www.cogsci.ed.ac.uk/~richard/xml-check.html • Version PC à télécharger + mode d’emploi – http://www.cogsci.ed.ac.uk/~richard/rxp.html • Un survol des outils: – http://www.xml.com/pub/a/2001/06/27/cheapxml.html Mode d’emploi • Outils accessibles par Internet (RWUF, RXP) – mettre son document sur le web (avec une URL: http://monsite.pays/mapage/mondoc.xml) – soumettre l’URL au service • Outil à télécharger (RXP) – – – – – sauver rxp.exe dans un répertoire (p.ex. c:\xml) sauver et consulter la page de manuel (rxp.txt) ouvrir une fenêtre ‘Commandes MS-DOS’ lancer rxp (cd c:\xml, puis rxp mondoc.xml ) essayer les différentes options du programme 13 Exercices (1) • Testez votre première fiche, et les exemples • Introduisez des erreurs dans votre fiche: sontelles bien détectées ? • Enrichissez progressivement votre fiche: testez à chaque fois sa bonne formation • Ecrivez une fiche différente, mais en utilisant « la même syntaxe » Exercices (2) : avancés • Cherchez sur le web un outil de vérification pour HTML ou XHTML ou ‘HTML Tidy’ • Vérifiez la bonne formation d’une page web (HTML) choisie au hasard (p.ex. la vôtre) • Adaptez la page pour qu’elle soit valide, puis ajoutez en bas le logo « HTML valid » 14