Paramétrer l'affichage des notices

De WIKI-BOKEH
Aller à : navigation, rechercher

Bokeh vous permet la personnalisation de votre portail tant sur la partie graphique que sur la gestion de contenu.
Ainsi, l'affichage des notices est totalement paramétrable par profil et par type de documents.
La notice contient diverses sources d'information, une partie provenant du SIGB et une autre des web-services intégrés au portail.
C'est la gestion et la présentation de ces informations que nous nous proposons d'aborder ici.

Pour info : les vignettes affichées sur les notices proviennent d'un serveur de cache, lui même alimenté par :

  • http://www.journaux.fr/ : pour les périodiques
  • Amazon : pour les livres, dvd, cd
  • Allociné : dvd
  • Alimentation mutualisée par les bibliothèques : quand vous ajoutez une vignette manquante via l'interface, elle est partagée


Paramétrer l'affichage des notices[ ]

Pour paramétrer l'affichage des notices, il faut être connecté en administrateur et sélectionner une notice du catalogue.
Cliquer ensuite sur la clé à molette Cle molette.jpg, située en haut à droite du cadre présentant la notice.

Record.png

Ceci fait apparaître la fenêtre de configuration suivante.

Record conf intro.png

A retenir  :
L'affichage est lié au type de document et au profil, autrement dit, il faut répéter cette opération autant de fois que vous possédez de types de documents différents et de profils sur votre portail. L'affichage d'un type de document se fait à partir d'une notice du type souhaité. Par la suite, à chaque fois que vous introduirez dans votre catalogue un nouveau support, il sera nécessaire de le paramétrer.



Onglets et blocs[ ]

Dans le tableau ci-dessous sont disposées toutes les rubriques enrichissant la notice.

Les options d'affichage sont les suivantes :

  • Ne pas afficher
  • Bloc déplié : Affiche le titre de la rubrique puis son contenu au chargement de la page
  • Bloc fermé : Affiche uniquement le titre de la rubrique au chargement de la page. L'internaute devra cliquer sur le titre pour voir le contenu de cette rubrique.
  • Onglet : Affiche le titre de cette rubrique sous forme d'onglet après toutes les rubriques en affichage bloc (ouvert ou fermé). Le contenu de la première rubrique en affichage onglet sera affiché au chargement de la page. L'internaute devra cliquer sur les autres onglets pour voir le contenu des autres rubriques en mode onglet.

Vous pouvez également disposer de l'ordre des rubriques en modifiant les chiffres (colonne Ordre).
De plus, vous avez la possibilité de renommer les titres des rubriques (colonne Titre).

Record conf blocs.png



Paramétrer l'entête de notice[ ]

Lorsque vous visualisez une notice, la zone d'entête se situe immédiatement sous le titre de la notice. Les informations présentes sont paramétrables et extraites de la notice détaillée.

Fichier:Entete notice.jpg

Choisissez les informations souhaitées dans la colonne Champs disponibles et placez les par un simple glisser/déposer dans la colonne Champs sélectionnés.


Record conf header.png

Zones de liens[ ]

Bokeh est capable d'afficher dans la rubrique "Description du document" les liens internets présents dans l'unimarc en zone 856$u. Si vous souhaitez afficher des liens se situant dans d'autres zones de vos notices Unimarc, vous devez renseigner la zone, le champ contenant l'url et le champ contenant le libellé. Les trois saisies sont obligatoires. S'il n'y a pas de champs contenant le libellé vous pouvez répéter le champs contenant l'url.

Record conf links zones.png

Affichage de la vignette[ ]

Au premier affichage de la notice, la vignette est recupérée :

  • Si une zone ou plusieurs zones de vignettes sont définies et contiennent une url d'image (.png, .jpg, .jpeg, .gif) la premiere est affichée
  • Sinon Bokeh interroge le serveur de cache pour recupérer la vignette correspondante.
  • Si aucune vignette n'est trouvée, la vignette par default est affichée. Dans ce cas, l'information est stockée. et lors du prochain affichage de cette notice, Bokeh ne cherchera plus la vignette. La réinitialisation de cette information se fait via le menu "Cache des images" de l'espace d'administration.

Configuration de la zone de la vignette[ ]

Thumbnail zone notice.png


Mise à jour manuelle de la vignette[ ]

Bokeh dispose de deux actions pour changer la vignette

Generate thumbnail.png
  • Modifier la vignette permet de saisir une URL personnalisé pour cette notice. Cette vignette sera partagée entre tous les Bokeh déployés.
  • Générer la vignette va supprimer la vignette courante (ou l'information d'absence de vignette) pour relancer le processus de recherche automatique; soit sur le serveur mutualisé, soit dans les zones unimarc configurées.

Démonstration en vidéo[ ]

Dépouillement[ ]

Bokeh est capable d'afficher dans la rubrique "Contient", les notices de dépouillement présentes dans l'unimarc.
Pour cela, vous devez spécifier la zone ainsi que les champs contenant les titres et ceux contenant les auteurs ainsi que configurer la rubrique "Contient"


width:500px

Conf depouillement.jpg

Si la notice comporte effectivement des données dans la zone configurée la rubrique "Contient" sera affichée

width:500px


Style de boîte[ ]

Si vous disposez d'une charte graphique spécifique contenant des variantes de style de boîtes, vous pouvez définir dans quel style de boîte doivent s'afficher les notices de ce type de document.

Record conf display.png


Remplacer le bloc description par un fichier XSL[ ]

Vous pouvez remplacer le bloc description par un la mise en page d'un fichier XSL.

Pour cela vous devez sélectionner un fichier XSL dans la configuration du la vue notice du type de document.

Une fois sélectionné, le fichier XSL est utilisé pour mettre en page le bloc description.

Le fichier XSL va se servir de la notice au format MarcXML pour lire les données.

Pour visualiser les données de la notice au format MarcXML, vous devez activer la variable "INSPECTOR_GADGET_MARC_XML" puis utiliser inspecteur gadget dans la vue notice pour consulter l'onglet "MARC-XML".

Exemple de fichier XSL[ ]

<!DOCTYPE stylesheet [
<!ENTITY nbsp " " >]>
<xsl:stylesheet version="1.0"
	xmlns:marc="http://www.loc.gov/MARC21/slim"
	xmlns:items="http://www.koha-community.org/items"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  exclude-result-prefixes="marc items">
	<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/>
	<xsl:template match="/">
		<xsl:apply-templates/>
	</xsl:template>
	<!-- debut du report de utils -->
	<xsl:template name="datafield">
		<xsl:param name="tag"/>
		<xsl:param name="ind1">
			<xsl:text></xsl:text>
		</xsl:param>
		<xsl:param name="ind2">
			<xsl:text></xsl:text>
		</xsl:param>
		<xsl:param name="subfields"/>
		<xsl:element name="datafield">
			<xsl:attribute name="tag">
				<xsl:value-of select="$tag"/>
			</xsl:attribute>
			<xsl:attribute name="ind1">
				<xsl:value-of select="$ind1"/>
			</xsl:attribute>
			<xsl:attribute name="ind2">
				<xsl:value-of select="$ind2"/>
			</xsl:attribute>
			<xsl:copy-of select="$subfields"/>
		</xsl:element>
	</xsl:template>
	<xsl:template name="tag_099">
		<xsl:if test="marc:datafield[@tag=099]">
			<br/>
			<li>
				<strong>Informations locales : </strong>
				<xsl:for-each select="marc:datafield[@tag=099]">
					<xsl:if test="marc:subfield[@code='a']">
						<li>
							<strong>
								<xsl:text>Créateur : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='a']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='b']">
						<li>
							<strong>
								<xsl:text>Dernier modificateur : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='b']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='c']">
						<li>
							<strong>
								<xsl:text>Date de cration : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='c']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='d']">
						<li>
							<strong>
								<xsl:text>Date de modification : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='d']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='e']">
						<li>
							<strong>
								<xsl:text>Export BDSP : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='e']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='f']">
						<li>
							<strong>
								<xsl:text>Base d'origine : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='f']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g']">
						<li>
							<strong>
								<xsl:text>Code de centre BDSP : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='g']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='s']">
						<li>
							<strong>
								<xsl:text>Priodique : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='s']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='t']">
						<li>
							<strong>
								<xsl:text>Type de document : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='t']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='u']">
						<li>
							<strong>
								<xsl:text>Type de BO : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='u']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='y']">
						<li>
							<strong>
								<xsl:text>Secteur thmatique : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='y']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='z']">
						<li>
							<strong>
								<xsl:text>IBO : </xsl:text>
							</strong>
							<xsl:for-each select="marc:subfield[@code='z']">
								<xsl:value-of select="text()"/>
								<xsl:text></xsl:text>
							</xsl:for-each>
						</li>
					</xsl:if>
					<xsl:choose>
						<xsl:when test="position()=last()">
							<br/>
							<xsl:text></xsl:text>
						</xsl:when>
						<xsl:otherwise>
							<xsl:text> ; </xsl:text>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:for-each>
			</li>
		</xsl:if>
	</xsl:template>
	<xsl:template name="tag_210">
		<xsl:for-each select="marc:datafield[@tag=210]">
			<li>
				<strong>Publication : </strong>
				<span>
					<xsl:call-template name="addClassRtl" />
					<xsl:if test="marc:subfield[@code='a']">
						<xsl:for-each select="marc:subfield[@code='a']">
							<xsl:text></xsl:text>
							<xsl:value-of select="."/>
						</xsl:for-each>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='c']">
						<xsl:if test="marc:subfield[@code='a']"> : </xsl:if>
						<xsl:for-each select="marc:subfield[@code='c']">
							<xsl:text></xsl:text>
							<xsl:value-of select="."/>
						</xsl:for-each>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='d']">
						<xsl:if test="marc:subfield[@code='a' or @code='c']">, </xsl:if>
						<xsl:value-of select="marc:subfield[@code='d']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='e']">
						<xsl:if test="marc:subfield[@code='a' or @code='c' or @code='d']"> - </xsl:if>
						<xsl:value-of select="marc:subfield[@code='e']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g']">
						<xsl:if test="marc:subfield[@code='e']"> : </xsl:if>
						<xsl:value-of select="marc:subfield[@code='g']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='h']">
						<xsl:if test="marc:subfield[@code='e' or @code='g']">, </xsl:if>
						<xsl:value-of select="marc:subfield[@code='h']"/>
					</xsl:if>
					<xsl:if test="not (position() = last())">
						<xsl:text>  </xsl:text>
					</xsl:if>
				</span>
			</li>
		</xsl:for-each>
	</xsl:template>
	<xsl:template name="tag_215">
		<xsl:for-each select="marc:datafield[@tag=215]">
			<li>
				<strong>Description : </strong>
				<xsl:if test="marc:subfield[@code='a']">
					<xsl:value-of select="marc:subfield[@code='a']"/>
				</xsl:if>
				<xsl:if test="marc:subfield[@code='c']"> :
 
					<xsl:value-of select="marc:subfield[@code='c']"/>
				</xsl:if>
				<xsl:if test="marc:subfield[@code='d']"> ;
 
					<xsl:value-of select="marc:subfield[@code='d']"/>
				</xsl:if>
				<xsl:if test="marc:subfield[@code='e']"> +
 
					<xsl:value-of select="marc:subfield[@code='e']"/>
				</xsl:if>
				<xsl:if test="marc:subfield[@code='f']"> +
 
					<xsl:value-of select="marc:subfield[@code='f']"/>
				</xsl:if>
			</li>
		</xsl:for-each>
	</xsl:template>
	<xsl:template name="tag_4xx">
		<xsl:for-each select="marc:datafield[@tag=410]">
			<li>
				<strong>Collection : </strong>
				<span>
					<xsl:call-template name="addClassRtl" />
					<xsl:if test="marc:subfield[@code='t']">
						<a>
							<xsl:attribute name="text">
								<xsl:text>/recherche/simple/expressionRecherche/</xsl:text>
								<xsl:value-of select="translate(marc:subfield[@code='t'], '*?()', '+')"/>
							</xsl:attribute>
							<xsl:value-of select="marc:subfield[@code='t']"/>
						</a>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='e']"> :
 
						<xsl:value-of select="marc:subfield[@code='e']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='i']"> :
 
						<xsl:value-of select="marc:subfield[@code='i']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='f']"> /
 
						<xsl:value-of select="marc:subfield[@code='f']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='v']">,
 
						<xsl:value-of select="marc:subfield[@code='v']"/>
					</xsl:if>
				</span>
			</li>
		</xsl:for-each>
		<xsl:for-each select="marc:datafield[@tag=411]">
			<li>
				<strong>Sous collection : </strong>
				<span>
					<xsl:call-template name="addClassRtl" />
					<xsl:if test="marc:subfield[@code='t']">
						<a>
							<xsl:attribute name="href">
								<xsl:text>/recherche/simple/expressionRecherche/</xsl:text>
								<xsl:value-of select="translate(marc:subfield[@code='t'], '*?()', '+')"/>
							</xsl:attribute>
							<xsl:value-of select="marc:subfield[@code='t']"/>
						</a>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='e']"> :
 
						<xsl:value-of select="marc:subfield[@code='e']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='i']"> :
 
						<xsl:value-of select="marc:subfield[@code='i']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='f']"> /
 
						<xsl:value-of select="marc:subfield[@code='f']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='v']">,
 
						<xsl:value-of select="marc:subfield[@code='v']"/>
					</xsl:if>
				</span>
			</li>
		</xsl:for-each>
		<xsl:for-each select="marc:datafield[@tag=449]">
			<li>
				<strong>Etat rglementaire : </strong>
				<span>
					<xsl:call-template name="addClassRtl" />
					<xsl:if test="marc:subfield[@code='a']">
						<xsl:value-of select="marc:subfield[@code='a']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='t']">
						<xsl:text> : </xsl:text>
						<xsl:value-of select="marc:subfield[@code='t']"/>
					</xsl:if>
				</span>
			</li>
		</xsl:for-each>
		<xsl:for-each select="marc:datafield[@tag=454]">
			<li>
				<strong>Est une traduction de : </strong>
				<span>
					<xsl:call-template name="addClassRtl" />
					<xsl:if test="marc:subfield[@code='t']">
						<a>
							<xsl:attribute name="href">
								<xsl:text>/recherche/simple/expressionRecherche/</xsl:text>
								<xsl:value-of select="translate(marc:subfield[@code='t'], '*?()', '+')"/>
							</xsl:attribute>
							<xsl:value-of select="marc:subfield[@code='t']"/>
						</a>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='e']"> :
 
						<xsl:value-of select="marc:subfield[@code='e']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='f']"> /
 
						<xsl:value-of select="marc:subfield[@code='f']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='v']">,
 
						<xsl:value-of select="marc:subfield[@code='v']"/>
					</xsl:if>
				</span>
			</li>
		</xsl:for-each>
		<xsl:if test="marc:datafield[@tag=464 or @tag=461]">
			<li>
				<strong>Fait partie de :</strong>
				<blockquote>
					<xsl:for-each select="marc:datafield[@tag=464 or @tag=461]">
						<li>
							<span>
								<xsl:call-template name="addClassRtl" />
								<xsl:if test="marc:subfield[@code='t']">
									<a>
										<xsl:attribute name="text">
											<xsl:text>/recherche/simple/expressionRecherche/</xsl:text>
											<xsl:value-of select="translate(marc:subfield[@code='t'], '*?()', '+')"/>
										</xsl:attribute>
										<xsl:value-of select="marc:subfield[@code='t']"/>
									</a>
								</xsl:if>
								<xsl:if test="marc:subfield[@code='e']"> :
		 
									<xsl:value-of select="marc:subfield[@code='e']"/>
								</xsl:if>
								<xsl:if test="marc:subfield[@code='f']"> /
		 
									<xsl:value-of select="marc:subfield[@code='f']"/>
								</xsl:if>
								<xsl:if test="marc:subfield[@code='v']">,
		 
									<xsl:value-of select="marc:subfield[@code='v']"/>
								</xsl:if>
							</span>
						</li>
					</xsl:for-each>
				</blockquote>
			</li>
		</xsl:if>
		<xsl:for-each select="marc:datafield[@tag=462]">
			<li>
				<strong>Titre d'ensemble : </strong>
				<span>
					<xsl:call-template name="addClassRtl" />
					<xsl:if test="marc:subfield[@code='t']">
						<a>
							<xsl:attribute name="href">
								<xsl:text>/recherche/simple/expressionRecherche/</xsl:text>
								<xsl:value-of select="translate(marc:subfield[@code='t'], '*?()', '+')"/>
							</xsl:attribute>
							<xsl:value-of select="marc:subfield[@code='t']"/>
						</a>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='e']"> :
 
						<xsl:value-of select="marc:subfield[@code='e']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='f']"> /
 
						<xsl:value-of select="marc:subfield[@code='f']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='v']">,
 
						<xsl:value-of select="marc:subfield[@code='v']"/>
					</xsl:if>
				</span>
			</li>
		</xsl:for-each>
	</xsl:template>
	<xsl:template name="tag_4xx_perio">
		<xsl:param name="tag" />
		<xsl:param name="label" />
		<xsl:if test="marc:datafield[@tag=$tag]">
			<li>
				<strong>
					<xsl:value-of select="$label"/>: 
				</strong>
				<xsl:for-each select="marc:datafield[@tag=$tag]">
					<span>
						<xsl:call-template name="addClassRtl" />
						<xsl:if test="marc:subfield[@code='t']">
							<a>
								<xsl:attribute name="href">
									<xsl:text>/recherche/simple/expressionRecherche/</xsl:text>
									<xsl:value-of select="translate(marc:subfield[@code='t'], '*?()', '+')"/>
								</xsl:attribute>
								<xsl:value-of select="marc:subfield[@code='t']"/>
							</a>
						</xsl:if>
						<xsl:if test="marc:subfield[@code='e']"> :
 
							<xsl:value-of select="marc:subfield[@code='e']"/>
						</xsl:if>
						<xsl:if test="marc:subfield[@code='i']"> :
 
							<xsl:value-of select="marc:subfield[@code='i']"/>
						</xsl:if>
						<xsl:if test="marc:subfield[@code='f']"> /
 
							<xsl:value-of select="marc:subfield[@code='f']"/>
						</xsl:if>
						<xsl:if test="marc:subfield[@code='v']">,
 
							<xsl:value-of select="marc:subfield[@code='v']"/>
						</xsl:if>
					</span>
				</xsl:for-each>
			</li>
		</xsl:if>
	</xsl:template>
	<xsl:template name="subfieldSelect">
		<xsl:param name="codes"/>
		<xsl:param name="delimeter">
			<xsl:text></xsl:text>
		</xsl:param>
		<xsl:param name="subdivCodes"/>
		<xsl:param name="subdivDelimiter"/>
		<xsl:variable name="str">
			<xsl:for-each select="marc:subfield">
				<xsl:if test="contains($codes, @code)">
					<xsl:if test="contains($subdivCodes, @code)">
						<xsl:value-of select="$subdivDelimiter"/>
					</xsl:if>
					<xsl:value-of select="text()"/>
					<xsl:value-of select="$delimeter"/>
				</xsl:if>
			</xsl:for-each>
		</xsl:variable>
		<xsl:value-of select="substring($str,1,string-length($str)-string-length($delimeter))"/>
	</xsl:template>
	<xsl:template name="buildSpaces">
		<xsl:param name="spaces"/>
		<xsl:param name="char">
			<xsl:text></xsl:text>
		</xsl:param>
		<xsl:if test="$spaces>0">
			<xsl:value-of select="$char"/>
			<xsl:call-template name="buildSpaces">
				<xsl:with-param name="spaces" select="$spaces - 1"/>
				<xsl:with-param name="char" select="$char"/>
			</xsl:call-template>
		</xsl:if>
	</xsl:template>
	<xsl:template name="chopSpecialCharacters">
		<xsl:param name="title" />
		<xsl:variable name="ntitle"
             select="translate($title, '&#x0098;&#x009C;슜슛슘슈슉','')"/>
		<xsl:value-of select="$ntitle" />
	</xsl:template>
	<xsl:template name="chopPunctuation">
		<xsl:param name="chopString"/>
		<xsl:variable name="length" select="string-length($chopString)"/>
		<xsl:choose>
			<xsl:when test="$length=0"/>
			<xsl:when test="contains('.:,;/ ', substring($chopString,$length,1))">
				<xsl:call-template name="chopPunctuation">
					<xsl:with-param name="chopString" select="substring($chopString,1,$length - 1)"/>
				</xsl:call-template>
			</xsl:when>
			<xsl:when test="not($chopString)"/>
			<xsl:otherwise>
				<xsl:value-of select="$chopString"/>
			</xsl:otherwise>
		</xsl:choose>
		<xsl:text></xsl:text>
	</xsl:template>
	<xsl:template name="addClassRtl">
		<xsl:variable name="lang" select="marc:subfield[@code='7']" />
		<xsl:if test="$lang = 'ha' or $lang = 'Hebrew' or $lang = 'fa' or $lang = 'Arabe'">
			<xsl:attribute name="class">rtl</xsl:attribute>
		</xsl:if>
	</xsl:template>
	<xsl:template name="nl2br">
		<xsl:param name="string"/>
		<xsl:value-of select="normalize-space(substring-before($string,'
'))"/>
		<xsl:choose>
			<xsl:when test="contains($string,'
')">
				<br />
				<xsl:call-template name="nl2br">
					<xsl:with-param name="string" select="substring-after($string,'
')"/>
				</xsl:call-template>
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$string"/>
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>
	<xsl:template name="tag_title">
		<xsl:param name="tag" />
		<xsl:param name="label" />
		<xsl:if test="marc:datafield[@tag=$tag]">
			<li>
				<strong>
					<xsl:value-of select="$label"/>: 
				</strong>
				<xsl:for-each select="marc:datafield[@tag=$tag]">
					<xsl:value-of select="marc:subfield[@code='a']" />
					<xsl:if test="marc:subfield[@code='d']">
						<xsl:text> : </xsl:text>
						<xsl:value-of select="marc:subfield[@code='e']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='e']">
						<xsl:for-each select="marc:subfield[@code='e']">
							<xsl:text></xsl:text>
							<xsl:value-of select="."/>
						</xsl:for-each>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='f']">
						<xsl:text> / </xsl:text>
						<xsl:value-of select="marc:subfield[@code='f']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='h']">
						<xsl:text>, </xsl:text>
						<xsl:value-of select="marc:subfield[@code='h']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='i']">
						<xsl:text>, </xsl:text>
						<xsl:value-of select="marc:subfield[@code='i']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='v']">
						<xsl:text>, </xsl:text>
						<xsl:value-of select="marc:subfield[@code='v']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='x']">
						<xsl:text>, </xsl:text>
						<xsl:value-of select="marc:subfield[@code='x']"/>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='z']">
						<xsl:text>, </xsl:text>
						<xsl:value-of select="marc:subfield[@code='z']"/>
					</xsl:if>
				</xsl:for-each>
			</li>
		</xsl:if>
	</xsl:template>
	<xsl:template name="tag_5xx">
		<xsl:param name="tag" />
		<xsl:param name="label" />
		<xsl:if test="marc:datafield[@tag=$tag]">
			<li>
				<strong>
					<xsl:value-of select="$label"/>: 
				</strong>
				<xsl:for-each select="marc:datafield[@tag=$tag]">
					<a>
						<xsl:choose>
							<xsl:when test="marc:subfield[@code=9]">
								<xsl:attribute name="href">/cgi-bin/koha/catalogue/detail.pl?biblionumber=
									<xsl:value-of select="marc:subfield[@code=9]"/>
								</xsl:attribute> 
							</xsl:when>
							<xsl:otherwise>
								<xsl:attribute name="href">/recherche/simple/expressionRecherche/
									<xsl:value-of select="translate(marc:subfield[@code='a'], '*?()', '+')"/>
								</xsl:attribute>
							</xsl:otherwise>
						</xsl:choose>
						<xsl:value-of select="marc:subfield[@code='a']"/>
					</a>
					<xsl:if test="not (position()=last())">
						<xsl:text> | </xsl:text>
					</xsl:if>
				</xsl:for-each>
			</li>
		</xsl:if>
	</xsl:template>
	<xsl:template name="tag_subject">
		<xsl:param name="tag" />
		<xsl:param name="label" />
		<xsl:if test="marc:datafield[@tag=$tag]">
			<li>
            	<strong>Thme : </strong>
				<!--<strong>
					<xsl:value-of select="$label"/>: 
				</strong>  -->
				<xsl:for-each select="marc:datafield[@tag=$tag]">
					<a>
						<xsl:choose>
							<xsl:when test="marc:subfield[@code=9]">
								<xsl:attribute name="text">/cgi-bin/koha/catalogue/search.pl?q=an:
									<xsl:value-of select="marc:subfield[@code=9]"/>
								</xsl:attribute>
							</xsl:when>
							<xsl:otherwise>
								<xsl:attribute name="text">/recherche/simple/expressionRecherche/
									<xsl:value-of select="translate(marc:subfield[@code='a'], '*?()', '+')"/>
								</xsl:attribute>
							</xsl:otherwise>
						</xsl:choose>
						<xsl:call-template name="chopPunctuation">
							<xsl:with-param name="chopString">
								<xsl:call-template name="subfieldSelect">
									<xsl:with-param name="codes">abcdjpvxyz</xsl:with-param>
									<xsl:with-param name="subdivCodes">jpxyz</xsl:with-param>
									<xsl:with-param name="subdivDelimiter">-- </xsl:with-param>
								</xsl:call-template>
							</xsl:with-param>
						</xsl:call-template>
					</a>
					<xsl:if test="not (position()=last())">
						<xsl:text> | </xsl:text>
					</xsl:if>
				</xsl:for-each>
			</li>
		</xsl:if>
	</xsl:template>
	<xsl:template name="tag_7xx">
		<xsl:param name="tag" />  
		<xsl:param name="label" />
		<xsl:if test="marc:datafield[@tag=$tag]">
			<li>
				<strong>
					<xsl:value-of select="$label" />: 
				</strong>
				<xsl:for-each select="marc:datafield[@tag=$tag]">
					<span>
						<xsl:call-template name="addClassRtl" />
						<a>
							<xsl:choose>
								<xsl:when test="marc:subfield[@code=9]">
									<xsl:attribute name="text">/cgi-bin/koha/catalogue/search.pl?q=an:
										<xsl:value-of select="marc:subfield[@code=9]"/>
									</xsl:attribute>
								</xsl:when>
								<xsl:otherwise>
									<xsl:attribute name="text">/recherche/simple/expressionRecherche/
										<xsl:value-of select="marc:subfield[@code='a']"/>
										<xsl:text></xsl:text>
										<xsl:value-of select="marc:subfield[@code='b']"/>
									</xsl:attribute>
								</xsl:otherwise>
							</xsl:choose> 
							<xsl:if test="marc:subfield[@code='a']">
								<xsl:value-of select="marc:subfield[@code='a']"/>
							</xsl:if>
							<xsl:if test="marc:subfield[@code='b']">
								<xsl:text>, </xsl:text>
								<xsl:value-of select="marc:subfield[@code='b']"/>
							</xsl:if>
							<xsl:if test="marc:subfield[@code='c']">
								<xsl:text>, </xsl:text>
								<xsl:value-of select="marc:subfield[@code='c']"/>
							</xsl:if>
							<xsl:if test="marc:subfield[@code='d']">
								<xsl:text></xsl:text>
								<xsl:value-of select="marc:subfield[@code='d']"/>
							</xsl:if>
							<xsl:if test="marc:subfield[@code='e']">
								<xsl:text></xsl:text>
								<xsl:value-of select="marc:subfield[@code='e']"/>
							</xsl:if>
							<xsl:if test="marc:subfield[@code='f']">
								<span dir="ltr">
									<xsl:text> (</xsl:text>
									<xsl:value-of select="marc:subfield[@code='f']"/>
									<xsl:text>)</xsl:text>
								</span>
							</xsl:if>
							<xsl:if test="marc:subfield[@code='g']">
								<xsl:text></xsl:text>
								<xsl:value-of select="marc:subfield[@code='g']"/>
							</xsl:if>
							<xsl:if test="marc:subfield[@code='p']">
								<xsl:text></xsl:text>
								<xsl:value-of select="marc:subfield[@code='p']"/>
							</xsl:if>
						</a>
						<!--
						<xsl:if test="marc:subfield[@code='4']">
							<xsl:text></xsl:text>
							<xsl:value-of select="marc:subfield[@code='4']"/>
						</xsl:if>
						-->
					</span>
					<xsl:if test="not (position() = last())">
						<xsl:text> ; </xsl:text>
					</xsl:if>
				</xsl:for-each>
			</li>
		</xsl:if>
	</xsl:template>
	<!-- fin du report de utils -->
	<xsl:template match="marc:record">
		<xsl:variable name="leader" select="marc:leader"/>
		<xsl:variable name="leader6" select="substring($leader,7,1)"/>
		<xsl:variable name="leader7" select="substring($leader,8,1)"/>
		<xsl:variable name="biblionumber" select="marc:datafield[@tag=090]/marc:subfield[@code='a']"/>
		<xsl:if test="marc:datafield[@tag=200]">
			<xsl:for-each select="marc:datafield[@tag=200]">
				<h1>
					<xsl:call-template name="addClassRtl" />
					<xsl:variable name="title" select="marc:subfield[@code='a']"/>
					<xsl:variable name="ntitle"
         select="translate($title, '&#x0098;&#x009C;슜슛슘슈슉','')"/>
					<!--<xsl:value-of select="$ntitle" />-->
					<xsl:value-of select="marc:subfield[@code='a'][1]" />
					<xsl:for-each select="marc:subfield[@code='b']">
						<xsl:text> [</xsl:text>
						<xsl:value-of select="."/>
						<xsl:text>]</xsl:text>
					</xsl:for-each>
					<xsl:if test="marc:subfield[@code='e'][1]">
						<xsl:text> : </xsl:text>
						<xsl:value-of select="marc:subfield[@code='e'][1]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='c'][1]">
						<xsl:text> .</xsl:text>
						<xsl:value-of select="marc:subfield[@code='c'][1]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='d'][1]">
						<xsl:text> =</xsl:text>
						<xsl:value-of select="marc:subfield[@code='d'][1]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='h'][1]">
						<xsl:text> . </xsl:text>
						<xsl:value-of select="marc:subfield[@code='h'][1]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='i'][1]">
						<xsl:text>, </xsl:text>
						<xsl:value-of select="marc:subfield[@code='i'][1]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='e'][2]">
						<xsl:text> : </xsl:text>
						<xsl:value-of select="marc:subfield[@code='e'][2]" />
					</xsl:if>
					<!--<xsl:if test="marc:subfield[@code='c'][2]"><xsl:text> .</xsl:text><xsl:value-of select="marc:subfield[@code='c'][1]" /></xsl:if><xsl:if test="marc:subfield[@code='d'][2]"><xsl:text> = </xsl:text><xsl:value-of select="marc:subfield[@code='d'][2]" /></xsl:if>-->
					<xsl:if test="marc:subfield[@code='h'][2]">
						<xsl:text> . </xsl:text>
						<xsl:value-of select="marc:subfield[@code='h'][2]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='i'][2]">
						<xsl:text>, </xsl:text>
						<xsl:value-of select="marc:subfield[@code='i'][2]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='e'][3]">
						<xsl:text> : </xsl:text>
						<xsl:value-of select="marc:subfield[@code='e'][3]" />
					</xsl:if>
					<!--
<xsl:if test="marc:subfield[@code='c'][3]"><xsl:text> .</xsl:text><xsl:value-of select="marc:subfield[@code='c'][3]" /></xsl:if><xsl:if test="marc:subfield[@code='d'][3]"><xsl:text> = </xsl:text><xsl:value-of select="marc:subfield[@code='d'][3]" /></xsl:if><xsl:if test="marc:subfield[@code='h'][3]"><xsl:text> . </xsl:text><xsl:value-of select="marc:subfield[@code='h'][3]" /></xsl:if>-->
					<xsl:if test="marc:subfield[@code='i'][3]">
						<xsl:text>, </xsl:text>
						<xsl:value-of select="marc:subfield[@code='i'][3]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='a'][2]">
						<xsl:text>. </xsl:text>
						<xsl:value-of select="marc:subfield[@code='a'][2]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='a'][3]">
						<xsl:text>. </xsl:text>
						<xsl:value-of select="marc:subfield[@code='a'][3]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='a'][4]">
						<xsl:text>. </xsl:text>
						<xsl:value-of select="marc:subfield[@code='a'][4]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='a'][5]">
						<xsl:text>. </xsl:text>
						<xsl:value-of select="marc:subfield[@code='a'][5]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='a'][6]">
						<xsl:text>. </xsl:text>
						<xsl:value-of select="marc:subfield[@code='a'][6]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='a'][7]">
						<xsl:text>. </xsl:text>
						<xsl:value-of select="marc:subfield[@code='a'][7]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='a'][8]">
						<xsl:text>. </xsl:text>
						<xsl:value-of select="marc:subfield[@code='a'][8]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='a'][9]">
						<xsl:text>. </xsl:text>
						<xsl:value-of select="marc:subfield[@code='a'][9]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='a'][10]">
						<xsl:text>. </xsl:text>
						<xsl:value-of select="marc:subfield[@code='a'][10]" />
					</xsl:if>
					<!--<xsl:if test="marc:subfield[@code='b']"><xsl:text> [</xsl:text><xsl:value-of select="marc:subfield[@code='b']"/><xsl:text>]</xsl:text></xsl:if>-->
					<xsl:if test="marc:subfield[@code='f']">
						<xsl:text> / </xsl:text>
						<xsl:if test="marc:subfield[@code='f'][1]">
							<xsl:text></xsl:text>
							<xsl:value-of select="marc:subfield[@code='f'][1]" />
						</xsl:if>
						<xsl:if test="marc:subfield[@code='f'][2]">
							<xsl:text> ; </xsl:text>
							<xsl:value-of select="marc:subfield[@code='f'][2]" />
						</xsl:if>
						<xsl:if test="marc:subfield[@code='f'][3]">
							<xsl:text> ; </xsl:text>
							<xsl:value-of select="marc:subfield[@code='f'][3]" />
						</xsl:if>
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g'][1]">
						<xsl:text> ; </xsl:text>
						<xsl:value-of select="marc:subfield[@code='g'][1]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g'][2]">
						<xsl:text> ; </xsl:text>
						<xsl:value-of select="marc:subfield[@code='g'][2]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g'][3]">
						<xsl:text> ; </xsl:text>
						<xsl:value-of select="marc:subfield[@code='g'][3]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g'][4]">
						<xsl:text> ; </xsl:text>
						<xsl:value-of select="marc:subfield[@code='g'][4]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g'][5]">
						<xsl:text> ; </xsl:text>
						<xsl:value-of select="marc:subfield[@code='g'][5]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g'][6]">
						<xsl:text> ; </xsl:text>
						<xsl:value-of select="marc:subfield[@code='g'][6]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g'][7]">
						<xsl:text> ; </xsl:text>
						<xsl:value-of select="marc:subfield[@code='g'][7]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g'][8]">
						<xsl:text> ; </xsl:text>
						<xsl:value-of select="marc:subfield[@code='g'][8]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g'][9]">
						<xsl:text> ; </xsl:text>
						<xsl:value-of select="marc:subfield[@code='g'][9]" />
					</xsl:if>
					<xsl:if test="marc:subfield[@code='g'][10]">
						<xsl:text> ; </xsl:text>
						<xsl:value-of select="marc:subfield[@code='g'][10]" />
					</xsl:if>
				</h1>
			</xsl:for-each>
		</xsl:if>
		<!--
 <li><strong>Numro de notice Koha : </strong><xsl:value-of select="$biblionumber"/></li>
-->
		<xsl:call-template name="tag_099" />
		<xsl:call-template name="tag_7xx">
			<xsl:with-param name="tag">700</xsl:with-param>
		<xsl:with-param name="label">Auteur principal </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_7xx">
			<xsl:with-param name="tag">710</xsl:with-param>
			<xsl:with-param name="label">Auteur principal collectivit </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_7xx">
			<xsl:with-param name="tag">701</xsl:with-param>
			<xsl:with-param name="label">Co-auteur </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_7xx">
			<xsl:with-param name="tag">702</xsl:with-param>
			<xsl:with-param name="label">Auteur secondaire </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_7xx">
			<xsl:with-param name="tag">711</xsl:with-param>
			<xsl:with-param name="label">Co-auteur collectivit </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_7xx">
			<xsl:with-param name="tag">712</xsl:with-param>
			<xsl:with-param name="label">Auteur secondaire collectivit </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_7xx">
			<xsl:with-param name="tag">790</xsl:with-param>
			<xsl:with-param name="label">Emetteurs </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_7xx">
			<xsl:with-param name="tag">791</xsl:with-param>
			<xsl:with-param name="label">Emetteurs </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_210" />
		<xsl:call-template name="tag_215" />
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">600</xsl:with-param>
			<xsl:with-param name="label">Sujet - Nom de personne </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">601</xsl:with-param>
			<xsl:with-param name="label">Sujet - Collectivit </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">602</xsl:with-param>
			<xsl:with-param name="label">Sujet - Famille </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">604</xsl:with-param>
			<xsl:with-param name="label">Sujet - Auteur/titre </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">606</xsl:with-param>
			<xsl:with-param name="label">Sujet - Nom commun </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">607</xsl:with-param>
			<xsl:with-param name="label">Sujet - Nom gographique </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">608</xsl:with-param>
			<xsl:with-param name="label">Sujet - Forme </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">609</xsl:with-param>
			<xsl:with-param name="label">Mots cls TESS </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">610</xsl:with-param>
			<xsl:with-param name="label">Sujet </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">611</xsl:with-param>
			<xsl:with-param name="label">Mots cls priode </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">615</xsl:with-param>
			<xsl:with-param name="label">Catgorie de sujet </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">616</xsl:with-param>
			<xsl:with-param name="label">Marque </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_subject">
			<xsl:with-param name="tag">619</xsl:with-param>
			<xsl:with-param name="label">Mots cls candidats </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx" />
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">421</xsl:with-param>
			<xsl:with-param name="label">Supplment </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">422</xsl:with-param>
			<xsl:with-param name="label">Publication-mre du supplment </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">430</xsl:with-param>
			<xsl:with-param name="label">Suite de </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">432</xsl:with-param>
			<xsl:with-param name="label">Remplace </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">434</xsl:with-param>
			<xsl:with-param name="label">Absorbe </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">435</xsl:with-param>
			<xsl:with-param name="label">Absorbe partiellement </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">436</xsl:with-param>
			<xsl:with-param name="label">Fusion de ... et de ... </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">437</xsl:with-param>
			<xsl:with-param name="label">Suite partielle de </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">441</xsl:with-param>
			<xsl:with-param name="label">Devient partiellement </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">442</xsl:with-param>
			<xsl:with-param name="label">Remplac pa r</xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">444</xsl:with-param>
			<xsl:with-param name="label">Absorb par </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">446</xsl:with-param>
			<xsl:with-param name="label">Scind en ... et en ... </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">447</xsl:with-param>
			<xsl:with-param name="label">Fusionne avec ... pour former ... </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">453</xsl:with-param>
			<xsl:with-param name="label">Traduit sous le titre </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">454</xsl:with-param>
			<xsl:with-param name="label">Est une traduction de </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_4xx_perio">
			<xsl:with-param name="tag">488</xsl:with-param>
			<xsl:with-param name="label">Autre type de relation </xsl:with-param>
		</xsl:call-template>
		<xsl:if test="marc:datafield[@tag=022]">
			<li>
				<strong>Numro de publication officielle : </strong>
				<xsl:for-each select="marc:datafield[@tag=022]">
					<xsl:for-each select="marc:subfield">
						<li>
							<xsl:value-of select="text()"/>
						</li>
					</xsl:for-each>
				</xsl:for-each>
			</li>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=029]">
			<li>
				<strong>Champs spcifiques BO / Instructions : </strong>
				<xsl:for-each select="marc:datafield[@tag=029]">
					<xsl:for-each select="marc:subfield">
						<xsl:choose>
							<xsl:when test="@code='a'">Anne : </xsl:when>
							<xsl:when test="@code='b'">Numro : </xsl:when>
						</xsl:choose>
						<xsl:value-of select="text()"/>
						<xsl:text> ; </xsl:text>
					</xsl:for-each>
				</xsl:for-each>
			</li>
		</xsl:if>
		<!-- test pour bokeh, a supprimer si besoin !!!!!!!-->
		<xsl:if test="marc:datafield[@tag=1000]">
			<li>
				<strong>Langue : </strong>
				<xsl:for-each select="marc:datafield[@tag=1000]">
					<li>
						<xsl:value-of select="marc:subfield[@code='2']"/>
						<xsl:text> : </xsl:text>
						<xsl:value-of select="marc:subfield[@code='a']"/>
					</li>
				</xsl:for-each>
			</li>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=102]">
			<li>
				<strong>Pays : </strong>
				<xsl:for-each select="marc:datafield[@tag=102]">
					<xsl:for-each select="marc:subfield">
						<span>
							<xsl:value-of select="text()"/>
						</span>
						<xsl:if test="not (position() = last())">
							<xsl:text> ; </xsl:text>
						</xsl:if>
					</xsl:for-each>
				</xsl:for-each>
			</li>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=205]">
			<li>
				<strong>Mention d'dition : </strong>
				<xsl:for-each select="marc:datafield[@tag=205]">
					<xsl:for-each select="marc:subfield">
						<li>
							<xsl:value-of select="text()"/>
						</li>
					</xsl:for-each>
				</xsl:for-each>
			</li>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=207]">
			<li>
				<strong>Ressources continues, numrotation : </strong>
				<xsl:for-each select="marc:datafield[@tag=207]">
					<xsl:for-each select="marc:subfield">
						<xsl:choose>
							<xsl:when test="@code='a'">numrotation : </xsl:when>
							<xsl:when test="@code='z'">source d'information sur la numrotation : </xsl:when>
						</xsl:choose>
						<xsl:value-of select="text()"/>
						<xsl:text> ; </xsl:text>
					</xsl:for-each>
				</xsl:for-each>
			</li>
		</xsl:if>

		<xsl:if test="marc:controlfield[@tag=009]">
			<li>
				<strong>Champ 009 : </strong>
				<xsl:value-of select="marc:controlfield[@tag=009]"/>
			</li>
		</xsl:if>
		<xsl:call-template name="tag_title">
			<xsl:with-param name="tag">225</xsl:with-param>
			<xsl:with-param name="label">Collection </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_5xx">
			<xsl:with-param name="tag">503</xsl:with-param>
			<xsl:with-param name="label">Titre de forme </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_5xx">
			<xsl:with-param name="tag">510</xsl:with-param>
			<xsl:with-param name="label">Titre parallle </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_5xx">
			<xsl:with-param name="tag">512</xsl:with-param>
			<xsl:with-param name="label">Titre de couverture </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_5xx">
			<xsl:with-param name="tag">513</xsl:with-param>
			<xsl:with-param name="label">Titre figurant sur une autre page de titre </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_5xx">
			<xsl:with-param name="tag">517</xsl:with-param>
			<xsl:with-param name="label">Autres variantes du titre </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_5xx">
			<xsl:with-param name="tag">530</xsl:with-param>
			<xsl:with-param name="label">Titr cl </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_5xx">
			<xsl:with-param name="tag">531</xsl:with-param>
			<xsl:with-param name="label">Titre abrg </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_5xx">
			<xsl:with-param name="tag">532</xsl:with-param>
			<xsl:with-param name="label">Titre dvelopp </xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="tag_5xx">
			<xsl:with-param name="tag">540</xsl:with-param>
			<xsl:with-param name="label">Titre ajout par le catalogueur </xsl:with-param>
		</xsl:call-template>
		<xsl:if test="marc:datafield[@tag=327]">
			<li>
				<strong>Note de contenu : </strong>
				<xsl:for-each select="marc:datafield[@tag=327]">
					<xsl:call-template name="chopPunctuation">
						<xsl:with-param name="chopString">
							<xsl:call-template name="subfieldSelect">
								<xsl:with-param name="codes">abcdjpvxyz</xsl:with-param>
								<xsl:with-param name="subdivCodes">jpxyz</xsl:with-param>
								<xsl:with-param name="subdivDelimiter">-- </xsl:with-param>
							</xsl:call-template>
						</xsl:with-param>
					</xsl:call-template>
				</xsl:for-each>
			</li>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=330]">
			<li>
				<strong>Rsum : </strong>
			</li>
			<xsl:for-each select="marc:datafield[@tag=330]">
				<li>
					<xsl:call-template name="nl2br">
						<xsl:with-param name="string">
							<xsl:value-of select="marc:subfield[@code='a']"/>
						</xsl:with-param>
					</xsl:call-template>
				</li>
			</xsl:for-each>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=317]">
			<li>
				<strong>Note de provenance : </strong>
				<xsl:for-each select="marc:datafield[@tag=317]">
					<xsl:value-of select="marc:subfield[@code='a']"/>
				</xsl:for-each>
			</li>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=320]">
			<li>
				<strong>Bibliographie : </strong>
				<xsl:for-each select="marc:datafield[@tag=320]">
					<xsl:value-of select="marc:subfield[@code='a']"/>
					<xsl:choose>
						<xsl:when test="position()=last()">
							<xsl:text>.</xsl:text>
						</xsl:when>
						<xsl:otherwise>
							<xsl:text>; </xsl:text>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:for-each>
			</li>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=328]">
			<li>
				<strong>Note de thse : </strong>
				<xsl:for-each select="marc:datafield[@tag=328]">
					<xsl:value-of select="marc:subfield[@code='a']"/>
					<xsl:choose>
						<xsl:when test="position()=last()">
							<xsl:text>.</xsl:text>
						</xsl:when>
						<xsl:otherwise>
							<xsl:text>; </xsl:text>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:for-each>
			</li>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=333]">
			<li>
				<strong>Public : </strong>
				<xsl:for-each select="marc:datafield[@tag=333]">
					<xsl:value-of select="marc:subfield[@code='a']"/>
					<xsl:choose>
						<xsl:when test="position()=last()">
							<xsl:text>.</xsl:text>
						</xsl:when>
						<xsl:otherwise>
							<xsl:text>; </xsl:text>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:for-each>
			</li>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=906]">
			<li>
				<strong>Possesseur personne physique : </strong>
				<xsl:for-each select="marc:datafield[@tag=906]">
					<xsl:value-of select="marc:subfield[@code='a']"/>
					<xsl:value-of select="marc:subfield[@code='b']"/>
					<xsl:value-of select="marc:subfield[@code='f']"/>
					<xsl:value-of select="marc:subfield[@code='4']"/>
					<xsl:choose>
						<xsl:when test="position()=last()">
							<xsl:text>.</xsl:text>
						</xsl:when>
						<xsl:otherwise>
							<xsl:text>; </xsl:text>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:for-each>
			</li>
		</xsl:if>
		<xsl:if test="marc:datafield[@tag=955]">
			<li>
				<strong>Historique SUDOC du priodique : </strong>
				<xsl:for-each select="marc:datafield[@tag=955]">
					<xsl:value-of select="marc:subfield[@code='9']"/>:
 
					<xsl:value-of select="marc:subfield[@code='r']"/>
					<xsl:choose>
						<xsl:when test="position()=last()">
							<xsl:text>.</xsl:text>
						</xsl:when>
						<xsl:otherwise>
							<xsl:text>; </xsl:text>
						</xsl:otherwise>
					</xsl:choose>
				</xsl:for-each>
			</li>
		</xsl:if>
	</xsl:template>
	<xsl:template name="nameABCDQ">
		<xsl:call-template name="chopPunctuation">
			<xsl:with-param name="chopString">
				<xsl:call-template name="subfieldSelect">
					<xsl:with-param name="codes">aq</xsl:with-param>
				</xsl:call-template>
			</xsl:with-param>
			<xsl:with-param name="punctuation">
				<xsl:text>:,;/ </xsl:text>
			</xsl:with-param>
		</xsl:call-template>
		<xsl:call-template name="termsOfAddress"/>
	</xsl:template>
	<xsl:template name="nameABCDN">
		<xsl:for-each select="marc:subfield[@code='a']">
			<xsl:call-template name="chopPunctuation">
				<xsl:with-param name="chopString" select="."/>
			</xsl:call-template>
		</xsl:for-each>
		<xsl:for-each select="marc:subfield[@code='b']">
			<xsl:value-of select="."/>
		</xsl:for-each>
		<xsl:if test="marc:subfield[@code='c'] or marc:subfield[@code='d'] or marc:subfield[@code='n']">
			<xsl:call-template name="subfieldSelect">
				<xsl:with-param name="codes">cdn</xsl:with-param>
			</xsl:call-template>
		</xsl:if>
	</xsl:template>
	<xsl:template name="nameACDEQ">
		<xsl:call-template name="subfieldSelect">
			<xsl:with-param name="codes">acdeq</xsl:with-param>
		</xsl:call-template>
	</xsl:template>
	<xsl:template name="termsOfAddress">
		<xsl:if test="marc:subfield[@code='b' or @code='c']">
			<xsl:call-template name="chopPunctuation">
				<xsl:with-param name="chopString">
					<xsl:call-template name="subfieldSelect">
						<xsl:with-param name="codes">bc</xsl:with-param>
					</xsl:call-template>
				</xsl:with-param>
			</xsl:call-template>
		</xsl:if>
	</xsl:template>
	<xsl:template name="part">
		<xsl:variable name="partNumber">
			<xsl:call-template name="specialSubfieldSelect">
				<xsl:with-param name="axis">n</xsl:with-param>
				<xsl:with-param name="anyCodes">n</xsl:with-param>
				<xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param>
			</xsl:call-template>
		</xsl:variable>
		<xsl:variable name="partName">
			<xsl:call-template name="specialSubfieldSelect">
				<xsl:with-param name="axis">p</xsl:with-param>
				<xsl:with-param name="anyCodes">p</xsl:with-param>
				<xsl:with-param name="afterCodes">fghkdlmor</xsl:with-param>
			</xsl:call-template>
		</xsl:variable>
		<xsl:if test="string-length(normalize-space($partNumber))">
			<xsl:call-template name="chopPunctuation">
				<xsl:with-param name="chopString" select="$partNumber"/>
			</xsl:call-template>
		</xsl:if>
		<xsl:if test="string-length(normalize-space($partName))">
			<xsl:call-template name="chopPunctuation">
				<xsl:with-param name="chopString" select="$partName"/>
			</xsl:call-template>
		</xsl:if>
	</xsl:template>
	<xsl:template name="specialSubfieldSelect">
		<xsl:param name="anyCodes"/>
		<xsl:param name="axis"/>
		<xsl:param name="beforeCodes"/>
		<xsl:param name="afterCodes"/>
		<xsl:variable name="str">
			<xsl:for-each select="marc:subfield">
				<xsl:if test="contains($anyCodes, @code)      or (contains($beforeCodes,@code) and following-sibling::marc:subfield[@code=$axis])      or (contains($afterCodes,@code) and preceding-sibling::marc:subfield[@code=$axis])">
					<xsl:value-of select="text()"/>
					<xsl:text></xsl:text>
				</xsl:if>
			</xsl:for-each>
		</xsl:variable>
		<xsl:value-of select="substring($str,1,string-length($str)-1)"/>
	</xsl:template>
</xsl:stylesheet>