Loading plugins/index/readme.md +74 −12 Changes for plugins/index/readme.md: 74 added lines, 12 removed lines. Original line number Diff line number Diff line Loading @@ -14,16 +14,23 @@ Ce plugin propose une route de base pour les types de documents en EAD (voir `in Exemple de configuration du fichier xquery pour la génération d'un index des personnes (fichier à placer dans `PROJET/xq/index_personnes.xq`) : ``` <index type="personnes">{for $idx in collection("bvmsm")//*:persname <index type="personnes"> {for $idx in collection("bvmsm")//*:persname let $cId := $idx/ancestor::*:c[1]/@id let $baseuri := base-uri($idx) let $cOtherlevel := $idx/ancestor::*:c[1]/@otherlevel let $role := $idx/@role let $initiale := substring($idx/@normal,1,1) let $cUnitid := $idx/ancestor::*:c[1]/descendant::*:unitid[1]/text() let $result := <marker id="{$cId}" otherlevel="{$cOtherlevel}" role="{$role}"> let $result := <marker id="{$cId}" otherlevel="{$cOtherlevel}" role="{$role}"> <entry>{$cUnitid}</entry> <value>{data($idx/@normal)}</value> <baseuri>{$baseuri}</baseuri> <initiale>{$initiale}</initiale> </marker> return $result} return $result } </index> ``` Loading @@ -38,21 +45,76 @@ Exemple de traitement XSL associé (fichier à placer dans `PROJET/ui/xsl/index_ xmlns:xinclude="http://www.w3.org/2001/XInclude" xmlns:xhtml="http://www.w3.org/TR/xhtml/strict" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:ead="urn:isbn:1-931666-22-9" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="tei xsl xsi xs xlink xinclude xhtml tei hfp"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="ead tei xsl xsi xs xlink xinclude xhtml tei hfp"> <xsl:output method="xml" encoding="utf-8"/> <xsl:output method="xhtml" encoding="utf-8" indent="no"/> <xsl:preserve-space elements="*:*"/> <xsl:template match="*:index[@type='personnes']"> <xsl:template match="/*:index[@type='personnes']"> <div class="{./@type}"> <h1>Index des personnes</h1> <xsl:for-each-group select="./descendant::*:marker" group-by="./*:value"> <h2> <xsl:value-of select="current-grouping-key()"/> <xsl:for-each-group select="./descendant::*:marker" group-by="@role"> <xsl:sort select="@role" order="ascending"/> <div class="subindex" id="{current-grouping-key()}"> <h2 class="collapsible"> <xsl:choose> <xsl:when test="@role='auteur'"><xsl:text>Auteurs</xsl:text></xsl:when> <xsl:when test="@role='annotateur'"><xsl:text>Annotateurs</xsl:text></xsl:when> <xsl:when test="@role='commanditaire'"><xsl:text>Commanditaires</xsl:text></xsl:when> <xsl:when test="@role='commentateur'"><xsl:text>Commentateurs</xsl:text></xsl:when> <xsl:when test="@role='conservateur'"><xsl:text>Conservateurs</xsl:text></xsl:when> <xsl:when test="@role='dedicataire'"><xsl:text>Dédicataires</xsl:text></xsl:when> <xsl:when test="@role='donateur'"><xsl:text>Donateurs</xsl:text></xsl:when> <xsl:when test="@role='editeur_sci'"><xsl:text>Éditeurs scientifiques</xsl:text></xsl:when> <xsl:when test="@role='graveur'"><xsl:text>Graveurs</xsl:text></xsl:when> <xsl:when test="@role='illustrateur'"><xsl:text>Illustrateurs</xsl:text></xsl:when> <xsl:when test="@role='imprimeur-libraire'"><xsl:text>Imprimeurs-libraires</xsl:text></xsl:when> <xsl:when test="@role='possesseur'"><xsl:text>Possesseurs</xsl:text></xsl:when> <xsl:when test="@role='scribe'"><xsl:text>Scribes</xsl:text></xsl:when> <xsl:when test="@role='traducteur'"><xsl:text>Traducteurs</xsl:text></xsl:when> <xsl:otherwise><xsl:value-of select="current-grouping-key()"/></xsl:otherwise> </xsl:choose> </h2> <div class="entries"> <xsl:value-of select="current-group()/*:entry" separator=" ; "/> <div class="developper"> <xsl:for-each-group select="current-group()" group-by="./*:initiale"> <xsl:sort select="./*:initiale" order="ascending"/> <fieldset id="{@role}{./*:initiale}"> <legend class="collapsible"> <xsl:value-of select="./*:initiale"/> </legend> <div class="developper"> <xsl:for-each-group select="current-group()" group-by="./*:value"> <xsl:sort select="./*:value" order="ascending"/> <p class="entries"> <xsl:text>– </xsl:text> <span class="persname"> <xsl:value-of select="*:value"/> </span> <xsl:text> : </xsl:text> <xsl:for-each select="current-group()"> <a target="_blank"> <xsl:attribute name="href"> <xsl:value-of select="./*:baseuri[1]"/> <xsl:text>/</xsl:text> <xsl:value-of select="./@id"/> <xsl:text>.html</xsl:text> </xsl:attribute> <xsl:value-of select="./*:entry"/> </a> <xsl:if test="not(position()=last())"> <xsl:text> ; </xsl:text> </xsl:if> </xsl:for-each> </p> </xsl:for-each-group> </div> </fieldset> </xsl:for-each-group> </div> </div> </xsl:for-each-group> </div> Loading Loading
plugins/index/readme.md +74 −12 Changes for plugins/index/readme.md: 74 added lines, 12 removed lines. Original line number Diff line number Diff line Loading @@ -14,16 +14,23 @@ Ce plugin propose une route de base pour les types de documents en EAD (voir `in Exemple de configuration du fichier xquery pour la génération d'un index des personnes (fichier à placer dans `PROJET/xq/index_personnes.xq`) : ``` <index type="personnes">{for $idx in collection("bvmsm")//*:persname <index type="personnes"> {for $idx in collection("bvmsm")//*:persname let $cId := $idx/ancestor::*:c[1]/@id let $baseuri := base-uri($idx) let $cOtherlevel := $idx/ancestor::*:c[1]/@otherlevel let $role := $idx/@role let $initiale := substring($idx/@normal,1,1) let $cUnitid := $idx/ancestor::*:c[1]/descendant::*:unitid[1]/text() let $result := <marker id="{$cId}" otherlevel="{$cOtherlevel}" role="{$role}"> let $result := <marker id="{$cId}" otherlevel="{$cOtherlevel}" role="{$role}"> <entry>{$cUnitid}</entry> <value>{data($idx/@normal)}</value> <baseuri>{$baseuri}</baseuri> <initiale>{$initiale}</initiale> </marker> return $result} return $result } </index> ``` Loading @@ -38,21 +45,76 @@ Exemple de traitement XSL associé (fichier à placer dans `PROJET/ui/xsl/index_ xmlns:xinclude="http://www.w3.org/2001/XInclude" xmlns:xhtml="http://www.w3.org/TR/xhtml/strict" xmlns:tei="http://www.tei-c.org/ns/1.0" xmlns:ead="urn:isbn:1-931666-22-9" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="tei xsl xsi xs xlink xinclude xhtml tei hfp"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="ead tei xsl xsi xs xlink xinclude xhtml tei hfp"> <xsl:output method="xml" encoding="utf-8"/> <xsl:output method="xhtml" encoding="utf-8" indent="no"/> <xsl:preserve-space elements="*:*"/> <xsl:template match="*:index[@type='personnes']"> <xsl:template match="/*:index[@type='personnes']"> <div class="{./@type}"> <h1>Index des personnes</h1> <xsl:for-each-group select="./descendant::*:marker" group-by="./*:value"> <h2> <xsl:value-of select="current-grouping-key()"/> <xsl:for-each-group select="./descendant::*:marker" group-by="@role"> <xsl:sort select="@role" order="ascending"/> <div class="subindex" id="{current-grouping-key()}"> <h2 class="collapsible"> <xsl:choose> <xsl:when test="@role='auteur'"><xsl:text>Auteurs</xsl:text></xsl:when> <xsl:when test="@role='annotateur'"><xsl:text>Annotateurs</xsl:text></xsl:when> <xsl:when test="@role='commanditaire'"><xsl:text>Commanditaires</xsl:text></xsl:when> <xsl:when test="@role='commentateur'"><xsl:text>Commentateurs</xsl:text></xsl:when> <xsl:when test="@role='conservateur'"><xsl:text>Conservateurs</xsl:text></xsl:when> <xsl:when test="@role='dedicataire'"><xsl:text>Dédicataires</xsl:text></xsl:when> <xsl:when test="@role='donateur'"><xsl:text>Donateurs</xsl:text></xsl:when> <xsl:when test="@role='editeur_sci'"><xsl:text>Éditeurs scientifiques</xsl:text></xsl:when> <xsl:when test="@role='graveur'"><xsl:text>Graveurs</xsl:text></xsl:when> <xsl:when test="@role='illustrateur'"><xsl:text>Illustrateurs</xsl:text></xsl:when> <xsl:when test="@role='imprimeur-libraire'"><xsl:text>Imprimeurs-libraires</xsl:text></xsl:when> <xsl:when test="@role='possesseur'"><xsl:text>Possesseurs</xsl:text></xsl:when> <xsl:when test="@role='scribe'"><xsl:text>Scribes</xsl:text></xsl:when> <xsl:when test="@role='traducteur'"><xsl:text>Traducteurs</xsl:text></xsl:when> <xsl:otherwise><xsl:value-of select="current-grouping-key()"/></xsl:otherwise> </xsl:choose> </h2> <div class="entries"> <xsl:value-of select="current-group()/*:entry" separator=" ; "/> <div class="developper"> <xsl:for-each-group select="current-group()" group-by="./*:initiale"> <xsl:sort select="./*:initiale" order="ascending"/> <fieldset id="{@role}{./*:initiale}"> <legend class="collapsible"> <xsl:value-of select="./*:initiale"/> </legend> <div class="developper"> <xsl:for-each-group select="current-group()" group-by="./*:value"> <xsl:sort select="./*:value" order="ascending"/> <p class="entries"> <xsl:text>– </xsl:text> <span class="persname"> <xsl:value-of select="*:value"/> </span> <xsl:text> : </xsl:text> <xsl:for-each select="current-group()"> <a target="_blank"> <xsl:attribute name="href"> <xsl:value-of select="./*:baseuri[1]"/> <xsl:text>/</xsl:text> <xsl:value-of select="./@id"/> <xsl:text>.html</xsl:text> </xsl:attribute> <xsl:value-of select="./*:entry"/> </a> <xsl:if test="not(position()=last())"> <xsl:text> ; </xsl:text> </xsl:if> </xsl:for-each> </p> </xsl:for-each-group> </div> </fieldset> </xsl:for-each-group> </div> </div> </xsl:for-each-group> </div> Loading