Télécharger
    Installer
    Présentation
    Configuration
    Indexation
    Recherche
    OAI
    Javadoc
    Référence API-XSP
    Migration
       Configuration
      + Sitemap  <-
       API-XSP
       API-URL
    Schemas
    Performances


SDX

La mise en place du sitemap Cocoon

Rappel du fonctionnement de SDX-1

Les applications SDX-1 sont construites en utilisant la technologie XSP de Cocoon. Ainsi, une page XSP est appelée, celle-ci produit un document XML virtuel qui est ensuite transformé avec une XSLT puis sérialisé pour être envoyé au navigateur Web qui a fait la demande. La page XSP est donc le producteur de contenu, la transformation XSLT est le transformateur de contenu, et la sérialisation est effectuée par un sérialiseur.

Le moteur Cocoon, qui prend en charge ces opérations, doit bien entendu savoir quel producteur, quel transformateur et quel sérialiseur utiliser. Pour ce faire, il puise ces informations à ces endroits :

  • Le producteur est identifié par l'URL de la demande faite par le navigateur. Par exemple, si l'URL se termine par sdx/test/index.xsp, Cocoon sait qu'il doit utiliser le fichier index.xsp dans le dossier test comme producteur de contenu.

  • Le transformateur est indiqué dans le fichier XSP producteur, à l'aide d'une instruction de traitement semblable à celle-ci : <?xml-stylesheet href="xsl/index.xsl" type="text/xsl"?>

  • Le sérialiseur est en général le sérialiseur par défaut, celui qui produit du HTML. Celui-ci est spécifié dans le fichier cocoon.properties.

Ce mécanisme est le même en Cocoon-2 et donc SDX-2, mais la façon de spécifier les producteurs, transformateurs et sérialiseurs est radicalement différente.

Concepts de base du sitemap

Les sitemap Cocoon peuvent servir à plusieurs choses, en particulier la définition de composantes et une partie de la logique applicative. Mais surtout, les sitemap servent à déterminer, en fonction de l'URL d'appel, quel producteur, quel transformateur et quel sérialiseur utiliser. Pour la migration depuis SDX-1, il est seulement important de préciser ces dernières informations en adaptant un sitemap existant.

Ces informations sont spécifiées à l'aide de pipelines définis de la sorte :

<map:match pattern="*.xsp">
  <map:generate type="xsp" src="{1}.xsp"/>
  <map:transform src="xsl/{1}.xsl"/>
  <map:serialize/>
</map:match>

Ce pipeline simple indique que pour une URL qui se termine par .xsp, le générateur sera le fichier du même nom, le contenu XML généré par ce fichier sera transformé par une transformation XSLT définie dans le fichier du même nom, mais avec une extension .xsl et situé dans le dossier xsl (par exemple si on appelle l'URL index.xsp la transformation sera effectuée selon le fichier xsl/index.xsl) et enfin, le contenu est sérialisé à l'aide du sérialiseur par défaut défini ailleurs dans la sitemap (habituellement le sérialiseur HTML). Ce type de pipeline peut être utilisé dans plusieurs situations, et il est aisé d'en ajouter d'autres pour gérer les exceptions.

Le sitemap d'une application SDX-1

Dans le cas d'une migration depuis une application SDX-1 traditionnelle, le sitemap sera très simple, composé de la règle ci-dessus et de quelques autres règles à ajouter pour les exceptions. De plus, comme le sitemap principal de SDX monte automatiquement les sitemap nommés sitemap.xmap situés dans les dossiers des applications, il suffit de mettre ces pipelines dans ce fichier.



Auteur : Martin Sévigny ( AJLSM ) - 2002/07/22