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 | # Structure d'une XSP et généralités Liste des actions décrites dans cette page : `sdx:page` ; `sdx:debug`. ## `sdx:page` ### Description `sdx:page` est l'élément primaire de l'API-XSP de SDX. Il crée un document SDX (i.e. un élément `sdx:document`) dans laquelle seront traités n'importe quels éléments l'API-XSP ou autre — c'est le seul éléments de l'API-XSP de SDX qui le permet. C'est `sdx:page` qui déclenche toutes les actions permettant d'initialiser les variables et les paramètres par défaut (comme `hpp` par exemple). Corollaire : il est possible de modifier certains comportements par défaut de SDX en changeant les paramètres par défaut dans le fichier `sdx.xsl` de la logicsheet.
Code implémentant cette action | `sdx.xsl`
Contexte d'utilisation | Elément fils de `xsp:page`.
Contenu éventuel | N'importe quel élément `sdx:*` ou autre.
### Paramètres Tableau 1. Paramètres communs
Nom | Description | Elément correspondant |
--- | --- | --- | ---
show | Ce paramètre permet de définir le résumé des informations de l'environnement dans lequel la page SDX est utilisée. Les valeurs autorisées : `session`, `get`, `post`, `put`, `headers`, `application`, `user`. Par défaut, SDX renvoie les informations concernant l'utilisateur et les paramètres HTPP (show="user get"). session Résume les paramètres Session dans des éléments `sdx:parameter type="session"`, fils de `sdx:parameters`. get Résume les paramètres HTTP (e.g. index.xsp?base=docs) dans des éléments `sdx:parameter type="get"`, fils de `sdx:parameters`. post Résume les paramètres envoyé par un formulaire avec la methode "POST" dans des éléments `sdx:parameter type="post"`, fils de `sdx:parameters`. user Résume les informations sur l'utilisateur courant dans un élément `sdx:user`. headers Résume les informations de l'environnement dans lequel la page XSP est activée telles que le type de navigateur, l'adresse de l'hôte, la langue acceptée par le navigateur, dans des éléments `sdx:parameter type="header"`, fils de `sdx:parameters`. | `sdx:init` | Facultatif
lang | Le paramètre de la langue est très important dans SDX (voir le chapitre SDX et le multilinguisme pour approfondir cette notion). SDX contrôle d'abord la définition d'une langue en paramètre (`sdx:parameter`), sinon il emploie un élément `xml:lang lang=""` présent dans la page. | `sdx:init` | Facultatif
### Exemple Exemple 1. Une page SDX simple Soit la page XSP suivante :
    <xsp:page
     xmlns:xsp="http://appache.org/xsp"
     xmlns:sdx="http://www.culture.gouv.fr/ns/sdx/sdx"
     xmlns="http://www.culture.gouv.fr/ns/sdx/sdx"
     langage="java"
    >

     <xsp:logicsheet
      location="sdxtest/conf/logicsheets/xsp-sdxtest.xsl"
     />
     <xsp:logicsheet
      location="sdxtest/conf/logicsheets/xsp-navigation.xsl"
     />

     <sdx:page langSession="l" langParam="l">
      <message_accueil/>
     </sdx:page>

    </xsp:page>
L'XML virtuel généré et prêt à être transformé :
    <sdx:document
     xmlns:xsp="http://appache.org/xsp"
     xmlns:sdx="http://www.culture.gouv.fr/ns/sdx/sdx"
     xml:lan="fr-FR"
     server="localhost:8080/sdx"
     api-url="http://localhost:8080/sdx/sdx/api-url"
     app="fr.culture.sdx.sdxtest"
     appbypath="sdxtest"
     uri="http://localhost:8080/sdx/sdxtest/accueil.xsp"
     version="2.1"
     build="20030603"
     date="Tue Jun 30 12:46:32 CEST 2003"
    >

     <message_accueil/>

     <sdx:user
      id="utilisateur01"
      firstname="Nom"
      lastname="Prénom"
      admin="false"
      email="id@mail"
      app="fr.culture.sdx.sdxtest"
      ip="127.0.0.1"
      host="localhost"
      xml:lang="fr"
     >

      <sdx:group id="lecteurs />

     </sdx:user>

     <sdx:parameters>
      <sdx:parameter
        type="session"
        name="lang" value="fr"
      />
      <sdx:parameter
        type="session"
        name="sdx_qi"
        value="q10"
      />
      <sdx:parameter
        type="session"
        name="sdx_user"
        value="fr.gouv.culture.sdx.user.UserInformation@1469c9"
      />
      <sdx:parameter
        type="session"
        name="sdx_q7"
        value="fr.gouv.culture.sdx.search.lucene.query.Results@141038c"
      />
      <sdx:parameter
        type="header"
        name="accept"
        value="image/gif, image/x-xbitmap, image/jpeg, ..."
      />
      <sdx:parameter
        type="header"
        name="referer"
        value="http://localhost:8080/sdx/sdxtest/accueil.xsp"
      />
      <sdx:parameter
        type="header"
        name="accept-language"
        value="fr"
      />
      <sdx:parameter
        type="header"
        name="user-agent"
        value="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"...
      />
      <sdx:parameter
        type="header"
        name="host"
        value="localhost:8080"
      />
      <sdx:parameter
        type="header"
        name="connection"
        value="Keep-Alive"
      />
      <sdx:parameter
        type="header"
        name="cookie"
        value="edit-false; JSESSIONID=..."
      />
     </sdx:parameters>

    </sdx:document>
Autrement dit, en-dehors d'un élément vide `message_accueil`, on trouve tout un panel d'information sur l'environnement dans lequel la page SDX est activée (voir la description du paramètre show). ## `sdx:debug` `sdx:debug` est une action importante de l'API-XSP de SDX pour tout développeur d'application. Chargée d'offrir des informations de débogage sur toutes les actions SDX, elle se veut une aide à la construction d'application. Son utilisation est des plus simples. Il suffit d'englober les actions que l'on souhaite déboguer avec `sdx:debug` dans la page XSP. Le flux XML (le XML virtuel généré par une page XSP) portera un surplus d'information sur les actions mentionnées.
Code implémentant cette action | `sdx.xsl`
Contexte d'utilisation | N'importe où dans `sdx:page`. `sdx:debug` englobe les actions que l'on souhaite déboguer.
Contenu éventuel | N'importe quel élément `sdx:*` ou autre.
sdx:debug ne comporte aucun paramètre en particulier. Elle en traite un très grand nombre, différents pour chaque action que l'on souhaite déboguer. Exemple 2. Activer la mise en évidence sur une ancienne requête Dans l'exemple suivant, on cherche à obtenir des informations de débogage sur l'action `sdx:executeFieldQuery` mise en oeuvre.
    <sdx:page>
     <sdx:debug>
      <sdx:executeFieldQuery
         field="sdxdocid"
         valueParam="id"
         hpp="1"
         docs="true"
         hiliteParam="qid">
     </sdx:debug>
    </sdx:page>
Noter le caractère peu orthodoxe de l'emploie de `sdx:executeFieldQuery` dans cette page XSP. L'action est détournée de son utilisation d'origine (dresser la liste des documents contenant une certaine valeur dans un champ) pour inclure un document XML comme le ferait `sdx:includeDocument`. L'intérêt d'employer `sdx:executeFieldQuery` est d'offrir au lecteur la possibilité de naviguer depuis n'importe résultat de requête vers n'importe quel autre résultat (du document numéro 2 de la requête `q14` vers la document numéro 24 de la même requête). `sdx:includeDocument`, qui inclue également des outils de navigation, ne permet effectivement que de naviguer avec un pas supérieur à 1 (depuis le document numéro 2 de la requête `q14`, on ne peut se rendre qu'aux documents numéros 1 et 3 de cette même requête).
| Auteur : Malo Pichot ( AJLSM ) - 2003-06-10

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