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:
– &lt; (<)
&amp; (&)
– &gt; (>)
&quot; (") &apos;(')
– entités avec les codes des caractères: &#xA9;
• 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