Télécharger
    Installer
    Présentation
    Configuration
    Indexation
    Recherche
    OAI
    Javadoc
    Référence API-XSP
       Pages XSP
       Paramètres SDX
       Vue d'ensemble
          Structure
          Paramètres et flux
          Identification
          Droits
          Localisation
         +Pipelines <-
          Thesaurus
          Indexation
          Recherche
          Documents
       Liste alphabétique
    Migration
    Schemas
    Performances


SDX

Pipelines

Liste des actions décrites dans cette page :

Concepts clés

Si SDX est avant un outil de recherche de documents XML, celle-ci n'est possible qu'au sein d'une collection de documents dûment renseignée et définie auprès de SDX lui-même. Cette collection est confondue avec la notion de base de documents dans SDX. Elle comprend, entre autres, la référence des documents accompagnée d'un certain nombre de champs et de valeurs jugés pertinents pour retrouver le document en question. La construction de cette collection comprend plusieurs phases. Celle qui nous intéresse ici est le référencement des documents et la création des couples champs/valeurs cités plus haut, autrement dit : l'indexation.

Une indexation peut se faire de manière statique ou dynamique, comme c'est le souvent le cas avec SDX. Les éléments de l'API-XSP de SDX décrits ici permettent de définir une indexation dynamique de documents à partir de la définition de pipelines d'indexation.

On se reportera aux sections Bases de documents et Indexation pour approfondir ces notions.

sdx:pipeline(CHECK)

L'action décrite ici permet de définir les pipelines d'indexation introduits plus haut. Chaque pipeline est représenté par une ou plusieurs transformations générant une structure XML simple contenant des couples champs/valeurs, à parti d'un document source.

Code implémentant cette actionsdx-pipelines.xsl
Contexte d'utilisationsdx:pipeline est utilisable dans un sdx:index, dans une page XSP (pipeline dynamique) ou dans le fichier application.xconf (pipeline statique).
Contenu éventuelsdx:pipeline comprend des éléments sdx:transformation pour définir les différentes étapes de construction de l'XML d'indexation. Il comprend également d'autres éléments ou attributs  : el, sdx:parameter, xsp:text, att (TODO).

Exemple 1. Un pipeline d'indexation dynamique

L'exemple suivant veut profiter de l'opportunité des pipelines d'indexation dynamiques pour tester un paramètre devant régler le type de transformation à adopter. Un paramètre de session est testé pour cela (voir la section La logique des paramètres SDX pour approfondir cette notion). Noter l'emploi de sdx:pipeline dans un élément déclencheur de l'indexation (sdx:uploadDocument) lui-même régi par un élément testant la qualité de l'utilisateur (sdx:userIsAdmin) : l'indexation ne s'effectuera pas si l'utilisateur n'est pas assimilé à l'administrateur.

<sdx:page>
 <sdx:userIsAdmin>
  <sdx:uploadDocument ...>
   <sdx:pipeline>
    <sdx:parameter name="type" valueSession="architecture">
     <sdx:success>
      <sdx:transformation
       id="architecture"
       type="XSLT"
       src="archi.xsl"
      />
     </sdx:success>
     <sdx:fallback>
      <sdx:transformation
       id="mobilier"
       type="mobilier"
       src="mob.xsl"
      />
     </sdx:fallback>
    </sdx:parameter>
   </sdx:pipeline>
  </sdx:uploadDocument>
 </sdx:userIsAdmin>
</sdx:page>

On trouvera un exemple complet de pipeline dynamique à la section Pipeline d'indexation.

sdx:transformation(CHECK)

Le processus d'indexation (rapidement décrit plus haut) comprend une phase de transformation du document XML. Cela signifie qu'il est nécessaire de formater la source avant de l'intégrer dans une base de documents.

De la même manière que sdx:pipeline, sdx:transformation entre dans le processus d'indexation de documents. Cette action n'est jamais employée seule ; elle est toujours (FIXME) incluse dans la définition d'un pipeline. A noter qu'un pipeline peut contenir une ou plusieurs transformations.

Une transformation est définie par la feuille de style employée pour la création du nouveau document. L'URL de cette feuille peut être indiquer dans la page XSP ou comme paramètre HTTP.

Code implémentant cette actionsdx-pipelines.xsl
Contexte d'utilisationSeulement à l'intérieur d'un sdx:pipeline (FIXME).
Contenu éventuelAucun.

Tableau 1. Paramètres spécifiques

NomDescription 
typeDéfini le type de transformation (e.g. XSLT ou le nom de la classe Java).Facultatif (FIXME)
srcIdentifie le feuille de style employée pour la transformation.Obligatoire
keepParamètre booléen (true ; false) commandant la conservation du documentation issu de la transformation pour affichage (cf. la section Document original, document d'usage).Facultatif

Exemple 2. Le pipeline d'indexation de la base des utilisateurs

La portion de code suivante reproduit le pipeline d'indexation employé dans toute application SDX pour gérer la base des utilisateurs. Le pipeline y est défini statiquement dans le fichier application.xconf. Il ne comprend qu'une opération de transformation, de type XSLT. L'URL de la feuille de style utilisée est relative au fichier application.xconf.

<sdx:application>
 <sdx:userDocumentBase>
  ...
  <sdx:index>
   <sdx:pipeline>
    <sdx:transformation
     id="step1"
     type="XSLT"
     src="/sdx/resources/indexation/index-identity.xsl"
    />
   </sdx:pipeline>
  </sdx:index>
 </sdx:userDocumentBase>
</sdx:application>


Auteur : Malo Pichot (AJLSM) - 2003-06-04