SlideShare une entreprise Scribd logo
Modèles de données et langages
de description ouverts - 2
Licence DIST
2021-2022
Programme global
• Comprendre la notion de métadonnée,
approche des langages à balises (s1)
• Comprendre le XML et ses applications (s2-4)
• Données ouvertes, traitements et
matérialisations informatiques (s5-6)
Programme de ce cours
1. Rappel Langage à balises
2. Vers le HTML et le XML
3. Qualités et principes du XML
4. Construire un XML à partir d’une DTD
5. Concevoir une DTD
6. Rappel DTD
7. XML Schema
1) Rappel langages à balise
• Les langages à balise sont une manière
d’insérer des métadonnées dans un document
• Ils permettent aux machines de traiter les
données et la structure plus facilement
• On représente le système des balises comme
une arborescence que suivent les machines
pour récupérer ou traiter de l’information
2) Vers le HTML et le XML
• A la fin des années 1960 IBM invente un
langage de description, GML (Generalized
Markup Langage ou Goldfarb - Mosher - Lorie,
du nom des inventeurs).
• Charles Goldfarb, co-inventeur du GML
développe ensuite un successeur appelé SGML
(Standard Generalized Markup Language),
publié en 1986 comme norme ISO (ISO
8879:1986)
5
Vers le HTML et le XML
• Tim Berners-Lee choisit de décliner le SGML
en une version simplifiée pour structurer les
pages web :
HTML (HyperText Markup Language)
• De la grande simplicité du début (tag soup)…
• Aux 104 éléments définis dans HTML 5
6
Vers le HTML et le XML
Exemple HTML :
<!DOCTYPE html>
<html>
<head>
<title>Titre de page</title>
</head>
<body>
<h1>Titre de section niveau 1</h1>
<p>Paragraphe</p>
</body>
</html>
7
Vers le HTML et le XML
Exemple HTML :
<!DOCTYPE html>
<html>
<head>
<title>Titre de page</title>
</head>
<body>
<h1>Titre de section niveau 1</h1>
<p>Paragraphe</p>
</body>
</html>
Question piège : en bleu, grammaire ou vocabulaire du HTML ?
8
Vers le HTML et le XML
• Les principes du HTML sont liés aux principes
du Web:
– Notion d’hypertexte
– Des serveurs fournissent des documents
– Les documents sont décrits selon une grammaire
SGML
– Les clients (navigateurs) peuvent lire les
documents
9
Vers le HTML et le XML
• Présentation pédagogique et nombreux
exemples sur le tutoriel :
http://www.w3schools.com/html/default.asp
[pour s’entraîner à manipuler du code HTML et l’utiliser pour
présenter des métadonnées : essayez de reconstituer une
version très simplifiée d’une notice d’oeuvre, par exemple
https://www.imdb.com/title/tt1160419/]
Vers le HTML et le XML
• Dès la mise en place du web, pour structurer
les pages web un nouveau langage semble
nécessaire
– Echanger des informations avec d’autres logiciels
que les navigateurs
– Utiliser une syntaxe plus rigoureuse
– Simplifier l’adaptation du langage aux besoins
– Poursuivre la séparation des fonctions de balises
11
Vers le HTML et le XML
Exemple HTML :
<!DOCTYPE html>
<html>
<head>
<title>Titre de page</title>
</head>
<body>
<h1>Titre de section niveau 1</h1>
<p>Paragraphe</p>
</body>
</html>
12
Vers le HTML et le XML
• XML pour
eXtensible Markup Language
13
HTML, SGML, XML
Langages à balise
XML
HTML
SGML
1
2
2
3) Qualités et principes du XML
• Le XML est un langage à balises et
l’exploitation la plus connue de ce
fonctionnement
• C’est un méta-langage qui permet de définir
d’autres langages (grammaires et / ou
vocabulaires spécifiques)
• XML est plus souple que SGML, mais plus
structuré que HTML
Plus lent, plus haut, plus fort : XML
• Plus lent : nécessité de lier à des grammaires
et vocabulaires, pas d’interprétation
« directe »
• Plus haut : langage généraliste, adaptable à
presque tous les contextes d’application
• Plus fort : adapté aux traitements automatisés
à grande échelle
Plus lent, plus haut, plus fort : XML
• Objectifs d’origine du XML
– Facilement utilisable sur le web
– Adaptable dans de multiples situations
– Compatible avec SGML
– Facilite la création de traitements informatisés des
documents XML
– Réduit la complexité des choix à faire [???]
– Lisible et raisonnablement clair
Plus lent, plus haut, plus fort : XML
• Objectifs d’origine du XML - suite
– La conception de XML doit être rapide
– La description de XML doit être formelle et
concise
– Les documents issus de XML doivent être faciles à
créer
– L’économie de balisage est une priorité secondaire
(c’est à dire : plutôt la précision que la concision)
Plus lent, plus haut, plus fort : XML
• XML est un métalangage
– Permet de décrire des types de documents,
d’autres langages
– Permet de définir des instances XML
• Répondant à un type de document
• « seulement » bien construites
– Les instances XML peuvent décrire
• Des documents (texte balisé, comme le fait le SGML)
• Des données structurées quelconques
Plus lent, plus haut, plus fort : XML
• Organisation des informations pour XML
– DTD (Document Type Definition) ou Schéma
• Comment décrire les données / documents ?
– XML
• Les données et documents eux-mêmes, balisés
– « Feuilles de style » (= stylesheet)
• Comment présenter les données / documents ?
• NB : on ne sait plus trop où sont les données et ou sont les
documents (selon les points de vue) !
Plus lent, plus haut, plus fort : XML
• Très bonne intégration du XML dans les SI
– Pour le stockage des données
• Simples fichiers (configuration)
• BdD structurées
• BdD documentaires (XML ou web)
– Pour l’échange des données
• Entre 2 BdD
• Publication des données avec feuille de style
– Transferts arbre entier [ou « à la volée » plus rarement]
Organisation autour d’XML
DTD
Document
XML
Page web
PDF
Doc XML
Feuille
de style
1
Feuille
de style
2
Feuille
de style
3
Qualités et principes du XML
Qualités et principes du XML
• Les balises de XML forment une arborescence
stricte (pas de double lien hiérarchique)
– Auteur
• nom
– Zola, Emile
• mort
– date : 1902
– lieu : Paris
• né
– date : 1840
– lieu : Paris
Qualités et principes du XML
• balises ou attributs des balises ?
L’utilisation de balises ou d’attributs pour
représenter la structure des données dépend
du contexte d’utilisation
– Identifiants uniques dans une série : attributs
– Variantes linguistiques d’une donnée : attributs
– Données dont on ne connaît pas par avance
l’exploitation : balises
Qualités et principes du XML
• Les métadonnées en XML s’organisent en 3
parties:
– Le fichier XML lui-même, obligatoire
– Une DTD ou un schéma XML, facultatifs
– Une ou plusieurs feuilles de style CSS, facultatives
• La DTD (document type definition) ou le schéma
définissent la validité (grammaticale) du XML
• Les feuilles de style définissent comment sont
représentées les données
Qualités et principes du XML
DTD
Document
XML
Page web
PDF
Doc XML
Feuille
de style
1
Feuille
de style
2
Feuille
de style
3
Qualités et principes du XML
DTD
Document
XML
Page web
PDF
Doc XML
Feuille
de style
1
Feuille
de style
2
Feuille
de style
3
Un XML doit être
bien formé…
pour être du XML
(il y a une
conformité au
XML)
Qualités et principes du XML
DTD
Document
XML
Page web
PDF
Doc XML
Feuille
de style
1
Feuille
de style
2
Feuille
de style
3
Une DTD définit
les règles que
doit respecter un
XML pour être
valide pour
l’utilisation prévue
(la DTD définit la
validité du XML)
4) Construire un fichier XML à partir
d’une DTD
• Lire une DTD
– Les balises interprétables sont toutes listées
– Les balises sont qualifiées
• Ce qu’elles doivent contenir (dans une certaine mesure)
• Quelles sont les balises filles ou attributs possibles, et
combien le XML peut en comporter
• Une DTD incomplète peut ne pas bloquer le
traitement informatique mais empêche la
validité du XML ou limite son utilisation
Construire un fichier XML à partir
d’une DTD
• Exemple 1 :
<!ELEMENT liste_livres (livre+)>
<!ELEMENT livre (titre,auteur+,
éditeur,description?,prix)>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT auteur (#PCDATA)>
<!ELEMENT éditeur (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT prix (#PCDATA)>
Construire un fichier XML à partir
d’une DTD
• Une DTD peut définir une balise :
– Contenant du texte !ELEMENT balise (#PCDATA)
– Contenant une autre balise
!ELEMENT balise (balise2)
– Contenant une série de balises
!ELEMENT balise (balise3, balise4, balise5)
– Contenant une autre balise optionnelle
!ELEMENT balise (balise9?)
– Contenant une autre balise répétable
!ELEMENT balise (balise10+)
Construire un fichier XML à partir
d’une DTD
• Exemple 2 :
<!ELEMENT personne (nom | pseudo)>
<!ELEMENT nom (#PCDATA | surnom*)>
<!ELEMENT surnom (#PCDATA)>
<!ELEMENT pseudo (#PCDATA)>
<!ELEMENT identité (personne?, insee,
personne?)>
<!ELEMENT insee (#PCDATA)>
Construire un fichier XML à partir
d’une DTD
• Une DTD peut définir une balise :
– Contenant une des balises alternatives
!ELEMENT balise (balise6 | balise7 | balise8)
– Contenant une autre balise répétable optionnelle
!ELEMENT balise (balise11*)
– Ne contenant rien !ELEMENT balise (EMPTY)
– Contenant n’importe quoi !ELEMENT balise (ANY)
Construire un fichier XML à partir
d’une DTD
• Une DTD peut définir les attributs :
!ATTLIST balise attribut type mode
– type indique les règles de formation de l’attribut
– mode indique le caractère obligatoire ou non
[complexe]
• Une DTD peut définir des entités réutilisables :
!ENTITY ns 'xmlns CDATA #FIXED
"urn:isbn:1-931666-00-8"‘
Construire un fichier XML à partir
d’une DTD
• Exemple 1 bis :
<!ELEMENT liste_livres (livre+)>
<!ELEMENT livre (titre,auteur+,
éditeur,description?,prix)>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT auteur (#PCDATA)>
<!ATTLIST auteur isni ID #implied>
<!ELEMENT éditeur (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT prix (#PCDATA)>
5) Concevoir une DTD
• Situation A
La ville de Florence veut faire un document
XML valorisant ses chefs-d’œuvre artistiques
• Situation B
L’école de Poudlard veut faire un annuaire
XML complet de ses élèves
• Situation C
Un chercheur doit formaliser en XML une base
de données sur les catastrophes naturelles
Pause
• Revenez vite pour vivre de passionnantes
aventures de schémas XML!
6) Rappel XML - DTD
• Un fichier XML peut être bien formé
(respecter les préconisations du XML) mais ne
pas respecter des règles spécifiques liées à son
utilisation
• Un fichier XML valide respecte les règles d’une
DTD ou d’un schéma XML
• Une DTD est un fichier décrivant la grammaire
d’un XML : les balises utilisables, leur
organisation, les attributs liés, …
Rappel XML - DTD
Une DTD définit par exemple :
- qu’il y a des balises 3 et 4
facultatives dans une balise
2
- Qu’il ne peut y avoir aucune
balise dans une balise 7
- Qu’il doit y avoir soit une
balise 6 soit une balise 6’
dans une balise 5
- Que les balises 2, 5 et 9
doivent être présentes dans
une balise 1 et dans cet
ordre
- Qu’il peut y avoir n’importe
quelle balise dans une balise
9
- Qu’il ne peut y avoir que du
contenu et non une balise
dans une balise 10
Rappel XML - DTD
• Une DTD peut définir les attributs :
!ATTLIST balise attribut type mode
– type indique les règles de formation de l’attribut
– mode indique le caractère obligatoire ou non
Exemple : on définit un élément « lettre », on
veut appliquer attribut « privée » ou « ouverte »
de façon systématique
!ATTLIST lettre genre (privee|publique)
#REQUIRED
XML - DTD
• La définition des attributs, 4 types de
contenus principaux :
!ATTLIST operation codename CDATA #IMPLIED
!ATTLIST lettre genre (privee|ouverte)
#REQUIRED
!ATTLIST ville codepostal ID #REQUIRED
!ATTLIST personne cp IDREF #IMPLIED
7) XML Schema
XML
schema
Document
XML
Page web
PDF
Doc XML
Feuille
de style
1
Feuille
de style
2
Feuille
de style
3
XML Schema
• [eng] XML Schema = [fr] Schéma XML
• Un schéma XML, c’est une DTD exprimée en
XML
• Le schéma peut donc plus facilement être
inséré avant le document XML lui-même, en
continuité
XML Schema
• Les avantages de XML Schema:
– Définit où doit se situer la racine d’un document
XML valide
– Permet de définir des critères pour le contenu du
document (le #PCDATA des DTDs) = les contraintes
sur les données / le contenu
– Permet de définir plus finement le nombre de
répétitions possibles pour une balise
– Autorise des fonctions d’héritages hiérarchiques
(liées à l’arborescence XML du schéma)
XML Schema
• Grammaire de XML Schema (simplifiée)
– Une racine fixée <xsd:schema>
– Des éléments simples (balise = « element » de
niveau feuille, ou « attribut »)
– Des éléments complexes (dont les parties ou
attributs sont regroupés dans un
« complexType », selon différentes modalités dont
les séquences, les ensembles…)
XML Schema
• Extrait DTD EAD
<!ELEMENT ead (eadheader, frontmatter?, archdesc)>
<!ATTLIST ead %a.ns;
%a.common;
%am.ead.relatedencoding; >
<!ENTITY % a.ns 'xmlns CDATA #FIXED "urn:isbn:1-931666-00-8"‘>
<!ENTITY % a.common
'id ID #IMPLIED
altrender CDATA #IMPLIED
audience (external | internal) #IMPLIED‘>
<!ENTITY % am.ead.relatedencoding
'relatedencoding CDATA #IMPLIED‘>
XML Schema
• Extrait EAD.XSD
<xs:element name="ead"> <xs:complexType>
<xs:sequence>
<xs:element name="eadheader" type="eadheader"/>
<xs:element minOccurs="0" name="frontmatter"
type="frontmatter"/>
<xs:element name="archdesc" type="archdesc"/>
</xs:sequence>
<xs:attributeGroup ref="a.common"/>
<xs:attribute name="relatedencoding"/>
</xs:complexType> </xs:element>
….
XML Schema Vs DTD
XSL Schema + XML DTD + XML
+ Rigueur pour les traitements
+ Rentable à l’échelle “industrielle”
+ Accessible avec un peu d’habitude
+ Adapté aux traitements “artisanaux”
- Investissement lourd pour création
- S’éloigne de la gestion par les
humains “normaux”
- Ne peut pas s’adapter à tous les
besoins / toutes les contraintes
- Complique la tâche des machines et /
ou le dispositif
Devoirs pour la prochaine fois
Regarder des playlists Spotify ou Youtube, des
résultats de recherche dans un moteur de
recherche, regarder des boîtiers de DVD, des
recettes, ou des paquets de céréales… bref tout ce
qui peut porter des métadonnées.
Et imaginer (ou trouver !) l’arborescence XML
correspondante
50
Calendrier prévu
• 07/10/21 – Séance 3
• Courte évaluation intermédiaire (principes des
langages à balises, XML, DTD, Schema)
• XSL; espaces de noms XML
• 21/10/21 – Séance 4
• Travaux par groupes
• Applications XML
• 18/11/21 – Séance 5 : Modèles de données
• 02/12/21 – Séance 6 : fin + évaluation finale

Contenu connexe

Tendances

Structuration de données, recherche et édition
Structuration de données, recherche et éditionStructuration de données, recherche et édition
Structuration de données, recherche et édition
Equipex Biblissima
 
Standards et outils XML
Standards et outils XMLStandards et outils XML
Standards et outils XML
Equipex Biblissima
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
Saïd Radhouani
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
llobel
 
Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)
François Belleau
 
Les ontologies et les graphes RDF
Les ontologies et les graphes RDFLes ontologies et les graphes RDF
Les ontologies et les graphes RDF
Radhouani Mejdi
 
Web sémantique
Web sémantique Web sémantique
Web sémantique
Nour El Houda Megherbi
 
ATED 2015 - Données numériques et Mémoire par Nicolas Larrousse (Huma-Num)
ATED 2015 - Données numériques et Mémoire par Nicolas Larrousse (Huma-Num)ATED 2015 - Données numériques et Mémoire par Nicolas Larrousse (Huma-Num)
ATED 2015 - Données numériques et Mémoire par Nicolas Larrousse (Huma-Num)
Phonothèque MMSH
 
Open data & linked data
Open data & linked dataOpen data & linked data
Open data & linked data
VincentBroute
 
Introduction au web des données (Linked Data)
Introduction au web des données (Linked Data)Introduction au web des données (Linked Data)
Introduction au web des données (Linked Data)
BorderCloud
 
Web sémantique
Web sémantiqueWeb sémantique
Web sémantique
GreenIvory
 
Adbs2012 presentation
Adbs2012 presentationAdbs2012 presentation
Adbs2012 presentation
Fleury Christine
 
Échange et interopérabilité des données structurées sur le Web
Échange et interopérabilité des données structurées sur le WebÉchange et interopérabilité des données structurées sur le Web
Échange et interopérabilité des données structurées sur le Web
Antidot
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantique
Stéphane Traumat
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Hatim CHAHDI
 
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieRéalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Gautier Poupeau
 
Jabes 2021 - Session "Repenser le SI de l'Abes en période de transition(s)"
Jabes 2021 - Session "Repenser le SI de l'Abes en période de transition(s)"Jabes 2021 - Session "Repenser le SI de l'Abes en période de transition(s)"
Jabes 2021 - Session "Repenser le SI de l'Abes en période de transition(s)"
ABES
 

Tendances (19)

Structuration de données, recherche et édition
Structuration de données, recherche et éditionStructuration de données, recherche et édition
Structuration de données, recherche et édition
 
Standards et outils XML
Standards et outils XMLStandards et outils XML
Standards et outils XML
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)
 
Les ontologies et les graphes RDF
Les ontologies et les graphes RDFLes ontologies et les graphes RDF
Les ontologies et les graphes RDF
 
Web sémantique
Web sémantique Web sémantique
Web sémantique
 
ATED 2015 - Données numériques et Mémoire par Nicolas Larrousse (Huma-Num)
ATED 2015 - Données numériques et Mémoire par Nicolas Larrousse (Huma-Num)ATED 2015 - Données numériques et Mémoire par Nicolas Larrousse (Huma-Num)
ATED 2015 - Données numériques et Mémoire par Nicolas Larrousse (Huma-Num)
 
Open data & linked data
Open data & linked dataOpen data & linked data
Open data & linked data
 
Introduction au web des données (Linked Data)
Introduction au web des données (Linked Data)Introduction au web des données (Linked Data)
Introduction au web des données (Linked Data)
 
Web sémantique
Web sémantiqueWeb sémantique
Web sémantique
 
Adbs2012 presentation
Adbs2012 presentationAdbs2012 presentation
Adbs2012 presentation
 
Échange et interopérabilité des données structurées sur le Web
Échange et interopérabilité des données structurées sur le WebÉchange et interopérabilité des données structurées sur le Web
Échange et interopérabilité des données structurées sur le Web
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantique
 
RDF en quelques slides
RDF en quelques slidesRDF en quelques slides
RDF en quelques slides
 
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
Cours HBase et Base de Données Orientées Colonnes (HBase, Column Oriented Dat...
 
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partieRéalisation d'un mashup de données avec DSS de Dataiku - Première partie
Réalisation d'un mashup de données avec DSS de Dataiku - Première partie
 
Jabes 2021 - Session "Repenser le SI de l'Abes en période de transition(s)"
Jabes 2021 - Session "Repenser le SI de l'Abes en période de transition(s)"Jabes 2021 - Session "Repenser le SI de l'Abes en période de transition(s)"
Jabes 2021 - Session "Repenser le SI de l'Abes en période de transition(s)"
 

Similaire à Modèles de données et langages de description ouverts 2021-2022 - 2

Xml elgarrai 2020
Xml elgarrai 2020Xml elgarrai 2020
Xml elgarrai 2020
OmarIz1
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramacamelus
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramahrenel
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.ppt
LeilaAmrane
 
XML__New2 cours wwebbbbbbbbbbbbbbbb.pptx
XML__New2 cours wwebbbbbbbbbbbbbbbb.pptxXML__New2 cours wwebbbbbbbbbbbbbbbb.pptx
XML__New2 cours wwebbbbbbbbbbbbbbbb.pptx
IkramAssabbar
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramam100grech
 
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQueryXML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
Rachid NID SAID
 
1 introduction
1 introduction1 introduction
1 introduction
said ousguine
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
ENSET, Université Hassan II Casablanca
 
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
Emmanuelle Morlock
 
cours_XML 2016 PART 1 ceci est un fichier présentation PowerPoint
cours_XML 2016 PART 1 ceci est un fichier présentation PowerPointcours_XML 2016 PART 1 ceci est un fichier présentation PowerPoint
cours_XML 2016 PART 1 ceci est un fichier présentation PowerPoint
MiraElion
 
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHSN. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
OpenEdition
 
Cours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptCours XML_2019_final (1).ppt
Cours XML_2019_final (1).ppt
ManalAg
 
Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4
Laurent BUNIET
 
Globekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation BookcampGlobekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation Bookcamp
guest41b263
 
1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdf1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdf
KokitaKaty
 
Les éléments d'indexation dans la DTD-EAD
Les éléments d'indexation dans la DTD-EADLes éléments d'indexation dans la DTD-EAD
Les éléments d'indexation dans la DTD-EAD
Danis Habib
 

Similaire à Modèles de données et langages de description ouverts 2021-2022 - 2 (20)

Xml elgarrai 2020
Xml elgarrai 2020Xml elgarrai 2020
Xml elgarrai 2020
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.ppt
 
XML__New2 cours wwebbbbbbbbbbbbbbbb.pptx
XML__New2 cours wwebbbbbbbbbbbbbbbb.pptxXML__New2 cours wwebbbbbbbbbbbbbbbb.pptx
XML__New2 cours wwebbbbbbbbbbbbbbbb.pptx
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQueryXML Avancé : DTD, XSD, XPATH, XSLT, XQuery
XML Avancé : DTD, XSD, XPATH, XSLT, XQuery
 
1 introduction
1 introduction1 introduction
1 introduction
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
2014 09 12_atelier-humanites-numerique-hisoma-seance-1-oxygen
 
cours_XML 2016 PART 1 ceci est un fichier présentation PowerPoint
cours_XML 2016 PART 1 ceci est un fichier présentation PowerPointcours_XML 2016 PART 1 ceci est un fichier présentation PowerPoint
cours_XML 2016 PART 1 ceci est un fichier présentation PowerPoint
 
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHSN. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
N. Dufournaud : XML TEI un outil méthodologique pour la recherche en SHS
 
XML
XMLXML
XML
 
Chap 1 xml
Chap 1 xmlChap 1 xml
Chap 1 xml
 
Cours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptCours XML_2019_final (1).ppt
Cours XML_2019_final (1).ppt
 
Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4
 
XML
XMLXML
XML
 
Globekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation BookcampGlobekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation Bookcamp
 
1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdf1- XML généralités technologies xml1.pdf
1- XML généralités technologies xml1.pdf
 
Les éléments d'indexation dans la DTD-EAD
Les éléments d'indexation dans la DTD-EADLes éléments d'indexation dans la DTD-EAD
Les éléments d'indexation dans la DTD-EAD
 

Modèles de données et langages de description ouverts 2021-2022 - 2

  • 1. Modèles de données et langages de description ouverts - 2 Licence DIST 2021-2022
  • 2. Programme global • Comprendre la notion de métadonnée, approche des langages à balises (s1) • Comprendre le XML et ses applications (s2-4) • Données ouvertes, traitements et matérialisations informatiques (s5-6)
  • 3. Programme de ce cours 1. Rappel Langage à balises 2. Vers le HTML et le XML 3. Qualités et principes du XML 4. Construire un XML à partir d’une DTD 5. Concevoir une DTD 6. Rappel DTD 7. XML Schema
  • 4. 1) Rappel langages à balise • Les langages à balise sont une manière d’insérer des métadonnées dans un document • Ils permettent aux machines de traiter les données et la structure plus facilement • On représente le système des balises comme une arborescence que suivent les machines pour récupérer ou traiter de l’information
  • 5. 2) Vers le HTML et le XML • A la fin des années 1960 IBM invente un langage de description, GML (Generalized Markup Langage ou Goldfarb - Mosher - Lorie, du nom des inventeurs). • Charles Goldfarb, co-inventeur du GML développe ensuite un successeur appelé SGML (Standard Generalized Markup Language), publié en 1986 comme norme ISO (ISO 8879:1986) 5
  • 6. Vers le HTML et le XML • Tim Berners-Lee choisit de décliner le SGML en une version simplifiée pour structurer les pages web : HTML (HyperText Markup Language) • De la grande simplicité du début (tag soup)… • Aux 104 éléments définis dans HTML 5 6
  • 7. Vers le HTML et le XML Exemple HTML : <!DOCTYPE html> <html> <head> <title>Titre de page</title> </head> <body> <h1>Titre de section niveau 1</h1> <p>Paragraphe</p> </body> </html> 7
  • 8. Vers le HTML et le XML Exemple HTML : <!DOCTYPE html> <html> <head> <title>Titre de page</title> </head> <body> <h1>Titre de section niveau 1</h1> <p>Paragraphe</p> </body> </html> Question piège : en bleu, grammaire ou vocabulaire du HTML ? 8
  • 9. Vers le HTML et le XML • Les principes du HTML sont liés aux principes du Web: – Notion d’hypertexte – Des serveurs fournissent des documents – Les documents sont décrits selon une grammaire SGML – Les clients (navigateurs) peuvent lire les documents 9
  • 10. Vers le HTML et le XML • Présentation pédagogique et nombreux exemples sur le tutoriel : http://www.w3schools.com/html/default.asp [pour s’entraîner à manipuler du code HTML et l’utiliser pour présenter des métadonnées : essayez de reconstituer une version très simplifiée d’une notice d’oeuvre, par exemple https://www.imdb.com/title/tt1160419/]
  • 11. Vers le HTML et le XML • Dès la mise en place du web, pour structurer les pages web un nouveau langage semble nécessaire – Echanger des informations avec d’autres logiciels que les navigateurs – Utiliser une syntaxe plus rigoureuse – Simplifier l’adaptation du langage aux besoins – Poursuivre la séparation des fonctions de balises 11
  • 12. Vers le HTML et le XML Exemple HTML : <!DOCTYPE html> <html> <head> <title>Titre de page</title> </head> <body> <h1>Titre de section niveau 1</h1> <p>Paragraphe</p> </body> </html> 12
  • 13. Vers le HTML et le XML • XML pour eXtensible Markup Language 13
  • 14. HTML, SGML, XML Langages à balise XML HTML SGML 1 2 2
  • 15. 3) Qualités et principes du XML • Le XML est un langage à balises et l’exploitation la plus connue de ce fonctionnement • C’est un méta-langage qui permet de définir d’autres langages (grammaires et / ou vocabulaires spécifiques) • XML est plus souple que SGML, mais plus structuré que HTML
  • 16. Plus lent, plus haut, plus fort : XML • Plus lent : nécessité de lier à des grammaires et vocabulaires, pas d’interprétation « directe » • Plus haut : langage généraliste, adaptable à presque tous les contextes d’application • Plus fort : adapté aux traitements automatisés à grande échelle
  • 17. Plus lent, plus haut, plus fort : XML • Objectifs d’origine du XML – Facilement utilisable sur le web – Adaptable dans de multiples situations – Compatible avec SGML – Facilite la création de traitements informatisés des documents XML – Réduit la complexité des choix à faire [???] – Lisible et raisonnablement clair
  • 18. Plus lent, plus haut, plus fort : XML • Objectifs d’origine du XML - suite – La conception de XML doit être rapide – La description de XML doit être formelle et concise – Les documents issus de XML doivent être faciles à créer – L’économie de balisage est une priorité secondaire (c’est à dire : plutôt la précision que la concision)
  • 19. Plus lent, plus haut, plus fort : XML • XML est un métalangage – Permet de décrire des types de documents, d’autres langages – Permet de définir des instances XML • Répondant à un type de document • « seulement » bien construites – Les instances XML peuvent décrire • Des documents (texte balisé, comme le fait le SGML) • Des données structurées quelconques
  • 20. Plus lent, plus haut, plus fort : XML • Organisation des informations pour XML – DTD (Document Type Definition) ou Schéma • Comment décrire les données / documents ? – XML • Les données et documents eux-mêmes, balisés – « Feuilles de style » (= stylesheet) • Comment présenter les données / documents ? • NB : on ne sait plus trop où sont les données et ou sont les documents (selon les points de vue) !
  • 21. Plus lent, plus haut, plus fort : XML • Très bonne intégration du XML dans les SI – Pour le stockage des données • Simples fichiers (configuration) • BdD structurées • BdD documentaires (XML ou web) – Pour l’échange des données • Entre 2 BdD • Publication des données avec feuille de style – Transferts arbre entier [ou « à la volée » plus rarement]
  • 22. Organisation autour d’XML DTD Document XML Page web PDF Doc XML Feuille de style 1 Feuille de style 2 Feuille de style 3
  • 24. Qualités et principes du XML • Les balises de XML forment une arborescence stricte (pas de double lien hiérarchique) – Auteur • nom – Zola, Emile • mort – date : 1902 – lieu : Paris • né – date : 1840 – lieu : Paris
  • 25. Qualités et principes du XML • balises ou attributs des balises ? L’utilisation de balises ou d’attributs pour représenter la structure des données dépend du contexte d’utilisation – Identifiants uniques dans une série : attributs – Variantes linguistiques d’une donnée : attributs – Données dont on ne connaît pas par avance l’exploitation : balises
  • 26. Qualités et principes du XML • Les métadonnées en XML s’organisent en 3 parties: – Le fichier XML lui-même, obligatoire – Une DTD ou un schéma XML, facultatifs – Une ou plusieurs feuilles de style CSS, facultatives • La DTD (document type definition) ou le schéma définissent la validité (grammaticale) du XML • Les feuilles de style définissent comment sont représentées les données
  • 27. Qualités et principes du XML DTD Document XML Page web PDF Doc XML Feuille de style 1 Feuille de style 2 Feuille de style 3
  • 28. Qualités et principes du XML DTD Document XML Page web PDF Doc XML Feuille de style 1 Feuille de style 2 Feuille de style 3 Un XML doit être bien formé… pour être du XML (il y a une conformité au XML)
  • 29. Qualités et principes du XML DTD Document XML Page web PDF Doc XML Feuille de style 1 Feuille de style 2 Feuille de style 3 Une DTD définit les règles que doit respecter un XML pour être valide pour l’utilisation prévue (la DTD définit la validité du XML)
  • 30. 4) Construire un fichier XML à partir d’une DTD • Lire une DTD – Les balises interprétables sont toutes listées – Les balises sont qualifiées • Ce qu’elles doivent contenir (dans une certaine mesure) • Quelles sont les balises filles ou attributs possibles, et combien le XML peut en comporter • Une DTD incomplète peut ne pas bloquer le traitement informatique mais empêche la validité du XML ou limite son utilisation
  • 31. Construire un fichier XML à partir d’une DTD • Exemple 1 : <!ELEMENT liste_livres (livre+)> <!ELEMENT livre (titre,auteur+, éditeur,description?,prix)> <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ELEMENT éditeur (#PCDATA)> <!ELEMENT description (#PCDATA)> <!ELEMENT prix (#PCDATA)>
  • 32. Construire un fichier XML à partir d’une DTD • Une DTD peut définir une balise : – Contenant du texte !ELEMENT balise (#PCDATA) – Contenant une autre balise !ELEMENT balise (balise2) – Contenant une série de balises !ELEMENT balise (balise3, balise4, balise5) – Contenant une autre balise optionnelle !ELEMENT balise (balise9?) – Contenant une autre balise répétable !ELEMENT balise (balise10+)
  • 33. Construire un fichier XML à partir d’une DTD • Exemple 2 : <!ELEMENT personne (nom | pseudo)> <!ELEMENT nom (#PCDATA | surnom*)> <!ELEMENT surnom (#PCDATA)> <!ELEMENT pseudo (#PCDATA)> <!ELEMENT identité (personne?, insee, personne?)> <!ELEMENT insee (#PCDATA)>
  • 34. Construire un fichier XML à partir d’une DTD • Une DTD peut définir une balise : – Contenant une des balises alternatives !ELEMENT balise (balise6 | balise7 | balise8) – Contenant une autre balise répétable optionnelle !ELEMENT balise (balise11*) – Ne contenant rien !ELEMENT balise (EMPTY) – Contenant n’importe quoi !ELEMENT balise (ANY)
  • 35. Construire un fichier XML à partir d’une DTD • Une DTD peut définir les attributs : !ATTLIST balise attribut type mode – type indique les règles de formation de l’attribut – mode indique le caractère obligatoire ou non [complexe] • Une DTD peut définir des entités réutilisables : !ENTITY ns 'xmlns CDATA #FIXED "urn:isbn:1-931666-00-8"‘
  • 36. Construire un fichier XML à partir d’une DTD • Exemple 1 bis : <!ELEMENT liste_livres (livre+)> <!ELEMENT livre (titre,auteur+, éditeur,description?,prix)> <!ELEMENT titre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ATTLIST auteur isni ID #implied> <!ELEMENT éditeur (#PCDATA)> <!ELEMENT description (#PCDATA)> <!ELEMENT prix (#PCDATA)>
  • 37. 5) Concevoir une DTD • Situation A La ville de Florence veut faire un document XML valorisant ses chefs-d’œuvre artistiques • Situation B L’école de Poudlard veut faire un annuaire XML complet de ses élèves • Situation C Un chercheur doit formaliser en XML une base de données sur les catastrophes naturelles
  • 38. Pause • Revenez vite pour vivre de passionnantes aventures de schémas XML!
  • 39. 6) Rappel XML - DTD • Un fichier XML peut être bien formé (respecter les préconisations du XML) mais ne pas respecter des règles spécifiques liées à son utilisation • Un fichier XML valide respecte les règles d’une DTD ou d’un schéma XML • Une DTD est un fichier décrivant la grammaire d’un XML : les balises utilisables, leur organisation, les attributs liés, …
  • 40. Rappel XML - DTD Une DTD définit par exemple : - qu’il y a des balises 3 et 4 facultatives dans une balise 2 - Qu’il ne peut y avoir aucune balise dans une balise 7 - Qu’il doit y avoir soit une balise 6 soit une balise 6’ dans une balise 5 - Que les balises 2, 5 et 9 doivent être présentes dans une balise 1 et dans cet ordre - Qu’il peut y avoir n’importe quelle balise dans une balise 9 - Qu’il ne peut y avoir que du contenu et non une balise dans une balise 10
  • 41. Rappel XML - DTD • Une DTD peut définir les attributs : !ATTLIST balise attribut type mode – type indique les règles de formation de l’attribut – mode indique le caractère obligatoire ou non Exemple : on définit un élément « lettre », on veut appliquer attribut « privée » ou « ouverte » de façon systématique !ATTLIST lettre genre (privee|publique) #REQUIRED
  • 42. XML - DTD • La définition des attributs, 4 types de contenus principaux : !ATTLIST operation codename CDATA #IMPLIED !ATTLIST lettre genre (privee|ouverte) #REQUIRED !ATTLIST ville codepostal ID #REQUIRED !ATTLIST personne cp IDREF #IMPLIED
  • 43. 7) XML Schema XML schema Document XML Page web PDF Doc XML Feuille de style 1 Feuille de style 2 Feuille de style 3
  • 44. XML Schema • [eng] XML Schema = [fr] Schéma XML • Un schéma XML, c’est une DTD exprimée en XML • Le schéma peut donc plus facilement être inséré avant le document XML lui-même, en continuité
  • 45. XML Schema • Les avantages de XML Schema: – Définit où doit se situer la racine d’un document XML valide – Permet de définir des critères pour le contenu du document (le #PCDATA des DTDs) = les contraintes sur les données / le contenu – Permet de définir plus finement le nombre de répétitions possibles pour une balise – Autorise des fonctions d’héritages hiérarchiques (liées à l’arborescence XML du schéma)
  • 46. XML Schema • Grammaire de XML Schema (simplifiée) – Une racine fixée <xsd:schema> – Des éléments simples (balise = « element » de niveau feuille, ou « attribut ») – Des éléments complexes (dont les parties ou attributs sont regroupés dans un « complexType », selon différentes modalités dont les séquences, les ensembles…)
  • 47. XML Schema • Extrait DTD EAD <!ELEMENT ead (eadheader, frontmatter?, archdesc)> <!ATTLIST ead %a.ns; %a.common; %am.ead.relatedencoding; > <!ENTITY % a.ns 'xmlns CDATA #FIXED "urn:isbn:1-931666-00-8"‘> <!ENTITY % a.common 'id ID #IMPLIED altrender CDATA #IMPLIED audience (external | internal) #IMPLIED‘> <!ENTITY % am.ead.relatedencoding 'relatedencoding CDATA #IMPLIED‘>
  • 48. XML Schema • Extrait EAD.XSD <xs:element name="ead"> <xs:complexType> <xs:sequence> <xs:element name="eadheader" type="eadheader"/> <xs:element minOccurs="0" name="frontmatter" type="frontmatter"/> <xs:element name="archdesc" type="archdesc"/> </xs:sequence> <xs:attributeGroup ref="a.common"/> <xs:attribute name="relatedencoding"/> </xs:complexType> </xs:element> ….
  • 49. XML Schema Vs DTD XSL Schema + XML DTD + XML + Rigueur pour les traitements + Rentable à l’échelle “industrielle” + Accessible avec un peu d’habitude + Adapté aux traitements “artisanaux” - Investissement lourd pour création - S’éloigne de la gestion par les humains “normaux” - Ne peut pas s’adapter à tous les besoins / toutes les contraintes - Complique la tâche des machines et / ou le dispositif
  • 50. Devoirs pour la prochaine fois Regarder des playlists Spotify ou Youtube, des résultats de recherche dans un moteur de recherche, regarder des boîtiers de DVD, des recettes, ou des paquets de céréales… bref tout ce qui peut porter des métadonnées. Et imaginer (ou trouver !) l’arborescence XML correspondante 50
  • 51. Calendrier prévu • 07/10/21 – Séance 3 • Courte évaluation intermédiaire (principes des langages à balises, XML, DTD, Schema) • XSL; espaces de noms XML • 21/10/21 – Séance 4 • Travaux par groupes • Applications XML • 18/11/21 – Séance 5 : Modèles de données • 02/12/21 – Séance 6 : fin + évaluation finale