• Aucun résultat trouvé

LE LANGAGE XML

N/A
N/A
Protected

Academic year: 2022

Partager "LE LANGAGE XML"

Copied!
4
0
0

Texte intégral

(1)

EPFL Groupe Media - C.Vanoirbeek Documents multimedia (le langage XML)

1

LE LANGAGE XML

I

NTRODUCTION

• Les normes ont pour objectif de fournir une spécification rigoureuse d’un “objet” (produit, procédé de fabrication, langage de description, etc.) qui serve de référence. On distingue dif- férents types de normes: des normes officielles (ISO), des normes émanant d’un organisme qui fait autorité (par exemple, le W3C) ou des normes de fait (par exemple, Postscript). De manière générale, une norme est le résultat d’un processus d’élaboration qui fait intervenir plusiers ver- sions du document normatif.

• SGML (Standard Generalized Markup Language) est une norme internationale (ISO

8879:1986) de description de documents en vue de leur échange entre diverses applications.

L’idée de modèles de documents structurés a émergé vers la fin des années 60. En particulier, l’origine de SGML est imputable à Charles Goldfarb qui dirigeait un projet chez IBM dans le but de répondre à leurs besoins internes de publication. Ce projet a donné lieu au langage GML; la conception de ce langage est basé sur la technique de balisage (inspiré du concept d’annota- tions manuelles et, par la suite, de balisage électronique) utilisé dans le monde de l’édition.

SGML, en temps que norme internationale, a été finalisée en 1986.

• XML version 1.0 est un recommendation du consortium W3 (1ère édition publiée en février 98, la seconde en octobre 2000); elle est étroitement liée à d’autres documents (Namespaces, XML- Schema, XML Link, etc.).

Le processus de normalisation du consortium W3 fait chronologiquement intervenir les docu- ments suivants:

- document de travail (Working Draft); document reflétant le travail en cours de réalisation sur un sujet de normalisation dont l’intérêt est reconnu par le consortium (sans toutefois impli- quer de consensus)

- recommendation candidate (Candidate Recommendation); il s’agit d’un document de travail stable approuvé par le directeur en vue de son évolution potentielle vers le stade de recom- mendation

- recommendation proposée (Proposed Recommendation ), il s’agit d’un document jugé mature pour prétendre au stade ultime de recommendation

- recommendation (Recommendation); il s’agit d’un document qui reflète un consensus au sein du consortium W3. Il est à considérer comme une référence en vue du déploiement d’outils intégrant la vision du consortium.

L

ES CONCEPTS DE

XML

• XML s’inspire largement de SGML.

• Le contenu d’un document particulier est agrémenté de balises qui permettent de repérer les éléments logiques du documemt; l’idée étant de cerner l’élément concerné du document à l’aide d’une balise ouvrante et d’une balise fermante comme l’indique l’exemple ci-dessous:

<titre> Modèles de document </titre>

(2)

EPFL Groupe Media - C.Vanoirbeek Documents multimedia (le langage XML)

2

Le chevauchement de balises n’est pas autorisé. Celles-ci peuvent, par contre, être imbriquées de manière à refléter l’organisation hiérarchique du document.Un élément vide (c’est-à-dire sans contenu) est représenté à l’aide d’une balise unique.

Exemple

<introduction/> désigne un élément de type introduction dont le contenu est absent.

• La définition des balises autorisées dans un document ainsi que leur potentielle organisation dans un document spécifique sont décrites à l’aide d’une DTD (Document Type Definition);

celle-ci a pour bit de définir formellement une classe de document. Le formalisme de descrip- tion d’une DTD se base sur la notion de grammaire à attributs; la cohérence entre une instance de document (document balisé) et sa classe (DTD) pouvant être vérifiée à l’aide d’un parseur.

• Une description de documents (DTD) spécifie de manière formelle les éléments logiques (ELE- MENT) qui interviennent dans une classe de documents donnée ainsi que leur organisation.

Ces éléments définissent des marques génériques qui spécifient les balises utilisables dans une instance de document se référant à la DTD.

Des attributs peuvent être définis (ATTRIBUTE) pour qualifier les éléments de la DTD; leur rôle est de préciser la définition logique d’un élément (le caractère confidentiel ou public d’un memo, par exemple).

• La DTD suivante définit la classe de documents Memo.

<!DOCTYPE Memo>

<!ELEMENT Memo (Sujet, Dest, Exp, Message, Sign?)>

<!ELEMENT Sujet (#PCDATA)>

<!ELEMENT Dest (#PCDATA) >

<!ELEMENT Exp (#PCDATA) >

<!ELEMENT Message (Parag*) >

<!ELEMENT Parag (#PCDATA) >

<!ELEMENT Sign (#PCDATA) >

<!ATTLIST Memo Statut (Confidentiel|public) “Public” >

• La définition des éléments d’une DTD est exprimée au moyen d’une règle (semblable à une production de grammaire EBNF). Les connecteurs indiquent les relations entre éléments:

- connecteur de séquence (",") - connecteur OU ("|")

Les indicateurs d’occurrences spécifient le nombre de fois qu’un élément peut apparaître dans une instance de documents:

- une ou plusieurs occurrences ("+") - zéro ou plusieurs occurrences ("*")

- zéro ou 1 occurrence, autrement dit élément optionnel ("?")

La spécification du contenu des éléments terminaux se fait en utilisant le mot-clé #PCDATA.

• La définition d’attributs est spécifiée par le mot clé ATTLIST qui introduit la liste des attributs associés à un élément. Ceux-ci peuvent être optionnels (#IMPLIED), obligatoires (#REQUIRED )ou fixés (#FIXED) dans la DTD; une valeur par défaut peut être fournie.

Un attribut de type “chaine de caractères” sera défini de type CDATA

(3)

EPFL Groupe Media - C.Vanoirbeek Documents multimedia (le langage XML)

3

Une valeur d’attribut peut être contrainte par un type énuméré.

Le mécanisme d’attribut est également utilisé pour définir des références entre éléments (REF et REFID).

• Le document balisé conformément à une DTD constitue une instance de document, autrement dit un document dont la structure spécifique est conforme à la structure générique décrite par une DTD. L’exemple ci-dessous illustre la notion de document balisé de la classe Memo

<Memo>

<subject>

Cours "Documents multimedia" </subject>

<Dest> Jan Schoenbaechler </Dest>

<Exp> Christine Vanoirbeek </Exp>

<Message>

<Parag> Penses-tu que les etudiants soient intéressés de savoir ce qu’est SGML? </

Parag>

</Message>

<Sign> Christine </Sign>

</Memo>

Une des présentations possibles pour un tel document pourrait être la suivante:

Subject: Cours "Documents multimedia"

To: Jan Schoenbaechler From: Christine Vanoirbeek

Penses-tu que les étudiants du cours soient intéressés de savoir ce qu’est SGML?

Christine

S

TRUCTURE D

UN DOCUMENT

XML

• En première approximation, la structure générale d’un document XML comporte un prologue et le corps du document (éléments balisés)

La partie prologue comporte

- une instruction de traitement particulière qui spécifie la version utilisée de XML, le jeu de car- actère utilisé et indique si le document se réfère à d’éventuelles déclarations externes.

<? XML version = “0.1” encoding = “UTF-8” standalone =”yes” ?>

- éventuellement, une DTD (qu’elle soit incluse, externe ou partiellement incluse dans le doc- ument via la déclaration DOCTYPE)

Si la DTD est incluse dans le document, la syntaxe utilisée est la suivante

<!DOCTYPE document [... déclarations ...]

Dans le cas contraire, la référence à la DTD utilisée pourra se faire via une URI de la manière suivante

<!DOCTYPE document SYSTEM “uri”>

(4)

EPFL Groupe Media - C.Vanoirbeek Documents multimedia (le langage XML)

4

R

ÉSUMÉET RÉFLEXIONS CRITIQUES

• XML implémente les idées de bases de SGML

- une approche descriptive des structures de documents, dissociant clairement la structure logique de la structure physique

- la notion de classes de documents décrites par des DTD (Document Type Definition) - l’idée d’utiliser un format d’échange purement textuel garantissant un maximum d’indépen-

dances par rapport aux plates-formes et outils logiciels.

• XML s’inspire largement de SGML; les principales différences sont:

- une simplification de la syntaxe du langage, ce qui facilite considérablement le développe- ment d’applications traitant des documents XML

- l’élimination d’un certain nombre de caractéristiques, jugées trop complexes, de SGML - la possibilité de créer des documents XML qui ne sont pas liés à une DTD; la norme fait la

distinction entre les documents syntaxiquement corrects (qui sont conformes à la syntaxe de XML) et les documents valides (qui sont conformes à une DTD)

• Le domaine d’application de SGML qui a été le plus utilisé est celui de la production de docu- ments. Un certain nombres de DTD ont été conçues et sont utilisées dans ce but dans le monde de l’édition.

Un exemple représentatif est la DTD élaborée par l’AAP (American Association of Publishers) Une application plus récente et beaucoup plus connue est celle de HTML, la DTD qui définit la classe des documents WWW, interprétables par les “browsers Web”.

Références

Documents relatifs

On verra par exemple que le choix d’un éditeur XML n’est pas simple, suivant les critères retenus : open source ou payant, adapté pour la saisie d’un grain ou bien d’un

Les suggestions d’enseignement et d’évaluation et les annexes contenues dans le document de mise en œuvre du cours Sujets d’actualité en sciences de la nature, 11 e

● La Document Type Definition (DTD), ou Définition de Type de Document, est un document permettant de décrire un modèle de document XML. ● Une DTD indique les noms des

Cliquez ici pour telecharger le

Quels sont les atouts et les contraintes du détroit de Malacca dans le commerce maritime mondial. 1° Décrire les caractéristiques géographiques du détroit de Malacca (Docs. 1

Après l’étude des deux cas concrets de Easo et de Peng, on se rend compte que Lifou est prête pour le développement du tourisme mais qu’elle cherche encore

For the goal of determining whether XML documents were invalidated due to schema evolution, the system must recognize and analyze the differences be- tween the old ( S 0 ) and new ( S

Trans- formation systems are mostly based on one of these formal models - syntax directed translation schema, tree transformation grammar, descending tree transducer and higher