SlideShare a Scribd company logo
1 of 29
Download to read offline
Modèles de données et langages
de description ouverts - 3
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)
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)
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
1) Evaluation point d’étape
(30 minutes)
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
3) XSL
DTD ou
Schema
Document
XML
Page
web
PDF
Doc
XML
Feuille
de style
1
Transf. 2
Transf. 3
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”.
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
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
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
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
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
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
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>
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
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>
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"
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
Extraits de fichiers
<?xml version="1.0" encoding="utf-8"?> <fo:root
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set> <fo:simple-page-master
master-name="A4" page-height="29.7cm"
page-width="21cm" margin-top="5mm"
margin-bottom="10mm" margin-left="20mm"
margin-right="20mm"> <fo:region-body
margin-top="10mm" margin-bottom="10mm" />
</fo:simple-page-master> </fo:layout-master-set>
<fo:page-sequence master-reference="A4"> <fo:flow>
<fo:block>Hello world</fo:block> </fo:flow>
</fo:page-sequence> </fo:root>
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 ?
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>
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>
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
Les espaces de noms - namespaces
Le même arbre sous différents points de vue
© dkfindout.com- 2018 Dorling Kindersley Limited
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:”
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)
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 !
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

More Related Content

What's hot

Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Laurent BUNIET
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramallobel
 
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 partieGautier Poupeau
 
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
 
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
 
Les ontologies et les graphes RDF
Les ontologies et les graphes RDFLes ontologies et les graphes RDF
Les ontologies et les graphes RDFRadhouani Mejdi
 
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
 
Open data & linked data
Open data & linked dataOpen data & linked data
Open data & linked dataVincentBroute
 
Web sémantique
Web sémantiqueWeb sémantique
Web sémantiqueGreenIvory
 
Sp6 Yann Nicolas
Sp6 Yann NicolasSp6 Yann Nicolas
Sp6 Yann Nicolasent12701
 
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
 
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
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantiqueStéphane Traumat
 
É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 WebAntidot
 

What's hot (19)

Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
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
 
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)
 
Introduction à XML
Introduction à XMLIntroduction à XML
Introduction à XML
 
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)
 
Les ontologies et les graphes RDF
Les ontologies et les graphes RDFLes ontologies et les graphes RDF
Les ontologies et les graphes RDF
 
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)"
 
Open data & linked data
Open data & linked dataOpen data & linked data
Open data & linked data
 
Web sémantique
Web sémantiqueWeb sémantique
Web sémantique
 
Sp6 Yann Nicolas
Sp6 Yann NicolasSp6 Yann Nicolas
Sp6 Yann Nicolas
 
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)
 
Adbs2012 presentation
Adbs2012 presentationAdbs2012 presentation
Adbs2012 presentation
 
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...
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantique
 
É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
 

Similar to Modèles de données et langages de description ouverts 2021-2022 - 3

xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptLeilaAmrane
 
Globekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation BookcampGlobekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation Bookcampguest41b263
 
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.4Laurent BUNIET
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramacamelus
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramahrenel
 
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-oxygenEmmanuelle Morlock
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panoramam100grech
 
Cours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptCours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptManalAg
 
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.pdfKokitaKaty
 
srep_cours_06.pdf
srep_cours_06.pdfsrep_cours_06.pdf
srep_cours_06.pdfSamirAwad14
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & DéveloppementsPaulin CHOUDJA
 
Xml elgarrai 2020
Xml elgarrai 2020Xml elgarrai 2020
Xml elgarrai 2020OmarIz1
 
00_intro_PrincipRelatConceptOracle.pdf
00_intro_PrincipRelatConceptOracle.pdf00_intro_PrincipRelatConceptOracle.pdf
00_intro_PrincipRelatConceptOracle.pdfLaaouissiAzed
 
7. information modelling
7. information modelling7. information modelling
7. information modellingsugogo
 
Séminaire sur l'information structurée
Séminaire sur l'information structuréeSéminaire sur l'information structurée
Séminaire sur l'information structuréeSEGIC
 

Similar to Modèles de données et langages de description ouverts 2021-2022 - 3 (20)

xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.ppt
 
Globekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation BookcampGlobekid NeoDoc Presentation Bookcamp
Globekid NeoDoc Presentation Bookcamp
 
1 introduction
1 introduction1 introduction
1 introduction
 
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 un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
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
 
XML
XMLXML
XML
 
Xml un panorama
Xml un panoramaXml un panorama
Xml un panorama
 
Metadonnees et SID
Metadonnees et SIDMetadonnees et SID
Metadonnees et SID
 
Cours XML_2019_final (1).ppt
Cours XML_2019_final (1).pptCours XML_2019_final (1).ppt
Cours XML_2019_final (1).ppt
 
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
 
srep_cours_06.pdf
srep_cours_06.pdfsrep_cours_06.pdf
srep_cours_06.pdf
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
Xml elgarrai 2020
Xml elgarrai 2020Xml elgarrai 2020
Xml elgarrai 2020
 
00_intro_PrincipRelatConceptOracle.pdf
00_intro_PrincipRelatConceptOracle.pdf00_intro_PrincipRelatConceptOracle.pdf
00_intro_PrincipRelatConceptOracle.pdf
 
Xml
XmlXml
Xml
 
7. information modelling
7. information modelling7. information modelling
7. information modelling
 
Séminaire sur l'information structurée
Séminaire sur l'information structuréeSéminaire sur l'information structurée
Séminaire sur l'information structurée
 

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
  • 5. 1) Evaluation point d’étape (30 minutes)
  • 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
  • 20. Extraits de fichiers <?xml version="1.0" encoding="utf-8"?> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set> <fo:simple-page-master master-name="A4" page-height="29.7cm" page-width="21cm" margin-top="5mm" margin-bottom="10mm" margin-left="20mm" margin-right="20mm"> <fo:region-body margin-top="10mm" margin-bottom="10mm" /> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="A4"> <fo:flow> <fo:block>Hello world</fo:block> </fo:flow> </fo:page-sequence> </fo:root>
  • 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
  • 25. Les espaces de noms - namespaces Le même arbre sous différents points de vue © dkfindout.com- 2018 Dorling Kindersley Limited
  • 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