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 | PipelinesListe des actions décrites dans cette page : 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. 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.
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. 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.
Tableau 1. Paramètres spécifiques
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 |