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

Paramètres et contrôle du flux

Liste des actions décrites dans cette page :

sdx:fallback(CHECK)

Cette action permet de définir une sorte de stratégie de repli. sdx:fallback suit toujours (FIXME) une action dans la page XSP. Si cette action échoue, alors le contenu de sdx:fallback est exécuté.

Code implémentant cette actionsdx.xsl
Contexte d'utilisation

sdx:fallback peut être employé pour les actions d'indexation (excepté sdx:deleteDocuments) et à l'ensemble des actions de gestion des droits. Il est également possible de l'employer lors du contrôle d'un paramètre (cf. sdx:parameter) ou de l'existence de résultats (cf. sdx:results).

Contenu éventuelsdx:fallback peut être vide ou contenir n'importe quel élément (sdx:* ou autre).

L'action sdx:fallback n'emploie aucun paramètre spécifique ou commun.

Exemple 1. Echec d'une identification

L'exemple suivant présente une page XSP devant gérer l'accès au formulaire d'indexation. Celui ne doit être accessible qu'à l'administrateur de l'application. Dans le cas où l'utilisateur courant n'est pas l'administrateur, on génère l'affichage d'un message.

<sdx:page>
  <sdx:userIsAdmin>
    <form type="upload">
    <sdx:fallback>
      <message type="utlisateur_non_identifie"/>
    </sdx:fallback>
  </sdx:userIsAdmin>
</sdx:page>

sdx:success(CHECK)

sdx:success est construite sur le même modèle que sdx:fallback. Contrairement à cette dernière action, elle permet de définir une stratégie en cas de succès.

Code implémentant cette actionsdx.xsl
Contexte d'utilisation

sdx:success peut être soumise aux actions d'indexation, pour vérifier un paramètre (sdx:parameter) ou pour tester la présence de résultats après une requête (sdx:results).

Contenu éventuelsdx:success peut être vide ou contenir n'importe quel élément (sdx:* ou autre).

sdx:success n'emploie aucun paramètre (spécifique ou commun).

Exemple 2. Succès lors de l'indexation (CHECK)

L'exemple suivant présente la gestion d'une indexation. Si celle-ci c'est correctement déroulée, on demande la sortie des termes contenus dans l'index "champ" (cf. sdx:terms pour approfondir cette notion). En cas d'échec, on génère l'affichage d'un message spécifique.

<sdx:page>
  <sdx:uploadDocuments>
    <sdx:success>
      <sdx:terms field="champ"/>
    </sdx:success>
    <sdx:fallback>
      <message type="echec_indexation"/>
    <sdx:fallback>
  </sdx:uploadDocuments>
</sdx:page>

sdx:parameter(CHECK)

sdx:parameter est une action commune à l'ensemble des outils de l'API-XSP de SDX. Comme son nom l'indique, elle permet de passer des paramètres nécessaires à la contextualisation des actions. Il existe plusieurs manière de définir ces paramètres de façon dynamique (action de l'utilisateur ou réaction de l'application à un contexte donné) ou de manière statique (paramètre défini directement dans une page XSP). On se reportera à la section Logique des paramètres SDX pour approfondir cette notion.

Code implémentant cette actionsdx-parameters.xsl
Contexte d'utilisationN'importe où dans sdx:page. sdx:parameter est employé par l'ensemble des actions SDX pour passer ou récupérer un paramètre.
Contenu éventuelsdx:parameter peut contenir sdx:fallback et sdx:success. Il est donc possible de définir des stratégies ou des actions calculées selon le contexte.

Exemple 3. Définition de paramètres dans une application

Dans cet exemple de page XSP, on demande la sortie de l'ensemble des termes contenus dans un index. Le nom de cet index est donné par l'attribut field directement dans le code. L'utilisateur n'intervient pas ; l'application n'effectue pas de choix suivant un contexte donné (on parle également de calcul d'un paramètre). Noter l'emploi du paramètre hpp réglé sur la valeur -1 ; il permet d'indiquer que l'ensemble des résultats doit être inclus dans une seule page.

<sdx:page>
 <sdx:terms field="auteur" hpp="-1"/>
</sdx:page>

Le second exemple présente la même action (sdx:terms) mais dans un contexte différent. Cette fois, le choix de l'index et du nombre de résultat par page est dynamique.

<sdx:page>
 <sdx:terms fieldParam="f" hppParam="hpp"/>
</sdx:page>

Ainsi, une URL {serveur SDX}/sdxtest/terms.xsp?f=auteur&hpp=20 renverra la première page de la liste des termes contenus dans l'index auteur, chaque page contenant 20 résultats. Noter que l'on ne s'inquiète pas de préciser l'application et la base de documents gérant cet index. SDX renvoie effectivement ces paramètres, conservés en mémoire ; il s'agit des paramètres par défaut. On pourra se reporter à la section réservée à l'action sdx:location pour voir un exemple d'élargissement d'une telle interrogation sur plusieurs bases de documents.

Exemple 4. Définition d'une stratégie en cas de non connexion

Dans l'exemple suivant (tiré de l'application de démonstration SDXTest), on cherche à savoir si l'utilisateur courant a tenté de se connecter ou non. Si c'est le cas, le paramètre HTTP id est présent. Si le paramètre id n'apparaît, cela signifie que l'utilisateur n'a pas tenté de se connecter.

<sdx:page>
 <sdx:parameter valueParam="id">
  <sdx:fallback>
   <message type="utilisateur_non_connecté">
  </sdx:fallback>
  <sdx:success>
   <message type="utilisateur_connecté">
  </sdx:success>
 </sdx:parameter>
</sdx:page>

sdx:parameters(TODO)

sdx:parameters répond à la même logique que sdx:parameter décrit plus haut. Il est employé pour les paramètres répétables.

Code implémentant cette actionsdx-parameters.xsl
Contexte d'utilisationN'importe où dans sdx:page.
Contenu éventuelAucun.


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