Introduction à la structuration des documents: les techniques M2: Gestion des connaissances

Preview:

Citation preview

Introduction à la structuration des documents: les techniques

M2: Gestion des connaissances

Plan

Syntaxe et sémantique de la description La syntaxe: introduction à XML La sémantique: introduction au Dublin

Core

Syntaxe et sémantique de la description Syntaxe: utilisation d’un langage

normalisé pour structurer le document (HTML, XML, CSS, etc.)

Sémantique: standardisation des noms des « balises », « champs », etc.

Introduction à XML Langage et métalangage: présentation d’XML Historique Avantages d’XML Structure des documents XML

Langage et métalangage: présentation d’XML XML = Extensible Markup Langage

(Langage à balises extensibles) HTML= Hypertext Markup Langage

– Il contient tous ses atomes (symboles et balises acceptés par la syntaxe)

Langage et métalangage: présentation d’XML XML = « métalangage » XML permet de séparer la structuration

du contenu de sa mise en forme (feuilles CSS, XSL, XSLT, etc.)

Avantage: on peut modifier la présentation du document sans modifier le document même!

Langage et métalangage: présentation d’XML CSS = Cascade StyleSheet (feuille de style

en cascade) XSL = Extensible StyleSheet Langage

(langage CSS développé spécialement pour XML)

XSLT= Extensible StyleSheet Langage Transformation (permet notamment la transformation d’un document XML en document HTML)

Historique

XML reprend les caractéristiques principales de SGML (Standard Generalized Markup Langage) défini dès 1986 pour la GED.

XML mieux adapté au web Mis au point dès 1996 par le XML Working

Group sous l’égide du W3C (World Wide Web Consortium)

Toutes les recommandations disponibles sur: http://www.w3.org/XML/

Structure d’un document XML

Un document XML doit respecter la syntaxe du langage.

La syntaxe – règles générales (emboîtement des balises)– règles spécifiques définies dans une DTD

(Définition de Type de Document)

Structure d’un document XML

Un document qui respecte la syntaxe XML est appelé document bien formé

Un document XML qui possède une DTD et est conforme à celle-ci est appelé document valide.

Structure d’un document XML

Un document XML est structuré en trois parties:1. Le prologue: permet d’indiquer la version XML

utilisée (indication obligatoire) ainsi que le jeu de caractères utilisé (attribut facultatif)

<?xml version="1.0" encoding="ISO-8859-1"?>

Structure d’un document XML

Le prologue peut contenir également des informations facultatives sur des instructions de traitement:

<? Instruction de traitement ?>

2. La DTD : elle peut être intégrée dans le document ou bien enregistrée dans un fichier indépendant.

<!DOCTYPE annuaire [contenu de la DTD]>

<!DOCTYPE annuaire SYSTEM "annuaire.dtd">

Structure d’un document XML

3. La dernière partie est l’arbre des éléments (le contenu effectif du document XML).

- hiérarchie de balises comportant éventuellement des attributs.

- Un attribut est une paire nom/clé-valeur. Il se définit toujours dans la balise ouvrante, par exemple:

<personne class="étudiant">- Toute donnée est encapsulée dans une balise: <personne class="étudiant"> Jean-Michel </personne>

Structure d’un document XML

3. Enfin, notez que l’arbre ne peut avoir qu’une seule racine! La syntaxe ci-dessous n’est pas correcte:

<?xml version="1.0"?>

<personne>

Jean-Michel

</personne>

<personne>

Anne-Sophie

</personne>

Structure d’un document XML

La syntaxe ci-dessous est correcte: <?xml version="1.0"?><annuaire>

<personne> Jean-Michel

</personne><personne>

Anne-Sophie </personne >

</annuaire>

Structure d’un document XML

Quelques règles syntaxiques:- toute balise ouverte doit être fermée:

<personne> Jean-Michel </personne>- une balise vide peut être fermée aussitôt:

<personne />- Les balises peuvent être emboîtées: - <annuaire> - <personne> Jean-Michel </personne>- </annuaire>

Structure d’un document XML

Quelques règles syntaxiques:- Les balises ne peuvent pas se chevaucher:- <annuaire> <personne> - Jean-Michel - </annuaire> </personne>

Autrement dit, les balises doivent être fermées dans l’ordre contraire de leur ouverture (la première balise ouverte sera fermée en dernier, etc.)

Structure d’un document XMLQuelques règles syntaxiques:- les noms des balises et des attributs doivent être

des noms XML, càd:- Le premier caractère est en règle générale une lettre- Les caractères suivants peuvent être des lettres, des

chiffres ou d’autres symboles (-_.)- Les espaces ne sont pas autorisés à l’intérieur du nom de

basise- Il n’y a pas de limitation a priori de longueur.

Note: - sauf notation particulière, un nom de balise ne peut pas

être formé uniquement de chiffres- choisissez des noms de balises simples et lisibles:

prénom, numéro_téléphone, etc.

Structure d’un document XMLQuelques règles syntaxiques:- il est possible d’insérer des commentaires en

utilisant la syntaxe: - <!-- commentaire : ceci est un commentaire inutile -->

Il est possible d’utiliser entre les balises (et non pas à l’intérieur des balises!) des éléments de mise en page, comme les:

- Espaces- Tabulations- Retours à la ligne

- Ces éléments permettent une meilleure visibilité des éléments du code:

Structure d’un document XML

<?xml version="1.0" encoding="iso-8859-1" ?><!-- commentaire : ceci est mon CV écrit en XML -->

<cv><identité>

<nom> Mon Nom </nom><prénom> Mon Premier Prénom </prénom><prénom> Mon Deuxième Prénom </prénom><naissance >Année de naissance </naissance>

</identité><études />

</cv>

Rôle des DTD

- Normaliser la description: utiliser les mêmes champs, dans le même ordre

- Utile pour structurer plusieurs documents de la même manière

Rôle des DTD

- La DTD peut être - interne - externe

- Appel de la DTD interne : <!DOCTYPE cv [contenu de la DTD]>

L’appel contient le mot-clé !DOCTYPE suivi du nom de l’élément racine du document et du contenu de la DTD entre crochets!

Rôle des DTD

- Appel de la DTD externe: <!DOCTYPE cv SYSTEM "cv.dtd">

Mot-clé !DOCTYPE suivi de l’élément racine, suivi de la localisation du fichier contenant la DTD.

Rôle des DTD

Enfin, il est également possible de compléter une DTD externe à l’intérieur du document (solution nécessitant une maîtrise + poussée):

<!DOCTYPE SYSTEM "cv.dtd" […]>

<cv>… </cv>

Rôle des DTD

La DTD permet de définir notamment:- des Eléments- Des Attributs- (Des Entités)

Rôle des DTD – définition des éléments

Un Elément est défini de la manière suivante: <!ELEMENT Nom (Modèle)>- le mot-clé élément est une indication du type

d’objet défini (élément et pas attribut, etc.)- Le « nom » correspond à celui de la balise

que l’on veut utiliser (par exemple: nom, prénom, etc.)

- Le « Modèle » est soit un type de données prédéfini, soit une règle d’utilisation de l’élément.

Rôle des DTD – types prédéfinis

- ANY – l’élément peut contenir tout type de données

- EMPTY – l’élément ne contient pas de données spécifiques

- #PCDATA – l’élément doit contenir une chaîne de caractères

<!ELEMENT Nom (#PCDATA)>

Rôle des DTD – règles

Certains éléments peuvent contenir d’autres éléments:

<!ELEMENT étudiant (nom, prénom)>

Cette règle indique que l’élément Etudiant doit contenir dans l’ordre un élément Nom et un élément Prénom et rien d’autre!

Rôle des DTD – quantification

Il est possible de préciser le nombre d’occurrences d’un sous-élément en utilisant des symboles de quantification:

- ? = l’élément doit apparaître 0 ou 1 fois- * = l’élément doit apparaître 0, 1 ou

plusieurs fois- +: 1 ou plusieurs fois

Rôle des DTD – quantification

<!ELEMENT étudiant (prénom+,nom, numéro_téléphone?)>

Cette définition signifie que l’élément élève peut être défini:

- par un ou plusieurs prénoms- Par 0 ou 1 numéros de téléphone- Nécessairement par un seul nom.

Rôle des DTD – alternative

<!ELEMENT formation (initiale|continue) >

Signifie que l’élément formation peut être défini par l’un ou l’autre des deux sous-éléments. Autrement dit, une formation donnée peut être OU initiale OU continue (mais pas les deux à la fois).

Rôle des DTD – combinaison

<!ELEMENT diplôme ((année, intitulé) | (année, compétences, stage?) )>

Signifie que l’élément Diplôme est défini par:- l’année d’obtention et l’intitulé du diplôme- Ou par la combinaison année, compétences

acquises et éventuellement par l’information liée au stage

Exercice

Nous voulons réaliser un annuaire simple écrit sous la forme d’un document XML contenant le/s nom, prénom/s, adresse/s émail et éventuellement le/s numéro/s de téléphone de chaque étudiant M2.

Ecrivez la DTD, puis complétez le document XML avec quelques exemples.

Recommended