INF02 – DS4 · 2013. 4. 13. · Echauffement2 FS1 B. Habert 2012 Organiser les ressources - DS4...

Post on 11-Sep-2020

3 views 0 download

Transcript of INF02 – DS4 · 2013. 4. 13. · Echauffement2 FS1 B. Habert 2012 Organiser les ressources - DS4...

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