1.19k likes | 1.37k Views
Module XML. CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT. UV Java / XML. Module XML. Introduction : eXtensible Markup Language Premiers pas en XML Le langage de base XML par l’exemple Les DTD Les liens les feuilles de styles CSS et XSL. Introduction.
E N D
Module XML CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML
Module XML • Introduction : eXtensible Markup Language • Premiers pas en XML • Le langage de base • XML par l’exemple • Les DTD • Les liens • les feuilles de styles • CSS et XSL
Introduction • Buts de cet exposé • présentation de XML : un nouveau paradigme internet • parallèle avec SGML et HTML • Applications • publications de documents sur le web • préparation de corpus pour le TAL • exemple : le corpus prématurés (HTML -> XML) • présentations d ’outils XML
Références bibliographiques • Manuels de référence • « XML, langage et applications », Alain Michard, Editions Eyrolles, 1999 (noté désormais [XML 99]) • « GUIDEXPRESS XML », Andréas Petrausch, Editions Micro Application, 2000 (noté désormais [XML 00]) • Autres manuels • http://tecfa.unige.ch/guides/xml/slides/xml.pdf
Liens (1) • Pages sur le site TAL-Paris3 www.cavi.univ-paris3.fr/ilpga/ilpga/tal/cours/parcours/cours/cours9.htm • Pages officielles sur l ’hypertoile • www.xml.org • www.w3.org • www.softwareag.com/xml/ • www.xmlsoftware.com • www.xml.com/pub • etc.
Liens (2) • Pages sur l ’hypertoile à voir absolument pour commencer • XML expliqué aux débutants • http://www.chez.com/xml/initiation/ • Le langage XML • http://www.citeweb.net/apetitje/xml/ • Plus qu'un tutoriel ce site donne l'essentiel (centré MicroSoft)
Logiciels/Utilitaires pour XML • Cf Site TAL pour un répertoire complet et adresses des outils à tester • Navigateurs/Editeurs : • IE 5, Netscape 6, XML Notepad, XML-Spy, Amaya, Exml, Zveno Swish XML Editor etc. • adresses sur le site TAL • Voir aussi : • Majix : programme Java pour convertir documents WORD (i.e RTF) vers XML • www.tetrasix.com
Un peu d ’histoire : rappels • SGML (ISO standard 1986) • norme internationale pour la représentation des documents • langage trop complexe pour le WEB • HTML (1990…) • application « pauvre » de SGML pour le WEB • langage sémantiquement figé • XML (1997…) • une version simplifiée de SGML adaptée au WEB • standardisation en cours, langage ouvert • disponible avec IE 5, Netscape 5, 6 (?)
Les limites HTML • HTML ne permet pas de "marquer" les informations en fonction de leur signification. • si l'on souhaite présenter des informations concernant la chimie ou la météorologie • pas de balises ATOM ou MOLECULE pour les chimistes, ni de balises CARTE ou TEMPERATURE pour les météorologues. • Il est hors de question de songer à intégrer de telles balises dans la norme HTML : • la prise en compte des spécificités de tous les métiers et de toutes les spécialisations est impossible
HTML est fait pour être affiché dans un « browser » • pas pour échanger de l ’information entre programmes • HTML est faible pour l ’hypertexte • HTML ne respecte pas de sémantique formelle • on peut sans aucune contraintes, construire un document avec des balises H2, et sans balises H1. • Si ceci est acceptable en terme de rendu final du document, ce ne l'est en aucun cas en termes de sémantique du langage. • HTML est faible pour décrire le contenu d ’information • en HTML on ne sait faire que de la recherche « full-text » => beaucoup de bruit
XML, version simplifiée de SGML pour le Web • 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. • Le W3C a 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.
Normalisation des documents • Structurer l ’information • pour la retrouver facilement • l ’utiliser dans des applications • Faire des hypertextes efficaces • Afficher et imprimer de manière flexible • Un format normalisé pour • diffuser, échanger, stocker, chercher...
Module XML • Introduction • Premiers pas en XML • Le langage de base • XML par l’exemple • Les DTD • Les liens • les feuilles de styles • CSS et XSL
Introduction par l ’exemple • Exemple : • Génération d ’un document XML • Affichage du document • Ajout d ’une feuille de style • raffinements...
Ajout d ’une feuille de style (1) But : Ajout des attributs d ’affichage pour distinguer les éléments du document
Ajout d ’une feuille de style (2) Création du fichier demo3.css
Ajout d ’une feuille de style (3) Ajout de la spécification de la feuille de style demo3.css sur notre document
Ajout d ’une feuille de style (4) Affichage avec IE5
Ajout d ’une feuille de style (5) Affichage avec XML-Spy
Module XML • Introduction • Premiers pas en XML • Le langage de base • XML par l’exemple • Les DTD • Les liens • les feuilles de styles • CSS et XSL
Introduction à XML • Deux types de documents XML • Document bien formé : obéit aux règles syntaxiques du langage XML (document correct) • Document valide : document bien formé qui obéit en outre à une structure type définie dans une DTD
Structure d ’un document • Un prologue • facultatif mai 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
Le prologue • Une déclaration XML <?xml version=« 1.0 » encoding=‘ ISO-8859-1 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 <!DOCTYPE rapport SYSTEM « rapport.dtd » [déclaration]>
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 ’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)
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 • >
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 » </personne>
Attribut prédéfini • Indication de langue • <p xml:lang=‘fr’>aquarelle</p> • <p xml:lang= ’en-GB’>Water</p> • <p xml:lang= ‘en_US’>Water</p> • la valeur de l ’attribut xml:lang est hérité dans l ’arbre des éléments
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
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 (<) »
Références à des entités (1) • Entités prédéfinies • < => < • > => > • & => & • ' => ‘ • " => «
Références à des entités (2) • Références à des caractères • références décimales • < => < • & => & • références hexadécimales • c; => < •  => & • utilisation des numéros que ces caractères ont dans les tables ISO 10646 ou Unicode
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 »>
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>
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
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>
Entités et notations (2) • Entités externes via identificateur public • cf [XML 1999] • Entités non XML • cf [XML 1999]
XML et unicode • XML utilise le jeu de caractères de la norme ISO 10646 • les caractères alphabétiques, symboles, idéogrammes sont identifiés par un nombre codé sur 4 octets (32 bits) et sont décrits par une expression
Stylistique XML : règle 1 • Il est recommandé d ’inclure dans un document XML des « métadonnées » qui pourront être utilisées par diverses applications : ces informations peuvent décrire le document ou une partie
Stylistique XML : règle 2 • Il est recommandé de marquer toutes les constructions morpho-syntaxiques auxquelles devront être associées des règles de réalisation physique, typographique...
Stylistique XML : règle 3 • Il est inutile d ’introduire dans un document des indications précises de réalisation physique
Stylistique XML : règle 4 • Il est recommandé de marquer toutes les constructions morpho-syntaxiques qui ont une sémantique définie dans l ’univers du discours par un balisage spécifique • exemple : paragraphes, sections explicatives, notes supplémentaires, commentaires…
Stylistique XML : règle 5 • Le choix de faire figurer une information comme valeur d ’attribut ou comme données dans un élément devra être mûrement réfléchi (cf supra).
Module XML • Introduction • Premiers pas en XML • Le langage de base • XML par l’exemple • Les DTD • Les liens • les feuilles de styles • CSS et XSL