1. Atelier de formation
Encodage XML avec Oxygen editor
Emmanuelle Morlock (CNRS - UMR 5189 HISoMA)
Lyon, 12 septembre 2014
2. menu
● but de l’atelier
● introduction rapide à XML et oXygen
● pratique du logiciel
● approfondissements selon les questions des
participants
3. objectifs
● comprendre les principes d’XML et son utilité
● faciliter la prise en main d’un éditeur XML offrant des
fonctionnalités avancées
● vue globale du processus de l’édition d’un fichier à l’
affichage sous forme de page web
● échanger (questions, pratiques, ‘trucs’, interrogations…)
au final, l’ambition est de créer un réseau interne au labo
pour développer l’entraide et valoriser les expertises...
4. XML en 4 points
1. Une description des données (sans affichage) : XML ne
fait rien
2. Pas de balises prédéfinies : l’utilisateur peut librement
créer ses propres balises
3. Possibilité d’utiliser des “grammaires” de balises
formaliser des conventions et donner de la rigueur
(DTD, schémas)
4. Auto-descriptif et lisible par l’homme et la machine
5. balisage : délimiter des contenus
balise ouvrante Contenu balise fermante
<balise>chaîne de caractères</balise>
Balise : “tag”, élément de marquage…
Un langage de balisage enrichit l’information textuelle en délimitant des
séquences à l’intérieur d’un flux (comme html). C’est une explicitation des
distinctions que l’on considère comme pertinentes.
6. balisage : distinctions au choix
Comparer :
● bla bla <titre>Phèdre</titre> bla bla
● bla bla <persName>Phèdre</persName> bla
7. organisation
● arborescence d’éléments imbriqués hiérarchiquement
● avec des attributs pour préciser le sens ou ajouter des
informations
● exemple de la recette de cuisine :...
8. <recette>
<titre>Lait de poule</titre>
<ingredients>
<ingredient><qté>1</qté><nom>oeuf</nom></ingredient>
<ingredient><qté>10 cl</qté><nom>de lait chaud</nom></ingredient>
<ingredient><nom>sucre en poudre</nom></ingredient>
</ingredients>
<preparation>
<explications>Verser le tout dans un verre à anse. Sucrer selon
son goût. Remuer et ajouter un peu de noix de muscade râpée.
</explications>
<durée/>
</preparation>
</recette>
9. [ [lait de poule][ [ [1] [oeuf] ]
[ [10 cl][de lait chaud] ] ] [ [Verser le tout dans un verre à
anse. Sucrer selon son goût. Remuer et ajouter un peu de noix de muscade
râpée. ] ]
10. recette
titre
ingrédients
préparation
ingrédient
ingrédient
ingrédient
qté
nom
qté
nom
qté
nom
explications
durée
12. Attributs
attribut valeur
<date when=”2014-09-12”>le 9e jour de septembre</balise>
Ici l’attribut permet d’exprimer sous une forme normée et exploitable par un programme
informatique la date inscrite dans le document.
Remarque : par convention, on fait précéder l’attribut du signe@ quand on en parle (l’attribut @when).
13. le début du fichier XML
Commence par une déclaration qui indique :
● la version de XML
● le type d’encodage des caractères
<?xml version="1.0" encoding="UTF-8"?>
14. conformité / validité
● document bien formé : conforme aux règles de
syntaxe générales (par ex. fermeture des balises,
chevauchements interdits)
● document valide : suit des règles spécifiques définis
dans une DTD ou un schéma (définit les autorisations
d'imbrications et l'ordre d'apparition des éléments et de
leurs attributs)
15. schéma ou DTD
● pas obligatoire mais compense la liberté
laissée à chacun d’inventer ses balises
● avant tout : se mettre d’accord sur un
langage commun… et expliciter des
propriétés, des contraintes sur les relations
entre éléments, etc.
16. vérifications automatiques
● des logiciels et des outils permettent de
vérifier qu’un fichier est conforme à une DTD
ou un schéma
● les logiciels d’édition XML permettent aussi
d’afficher dans le contexte d’usage les
propriétés possibles définies par le schéma
18. Transformation d’un fichier XML
On a souvent besoin de réorganiser les
éléments d’un fichier XML avant de les afficher,
par ex. pour satisfaire les exigences
différenciées de différents supports...
C’est le langage de transformation XSLT qui
permet de faire cela.
20. Processus de traitement simplifié
1. Saisie et structuration
2. Validation selon un schéma
3. Transformation via XSLT
4. affichage du résultat dans le navigateur
21. principaux angages et outils XML
● produire :
○ langage XML, éditeurs XML
● parser, transformer et formater
○ ex. : langage XSL, moteurs XSLT
● exploiter
○ recherches avec le langage XPath : adresser des
parties de documents
○ requêtes complexes avec le langage XQuery
22. Découverte d’oXygen avec la TEI
● création d’un fichier XML TEI
● saisie en mode texte d’un court texte et
expérimentation des aides à la saisie
(conformité, aides contextuelles, validité)
● transformations
● scénarios de validation
23. Oxygen editor
● un éditeur XML aux fonctionnalités très
complètes :
○ édition selon plusieurs modes (texte, grille, auteur…)
○ intégration des outils du domaine XML
■ recherche dans l’arborescence XML avec le
langage XPath
■ processeurs XSLT pour les transformations
■ Xquery
■ schematron, Xproc, interfaçage avec BDD, etc.
○
24. Structure d’un fichier TEI
<TEI>
<teiHeader/>
<facsimile/>
<sourceDoc/>
<text/>
</TEI>
métadonnées
images (optionnel)
représentation “génétique”
(optionnel) du document source
représentation du texte à travers sa
structure logique
25. pour aller plus loin
● Sur oXygen
○ http://www.oxygenxml.com/videos.html
● Sur XML
● http://dh.obdurodon.org/
● http://dh.obdurodon.org/what-is-xml.xhtml
● Sur la TEI
○ http://www.teibyexample.org/
○ http://www.mutec-shs.fr/sites/www.mutec-shs.fr/files/Guide%20Editer%20des%
20sources%20historiques%20%20gr%C3%A2ce%20a%20XML.pdf
○ http://www.enc.sorbonne.fr/formationTEI/formationTEImars2011/xslt-intro.pdf
○ http://tei.oucs.ox.ac.uk/Talks/