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

Affichage des documents

Liste des actions décrites dans cette page :

Concepts clés

La recherche documentaire au sein d'une collection de documents XML est la fonction première de SDX. Si l'affichage de ces documents est une fonction secondaire, elle demeure relativement incontournable.

SDX offre une action permettant l'inclusion d'un document XML dans une page (cf. sdx:page sur la notion de page SDX) : sdx:includeDocument. Le document est offert tel quel ; c'est-à-dire comme un ensemble d'éléments (au sens XML du terme). Ce système simple présente un intérêt majeur puisqu'il permet de travailler le document dynamiquement. Plusieurs styles d'affichage peuvent donc être définis. Par exemple, on peut masquer une partie du document suivant l'identité de l'utilisateur courant ou simplement modifier l'organisation des informations. Bref, c'est toute la puissance du couple XML/XSLT qui est offerte ici.

En relation avec la lecture d'un document XML issus d'une requête, SDX offre des fonctions de navigation au sein des résultats (cf. sdx:navigation). Le développeur d'application peut ainsi permettre au lecteur de naviguer littéralement d'un document à un autre suivant un système de document précédent-suivant.

sdx:includeDocument

L'action sdx:includeDocument permet d'inclure un document dans une page SDX. Le document est offert tel quel ; c'est-à-dire comme un ensemble d'éléments (au sens XML du terme). Ce système simple présente un intérêt majeur puisqu'il permet de travailler le document dynamiquement. Plusieurs styles d'affichage peuvent donc être définis. Par exemple, on peut masquer une partie du document suivant l'identité de l'utilisateur courant ou simplement modifier l'organisation des informations. Bref, c'est toute la puissance du couple XML/XSLT qui est offerte ici.

La seule condition nécessaire à l'utilisation de cette action est de connaître l'identifiant du document (id). Dans certains cas, il peut être nécessaire de préciser l'application (app) et la base de documents (base) gérant le document.

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

Tableau 1. Paramètres communs

NomDescriptionElément correspondant 
baseIdentifiant de la base de documents.sdx:baseFacultatif
idIdentifiant du document.sdx:idObligatoire
attidIdentifiantsdx:idFacultatif
qidIdentifiant de la requête.sdx:navigationFacultatif
noIdentifiant du résultat au sein de la requête.sdx:navigationFacultatif
hiliteParamètre gérant la lise en surbrillance du (des) terme(s) de la requête. Les valeur autorisées sont true et false.sdx:hiliteFacultatif

Exemple 1. Inclure un document dans une page SDX

L'exemple suivant est une page XSP dans laquelle on demande l'inclusion d'un document XML. Le choix du conteneur de ce document (ici document) est complètement arbitraire.

<sdx:page>
  <document>
    <sdx:includeDocument idParam="id" baseParam="base"/>
  </document>
</sdx:page>

Voici le XML virtuel généré par cette page XSP :

<sdx:page>
  <document>
    <article id="F1614199900014">
     <articleinfo>...</articleinfo>
     <section>
      <para>...</para>
      <mediaobject>...</mediaobject>
     </section>
    </article>
  </document>
</sdx:page>

Exemple 2. Afficher un document issu d'une requête

Dans l'exemple suivant, on affiche un document issu d'une requête. L'élément sdx:hilite permet de passer l'information nécessaire pour la mise en surbrillance du ou des termes de la requête. Noter que l'élément sdx:includeDocument de la page XSP demandait l'activation de cette option.

<sdx:page>
 <document>

  <sdx:includeDocument
    idParam="id"
    qidParam="qid"
    noParam="n"
    hilite="true"
  />

  </document>
</sdx:page>

Voici le résultat de l'URL {serveur SDX}/sdxtest/doc.xsp?id=F1614199900014&qid=q0&n=3

<sdx:page>
  <document>
    <sdx:hilites>
      <sdx:term value="france"/>
    </sdx:hilites>
    <article id="F1614199900014">
      ... <sdx:hilite no="1" term="france">France<sdx:hilite> ...
    </article>
    <sdx:navigation qid="q0" page="1" no="3" queryId="q0" docNo="3">
      <sdx:previous
        id="F1388199800042"
        base="docs"
        app="fr.culture.sdx.adfi"
        no="2"
        page="1"
        docId="F1388199800042"/>
      <sdx:next
        id="F1354199500011"
        base="docs"
        app="fr.culture.sdx.adfi"
        no="4"
        page="1"
        docId="F1354199500011"/>
    </sdx:navigation>
  </document>
</sdx:page>

sdx:show(CHECK)

Comme il a été dit dans l'introduction de cette page, sdx:show n'est pas une action SDX à proprement parlé. Elle offre des paramètres SDX utilisables par des actions (généralement des actions de recherche). Le résultat demeure le même qu'en utilisant sdx:includeDocument : le document est inclus dans le XML virtuel prêt à être transformé et affiché dans le navigateur (voir la section Pages XSP pour approfondir la notion de génération/transformation/sérialisation).

Code implémentant cette actionsdx-queries.xsl
Contexte d'utilisationsdx:show et ses paramètres spécifiques peuvent peuvent être employés dans sdx:deleteDocuments et avec l'ensemble des actions de recherche.
Contenu éventuelAucun.

Tableau 2. Paramètres spécifiques

NomDescription 
docsParamètre gérant l'inclusion des documents dans la liste des résultats. Les valeurs autorisées sont true ou false.Obligatoire
noNuméro du résultat que l'on souhaite afficher.Obligatoire
nIdem. Déprécié 
pageNuméro de la page que l'on souhaite afficher.Obligatoire
pIdem. Déprécié 


Auteur : Malo Pichot (AJLSM) - 2003-11-26