introduction à la structuration des documents: les techniques m2: gestion des connaissances
TRANSCRIPT
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.