4 novembre 2014 : HTML5 (mise en place progressive).
29 décembre 2016 : amélioration pour avoir une clause
DOCTYPE rigoureusement conforme.
Implantation générale
Racine
Le répertoire racine contient :
Une page d’accueil (home page).
Des pages annexes (informations légales, plan du site et autres).
Répertoire design
Quoique ce ne soit pas impératif, il permet de regrouper des fichiers utiles
à la création et à la présentation du site.
Le fichier Config.xml, fournit des indications
indispensables pour la génération des pages.
Il contient les paramètres de base tels que le nom de domaine, le nom de la page
d’accueil, référence des feuilles de style, des fichiers d’entête,
des pages contact, à propos/about, etc. Voir la section
Paramétrage, fichier Config.xml.
Les fichiers feuilles de style
(CSS ou cascading style sheets).
Elle peuvent se trouver ailleurs que dans ce répertoire design, leur dénomination
étant paramétrable dans Config.xml depuis la release VII (2020-11-13).
Un sous-répertoire design/images contient le fichier
« favicone » (favicon.ico Paramétrable depuis la release IX du 2020-12-30),
et éventuellement des images ou icones utiles à la présentation.
Répertoires thématiques
Il s’agit des répertoires correspondant aux différentes rubriques
traîtées sur le site.
Génération, enregistrement des pages, namespace.
Stockage des données à publier dans le Web
Les données sont écrites dans des fichiers XML, dits fichiers sources.
Un fichier XML peut contenir les données de plusieurs pages html.
Le système se charge d’ajouter automatiquement
des header, en-têtes et pieds de pages standardisés.
La transformation XSL peut être lancée pour l’ensemble des pages html
contenues dans le fichier xml, ou pour une seule d’entre elles.
La description d’une page peut se limiter à indiquer en
référence (balise d:docu) un autre fichier xml (fichier externe)
qui sera inclu à la génération.
Namespaces (espaces de nommage)
Les données html contenues dans les fichiers source XML
sont associées à l’espace
de nommage défini par http://ns.dg77.net/XML/. Les balises spécifiques
au présent système, par convention distinguées par
le raccourci (xmlns) d:,
sont associées à http://ns.dg77.net/XML/d/.
Confection du site
On se positionne dans le répertoire racine du site (commande cd).
C’est là que le processeur XSLT mettra les données qu’il génère.
Arguments à transmettre au module XSLT :
La référence au répertoire des modules XSLT. Ces derniers
servent à générer automatiquement les pages web
à partir des fichiers XML de départ.
Idem pour le répertoire où est stocké le contenu des pages,
sous forme de fichiers XML.
Le nom complet (incluant le chemin) du fichier nommé ici “Config.xml”.
Distribution libre – Changelog
On peut récupérer les outils qui produisent le présent site
sous la forme d’un fichier compressé (format zip)
dans le répertoire /design.
On y trouvera le nécessaire pour créer ses propres pages web.
Il s’agit pour l’essentiel de modules XSLT de génération, de fichiers de configuration,
feuilles de style CSS, et des exemples de fichiers sources XML.
Dernière version : #18, du 05 avril 2024.
Le fichier Changelog.txt permet de connaître les éléments qui ont fait
l’objet de corrections ou améliorations, ainsi que les évolutions
depuis la dernière version.
Fichier compressé (zip)contenant le processeur Saxon sous Java (attention : 6,47 Mo) :
suivre ce lien [http://www.dg77.net/design/www_template.zip].
Signature PGP : suivre ce lien [http://www.dg77.net/design/www_template.asc].
Cf la page « Clef publique GnuPG » [http://www.dg77.net/signature.htm].
Historique des évolutions : Changelog.txt [http://www.dg77.net/design/Changelog.txt].
Exemples, page témoin et structure XML
Une page témoin [http://www.dg77.net/demo/index.html] est disponible.
Son source XML [http://www.dg77.net/demo/demo_temoin.txt] permet de comprendre comment
s’affichent les différents éléments qu’on peut
trouver dans une page web.
Schéma simplifié.
Illustration plus complête :
La partie préliminaire, contenue au sein de l’élément
d:description, donne diverses information
qui serviront à la partie HEAD de la page. Noter d’abord les attributs :
nomfic (obligatoire) donne le nom du fichier avec son chemin d’accès
retour donne l’emplacement et le nom du fichier de retour. Cette information peut être vide.
e : si cet attribut contient quelque-chose (par exemple "x"), celà
signifie que la page appartient à une suite de pages. La génération
mettra automatiquement des liens Retour/Back et Suite/Next sur la page (partie
BODY) et des balises link rel=… correspondantes dans la partie HEAD.
La description contient différentes informations classiques (titre, description,
mots-clefs…). La balise d:titre est obligatoire.
d:cre et d:upd sont les dates
de création et dernière modification de la page. Il est possible d’insérer dans
cette partie des balisages meta et link : ils seront reproduits dans l’entete
de la page résultante.
Paramétrage, fichier Config.xml
Config.xml
Config.xml permet d’initialiser des variables essentielles, telles que l’encodage
(cf notre page [http://www.dg77.net/tekno/xhtml/codage.htm]), la langue par défaut, le protocole,
le nom de domaine, la désignation de la page d’accueil, etc.
Feuille de style de service
Un fichier de type CSS a été créé pour permettre
l’affichage convivial dans un navigateur de Config.xml, ainsi que root_index.xml (cf infra).
Dans le présent site il se dénomme design/config_xml.css.
Son utilisation suppose deux conditions :
Ajout d’une clause <?xml-stylesheet/> pour spécifier l’appel de la feuille de style.
Insertion d’un attribut « nom » dans chaque élément
pour indiquer le libellé de la rubrique.
Suivre ce lien [http://www.dg77.net/design/Config.xml] pour voir le résultat dans le présent site internet.
Bandeau général d’entête
L’entête général du site est récupéré dans un
fichier xml défini par la variable $dgbando
(Paramétrée dans Config.xml). Exemple :
Titre et barre de menu
Cette partie est configurée par le fichier root_index.xml.
Fonction : fournir un index du site et des libellés automatisables
dans le bandeau. Il permet d’voir une barre de menu variable en
fonction du répertoire où on se situe.
Utilisé dans le traîtement de l’entête. Le fichier
définit les fichiers à inclure, en fonction
du répertoire ou répertoire + sous-répertoire de
la rubrique en question.
index
Racine
entree
Enregistrement
cle
Nom de répertoire, suivi éventuellement d’un sous-répertoire
lib
Libellé
menu
Nom d’un fichier contenant une "barre de menu" (classe/id "menubar") affichable en tête de page.
descr
Texte destiné à la version imprimable. Cet élément
est unique dans tout le fichier root_index.xml.
Suite : traîtement par xsl:key
Au moment de la génération par XSLT, l’argument de recherche est
transmis par la variable clef.
Noter l’utilisation de for-each
pour contourner l’interdiction d’utiliser
directement document() dans
match="…
d:docu : données stockées dans un fichier xml externe
Mention d:docu dans la partie
description de la page. Exemple :
Le fichier indiqué par "d:docu" peut être
de type “liens” (cf la section Liste de liens),
RSS2 (voir la section flux rss),
ou XHTML / HTML.
Le fichier sera inséré au début de la page. Les éléments éventuellement
spécifiés dans le corps (après la partie description)
s’ajouteront à la suite. Cela n’est pas conseillé car certaines
fonctions ne seront plus assurées correctement (notes de bas de page…).
d:inclure : inclusion de données html
Insertion d’un autre fichier
La balise d:inclure permet d’insérer un fichier xml
(ou une partie de ce fichier) dans le corps des données.
L’attribut source spécifie le nom de l’objet à
inclure. Attention : il s’agit d’une copie du fichier tel-quel, les
templates ne sont pas appliqués. En particulier les notes de bas de page
(cf section des spécifications) ne fonctionneront pas.
Par conséquent, ces données doivent appartenir au namespace
de la page html résultante.
Exemple :
Noter la mention xmlns. Résultat :
Balance des blancs (BdB / WB)
La balance des blancs correspond à l’équilibre entre les différentes
couleurs enregistrées par le capteur ; sa fonction est de permettre une reproduction
fidèle des teintes.
Inclusion limitée à un fragment de fichier xml
Au lieu d’insérer le fichier xml entier, il est possible d’en
sélectionner une partie pour inclusion.
La partie qu’on veut copier doit correspondre à un élément
doté d’un attribut id. Exemple
(Code d’instruction criminelle, édition 1828) :
Dans l’élément d:inclure,
on ajoute l’attribut idref, qui mentionne
l’id correspondant au membre qu’on veut copier.
Exemple :
Résultat après génération :
Art. 73
Ils seront entendus séparément, et hors de la présence du prévenu, par le juge d’instruction, assisté de son greffier.
Inclusion d’une autre partie prise dans le même fichier source xml
Si l’attribut source est vide ou inexistant,
alors on ira chercher les données désignées par l’attribut
idref dans le fichier en cours.
Formats XML
Différentes structures XML utilisées
La structure XML peut correspondre à différents types :
Formats standards, intégrés à la transformation XSLT
Balisage HTML5 (XHTML avant le 4 novembre 2014).
Format RSS 2. Utilisé pour la publication de certaines informations,
(cf infra).
Obsolète / deprecated balisage Docbook,
désactivé le 2015-12-08
Obsolète / deprecated balisage WML / WAP (Wap, pour
téléphones mobiles). Désactivé le 2015-12-08
Des donées au format RSS peuvent être introduites dans les pages html.
Dans title, sous-élément de l’élément
channel, on peut insérer un attribut @niv de 1 à 6
pour spécifier le niveau de titre (de h1 à h6).
Dans le résultat; il est possible d’afficher (mais pas imprimer) un
sommaire en début de page html.
Il est conditionné par un attribut sommaire
dans la balise channel, qui doit alors être non vide.
Flux intégré au fichier XML
Exemple
Flux dans un fichier externe
La balise d:docu dans la partie description d’une
page peut appeler un fichier xml au format rss2 au lieu du format standard.
** 2000m | F | 18:23
1 12'55"47 PICOD Laura Us Oyonnax
2 13'24"15 GHIDELLI Emma Eab - S/l Athle
3 14'15"79 JOUVE Lucie Eab - S/l Athle
On peut par ailleurs afficher une liste des titres de chaque item, le nombre de lignes affichables
étant Paramétrable. Cf infra les Spécifications liste RSS.
Eléments et attributs
Obligatoire
<d:www>
Elément racine de chaque fichier XML.
<d:page>
Elément qui englobe les données de chaque page Web.
<d:description>
Contient les informations de base pour une page Web.
<d:titre>
Titre de la page Web (élément title de la partie head.
Facultatif
d:www/@dglang
Attribut commun à toutes les pages contenues dans le fichier XML. Il permet d’avoir un code langue
différent du celui qui est paramétré pour tout le site. Exemple :
d:page/@dglang
Attribut propre à la page en cours qui permet d’avoir un code langue
différent du celui qui est paramétré pour tout le site ou le fichier xml.
d:page/@e
Elément page/attribut e : enfilade ; si non vide, entraîne la
création de liens précédent/suivant pointant vers la
page précédente comme la suivante si celles-ci ont le même
attribut. Facultatif.
d:page/@retour
Cet attribut indique la page de retour. Facultatif.
d:page/d:description/d:cre
Date de création.
d:page/d:description/d:upd
Date de dernière modification.
d:page/d:description/class
Facultatif : possibilité d’avoir une classe
particulière pour le contenu principal de la page.
d:page/d:description/keywords
Mots clefs, utilisés dans la balise keywords
de la partie head dans la page Web.
d:page/d:description/meta
Balises meta, utilisés dans les balise
meta de la partie head
dans la page Web.
d:page/d:description/link
Balises link, utilisés dans la balise
link
de la partie head dans la page Web.
d:page/d:description/d:style
Nom de la « feuille de style » CSS d’affichage propre
à la page. Cette CSS se substitue à celle qui est
spécifiée dans le fichier Config.xml (paramètre
pcss_scr).
d:page/d:description/d:style_print
Nom de la « feuille de style » CSS d’impression propre
à la page. Cette CSS se substitue à celle qui est
spécifiée dans le fichier Config.xml (paramètre
pcss_prt).
(10 sept 2013) Possibilité d’afficher le sommaire des item en tête de page.
@typ
Utilisé avec les éléments link
dans les fichiers XML/RSS. L’attribut
typ est utilisé pour identifier le type de fichier, de lien…
exemple : typ="mail". Par défaut, le lien
généré sera du type URL avec protocole http.
@format
Attribut utilisé dans les éléments description
des fichiers XML/RSS. Si la valeur est « pre »,
alors les données seront sorties entre balises pre
par la génération du html.
Utile
<d:bidon>
Elément factice, utilisé pour différents besoins :
Au début du fichier XML source, permet d’avoir un attribut
@retour supplémentaire indiquant
une page se trouvant dans un autre XML.
Comme élément racine d’un
fichier XML inséré par la balise inclure.
Dans le corps de la page
<d:corps>
Délimitation de la partie "donnés" pour la distinguer
de la partie description.
Impératif pour les fichiers XML externes chargés par l’intermédiaire
d’une balise <d:docu>
ou <d:inclure>1.
<hl>
(12 nov 2006) hl comme « hyper lien ». Utilisé à la place
de la balise <a> (anchor), cet élément
permet d’avoir automatiquement l’indication de l’URL intégral dans
la version imprimée. Ne fonctionne que pour les URL complets
avec protocole (exemple type : http: (http://www.domaine.tld/index.html)
Mise au point du 30 mai 2014 : désormais, le generateur sait aussi
manipuler les liens internes (ex : ../../repert/toto.html)
et reconstituer l’URL.
<comment>
Permet d’inclure des commentaires dans le document résultant.
Fonctionne aussi dans l’entête (description), auquel cas les commentaires figureront
en début de header quelle que soit leur place dans la partie
description.
<d:protoc/>
(08 novembre 2019) Protocole (http, https…) défini en paramètre. La balise
protoc fait référence à un
simple template qui récupère la variable.
<d:domaine/>
(16 juillet 2011) Nom de domaine défini en paramètre. La balise
domaine fait référence à un
simple template qui récupère la variable.
<d:ssdomaine/>
(17 juillet 2011) Nom de sous-domaine défini en paramètre.
Généralement www. La balise
ssdomaine fait rérérence à un
simple template qui récupère la variable. Remarque :
le sous-domaine peut être nul.
<d:homepage/>
(28 septembre 2022) Nom de la page d’accueil défini en paramètre.
Même fonctionnement que les précédents.
Balise : homepage.
Exemple complet pour afficher l’URL de la page d’accueil du site :
Depuis le 11 mars 2020, trois fichiers CSS sont prévus.
Ces CSS principales, obligatoires, sont définies dans Config.xml.
Valeurs standard :
stylgen.css : règles de base.
stylscr.css : présentation sur écran.
stylprt.css : sortie sur imprimante.
Vers le 2012-03-02, il y avait eu plusieurs évolutions (cf le
Changelog).
CSS3 – compatibilité avec terminaux mobiles
La feuille de style fournie pour écrans permet une
différenciation selon la largeur du terminal utilisé.
Pour cela, on utilise la clause @media.
Ce fut implémenté le 17 juin 2012.
Il est possible, pour chaque page html, de spécifier un fichier
CSS particulier. Cf style dans
les éléments facultatifs.
CSS facultatives.
Á ajouter dans l’entête du fichier xml pour chaque page concernée.
ecranvert.css
Pour les pages contenant notamment des « écrans verts » (terminaux 5250) IBM.
marche_calend.css
Pour affichage d’un calendrier avec couleurs de fond variées.
Classes et id
Attention : un id. ne peut apparaître qu’une fois dans une page.
Id. standards
Ces id sont générés automatiquement.
debut : associé au corps (“body”) de la page.
menubar : barre de menu dans l’en-tête.
main : indique la partie principale de la page, utile notamment à la
navigation par des malvoyants.
ynavig, ypied, znavig : ces id. sont affectés à
la navigation sur écran. Tous les éléments qui en font partie
ont la propriété de ne pas apparaître en sortie d’impression.
prpied : emplacement du pied de page en version imprimable
(n’apparaît pas sur écran).
Id menutab
Une présentation particulière est affectée aux
éléments div concernés.
Ce cas ne peut se présenter qu’une seule fois dans une page.
Exemple :
Les liens sont dans deux balises DIV emboîtées car il est permis
d’en mettre deux (ou plus) sur une ligne de menu.
Classes standard
Classes
.bouton
Cette classe est particulièrement destinée à des liens
de navigation. Noter que le résultat est flottant (à gauche).
Exemple avec <div class="bouton"><a href="#clstd">Clic!</a></div> :
Pour des raisons évidentes, on ne veut pas que l’URL du site figure tel-quel
dans les fichiers sources XML, et encore moins dans les transformations XSLT. En effet,
l’URL peut évoluer (par exemple le passage du protocole http à https
est un sujet non négligeable), et la moindre rigueur informatique impose que les
modules .xsl soient réutilisables sans retouche pour tout autre site web que l’on souhaite.
Utilisation des variables paramétrées dans un texte
Il s’agit des données paramétrées
(protoc / ssdomaine / domaine) dans le fichier Config.xml
(cf supra). Exemple source xml :
Résultat :
Voici un texte contenant la chaine <d:protoc/>://<d:ssdomaine/>.<d:domaine/> :
http://www.dg77.net.
Ce Procédé fonctionne au sein des balises <p>, <div>,
<li>, <dt>, <dd>, <pre>, <td>, <a>, <span>,
<figcaption> comme pour les titres <h1> à <h6>.
Chaîne spéciale £dg77£
Dans les attributs spécifiant un URL, c’est à dire les liens vers un autre document
(attribut href ou URL, ou autre spécifique),
ainsi que pour les images (attribut src) et les textes préformatés,
si la transformation XSL rencontre l’expression £dg77£,
celle-ci sera automatiquement remplacée par l’URL tel que défini dans le
Config.xml précédemment décrit
(variables protoc, ssdomaine, domaine). Cela permet de ne modifier aucun fichier source XML,
par exemple en cas de changement de protocole ou domaine.
Nota : la chaîne £dg77£ doit
être suivie de la barre oblique ("/") si elle précède une indication de chemin.
Utilisation dans une balise préformatée
Autorisé dans une balise <pre>, mais pas le texte des autres,
spécifiées précédemment.
Utilisation pour une image
Avec £dg77£, la génération de l’attribut src qui contient
l’adresse du fichier image inscrira l’URL comme un lien relatif, donc avec un chemin
variable suivant l’emplacement de la page en cours. Cette fonctionnalité est utile dans un
membre de fichier xml commun à différentes pages.
Exemple pour une image incluse dans le bandeau d’entête :
On peut ajouter un lien vers la licence de la même façon
que pour les galeries
(Voir la section sur les galeries d’images).
Pour cela on utilise d:galaut, comme dans l’exemple ci-dessous.
Ceci s’obtient avec l’attribut dglicence dans la balise
figure ou figcaption. La mention
de la licence sera ajoutée après l’indication de l’auteur.
Source XML :
Résultat :
Nota : s’il s’agit d’un URL local,
il doit être indiqué suivant une des méthodes suivantes :
Mettre l’URL complêt (avec le protocole http ou autre), mais alors il faudra modifier le
source XML en cas de changement de domaine, protocole, etc.
Insertion des dimensions des images
Il est possible d’inscrire automatiquement dans les éléments
<img> les attributs width (largeur) et
height (hauteur) à partir de données enregistrées
à part. Il suffira d’insérer des balises spécifiques à
un endroit quelconque du fichier XML source. Exemple :
dgdim est impératif. La valeur de l’élément
dgima correspond à l’adresse
donnée par l’attribut src d’une image.
Les attributs dgwid (largeur) et dghei
(hauteur) contiennent les dimensions en pixels de cette image.
Les attributs dgsiz et dgfor
fournissent la taille (en octet) et le format.
Pour que le mécanisme s’applique à un élément img,
il faut que celui-ci ne comporte ni attribut width
ni attribut height. Cette règle s’applique même
si ces derniers sont vides.
Quand les données sont dans un fichier externe (Cf fichiers inclus supra),
les données xml (<dgdim>) concernées doivent être ajoutées à ce fichier.
Un traîtement a été conçu
pour créer automatiquement ces éléments.
Voir la documentation de cet outil dans la page ad-hoc [http://www.dg77.net/tekno/sitedoc_i.htm].
Spécifications « sommaire automatique »
Description
Un sommaire peut être généré automatiquement dans une page.
Il consiste en une liste de liens, qui peuvent être de deux types :
Liens vers les sous-titres de la page qui comportent une
balise "hn" d’un niveau donné (h1, h2 etc.).
Liens vers d’autres pages suivant des modalités particulières.
Un sommaire peut contenir les deux types de liens.
Le sommaire est inclu dans une section qui porte l'id “sompag”.
Apparence
Trois présentations sont possibles :
Liste en lignes superposées, avec coloration alternée du fond
(comme pour les listes de liens et le sommaire facultatif des fichiers RSS).
Liste courte, chaque titre est à la suite du précédent.
Déclencheur
Il s’obtient en insérant un élément
d:somm à l’emplacement que l’on veut.
Attributs :
niv : “h3” par défaut.
dgstyp : si "a", alors ce sera la présentation Menu (menutab) qui sera appliquée. Si @dgstyp est non vide et différent de "a", c’est la troisième présentation qui est utilisée.
tit : si non vide, alors le libellé du titre (« Sommaire ») n’est pas sorti. Ce code est sans objet si @dgstyp="a".
class : classe de présentation du titre du sommaire, facultatif.
Conditions de fonctionnement
Cet élément ne doit pas être inclu dans un autre.
Les titres concernés doivent comporter un attribut “id”, sauf le cas suivant.
Lien vers une autre page : il suffit d’inclure dans la page un sous-titre du niveau
convenable (par défaut : h3), avec la classe spécifique
dg77dir. Le texte du titre doit être inclu dans un lien vers la page concernée.
Il ne s’affichera pas mais figurera dans le sommaire. Dans ce cas, l’indication d’un id est superflue. Exemple :
Spécifications « note » (de bas de page)
Eléments et attributs
<d:note>
Le contenu est renvoyé en note de bas de page. Numérotage
automatique. Du balisage peut être inclu dans le corps de la note.
d:note/@ref
Attribut facultatif : indique un id de retour. Permet de revenir plus haut que la ligne de l’appel de note.
d:note/@id
Attribut facultatif : indique l’id de la note.
A défaut, ce sera un numéro. Permet de naviguer vers la note depuis n’importe-quel autre
emplacement (y compris une autre page web) sans être à la merci d’un
changement de numéro de note.
(Amélioration du 29 nov 2016) Au passage du curseur sur l’appel de note, une
infobulle affiche le contenu de la note (dans la limite de 1600 caractères). Ceci est
obtenu par ajout d’un attribut TITLE dans le module XSLT :
Noter que, pour une bonne typographie, l’élément <d:note> suit le caractère précédent
sans espace entre eux.
Résultat
« …mais dans ces cas il me semble que le poète
a voulu plutôt nous faire sentir son penchant inévitable, quelque idiote
qu’elle soit, pour la jouissance des plaisirs
sexuels. »2…
Spécifications « liste de liens »
Nomenclature des éléments :
<d:liens>
Elément racine, obligatoire.
@titre
Attribut facultatif.
@class
Attribut facultatif. Noter qu’en cas d’utilisation de l’élément
“categorie”, la classe "demo" est automatiquement appliquée à ce dernier.
<d:categorie>
Elément qui permet d’établir des subdivisions en sections (facultatif).
@id
Attribut facultatif. Contient un identificateur ; par défaut, pour “categorie”, un id alphabétique sera automatiquement généré.
@niv
Attribut qui spécifie le niveau du titre. Valeur : de 1 à 5 (pour h1 à h5).
A défaut, utilisation de h4 (h5 pour les sous-titres). Implémenté (enfin) le 20 février 2011.
<d:lien>
Lien internet et texte. Contenu : deux possibilités :
Un libellé simple. Le balisage HTML y est autorisé, à l’exclusion de tout lien (<a href=…).
Utilisation d’une balise dt, suivie d’une ou plusieurs dd.
@uri
Attribut de la balise lien. Il contient l’URL ; exemple : uri="http://www.w3.org"
Exemple :
Résultat :
Exemples de signets
Sommaire :
Spécifications « galerie d’image »
Principe
Le traîtement des éléments décrits ici aura deux effets :
Index des images : dans le document en cours, création d’un
index des images qu’on veut montrer. Le lien vers chaque image est donné avec
une image réduite (icône).
Pour chaque image, génération d’une page HTML.
Présentation de l’index :
Présentation des icônes rassemblées en bloc.
Voir un exemple ici [http://www.dg77.net/marche/photo/phpr78.htm].
Nouveauté du 7 janvier 2024 : présentation en liste, chaque
icône accompagnée des commentaires éventuels.
Voir un exemple ici [http://www.dg77.net/marche/photo/lessines74.htm].
Paramètres
Voir fichier Config.xmlsupra. On y
indique une feuille de style CSS et une classe spécifiques.
L’icône porte obligatoirement le nom du fichier image précédé
ou suivi par un préfixe ou suffixe défini dans Config.xml.
Exemple minimum d’une galerie composée de deux images
Nomenclature des éléments et leurs attributs
<d:galerie> élément racine.
Obligatoire.
Attributs facultatifs :
@dglicence
Chemin et nom du fichier html où est spécifiée la licence d’utilisation des images.
Remarques : le lien ne s’affiche que si un auteur est indiqué (balise galaut).
@sorhtml
Permet d’indiquer un emplacement particulier pour chaque image.
@dggalist
Si non vide, provoque la sortie de l’index sous forme « liste ».
@class
Classe du titre des pages images unitaires. Si @class existe mais est vide,
il n’y a pas de classe spécifiée. Par défaut, ce sera la
classe des sous-titres prévue dans Config.xml ($class_titr).
<d:galimage> informations d’une image.
Doit contenir au moins les éléments galtit (titre) et galfic (nom du fichier).
Peut contenir l’attribut dglicence si la licence propre à l’image est
différente de celle qui est spécifiée dans la balise galerie.
<d:galtit> titre de l’image.
<d:galfic> nom du fichier image.
Si le nom est indiqué sans extension, cette dernière sera par défaut
.jpg. La page qui affichera l’image aura le même nom
sauf l’extension qui sera .htm.
Le nom du fichier icône est le même mais précédé
ou suivi d’un pré/suf-fixe, paramétré dans Config.xml
(cf gal_prefix et gal_preftop). L’extension (.jpg ou autre) doit être la même
que pour l’image principale.
Attributs facultatifs :
@alt
Attribut standard xhtml, contient un texte de remplacement à l’image.
L’extension de l’image comme de l’icône est ".jpg". Le fichier icône est précédé de
"t_". La page image générée portera le même nom suivi de l’extension ".htm".
Exemple à partir d’une image nommée monimg.jpg, on devra avoir une image
réduite (icône) nommée t_monimg.jpg et le système
générera une page monimg.htm.
<d:galupd>
Date de dernière modification : élément vide obligatoire en pratique. Si cet élément est absent et qu’ultérieurement
une image est ajoutée à la planche, alors on verra apparaître pour les images préexistantes la date de modification de cette planche, indication inexacte.
Informations facultatives associées aux images
<d:galaut> auteur.
<d:galcop> copyright.
<d:galtxte> et
<d:galtxtf> texte qui est sorti avant (galtxte) ou
après (galtxtf) l’image.
Les quatres éléments galaut, galcop, galtxte
et galtxtf peuvent contenir des balises html.
<galcre> et
<galupd> dates de création et de dernière
modification de la page image. A défaut, c’est la date de la page index d’origine
qui est utilisée.
Possibilité d’avoir des informations communes
Si on spécifie sous l’élément racine galerie un élément
galcop, galaut, galtxte ou galtxtf, il sera reproduit dans chacune des
pages images.
Un élément galcop ou galaut spécifié au niveau
de l’image prend le pas sur le même élément au niveau supérieur
comme indiqué précédemment.
Eléments généraux spécifiques à une page image
<d:description>
Il est possible d’insérer dans une page image les données standard de description et keywords destinées
à son entête html (partie head). Pour cela elles doivent être insérées
dans une balise description standard. Voir illustration ci-dessous (noter l’absence de namespace).
Exemple plus étoffé, toujours composé de deux images
Noter l’attribut alt qui sera copié automatiquement dans la balise img.
Aide à la création de galerie
Un outil en langage REXX permet de mettre automatiquement les données dans leur
balisage à partir d’un fichier simple texte. Voir la documentation [http://www.dg77.net/tekno/manuel/rexxgal.htm].
Spécifications index par icônes
Cette présentation reprend le mécanisme de création d’index des
galeries d’images, comme spécifié ci-dessus. En revanche, aucune page
n’est générée individuellement pour chaque image.
Particularités :
Balise som_ix à la place de galerie.
Balise fichtm indique le lien qui pointe vers la page html voulue.
Remarque : dans la seconde image, on a omis la balise fichtm. Dans ce cas, le fonctionnement
reste celui de la galerie d’images : le lien sera défini en utilisant l’adresse de l’image.
Résultat
Spécifications « calendrier »
Exemple
Éléments
<d:calend>
Obligatoire, élément racine.
Attribut facultatif @titre
Attribut facultatif @niv
<d:cal_sec> section.
Pour subdivision éventuelle.
Attribut @titre
<d:cal_eve> .
Libellé évènement.
<d:cal_dat>
Date de l’évènement.
<cal_loc>
Lieu de l’évènement.
<d:cal_tit>
Désignation de l’évènement.
<d:cal_com>
Commentaires/description de l’évènement.
<d:cal_res>
Facultatif. Destiné à indiquer un lien vers d’éventuels résultats.
(28 aout 2012) But : afficher une liste des n premiers titres d’un fichier RSS.
L’attribut ficrss indique le fichier en entrée ;
refhtml désigne le fichier html en sortie
(dans le rss, on récupère l’attribut guid
pour pointer exactement sur le bon item).
Sur l’utilisation de fichiers RSS, cf la section Flux RSS.
Limitation du nombre d’items affichés
(24 avr. 2015) Nouvel attribut : limitation du nombre d’items affichés (facultatif).
Valeur par défaut : 32.
Dans l’exemple ci-dessous, 10 items maximum seront sortis.
(2017-11-19) Amélioration concernant le sommaire : possibilité
d’avoir le lien directement vers la page concernée au lieu de
pointer vers le détail en dessous. Pour cela, nouvel attribut
“direct” dans l’élément guid. Intéressant pour les
indications du type « Autres informations ».
Bouton de retour arrière générique
Un fichier, dont le nom est indiqué dans Config.xml
(paramètre pretour_js), donne la liste
des pages concernées. La structure en est des plus simples. Élément racine :
liste, le contenu est mis dans la balise item.
Exemple :
Voir le code à insérer dans les pages sous la section
Programmation web.
Application systématique : avec un "x" dans une balise <item>,
le bouton sera installé dans toutes les pages.
Voir le site Web de Saxonica [https://www.saxonica.com/] .
Attention : il faut aussi avoir xmlresolver-4.2.0.jar
à côté du « .jar » de Saxon.
Traîtement par le processeur SAXON (versions 11 et 12)
Batch Windows
Exemple simple :
À noter :
dg8.xsl déclenche les transformations xsl
qui vont être appliquées.
Le chemin d’accès au fichier Config.xml (fconfig)
doit être spécifié relativement
à l’emplacement de dg8.xsl.
La commande findstr a pour but d’éliminer les
lignes vides de la sortie produite par le programme java.
Script Shell UNIX/LINUX
Exemple simple.
Fichier trace et mise en ligne
Le programme java sort des informations dans un fichier
annexe (“log”). Ces sorties sont prévues dans
dg8_h.xsl (prologue) et dg8_out.xsl (indication du ou des
pages html et document externe éventuel). Voir ci-dessus la sortie
dirigée vers tmp\log_html.txt.
Ce log donne des informations telles
que les noms de pages html et fichiers externes (balise
d:docu). On peut utiliser ce fichier pour créer les
commandes de transfert (ftp ou tout autre moyen) sur un
serveur distant.
Les lignes de prologue général commencent par "::". Les
principales indications sont identifiées par une lettre
(h=horodatage ou autre, e=fichier lu en entrée,
s=fichier html en sortie si un seul traîté, o=option).
En détail (un seul ":"), les fichiers concernés sont ensuite mentionnés
(p=page html, d=document externe, i=image, g=image de galerie, c=copy-of – données html inséréres par d:inclure).
Exemple pour la génération de la page “témoin” :
Noter l’indication du fichier source externe tekno_sitedoc.xml.
Attention : le chemin est indiqué relativement
au source xml.
Liste des modules XSLT
Génération standard des pages
listent.ent
DTD contenant des entités caractère.
dg8.xsl
Spécifie le type de sortie (html version 5, encodage utf-8).
Entrée des paramètres : horodatage, page à sortir ("x" = toutes).
Inclusion de dg8_3.xsl, et dg8_spec.xsl pour d’éventuelles spécificités
(cf infra).
dg8_3.xsl
Initialise les variables générales à partir du fichier Config.xml.
Inclusion de tous les fichiers modules (dg8_h.xsl, dg8_head.xsl, dg_entete.xsl, dg_p.xsl, etc.)
et spécifiques éventuels (via dg8_spec dans /XML/XSL_spec).
Initialise la sortie d'une page. Charge les variables VCH et ZNOM.
Dans le cas d'une galerie d'images : loopimg, boucle pour générer
chaque page image.
dg8_head.xsl
thead, w_href, w_descr, w_keywr.
tattrib, w_descr, w_keywr, w_href.
Génère la partie HEAD (title, description, meta, link…).
dg_entete.xsl
tentete, chain_lib, chain_menu, chain_tet.
chain_lib, chain_menu, tnavig, tcont, w_href.
Partie haute de l’affichage (barre de navigation, appelle le contenu de navig).
dg_p.xsl
tpied, tmois, sordate.
tnavig, tcont, tmois, sordate.
Sortie du pied de page html. Fonctionne comme l’entête mais sort aussi les informations relatives à la page
(dates de création-mise à jour, informations générales etc.).
dg77_navig.xsl
tnavig, soretour, tprec, tsuiv.
extrnom, tprec, tsuiv.
Module appelé par tentete et pied : gère les liens de navigation
en avant et en arrière.
1018 : (bug) marche/news (texte préformaté) des cas de
Text run is not in Unicode Normalization Form C. (validateur du W3C).
1016 : (conception) mention de XSL/listent.ent (fichier
des entités) dans le <!DOCTYPE : le chemin doit être modifié
après copie dans la base modèle à distribuer.
1013 : (conception) pour les documents externes (d:docu) étudier la possibilité
d’avoir des URL absolus (commençant par "/") donc situés par rapport à la racine.
1004 : (conception) lien pour droits associés à une image (licence) :
l’indication par l’attribut dglicence n’accepte que des liens locaux.
1001 : (conception) notes de fin de page : incompatibilité d’un fichier externe (d:docu)
avec éléments html dans xml d’origine (d:page).
0980 : (projet) emplacements des sources XML et des modules XSL (par défaut respectivement
XML/SRC et XML/XSL) : pouvoir les situer ailleurs que dans l’arborescence du site web.
0950 : (conception) dg8.xsl, à voir : saxon:character-representation="native;decimal"
0900 : (projet) SWIPE pour défilement rapide par javascript (pages en enfilade, cf galeries).
Notes
1.
Si la balise corps n’est pas utilisée dans le fichier externe, les notes de bas de page ne fonctionneront pas (entre autres choses).
2.
Theodore Lee Neef,
La Satire Des Femmes Dans la Poesie Lyrique Francaise Du Moyen Age –
Giard & Brière, Paris 1900