Documentation SDX-2 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 | # Pipelines Liste des actions décrites dans cette page : `sdx:pipeline` ; `sdx:transformation`. ## 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 action | `sdx-pipelines.xsl`
Contexte d'utilisation | `sdx:pipeline` est utilisable dans un `sdx:index`, dans une page XSP (pipeline dynamique) ou dans le fichier `application.xconf` (pipeline statique).
Contenu éventuel | `sdx: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 action | `sdx-pipelines.xsl`
Contexte d'utilisation | Seulement à l'intérieur d'un `sdx:pipeline` (FIXME).
Contenu éventuel | Aucun.
Tableau 1. Paramètres spécifiques
Nom | Description |
--- | --- | ---
`type` | Défini le type de transformation (e.g. XSLT ou le nom de la classe Java). | Facultatif (FIXME)
`src` | Identifie le feuille de style employée pour la transformation. | Obligatoire
`keep` | Paramè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

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