Documentation SDX-2 Télécharger Installer Présentation Configuration Indexation Pipeline Original et usage Paramètres Format de sortie Champs SDX Documents attachés Fragmentation Thésaurus Recherche OAI Javadoc Référence API-XSP Migration Schemas Performances | # Paramètres d'indexation L'indexation d'un document XML se fait à l'aide d'un pipeline d'indexation ; comme tout pipeline en SDX, celui-ci peut recevoir des paramètres. Ces paramètres sont transférés à toutes les transformations du pipeline, sans aucune distinction. Ces transformations peuvent choisir ou non d'utiliser les paramètres. Nous allons définir ici les paramètres que SDX fournit à tous les pipelines d'indexation, de même que la procédure à suivre pour fournir vos propres paramètres d'indexation. ## Paramètres SDX Les paramètres suivants sont fournis par SDX au pipeline d'indexation, lors de toute opération d'indexation. docUrl L'adresse URL absolue du document indexé, lorsqu'une telle adresse existe. Ce sera le cas lorsque le document est fourni à SDX sous la forme d'un fichier ou d'une adresse URL ; sinon, ce paramètre ne sera pas renseigné, par exemple lorsque le document a été fourni à SDX sous la forme d'un objet DOM. sdxUser Le code de l'utilisateur SDX qui a déclenché le processus d'indexation. Ce paramètre est facultatif, car il est possible qu'aucun utilisateur n'ait été spécifié lors du lancement du processus, par exemple si c'est un appel direct à l'API Java. Lorsqu'on passe par l'API XSP, SDX renseigne toujours l'utilisateur et ce champ est donc toujours présent. sdxDate La date actuelle complète (avec journée, heure et minute). A noter que si un lot de documents est envoyé à l'indexation, la date est modifié au démarrage de l'indexation de chaque document. Le format de la date contenue dans ce paramètre dépend de la machine virtuelle Java et de sa configuration. Techniquement, la date est obtenue avec cet appel Java : `java.text.DateFormat.getDateTimeInstance(java.text.DateFormat.FULL, java.text.DateFormat.FULL).format(new java.util.Date())`. C'est le locale système qui déterminera le format exact utilisé. Voici un exemple : `vendredi 2 mai 2003 08 h 14 CEST`. Il est préférable d'utiliser ce paramètre dans le cas où la date doit être affichée, pas pour être exploitée par l'informatique. sdxISO8601Date La date actuelle complète (avec journée, heure et minute). A noter que si un lot de documents est envoyé à l'indexation, la date est modifiée au démarrage de l'indexation de chaque document. Le format de la date contenue dans ce paramètre respecte la norme ISO 8601 : `yyyy-MM-dd'T'HH:mm:ssz`, par exemple `2003-05-02T08:14:00CEST`. ## Comment utiliser ces paramètres ? Toutes les transformations qui font partie d'un pipeline d'indexation ont accès à ces informations. L'accès aux paramètres va varier selon que la transformation est une XSLT ou une classe Java (les deux mécanismes supportés par SDX). ### Transformations XSLT Pour bénéficier de ces paramètres, vous devez les déclarer comme des paramètres XSLT de premier niveau, de cette façon :
    <xsl:stylesheet>
      <xsl:param name="docUrl"/>
      <xsl:param name="sdxUser"/>
      <xsl:param name="sdxDate"/>
      <xsl:param name="sdxISO8601Date"/>
      ...
    </xsl:stylesheet>
Par la suite, vous pouvez les utiliser où vous voulez dans votre transformation en les appelant comme des variables, par exemple ainsi :
      <xsl:template match="doc">
        <xsl:message>Début de l'indexation du document
           <xsl:value-of select="@id"/> à <xsl:value-of select="$sdxDate"/>
           par <xsl:value-of select="$sdxUser"/>
        </xsl:message>
      </xsl:template>
### Classes Java Une transformation d'un pipeline peut être implémentée par une classe Java qui implémente l'interface fr.gouv.culture.sdx.pipeline.Transformation. Cette interface a une méthode `setParameters(org.apache.avalon.framework.parameters.Parameters)` qui sera utilisée par SDX pour passer les paramètres. La classe qui implémente cette interface n'a plus qu'à gérer correctement les paramètres en interne. A noter que pour simplifier cette gestion des paramètres, il est conseillé de créer une classe qui étend `fr.gouv.culture.sdx.pipeline.AbstractTransformation`, car cette classe abstraite implémente déjà la gestion des paramètres et met à disposition des classes qui étendent une variable protégée `parameters` qui les contient.
| Auteur : Martin Sévigny ( AJLSM ) - 2003-05-14

| Home |
Copyright © 2000, 2001, 2002, 2003, 2004 Ministère de la culture et de la communication, AJLSM.