Modèles de données et langages de description ouverts 2021-2022 - 3
1. Modèles de données et langages
de description ouverts - 3
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. Rappel programme global
• Se situer dans la logique des métadonnées et
comprendre les langages à balises (s1)
• XML théorique et pratique (s2-3)
• Découvrir des domaines d’application (s4-6)
4. Programme de ce cours
1. Evaluation point d’étape
2. Rappel - organisation autour du XML
3. XSL
4. Extraits de fichiers
5. Les espaces de nom - Namespaces
6. Travaux de groupe
6. 2) Rappel - organisation pour XML
• Un fichier XML peut exister et être exploité seul
• La présentation ou la transformation du fichier XML
peuvent être définies par des feuilles de style ou du
XSL (entre autres)
• La validité d’un fichier XML peut être définie par une
DTD ou un schéma XML
• La définition de validité permet de mieux exploiter
la structure et les données du fichier pour un
contexte spécifique
8. XSL
•Le XML étant un méta-langage, il peut servir
d’outil de transformation d’autres fichiers XML
•eXtensible Stylesheet Language (XSL) est une
combinaison d’applications sur du XML. On
appelle parfois ça les “feuilles de style”.
9. XSL
Dans XSL on peut identifier différents
sous-langages ou formats, dont XSLT, XQuery,
XPath, XSL-FO
•XSLT est un langage XML
•XQuery est parfois un langage XML, parfois
non
•Xpath est… n’est pas un langage XML
•XSL-FO est un langage XML
10. XSL
•XSLT ou XQuery sont des langages XML permettant de
transformer du XML
•Tous deux s’appuient sur Xpath, une grammaire
non-XML permettant de parcourir les arbres XML
•XSL-FO est un langage XML permettant de représenter
du XML
11. XSLT
•Le principal travail d’un fichier XSLT est de
définir des modèles (templates) qui précisent
les sources de données et métadonnées et
comment elles sont redistribuées dans le
produit final
•Un processeur XSLT part du XML source et
des règles de création du fichier XSLT pour
produire un nouveau fichier XML
12. Passer des CSS au XSL
DTD ou
Schema
Document
XML
Page
web
PDF
Doc
XML
Feuille
de style
1
Feuille
de style
2
Feuille
de style
3
13. 4) Extraits de fichiers
• Exemple de XSLT:
<?xml version="1.0" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="person">
<name username="{@username}">
<xsl:value-of select="name" />
</name>
</xsl:template>
</xsl:stylesheet>
Outil proposé pour tester : https://www.freeformatter.com/xsl-transformer.html
14. Extraits de fichiers
• XQuery est un langage qui permet de faire à
peu près la même chose que XSLT, mais est
globalement plus proche des langages de
programmation
•Il est l’équivalent pour le XML du langage
SPARQL pour les bases de données
relationnelles
15. Extraits de fichiers
• Exemple XQuery non-xml (flwor) :
for $b in document
("http://poudlard.com/annuaire.xml")
//student where $b/nom = « Potter" return
<Potter>{ $b/prenom, $b/date_naissance
}</Potter>
16. Extraits de fichiers
• XPath est une modélisation du parcours
d’un arbre XML
•Il est utilisé par XSLT et par XQuery
•Il définit un chemin par étapes et les critères
d’identification de ces étapes
17. Extraits de fichiers
• Exemple de XML à parcourir (tiré de
Wikipedia):
<?xml version="1.0"?> <racine> <encyclopedie
nom="Wikipedia"
site="http://fr.wikipedia.org/"> <article
nom="XPath"> <auteurs> <auteur>
<nom>Dupont</nom> </auteur> <auteur>
<nom>Dubois</nom> </auteur> </auteurs>
</article> </encyclopedie> </racine>
18. Extraits de fichiers
• quelques fonctions de Xpath sur ce fichier:
/
sélectionne un nœud "fictif", dit root element, qui
englobe tout le document, y compris le doctype <?xml
version="1.0"?>
/root
sélectionne le nœud vide, puisqu'il n'y a pas
d'élément "root" (mais "racine")
//article
sélectionne tous les éléments "article" du document
où qu'ils soient
/racine/encyclopedie
sélectionne l'unique élément "encyclopedie" puisqu'il
est ici le seul fils de "racine" portant ce nom
//article[@nom='XPath']
sélectionne tous les éléments "article" du document
où qu'ils soient, ayant un attribut "nom" dont la valeur
est "XPath"
19. Extraits de fichiers
• XSL-FO (formatting object) est un langage
de mise en forme des objets XML
Document
XML
Page
web
PDF
Feuille
de style
1
Feuille
de style
2
21. 4 bis) Positionner chaque sigle
selon la fonction associée
- XSL-FO
- XML Schema
- XML
- DTD
- XSL
- XPath
- XQuery
+ question piège = XML ou pas XML ?
22. 5) Les espaces de noms -
namespaces
• Une balise est construite autour d’un label
spécifique, son “nom”
<anakin>...</anakin>
• Mais la séquence des caractères permet de
rattacher ce nom à une famille de noms, à un
domaine
<sw:anakin>...</sw:anakin>
23. Les espaces de noms - namespaces
Les espaces de noms (namespaces en anglais)
permettent
• De définir le bloc de règles à respecter pour vérifier
la validité de l’arborescence XML
<ead:filedesc><ead:titlestmt>
</ead:titlestmt></ead:filedesc>
• De combiner de façon repérable plusieurs
définitions de validité
<ead:filedesc><rdf:Description>...
</rdf:Description></ead:filedesc>
24. Les espaces de noms - namespaces
La déclaration des espaces de noms est prévue
par la conception du XML
<xmlns:rdf="http://www.w3.org/1999/02/22-rd
f-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
Permet de déclarer les espaces de nom “rdf:” et
“dc:”
Ce sont des expressions abrégées pour lier
chaque balise à des règles de définition
26. Exemple de traitement
Récupérez un fichier en Dublin Core (ou faites-le :
https://nsteffel.github.io/dublin_core_generator/generator_nq.
html) et rendez-le valide en MARCXML
(http://www.loc.gov/standards/marcxml/)
Test sur:
https://www.freeformatter.com/xml-validator-xsd.html
Indication / rappel :
<xmlns:dc="http://purl.org/dc/elements/1.1/">
permet de déclarer les espaces de nom “dc:”
27. 6) Travaux de groupe
Chaque groupe choisit un sujet validé. A fournir:
- L'indication de 2 formats de métadonnées au minimum
privilégiés pour la réalisation d'une base comportant au moins un
export XML dans la situation donnée. - sur 5 pts (partage des points
selon le nombre de formats, pertinence évaluée sur chaque format et
éventuellement sur la combinaison choisie)
- 5 fichiers exemples de ce qu'on pourrait produire comme
enregistrements pertinents. Les fichiers mettent en valeur l'intérêt des
choix faits sur les formats - sur 10 pts (2 points sur la conformité des
5 fichiers au XML ou aux règles génériques du format choisi, 8 points
sur la pertinence des exemples construits)
- Une page à deux pages de présentation, personnelle, du choix
fait sur les formats choisis - sur 5 points (1 point présentation, 4 points
argumentation)
28. Travaux de groupe
Exemples de sujets :
- L’agence régionale de santé (ARS) souhaite mettre en place une
base de suivi des stocks de masques par établissement de santé
- La NFL veut créer une base de donnée répertoriant les
statistiques des joueurs pour alimenter son site web
- Le musée des beaux-arts de Lyon veut créer une base de
gestion de collection permettant de répertorier ses oeuvres
- L’Herbier de l’Université de Lyon 1 veut signaler la bibliothèque
de Roland Bonaparte en indiquant les espèces de plantes
présentées dans chaque ouvrage
- L’IFREMER souhaite établir une nouvelle base pour le suivi de
ses balises maritimes de mesure, consultable par les chercheurs
- France Info souhaite créer une base des paroles publiques des
différents candidats à l’élection présidentielle de 2022
Nous pouvons les construire ensemble, ce sera plus pertinent !
29. Calendrier prévu
• 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