CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

119
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML

Transcript of CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Page 1: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT

UV Java / XML

Module XML

Page 2: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 2 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 3: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 3 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 4: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 4 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 5: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 5 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Liens (1)

Pages sur le site TAL-Paris3www.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.

Page 6: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 6 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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)

Page 7: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 7 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 8: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 8 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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 (?)

Page 9: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 9 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 10: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 10 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

– 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

Page 11: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 11 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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.

Page 12: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 12 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

HTML vs XML

Page 13: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 13 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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...

Page 14: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 14 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 15: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 15 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Introduction par l ’exemple

Exemple :– Génération d ’un document XML– Affichage du document– Ajout d ’une feuille de style– raffinements...

Page 16: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 16 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Création d ’un document XML avec WordPad

Page 17: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 17 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Visualisation du document avec IE5

Page 18: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 18 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Visualisation du document avec XML-Spy

Page 19: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 19 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Ajout d ’une feuille de style (1)

But : Ajout des attributs d ’affichage pour distinguer les éléments du document

Page 20: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 20 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Ajout d ’une feuille de style (2)

Création du fichier demo3.css

Page 21: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 21 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Ajout d ’une feuille de style (3)

Ajout de la spécification de la feuille de style demo3.css sur notre document

Page 22: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 22 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Ajout d ’une feuille de style (4)

Affichage avec IE5

Page 23: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 23 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Ajout d ’une feuille de style (5)

Affichage avec XML-Spy

Page 24: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 24 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 25: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 25 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 26: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 26 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 27: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 27 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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]>

Page 28: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 28 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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>

Page 29: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 29 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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)

Page 30: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 30 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

• >

Page 31: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 31 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Contenu d ’élément « visible »

<personne><nom>Serge Fleury</nom>

<adresse>ILPGA</adresse>

</personne> Contenu d ’élément « invisible »

<personnenom=« Serge Fleury »

adresse=« ILPGA »

</personne>

Page 32: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 32 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 33: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 33 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 34: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 34 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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 (<) »

Page 35: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 35 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Références à des entités (1)

Entités prédéfinies– &lt; => <– &gt; => >– &amp; => &– &apos; => ‘ – &quot; => « 

Page 36: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 36 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Références à des entités (2)

Références à des caractères– références décimales

• &#60; => <

• &#38; => &

– références hexadécimales• &#003c; => <

• &#0026; => &

– utilisation des numéros que ces caractères ont dans les tables ISO 10646 ou Unicode

Page 37: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 37 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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 »>

Page 38: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 38 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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 &amp; al.</auteurs>]]>

– réalisation :

<auteurs>S. Fleury &amp; al.</auteurs>

Page 39: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 39 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 40: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 40 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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>

Page 41: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 41 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Entités et notations (2)

Entités externes via identificateur public– cf [XML 1999]

Entités non XML– cf [XML 1999]

Page 42: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 42 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 43: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 43 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 44: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 44 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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...

Page 45: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 45 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Stylistique XML : règle 3

Il est inutile d ’introduire dans un document des indications précises de réalisation physique

Page 46: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 46 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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…

Page 47: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 47 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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).

Page 48: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 48 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 49: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 49 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Exemple : une lettre

Page 50: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 50 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Exemple : une lettre

Page 51: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 51 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Ajout d ’attributs

Exemple : une lettre

Page 52: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 52 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 53: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 53 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 54: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 54 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

<?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 -->

Structure Type de document

Page 55: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 55 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 56: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 56 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Déclaration d ’élément

<!ELEMENT nom modèle>– ordre spécifié :

• <!ELEMENT nom (ID1, ID2, ID3)>

– ordre libre :• <!ELEMENT nom (ID1 | ID2 | ID3)>

– Indicateur d ’occurrence d ’un élément :• ID? : l ’élément ID peut apparaître 0 ou 1 fois

• ID* : l ’élément ID peut apparaître 0 ou n fois

• ID+ : l ’élément ID peut apparaître 1 ou n fois

Page 57: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 57 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

– 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>

Déclaration d ’élément

Page 58: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 58 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 59: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 59 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

– 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

Déclaration de listes d ’attributs

Page 60: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 60 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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;

Page 61: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 61 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Déclaration d ’entités paramètres

Page 62: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 62 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Des exemples de documents XML

Sur le site TAL– Œuvres de Shakespeare

• Jon Bosak ([email protected])July 15, 1999

– Un manuel XML, des textes divers...

This is shaksper.200, a set of the plays of William Shakespeare marked up for electronic publication. The set began as ASCII files put into the public domain by Moby Lexical Tools in 1992. They were marked up in 1992 as a beginner's exercise in SGML DTD and stylesheet design (originally using the DynaText proprietary stylesheet language) and in 1996 were released along with a companion set of publicly available religious texts as the earliest examples of real documents marked up in (early) XML. The current distribution conforms to the XML 1.0 Recommendation released February 8, 1998.

This is shaksper.200, a set of the plays of William Shakespeare marked up for electronic publication. The set began as ASCII files put into the public domain by Moby Lexical Tools in 1992. They were marked up in 1992 as a beginner's exercise in SGML DTD and stylesheet design (originally using the DynaText proprietary stylesheet language) and in 1996 were released along with a companion set of publicly available religious texts as the earliest examples of real documents marked up in (early) XML. The current distribution conforms to the XML 1.0 Recommendation released February 8, 1998.

Page 63: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 63 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 64: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 64 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Les liens : lien interne

Liens hypertextuels internes via ID ou IDREF :– Dans la DTD

<!ELEMENT SECTION (#PCDATA|xref)*>

<!ATTLIST SECTION TARGET ID #IMPLIED>

<!ELEMENT xref EMPTY>

<!ATTLIST xref ref IDREF #REQUIRED>

– Dans l ’instance<SECTION TARGET=‘ x12 ’>contenu</SECTION>

<SECTION>référence à la section <xref ref=‘ x12 ’></SECTION>

Page 65: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 65 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Les liens : lien externe

Ressources cibles– URL– pointeur XML

• position absolue suivie d ’une cascade de renvoi relatifs qui spécifient la cible

• renvoi absolu :– http://foo.bar.fr/foobar.xml#root() (la racine de la cible)– http://foo.bar.fr/foobar.xml#id(t132) (l ’élément contenant l ’attribut

ID)– http://foo.bar.fr/foobar.xml#html(perso) (un élément <a> ayant un

attribut name qui a pour valeur perso)

Page 66: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 66 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

• Renvoi relatif sur nœud : – vise un nœud de l ’arbre localisé par rapport au nœud identifié

dans le renvoi absolu– types : child, descendant, ascendant, psibling, fsibling,

preceding, following

• Renvoi sur valeur d ’attribut– renvoi vers une valeur d ’attribut désigné par son nom

• Renvoi sur chaîne– renvoi vers une chaîne de caractères

• Renvoi sur intervalles– permet de un intervalles d ’éléments (les 3 premiers fils) d ’un

élément obtenu par le renvoi initial

Les liens : lien externe

Page 67: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 67 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Syntaxe des liens

URL : – http://foo.bar.fr/cible.xml

URL+pointeur : – http://foo.bar.fr/cible.xml#root().child(1,titre)

• la résolution du pointeur est faite par l ’application cliente– http://foo.bar.fr/cible.xml|root().child(1,titre)

• la résolution du pointeur est faite par l ’application cliente ou par le serveur

Pointeur : – #root().child(1,titre)

Page 68: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 68 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Caractéristiques des liens

Liens multi-directionnels Liens à multiples destinations « Inlining » de contenus dans un document Remplacement de contenus dans un document Bases de données pour organiser des locations de

liens

Page 69: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 69 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Types de liens (1)

Lien simple inclus<a xml:link=‘simple’ href=‘http://lien/’>...</a>

– inclus dans le document d ’origine– une seule cible– unidirectionnel– on peut caractériser la cible (rôle, titre), l ’origine (idem), la

sémantique du lien (comportement lorsque le lien est traversé)… [XML 1999]

Page 70: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 70 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Types de liens (2)

Lien étendus– il s ’agit en fait de pouvoir créer un lien multicible et de

laisser l ’application gérer la présentation des différentes cibles

– cf [XML 1999]

Page 71: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 71 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 72: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 72 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Feuilles de styles avec XML

Cascading Style Sheet (CSS) eXtensible Stylesheet Language (XSL)

– On utilisera [XML 1999] pour une présentation complet des notions associées à des langages de descriptions des feuilles de styles avec XML

La présentation faite infra reprend celle faite sur le site :

• http://www.citeweb.net/apetitje/xml

Page 73: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 73 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Cascading Style Sheet CSS1/2

Les Cascading Style Sheets ou Feuilles de Styles en Cascade ont été initialement conçues pour le langage HTML.

La première version du standard, dite CSS niveau 1 (CSS1), a été publiée en 1996

Page 74: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 74 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Mai 1998, le W3 Consortium a publié une nouvelle version, dite CSS niveau 2 (CSS2). – Introduction de la notion de type de média qui permet de spécifier

la mise en page d'un document en vue de son affichage sur écran, de son impression sur papier, ou d'indiquer les conditions de sa réalisation par synthèse vocale ou sur des terminaux braille.

– Les spécifications complètes : http://www.w3c.org/TR/CSS

Cascading Style Sheet CSS1/2

Page 75: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 75 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Création d ’une feuille CSS

plusieurs manières de procéder : en incluant en-tête de page HTML les styles que l'on

souhaite employer dans la page en question.

en écrivant une feuille de style dans un fichier séparé.

Cette seconde solution est celle qui a été retenue pour l'utilisation avec XML

Page 76: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 76 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Cela s'écrit de la façon suivante :

<?xml version='1.0'?>

<?xml-stylesheet href="FeuilleDeStyle.css" type="text/css" ?>

Création d ’une feuille CSS

Page 77: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 77 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Concepts de base

Il est facile de concevoir des feuilles de style simples. Exemple pour définir la couleur bleue à l'élément (ou

balise) H1, on écrira :

H1 { color: blue }

Page 78: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 78 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

La règle de style

Une règle de style se compose

– d'un sélecteur qui indique l'élément auquel elle s'applique, et d'une ou de plusieurs propriétés ainsi que leur valeur respective.

– Le couple propriété: valeur forme ce que l'on appelle la déclaration.

sélecteur {propriété1: valeur ; propriété2: valeur }

Page 79: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 79 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

On peut regrouper les sélecteurs en les séparant par une virgule.

H1, H2, H3 { font-family: arial }

On peut regrouper les déclarations.H1 {

font-weight: bold; font-size: 12pt;line-height: 14pt; font-family: arial; font-variant: normal;font-style: normal;}

La règle de style

Page 80: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 80 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Héritage

Dans le premier exemple, nous avons spécifié la couleur bleue à l'élément H1. Supposons maintenant que nous avons un élément en italique à l'intérieur de celle-ci.

<H1>Le titre d'un document <EM>est</EM> très important !</H1>

Page 81: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 81 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Si aucune couleur n'a été spécifiée pour l'élément EM, le mot en italique "est" héritera automatiquement de la couleur de son élément parent (H1), soit bleue pour notre exemple.

Il en va également de même pour toutes les autres propriétés à savoir font-family, font-size, etc...

Héritage

Page 82: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 82 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Pour définir un style "par défaut" pour tout un document il suffit de le définir sur l'élément parent à tous les autres - l ’élément racine - i.e en HTML, l'élément <BODY>. – BODY { color : black;background: white;font-style: arial;}

Héritage

Page 83: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 83 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Sélecteur de classe

Afin d'accroître le contrôle de granularité sur les éléments, un nouvel attribut a été ajouté à HTML : 'CLASS'.

Tous les éléments contenus dans l'élément racine peuvent être regroupés par classe. Ces classes seront définies dans la feuille de style.

Page 84: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 84 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

<HTML><HEAD><TITLE>Titre</TITLE><STYLE TYPE="text/css">H1.citation { font-style: italic; font-weight: bold }</STYLE></HEAD><BODY><H1 CLASS=citation>La vie est trop courte pour se faire la guerre</H1></BODY></HTML>

Sélecteur de classe

Page 85: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 85 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Cas 1 : dans l ’exemple précédent, l'élément H1 est « surchargé » dans le document HTML.

Cas 2 : on aurait pu aussi écrire une feuille de style de la façon suivante :

.citation { font-style: italic; font-weight: bold }

Sélecteur de classe

Page 86: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 86 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Il existe une méthode plus élégante pour utiliser les classes sans avoir surcharger des éléments prédéfinis. Il s'agit de l'élément DIV qui a été réservé à cet effet.

<DIV CLASS=aspect1> Ce texte apparaîtra avec les propriétés définies dans la classe aspect1 </DIV> ...

Sélecteur de classe

Page 87: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 87 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Commentaires

Les commentaires utilisés à l'intérieur des feuilles de style sont similaires à ceux que l'on utilise en langage

C.

EM { color: red } /* rouge, vraiment rouge !! */

Page 88: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 88 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

<STYLE TYPE="text/css">

body {font-family: arial, helvetica; font-size:9pt}

td {font-family: arial, helvetica;font-size:9pt}

H1 {font-family: arial, helvetica;font-size:12pt;font-style:italic}

a {font-family: arial, helvetica;font-size:9pt;font-weight:bold;color:#b80000}

a:hover {font-family: arial, helvetica;color:#FF0000}

a.main {font-family: arial, helvetica;font-size:9pt;font-weight:bold;color:#b80000}

a.sub {font-family: arial, helvetica;font-size:9pt;color:#b80000}p {font-size:12pt;text-align: justify}

UL {text-align: justify}

LI {list-style-image: url(./images/pucerouge.gif) }CODE {font-size:11pt}

</STYLE>

Exemple de feuille de style utilisée pour toutes les pages du site :

http://www.citeweb.net/apetitje/xml

Exemple de feuille de style

Page 89: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 89 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

eXtensible Stylesheet Language (XSL)

IMPORTANT : la norme XSL n'étant pas encore achevée

Présentation faite sur la base du document de travail du W3C de Juillet 1998

Page 90: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 90 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Généralités

Pour définir une règle de style il faut :

– 1. décrire le squelette ou arbre du document

– 2. décrire le style que l'on veut appliquer à chaque articulation du squelette ou à chaque de noeud de l'arbre

Page 91: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 91 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

un document XML est une structure arborescente

Structure arborescente

Page 92: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 92 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Les règles

template rule

– décrit la structure de chaque noeud de l'arbre ainsi que le style à appliquer à ce noeud.

Une feuille de style XSL est tout simplement un document XML qui contient tout un ensemble de règles.

Page 93: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 93 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Une règle se décompose en deux parties : – on associe un motif (pattern) au patron (template) afin d'identifier chaque

noeud de l'arbre

– on associe une action, une mise en forme, un formatage ou une transformation au noeud résultant

– Un motif sélectionne un noeud en utilisant un ou plusieurs des critères suivants :

un nom

l'ancêtre de l'élément

un identifiant unique (ID)

des jokers

un attribut de l'élément source

sa position relative par rapport à ses éléments voisins ou frères

Les règles

Page 94: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 94 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Le formatage de l'arbre

Dans l'ancienne spécification, la mise en forme des noeuds de l'arbre se fait en utilisant les balises du jeu d'instruction de HTML; c'est actuellement ce qui fonctionne avec Internet Explorer 5.0.

Page 95: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 95 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Dans la nouvelle spécification, la mise en forme ressemble plus à la syntaxe de CSS à laquelle quelques éléments on été scindés pour d'augmenter la précision du formatage des documents.

Le formatage de l'arbre

Page 96: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 96 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

<xsl: template match="accueil">

<fo:blockfont-family="times new roman, serif"font-size="12pt"text-color="red"</fo:block>

</xsl:template>

Le formatage de l'arbre

Page 97: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 97 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

le document XML : <accueil>Bonjour monde !</accueil> le fichier XSL

– <xsl:stylesheet><xsl:template match="/"><b><i><xsl:value-of select="accueil"/></i></b></xsl:template></xsl:stylesheet>

le résultat :– Bonjour monde !

Le formatage de l'arbre

Page 98: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 98 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

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

Page 99: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Exemple 1

« bonjour le monde »

Page 100: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 100 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Utilisation de CSS (1 : le doc)

<?xml version="1.0" standalone="no"?><!DOCTYPE accueil SYSTEM "bonjour.dtd"><?xml:stylesheet type="text/css" href="bonjour.css"?><document> <salutation>Bonjour monde !</salutation></document>

Page 101: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 101 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Utilisation de XSL (1 : le doc)

<?xml version="1.0" standalone="no"?><!DOCTYPE accueil SYSTEM "bonjour.dtd"><?xml:stylesheet type="text/xsl" href="bonjour.xsl"?><document> <salutation>Bonjour monde !</salutation></document>

Page 102: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 102 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Utilisation de CSS/XSL (2 : la DTD)

<?xml version="1.0"?>

<!ELEMENT document (#PCDATA)><!ELEMENT salutation (#PCDATA)>

Page 103: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 103 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Utilisation de CSS (3 : la feuille de style)

<STYLE TYPE="text/css">

document {font-family: arial, helvetica}

salutation {font-size:16pt;font-style:italic;font-weight:bold}

</STYLE>

Page 104: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 104 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Utilisation de XSL (3 : la feuille de style)

Page 105: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 105 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Rendu avec IE 5 sans CSS

Page 106: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 106 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Rendu avec IE 5 avec CSS

Page 107: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 107 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Rendu avec IE 5 avec XSL

Page 108: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Exemple 2

Une pièce de Ionesco

Page 109: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 109 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

<?xml version="1.0"?><document> <chapitre num="1"> <titre>I. Exp&#233;rience du th&#233;&#226;tre</titre><para>Quand on me pose la question : &#171; Pourquoi &#233;crivez vous des pi&#232;ces de th&#233;&#226;tre ? &#187; je me sens toujourstr&#232;s embarras&#233;, je ne sais quoi r&#233;pondre. Il me semble parfois que je me suis mis &#224; &#233;crire du th&#233;&#226;tre parce que je le d&#233;testais. Je lisais des &#339;uvres litt&#233;raires, des essais, j'allais au cin&#233;ma avec plaisir. J'&#233;coutais de temps &#224; autre de la musique, je visitais les galeries d'art, mais je n'allais pour ainsi dire jamais au th&#233;&#226;tre.</para></chapitre><chapitre num="2"> <titre>II. Controverses et t&#233;moignages</titre><para>Je suis para&#238;t-il, un auteur dramatique d'avant-garde. La chose me para&#238;t m&#234;me &#233;vidente puisque je me trouve ici, aux entretiens sur le th&#233;&#226;tre d'avant-garde. Cela est tout &#224; fait officiel.</para><para>Maintenant, que veut dire avant-garde ? Je ne suis pas docteur en th&#233;&#226;tralogie, ni en philosophie de l'art, &#224; peine ce qu'on appelle un homme de th&#233;&#226;tre.</para></chapitre><livre>Notes et contre-notes</livre><auteur>Eug&#232;ne Ionesco</auteur></document>

Le doc

Page 110: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 110 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Page 111: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 111 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

<STYLE TYPE="text/css">document {font-family: times new roman, helvetica;

float: right;border-style: solid;width: auto; border-width: 2px;margin-left: 10%;margin-right: 10%;padding-left: 10px;padding-right: 10px;}

titre {display: block; font-family: arial, helvetica;font-size:12pt;font-style:italic;font-weight:bold;margin-top: 3mm;margin-bottom: 5mm}

para {display: block;text-align: justify;margin-bottom: 5mm;}

livre,auteur {display: block;font-size:10pt;font-style: italic}

</STYLE>

Feuille de style CSS

Page 112: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 112 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Page 113: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 113 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

<STYLE TYPE="text/css">A {}document {

float: right;border-style: solid;width: auto; border-width: 2px;margin-left: 10%;margin-right: 10%;padding-left: 10px;padding-right: 10px;

background-image: url(../../images/foggy.png);}

titre {display: block; font-family: arial, helvetica;font-size:12pt;font-style:italic;font-weight:bold;margin-top: 3mm;margin-bottom: 5mm}

auteur {display: block;font-size:10pt;font-style:italic;}

livre {font-size: 10pt;font-weight:bold;margin-left: 80%;}

para {display: block;text-align: justify;margin-bottom: 5mm;}

</STYLE>

Feuille de style CCS

Page 114: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 114 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Page 115: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 115 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

<?xml version="1.0"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"><xsl:template match="/"><HTML> <BODY>

<xsl:for-each select="document/chapitre">

<H1>Chapitre <xsl:value-of select="@num"/></H1> <b><xsl:value-of select="titre"/></b> <p><xsl:for-each select="para">

<p><xsl:value-of/></p></xsl:for-each></p>

</xsl:for-each> </BODY></HTML></xsl:template></xsl:stylesheet>

Feuille de style XSL

Page 116: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 116 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Page 117: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 117 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

<?xml version="1.0"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"><xsl:template match="/"><HTML> <BODY>

<H1>Sommaire</H1><xsl:for-each select="document/chapitre">

<H2>Chapitre <xsl:value-of select="@num"/></H2> <blockquote>

<b><xsl:value-of select="titre"/></b> </blockquote>

</xsl:for-each><HR/><xsl:for-each select="document/chapitre">

<H1>Chapitre <xsl:value-of select="@num"/></H1> <b><xsl:value-of select="titre"/></b> <p><xsl:for-each select="para">

<p><xsl:value-of/></p></xsl:for-each></p>

</xsl:for-each> </BODY></HTML></xsl:template></xsl:stylesheet>

Feuille de style XSL

Page 118: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 118 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Page 119: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java / XML Module XML.

Module UV Java / XMLPage 119 / 119

Deruelle LaurentCopyright © 2002 Laurent Deruelle

XML : une norme qui évolue

Des modifications sont à prévoir En attendant, il faut s ’y préparer… avec ce qui est

déjà disponible