@@ -48,6 +48,8 @@ Ce fichier contiendra si nécessaire, la [configuration des options de lecture](
## La variable baseURI
**Rmq Anne : est-ce que cette partie n'est pas mieux sur la page Mise en production ? je l'enlèverai d'ici.**
Pour un site déployé sur une URL autre que la racine de l’hôte, la variable *baseURI* doit être renseignée dans le fichier *configuration/configuration.xml*. Par exemple, pour un site publié à l’adresse https://site.domain.ext/app/ (voir aussi [Mise en Production](../production)):
@@ -59,6 +59,8 @@ Pour l'édition de démonstration par exemple, on obtient :
[...]
````
Les XSL des [plugins](../plugins) activés qui respectent la convention de nommage `plugins/[NOM_PLUGIN]/[NOM_PLUGIN].xsl` sont automatiquement appliquées.
Si le contenu de l’élément ``<target>`` est ``presentation.html`` dans le fichier ``menu.xml``, MaX va chercher dans le dossier ``[projet-]editions/[edition]/fragments`` un fichier `presentation.frag.html` afin de l’afficher.
Si le contenu de l’élément `<target>` est `presentation.html` dans le fichier `menu.xml`, MaX va alors chercher dans le dossier `[projet-]editions/[mon-edition]/fragments` un fichier `presentation.frag.html` afin de l’afficher.
Voir d’autres exemples dans la section [[Menu]](../menu#menu).
Les XSL des [plugins](../plugins) activés qui respectent la convention de nommage `plugins/[NOM_PLUGIN]/[NOM_PLUGIN].xsl` sont automatiquement appliquées.
|Nota Bene MB|
|---------|
|On ne comprend pas trop le truc des plugins ici…|
## Récupération et affichage de fragments hors contexte
Lors de la consultation d’un fragment, il peut s’avérer nécessaire d’afficher du contenu issu d’un ou plusieurs autres fragments.
L’ajout d'une XQUERY dans ``[projet-]editions/[edition]/xq/text_hook.xq`` offre cette fonctionnalité. Celle-ci sera automatiquement exécutée lors
de la consultation d’un fragment ou d’un document complet.
<divclass="mermaid">
graph LR;
A-->B
B-->C
C-->D
A["projet-editions"]
B["mon-edition"]
C["xq"]
D("text_hook.xq")
</div>
Il est également possible d’intégrer une transformation XSL au sein de cette fonction XQUERY.
Cette fonction reçoit les paramètres `$baseURI`, `$dbPath`, `$project` et `$doc`.
Exemple :
````
declare variable $baseURI external;
declare variable $dbPath external; (:path du document dans la db:)
declare variable $project external; (: id du projet :)
declare variable $doc external; (: nom du document :)
Cette fonctionnalité permet la consultation d’un fragment en deux versions alignées. Chaque couple de fragment alignés doit respecter une nomenclature d’identification : `[prefixlang1][identifiant]` et `[prefixlang2][identifiant]`
Cette fonctionnalité permet la consultation d’un fragment en deux versions alignées. Chaque couple de fragment alignés doit respecter une nomenclature d’identification : `[prefixlang1][identifiant]` et `[prefixlang2][identifiant]`. Les parties de texte qui sont à aligner doivent donc avoir un identifiant identique avec le préfixe de la langue.
```
Exemple :
fr_p1
et
lat_p1
Exemple : fr_p1 et lat_p1
```
La déclaration des documents qui doivent être consultés avec l'alignement se fait dans le fichier de configuration de l’édition `mon-edition_config_inc.xml`.
@@ -127,27 +84,79 @@ graph LR;
A-->B
B-->C
A["projet-editions"]
B["mon_edition"]
C("mon_edition_config_inc.xq")
B["mon-edition"]
C("mon-edition_config_inc.xq")
</div>
Il faut alors préciser le document (attribut `@document`) ainsi
que les préfixes d'identifications utilisés (attributs `@first-prefix` et `@second-prefix`) dans les sources.
Il faut alors préciser le document (attribut `@document`) ainsi que les préfixes d'identifications utilisés (attributs `@first-prefix` et `@second-prefix`) dans les sources. L'attribut `@first-prefix` correspondant à la langue qui sera affichée en colonne de gauche.
declare variable $dbPath external; (:path du document dans la db:)
declare variable $project external; (: id du projet :)
declare variable $doc external; (: nom du document :)
|Nota Bene MB|
|------------|
|Ne faut-il pas aussi préciser ici que les noms de fichiers XML qui vont être alignés doivent également avoir le même nom préfixé ou suffixé ? Et préciser à quoi correspond le document ? pourquoi choisir le fichier français comme document plutôt que le latin ?|
let $document := doc($dbPath || '/' || $doc)
return base-uri($document)
````
## Marquage d’occurrences & focus
Il est possible de mettre en évidence les occurences d’une chaîne de caractères et/ou de mettre le focus sur un fragment identifié de la page pour les 2 routes suivantes :
Il est possible de mettre en évidence les occurences d’une chaîne de caractères et/ou de mettre le focus sur un fragment identifié de la page pour les 2 URLs (ou routes) suivantes :