Commit 76a894dc authored by Anne Goloubkoff-Duponchel's avatar Anne Goloubkoff-Duponchel
Browse files

modification de l'architecture des dossiers pour les index

parent 9141ff1b
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
(: For conditions of distribution and use, see the accompanying legal.txt file. :)
xquery version "3.0";

module namespace max.plugin.index = 'pddn/max/plugin/index'; 
import module namespace max.config = 'pddn/max/config' at '../../rxq/config.xqm';
@@ -21,7 +22,7 @@ declare
%rest:path("/{$project}/index/{$type}.html")
function max.plugin.index:index($project,$type){
  let $projectLang := max.i18n:getLang($project)
  let $indexFilePath :=file:parent(file:parent(file:parent(static-base-uri()))) || '/editions/'||$project||'/fragments/'||$projectLang||'/index_'||$type||'.frag.html'
  let $indexFilePath :=file:parent(file:parent(file:parent(static-base-uri()))) || '/editions/'||$project||'/fragments/'||$projectLang||'/index/index_'||$type||'.frag.html'
  return
    if(file:exists($indexFilePath))
    then 
@@ -33,14 +34,15 @@ function max.plugin.index:index($project,$type){
};

declare function max.plugin.index:generateIndex($project,$type,$lang){  
let $indexFilePath :=file:parent(file:parent(file:parent(static-base-uri()))) || '/editions/'||$project||'/fragments/'||$lang||'/index_'||$type||'.frag.html'
let $indexFilePath :=file:parent(file:parent(file:parent(static-base-uri()))) || '/editions/'||$project||'/fragments/'||$lang||'/index/index_'||$type||'.frag.html'

let $custXQ := file:parent(file:parent(file:parent(static-base-uri())))||"editions/"||$project||"/xq/index_"||$type||".xq"
let $custXSL := file:parent(file:parent(file:parent(static-base-uri())))||"editions/"||$project||"/ui/xsl/index_"||$type||".xsl"
let $custXQ := file:parent(file:parent(file:parent(static-base-uri())))||"editions/"||$project||"/xq/index/index_"||$type||".xq"
let $custXSL := file:parent(file:parent(file:parent(static-base-uri())))||"editions/"||$project||"/ui/xsl/index/index_"||$type||".xsl"

let $HTMLIndex := if (file:exists($custXQ) and file:exists($custXSL))
(: let $HTMLIndex := if (file:exists($custXQ) and file:exists($custXSL))
                  then max.plugin.index:loadIndex($project,$type,$custXQ,$custXSL,$lang)
                  else "error"
                  else "error" :)
   let $HTMLIndex := max.plugin.index:loadIndex($project,$type,$custXQ,$custXSL,$lang)               

let $res := switch ($HTMLIndex)
        case "error"
+7 −3
Original line number Diff line number Diff line
@@ -11,7 +11,11 @@ La route associée à un index est `projet/index/typeindex.html` où `typeindex`

Ce plugin propose une route de base pour les types de documents en EAD (voir `index.xqm` et `indexing.xsl`).

Exemple de configuration du fichier xquery pour la génération d'un index des personnes (fichier à placer dans `PROJET/xq/index_personnes.xq`) :
Ne pas oublier de créer un dossier index, dans le dossier fragments, xq et ui/xsl du PROJET.

Un fichier html est généré lors du premier accès à cette page, la requête XQUERY et le traitement XSL associé sont exécutés lors de ce premier appel. Pour générer à nouveau la page d'index il suffit de supprimer le fichier `PROJET/fragments/LOCALE/index/index_typeindex.frag.html` souhaité.

Exemple de configuration du fichier xquery pour la génération d'un index des personnes (fichier à placer dans `PROJET/xq/index/index_personnes.xq`) :

```
<index type="personnes">
@@ -35,7 +39,7 @@ Exemple de configuration du fichier xquery pour la génération d'un index des p

```

Exemple de traitement XSL associé (fichier à placer dans `PROJET/ui/xsl/index_personnes.xsl`) :
Exemple de traitement XSL associé (fichier à placer dans `PROJET/ui/xsl/index/index_personnes.xsl`) :

```
<xsl:stylesheet version="2.0"
@@ -163,4 +167,4 @@ Exemple de traitement XSL associé (fichier à placer dans `PROJET/ui/xsl/index_
</xsl:stylesheet>
```  

Un fichier html est généré lors du premier accès à cette page, la requête XQUERY et le traitement XSL associé sont exécutés lors de ce premier appel. Pour générer à nouveau la page d'index il suffit de supprimer le fichier `PROJET/fragments/LOCALE/index_typeindex.frag.html` souhaité.