INF02 – DS4 Organisa(on des ressources
& accès aux ressources Benoit Habert
Obscurités : XSLT
• Règles candidates à un moment donné • Règles explicites / implicites (les contrôler) • Comment une règle est-elle déclenchée ? • Comment indique-t-on « où » agit une
règle donnée ?
B. Habert 2012 Organiser les ressources - DS4 2
Dormeur en arbre XML pour XSLT
B. Habert 2012 Organiser les ressources - DS4 3
Dormeur TEI V3
B. Habert 2012 Organiser les ressources - DS4 4
Dormeur TEI V3 FS1
B. Habert 2012 Organiser les ressources - DS4 5
Dormeur TEI V3 FS1
B. Habert 2012 Organiser les ressources - DS4 6
XSLT : fondations
• Une FS XLST est un document XML – En-tête XML avec le jeu de caractères de la
feuille (l1, ici utf-8) – Un élément racine (l2 et l3) – 2 formes
• xsl:stylesheet • xsl:transform
• L’élément racine a 2 types d’enfants – Servant aux paramétrages globaux (l2-l4) – Règles (l6-l32 – 3 règles)
B. Habert 2012 Organiser les ressources - DS4 7
XSLT : fondations
• Paramétrages initiaux – Choix du type de sortie (HTML / HTML / texte)
et du jeu de caractères – Gestion des espaces (au sens global :
également tabulations et passages à la ligne) dans le document XML source
– … • Sans règle partant de la racine du
document (/), rien ne se passe B. Habert 2012 Organiser les ressources - DS4 8
XSLT : fondations
• Une règle comprend – La spécification du ou des (sous-)arbre(s)
au(x)quel(s) elle s’applique (R1, l6) – Eventuellement (dans n’importe quel ordre)
• L’utilisation de valeurs calculée à partir du sous-arbre courant
• L’ajout de « matériel » dans la sortie (éléments HMTL par exemple)
• La relance du traitement de l’arbre en spécifiant ou non le point de continuation
B. Habert 2012 Organiser les ressources - DS4 9
XSLT : fondations
• A un certain moment du traitement de l’arbre source, un ensemble de règles sont candidates – Implicites (invisibles) – Explicites
B. Habert 2012 Organiser les ressources - DS4 10
XSLT : fondations
• Ordre d’application – Explicite > implicite – Explicite plus précise > explicite moins précise
NB une règle avec un mode est plus précise qu’une règle sans mode
– Explicites également précises : ordre dans le fichier FS
B. Habert 2012 Organiser les ressources - DS4 11
XSLT : fondations
• La relance de règles peut se faire – Sans point de redémarrage : <xsl:apply-
templates /> Dans ce cas, on repart de tout ce qui est dominé par le nœud courant
– Avec point de redémarrage : <xsl:apply-templates select=‘…’/ > Dans ce cas, on repart de ce point de redémarrage (et non de ce qu’il domine)
B. Habert 2012 Organiser les ressources - DS4 12
XSLT : fondations
• Une règle peut ne pas relancer de règles – On est sur un noeud vide (ne domine rien) ou
qui domine du texte – On veut ne rien faire spécifiquement sur un
nœud ou un ensemble de nœuds (la règle est vide)
– On veut produire quelque chose à la place de ce sous-arbre mais pas continuer « en dessous »
B. Habert 2012 Organiser les ressources - DS4 13
Règles implicites
B. Habert 2012 Organiser les ressources - DS4 14
Règles implicites
B. Habert 2012 Organiser les ressources - DS4 15
Règles implicites
• Une seule règle (explicite) – Démarre à partir de la racine du document – Crée un document HTML minimal – Relance sans point de redémarrage
• L’arbre (à partir de TEI.2) est parcouru en profondeur d’abord de gauche à droite
• Quand un élément domine du texte, ce texte est inclus dans le document HTML
B. Habert 2012 Organiser les ressources - DS4 16
Dormeur en arbre XML pour XSLT
B. Habert 2012 Organiser les ressources - DS4 17
FS4
B. Habert 2012 Organiser les ressources - DS4 18
FS4
B. Habert 2012 Organiser les ressources - DS4 19
Relance du traitement
• La règle 2 reprend le traitement là où la règle 1 l’a relancé (nœud front)
B. Habert 2012 Organiser les ressources - DS4 20
FS5
B. Habert 2012 Organiser les ressources - DS4 21
FS5
B. Habert 2012 Organiser les ressources - DS4 22
Relance du traitement • La règle 1 relance le traitement à partir du
nœud front qui domine 2 nœuds – head – dateline
• Sur le nœud head, 2 règles sont candidates, la règle 2 et la règle implicite : la règle 2 « masque » la règle implicite
• Sur le nœud dateline, la règle implicite joue seule
B. Habert 2012 Organiser les ressources - DS4 23
FS12
B. Habert 2012 Organiser les ressources - DS4 24
FS12
B. Habert 2012 Organiser les ressources - DS4 25
Relance du traitement • La règle 1 relance le traitement à partir
des nœuds lg qui dominent directement les nœuds l (les vers)
• Sur le 1er vers de chaque lg, 2 règles candidates – La règle implicite – La règle 2, qui masque la règle implicite
• Sur les autres vers, la règle implicite s’applique
B. Habert 2012 Organiser les ressources - DS4 26
FS13
B. Habert 2012 Organiser les ressources - DS4 27
FS13
B. Habert 2012 Organiser les ressources - DS4 28
Relance des règles
• Même chose que F12 • Mais
– Ajout d’une règle explicite (R2) qui masque la règle implicite affichant les vers autres que ceux en première position de strophe. Elle ne fait… rien
B. Habert 2012 Organiser les ressources - DS4 29
Dormeur TEI V3 FS2
B. Habert 2012 Organiser les ressources - DS4 30
Dormeur TEI V3 FS2
B. Habert 2012 Organiser les ressources - DS4 31
Dormeur TEI V3 FS3
B. Habert 2012 Organiser les ressources - DS4 32
Dormeur TEI V3 FS3
B. Habert 2012 Organiser les ressources - DS4 33
Dormeur TEI V3 FS4
B. Habert 2012 Organiser les ressources - DS4 34
Dormeur TEI V3 FS4
B. Habert 2012 Organiser les ressources - DS4 35
Dormeur TEI V3 FS4
B. Habert 2012 Organiser les ressources - DS4 36
Dormeur TEI V3 FS5
B. Habert 2012 Organiser les ressources - DS4 37
Dormeur TEI V3 FS5
B. Habert 2012 Organiser les ressources - DS4 38
Dormeur TEI V3 FS5
B. Habert 2012 Organiser les ressources - DS4 39
Dormeur TEI V3 FS6
B. Habert 2012 Organiser les ressources - DS4 40
Dormeur TEI V3 FS
B. Habert 2012 Organiser les ressources - DS4 41
Auden Poems FS1
B. Habert 2012 Organiser les ressources - DS4 42
Auden Poems FS1
B. Habert 2012 Organiser les ressources - DS4 43
Auden Poems FS2
B. Habert 2012 Organiser les ressources - DS4 44
Auden Poems FS2
B. Habert 2012 Organiser les ressources - DS4 45
Auden Poems FS3
B. Habert 2012 Organiser les ressources - DS4 46
Auden Poems FS3
B. Habert 2012 Organiser les ressources - DS4 47
infirmieres.xml
• Résultat de l’export de la table éponyme de la base Prema
B. Habert 2012 Organiser les ressources - DS4 48
infirmieres.xml
B. Habert 2012 Organiser les ressources - DS4 49
infirmieres.xml
B. Habert 2012 Organiser les ressources - DS4 50
infirmieres.xml
B. Habert 2012 Organiser les ressources - DS4 51
infirmieres.xml
B. Habert 2012 Organiser les ressources - DS4 52
infirmieresAvecFS.xml
B. Habert 2012 Organiser les ressources - DS4 53
Echauffement2 FS1
B. Habert 2012 Organiser les ressources - DS4 54
• La racine du document donne naissance à une page HTML. Elle "relance" le traitement
• Chaque sous-arbre table donne naissance à une ligne de tableau HTML (donc à un élément tr - table row)
• Chaque sous-arbre column donne naissance à une cellule de tableau HTML (donc à un élément td - table data)
Echauffement2 FS1
B. Habert 2012 Organiser les ressources - DS4 55
Echauffement2 FS1
B. Habert 2012 Organiser les ressources - DS4 56
Echauffement2 FS2
B. Habert 2012 Organiser les ressources - DS4 57
• La racine du document donne naissance à une page HTML. Elle "relance" le traitement à partir de database, donc au bout du chemin pma_xml_export/database
Echauffement2 FS2
B. Habert 2012 Organiser les ressources - DS4 58
Echauffement2 FS2
B. Habert 2012 Organiser les ressources - DS4 59
Echauffement 2 FS3
B. Habert 2012 Organiser les ressources - DS4 60
Echauffement 2 FS3
B. Habert 2012 Organiser les ressources - DS4 61
Echauffement 3 FS4
B. Habert 2012 Organiser les ressources - DS4 62
Echauffement 3 FS
B. Habert 2012 Organiser les ressources - DS4 63
Echauffement 3 FS5
B. Habert 2012 Organiser les ressources - DS4 64
Echauffement 3 FS5
B. Habert 2012 Organiser les ressources - DS4 65
Echauffement 3 FS6
B. Habert 2012 Organiser les ressources - DS4 66
Echauffement 3 FS6
B. Habert 2012 Organiser les ressources - DS4 67
Préma XML et FS6
• Ajouter à signaletique_fichesAvecFS.xml l'appel à la feuille de style infirmieresFS6.xsl en vous inspirant de infirmieresAvecFS.xml
• Ouvrir signaletique_fichesAvecFS.xml avec Firefox
• Que constatez-vous ?
B. Habert 2012 Organiser les ressources - DS4 68
Préma XML et FS6
B. Habert 2012 Organiser les ressources - DS4 69
Préma XML et FS6
• Faites la même chose pour les autres fichiers : bebesAvecFS.xml, fiches_departAvecFS.xml
• Que constatez-vous ?
B. Habert 2012 Organiser les ressources - DS4 70
Préma XML et FS6
B. Habert 2012 Organiser les ressources - DS4 71
Préma XML et FS6
B. Habert 2012 Organiser les ressources - DS4 72
Préma XML et FS1
• Dans bebesAvecFS.xml, remplacez l'appel à la feuille de style par la FS PremaFS1.xsl.
• Que constatez-vous ?
B. Habert 2012 Organiser les ressources - DS4 73
Préma XML et FS1
B. Habert 2012 Organiser les ressources - DS4 74
Préma XML et FS1
B. Habert 2012 Organiser les ressources - DS4 75
Préma XML et FS2
• Dans fiches_departAvecFS.xml, remplacez l'appel à la feuille de style par la FS PremaFS2.xsl
• Sous le navigateur, faites suivre ce nom de fichier d'un identifiant de fiche telle qu'elle n'apparaît pas à l'écran.
• Par exemple : file:///.../fiches_departAvecFS.xml#id101
B. Habert 2012 Organiser les ressources - DS4 76
Préma XML et FS2
B. Habert 2012 Organiser les ressources - DS4 77
Préma XML et FS2
B. Habert 2012 Organiser les ressources - DS4 78
Préma XML et FS2
• Regardez aussi fiches_departAvecFS2.html
obtenu avec la commande : xsltproc PremaFS2.xsl fiches_departAvecFS.xml > fiches_departAvecFS2.html
B. Habert 2012 Organiser les ressources - DS4 79
Préma XML et FS2
B. Habert 2012 Organiser les ressources - DS4 80
Préma XML et liens
• Attachez à signaletique_fichesAvecFS.xml la FS signaletique_fichesFS1.xsl
• Attachez à fiches_departAvecFS.xml la FS fiches_departFS1.xsl
• Sous Firefox, visualisez signaletique_fichesAvecFS.xml
• Cliquez sur le lien de l'identifiant de la première fiche
• Que constatez-vous ?
B. Habert 2012 Organiser les ressources - DS4 81
Préma XML et liens
B. Habert 2012 Organiser les ressources - DS4 82
Préma XML et liens
B. Habert 2012 Organiser les ressources - DS4 83
Préma XML et liens
B. Habert 2012 Organiser les ressources - DS4 84
Préma XML et liens
B. Habert 2012 Organiser les ressources - DS4 85
Préma XML et liens
B. Habert 2012 Organiser les ressources - DS4 86
Préma XML et liens
B. Habert 2012 Organiser les ressources - DS4 87
Préma XML et liens++
• Attachez à signaletique_fichesAvecFS.xml la FS signaletique_fichesFS2.xsl
• Sous Firefox, visualisez signaletique_fichesAvecFS.xml
• Cliquez sur le lien de l'identifiant d’une infirmière ou d’un bébé
• Que constatez-vous ?
B. Habert 2012 Organiser les ressources - DS4 88
Préma XML et liens++
B. Habert 2012 Organiser les ressources - DS4 89
Préma XML et liens++
B. Habert 2012 Organiser les ressources - DS4 90
Préma XML et liens++
B. Habert 2012 Organiser les ressources - DS4 91
Top Related