<?xml version="1.0"?>
<!DOCTYPE webpage PUBLIC "-//Norman Walsh//DTD Website V2.1b1//EN" "../../../dtd/website.dtd" [
<!ENTITY entrepot SYSTEM "../introduction/entrepots.xml" NDATA XML>
<!ENTITY pipeline SYSTEM "pipeline.xml" NDATA XML>
<!ENTITY schema-index SYSTEM "../../schemas/sdx-document-indexation.xsd" NDATA XML>
<!ENTITY schema-xconf SYSTEM "../../schemas/application-xconf.xsd" NDATA XML>
<!ENTITY sortie SYSTEM "sortie.xml" NDATA XML>
]>
<webpage id="indexation_attaches"> 
  <head> 
	 <title>Documents attachés</title> 
	 <titleabbrev>Documents attachés</titleabbrev> 
	 <author> 
		<firstname>Martin</firstname> 
		<surname>Sévigny</surname> 
		<affiliation> 
		  <orgname>AJLSM</orgname> 
		</affiliation> 
	 </author> 
	 <revhistory> 
		<revision> 
		  <revnumber>1.0</revnumber> 
		  <date>2003/05/03</date> 
		</revision> 
	 </revhistory> 
  </head> 
  <para>SDX gère très bien les documents qu'il indexe&#xA0;; il permet de les rechercher, mais également de les afficher en connaissant seulement leur identifiant, sans nécessairement savoir où ils se trouvent. Cette approche est très utile parce que les méthodes d'alimentation d'une base de documents ne permettent pas toujours de connaître précisément la localisation d'un document XML, par exemple lorsqu'on envoie le document via un formulaire Web.</para><para>Toutefois, l'affichage des documents doit souvent faire appel à d'autres documents, non indexés, mais qui sont reliés ou <emphasis>attachés</emphasis> d'une façon ou d'une autre au document XML. L'exemple le plus facile concerne les images&#xA0;; en effet, si un document XML <emphasis role="italic">fait appel</emphasis> à une image, il y a de fortes chances que lors de l'affichage de ce document il soit nécessaire de faire appel à l'image.</para><para>Il est donc intéressant que le mécanisme de localisation des documents par leur identifiant puisse aussi être appliqué aux documents reliés mais non indexés tels que les images, et ce afin de faciliter leur utilisation dans une application SDX, voire dans certains cas faciliter leur gestion. Le concept de document attaché dans SDX a été introduit pour répondre à ce besoin. Les documents attachés ne sont pas uniquement des images, ils peuvent être utilisés pour des documents de toute nature, binaires ou textuels.</para><para>Un document attaché a toujours un identifiant (unique dans une base de documents), et on peut le retrouver à l'aide de cet identifiant. Pour l'instant, seule la commande <literal>getatt</literal> de l'API URL de SDX permet de retourner un document attaché, sous la forme d'un flux binaire. Lorsqu'un document indexé est supprimé d'une base de documents, les documents attachés seront également supprimés mais seulement si aucun autre document n'y est relié. Il s'agit de la seule méthode permettant de supprimer un document attaché. Les documents attachés sont spécifiés lors du processus d'indexation, ils ne peuvent pas être créés indépendamment de ce processus. Ainsi, la création et la destruction des documents attachés ne se fait pas de manière autonome mais est toujours pilotée par les mêmes opérations effectuées sur les documents indexés auxquels ils sont rattachés.</para><para>Pour attacher un document à une unité documentaire, il faut ajouter une instruction semblable à celle-ci dans le résultat du pipeline d'indexation&#xA0;:</para><programlisting>
  &lt;sdx:attachedDocument id="img0002" url="images/image0002.jpg" mimetype="image/jpeg"/&gt;
</programlisting><para>Les variations possibles sont expliquées dans le document sur le <olink targetdocent="sortie">format de sortie</olink> de ce pipeline.</para></webpage> 
