1. Introduction à XML

Transcription

1. Introduction à XML
REPRESENTATION DES
CONNAISSANCES
Cours préparé pour l’Université de Stendhal, Grenoble (France)
Cédric Lopez
[email protected]
Frédérique Segond
[email protected]
www.viseo.net
1
RAPPELS (1/3)
Web => conçu pour les humains (HTML : présentation des
données)
Problèmes:
●Comment trouver l’information pertinente ?
●Comment extraire l’information pertinente ?
=> Le contenu du Web doit être compréhensible pour les machines !
2
RAPPELS (2/3)
● Réseau sémantique (jeuxdemots.org)
3
RAPPELS (3/3)
 Exemple de réseau sémantique (exprimé en Prolog) :
isa(mammifère, animal).
isa(Mouska, chien).
isa(chien, mammifère).
isa(chat, mammifère).
isa(Félix, chat).
isa(vache, mammifère).
4
2. Introduction à XML
Cours préparé pour l’Université de Stendhal, Grenoble (France)
Cédric Lopez
[email protected]
VISEO – Objet Direct
4, avenue Doyen Louis Weil
38000 Grenoble
www.viseo.net
5
1. Introduction à XML
 Historique des langages descriptifs
●GML : Generalized Markup Language
●HTML : Hypertext Markup Language
●DHTML : Dynamic HTML
●XML : Extensible Markup Language
HTML
DHTML
XML
SGML
GML
6
Années 1990
1986
1969, IBM
Vers le Web sémantique
●Dans le cadre du Web Sémantique :
7
XML
Extensible Markup Language
RDF
Resource Description Framework
RDFS
RDF Schema
OWL
Web Ontology Language
1. Introduction à XML
 XML = langage de balisage extensible
 Reconnaissable par son usage des chevrons (< >)
encadrant les balises.
 Objectif :
 stocker dans un fichier des informations structurées. On parle
alors de document XML.
 faciliter l'échange automatisé de contenus complexes (arbres,
texte riche…) entre systèmes d’informations hétérogènes.
 Différence avec HTML :
● XML permet de séparer le contenu de la présentation
● Toute balise ouverte doit être fermée !
8
1. Introduction à XML
HTML : présentation des données
≠
XML : description des données
9
1. Introduction à XML
 Avantages de XML
● Aucune connaissance ne doit théoriquement être nécessaire pour
comprendre un contenu d'un document XML
● Une structure arborescente
● Universalité et portabilité : les différents jeux de caractères
sont pris en compte
● Déployable : il peut être facilement distribué par n'importe
quels protocoles à même de transporter du texte, comme HTTP
● Intégrabilité : un document XML est utilisable par toute
application pourvue d'un parser
● Extensibilité : un document XML doit pouvoir être utilisable
dans tous les domaines d'applications
● Adapté à l'échange de données et de documents.
10
1. Introduction à XML
HTML : les balises sont déjà définies …
XML : à nous de les définir !
<personne>
<etudiant>
<nom>Dupont</nom>
<prenom>Pierre</prenom>
<mail>[email protected]</mail>
</etudiant>
<professeur>
…
</professeur>
</personne>
11
1. Introduction à XML
Document XML bien-formé = respect de certaines règles :
 Une seule balise racine
 Toute balise ouverte doit être fermée
 Les noms des balises doivent commencés par une lettre ou
«_»
 Les autres caractères peuvent être des chiffres, des
lettres, "_", "." ou "-".
 Les noms des balises ne doivent pas commencer par
« xml »
 Par convention, les balises sont en minuscules.
 Aucun chevauchement n'est autorisé
 Les valeurs des entités doivent toujours être encadrées
par des guillemets (simples ou doubles)
 Quand un élément est vide, les balises peuvent être
simplifiées <balise></balise> est identique à <balise/>
12
1. Introduction à XML
<personne>
<etudiant>
<nom>Dupont</nom>
<prenom>Pierre</prenom>
<mail>[email protected]</mail>
</etudiant>
<professeur/>
</personne>
13
1. Introduction à XML
Exercice 1 : Représenter la salle en XML
14
1. Introduction à XML
 Document XML valides = un document XML bien formé qui
se conforme aussi aux règles d'un modèle (ou schéma) de
documents donné par une DTD
 DTD (Document Type Definition) : description de manière
stricte de la structure du fichier XML.
 La DTD d'un document peut être écrite à l'intérieur et à
l'extérieur du fichier XML.
15
1. Introduction à XML
 <?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE annuaire SYSTEM « personne.dtd">
<annuaire>
<personne type="étudiant">
<nom>Dupont</nom>
<prenom>Pierre</prenom>
<email>[email protected]</email>
</personne>
<personne type="professeur">
<nom>Lopez</nom>
<prenom>Cédric</prenom>
<email>[email protected]</email>
</personne>
</annuaire>
16
1. Introduction à XML
 <?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT annuaire
(personne*)>
<!ELEMENT personne (nom,prenom,email+)>
<!ATTLIST personne type (étudiant | professeur | secrétaire |
technicien) "étudiant">
<!ELEMENT nom
(#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT email (#PCDATA)>
1.
2.
3.
4.
5.
17
Définition des éléments : <!ELEMENT nom_element (structure)>
Définition des attributs : <!ELEMENT nom_element nom_attribut (structure)>
Choix par défaut : après le structure du type
Opérateurs : * + ? | ,
Type de contenu : #PCDATA, EMPTY, ANY
1. Introduction à XML
Opérateurs
+
L'élément doit être présent au
minimum une fois
A+
*
L'élément peut être présent plusieurs
fois (ou aucune)
A*
?
L'élément peut être optionnellement
présent
A?
|
L'élément A ou l'élément B peuvent
être présents
A|B
,
L'élément A doit être présent et suivi
de l'élément B
A,B
()
Les parenthèses permettent de
regrouper des éléments afin de leur
appliquer les autres opérateurs
(A,B)+
<!ELEMENT annnuaire (personne*)>
18
1. Introduction à XML
 Types de contenu
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 email (#PCDATA)>
19
1. Introduction à XML
 Exercice 2 : À partir de la DTD suivante, donner deux
exemples de document XML.
<!ELEMENT
mail? >
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
20
personne (nom,prenom,adresse), telephone?,
nom (#PCDATA) >
prenom (#PCDATA) >
adresse (#PCDATA) >
telephone (#PCDATA) >
mail (#PCDATA) >
1. Introduction à XML
 Exercice 3 : Ecrire la DTD de la classe (selon le XML de
l’exercice 1).
21
1. Introduction à XML
La DTD n’est pas obligatoire, on l’écrit seulement
lorsqu’il y a un intérêt (contraintes lors de la saisie d’un
document XML) !!!
22
1. Introduction à XML
 Exercice 4 : Structurer le texte suivant en XML
(par G. Chagnon)
Il existe diverses variétés de nuages. La plupart de ceux dont nous allons parler
ne produit aucun "hydrométéore", sauf le cumulonimbus, qui est accompagné
d'averses (parfois sous la forme de neige, de grésil ou de grêle).
L'altocumulus et le cirrocumulus partagent les mêmes "espèces" : lenticularis,
stratiformis, castellanus et flocus. On retrouve ces deux espèces également chez
le cirrus, ainsi que les espèces spissatus, uncinus et fibratus. Les espèces
stratiformis, lenticularis et castellanus sont quant à elles partagées également
avec les strato-cumulus.
Ces derniers peuvent se traîner au ras du sol et monter à 2000m, mais certains
nuages ont une altitude minimale à peine plus élevée, puisqu'elle n'est que de
200m pour les cumulus, et de 300m pour les cumulonimbus. Il est vrai que ces
derniers compensent en montant jusqu'à une altitude maximale de 18000m, soit
plus haut encore que les cirrus, qui plafonnent à 12000m. L'altitude minimale de
ces derniers coïncide avec la fin de la présence possible des altocumulus, à
6000m. Et c'est autour de cette zone, entre 5000 et 7000m, que se trouvent les
cirrocumulus. L'altitude minimale des altocumulus est de 2000m, soit quatre fois
moins que l'altitude maximale des cumulus.
Ces pauvres cumulus ne sont pas favorisés en nom d'espèces, puisqu'ils se
trouvent affligés de noms tels que fractus, mediocris, humilis et congestus... alors
que les cumulonimbus ont des espèces aux noms plus... capillaires tels que calvus,
capillatus. Les très gros cumulonimbus sont appelés mammatus.
23
1. Introduction à XML
 Correction
24
 Editeur XML ALTOVA
http://www.altova.com/thankyou.asp
25
Exercice 5 (par G. Chagnon)
Rédiger un XML et une DTD pour une bibliographie. Cette
bibliographie contient des livres et des articles.
 les informations nécessaires pour un livre sont :
● son titre général ;
● les noms des auteurs ;
● ses tomes et pour chaque tome, leur nombre de pages ;
● des informations générales sur son édition comme par exemple le nom de
l'éditeur, le lieu d'édition, le lieu d'impression, son numéro ISBN ;
 les informations nécessaires pour un article sont :
● son titre ;
● les noms des auteurs ;
● ses références de publication : nom du journal, numéro des pages, année
de publication et numéro du journal
 on réservera aussi un champ optionnel pour un avis
personnel.
 Tester cette DTD avec un fichier XML que l'on écrira ex-nihilo
et validera.
26