From 00f6b5bdaa623a3bb2bec4b2aa0ff2ae94222875 Mon Sep 17 00:00:00 2001
From: Patrick Barroca <pbarroca@afi-sa.fr>
Date: Wed, 18 Sep 2019 09:30:57 +0200
Subject: [PATCH] hotline #95686 : RT fix

---
 VERSIONS_HOTLINE/95686             |   2 +-
 library/Class/Notice/Xsl.php       |   1 -
 tests/scenarios/Xsl/break_line.xsl | 803 -----------------------------
 3 files changed, 1 insertion(+), 805 deletions(-)
 delete mode 100644 tests/scenarios/Xsl/break_line.xsl

diff --git a/VERSIONS_HOTLINE/95686 b/VERSIONS_HOTLINE/95686
index 05baf0c2f1c..6495950e255 100644
--- a/VERSIONS_HOTLINE/95686
+++ b/VERSIONS_HOTLINE/95686
@@ -1 +1 @@
- - ticket #95686 : [XSLT] Prise en charge des sauts de ligne dans les feuilles de style
\ No newline at end of file
+ - ticket #95686 : Notices : L'affichage personnalisé par XSLT conserve désormais les sauts de ligne du XML source permettant d'écrire des règles XSL les concernant
\ No newline at end of file
diff --git a/library/Class/Notice/Xsl.php b/library/Class/Notice/Xsl.php
index 28dcd25024f..836b13ba311 100644
--- a/library/Class/Notice/Xsl.php
+++ b/library/Class/Notice/Xsl.php
@@ -87,7 +87,6 @@ class Class_Notice_Xsl {
     if(!$marc = $this->_record->getUnimarc())
       return '';
 
-
     return $this->filePutMarcToXML($marc);
   }
 
diff --git a/tests/scenarios/Xsl/break_line.xsl b/tests/scenarios/Xsl/break_line.xsl
deleted file mode 100644
index adc54beb5d8..00000000000
--- a/tests/scenarios/Xsl/break_line.xsl
+++ /dev/null
@@ -1,803 +0,0 @@
-
-
-<!DOCTYPE stylesheet [<!ENTITY nbsp "&#160;" >]>
-
-<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="replace_sab">
-    <!-- with string s, replace substring a by string b -->
-    <!-- s, a and b are parameters determined upon calling  -->
-    <xsl:param name="s" />
-    <xsl:param name="a" />
-    <xsl:param name="b" />
-    <xsl:choose>
-        <xsl:when test="contains($s,$a)">
-            <xsl:value-of select="substring-before($s,$a)" />
-            <xsl:copy-of select="$b" />
-            <xsl:call-template name="replace_sab">
-                <xsl:with-param name="s" select="substring-after($s,$a)" />
-                <xsl:with-param name="a" select="$a" />
-                <xsl:with-param name="b" select="$b" />
-            </xsl:call-template>
-        </xsl:when>
-        <xsl:otherwise>
-            <xsl:value-of select="$s" />
-        </xsl:otherwise>
-    </xsl:choose>
-</xsl:template>
-
-<xsl:template name="tag_215">
-<xsl:for-each select="marc:datafield[@tag=215]">
-<li>
-<strong>Collation : </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>
-</li>
-</xsl:for-each>
-</xsl:template>
-
-<!--Titre de serie autorité 461-->
-<xsl:template name="tag_461">
-<xsl:for-each select="marc:datafield[@tag=461]">
-<li>
-<strong>Titre de série : </strong>
-<xsl:call-template name="addClassRtl" />
- <xsl:if test="marc:subfield[@code='t']">
- <a>
-   <xsl:attribute name="href">
-     <xsl:text>/recherche/simple/rech_titres/</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='d']"> ,
-<xsl:value-of select="marc:subfield[@code='d']"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='p']"> ,
-<xsl:value-of select="marc:subfield[@code='p']"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='v']">,
-<xsl:value-of select="marc:subfield[@code='v']"/>
-</xsl:if>
-</li>
-</xsl:for-each>
-</xsl:template>
-
-<!--Titre de serie non autorité 461-->
-<xsl:template name="tag_461bis">
-<xsl:for-each select="marc:datafield[@tag=461][1]">
-<li>
-<strong>Dans : </strong>
-<xsl:call-template name="addClassRtl" />
-<xsl:call-template name="addClassRtl" />
- <xsl:if test="marc:subfield[@code='t']">
- <a>
-   <xsl:attribute name="href">
-     <xsl:text>/recherche/simple/rech_titres/</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='d']"> ,
-<xsl:value-of select="marc:subfield[@code='d']"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='p']"> ,
-<xsl:value-of select="marc:subfield[@code='p']"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='v']">,
-<xsl:value-of select="marc:subfield[@code='v']"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='w']"> -
-<xsl:value-of select="marc:subfield[@code='w']"/>
-</xsl:if>
-</li>
-</xsl:for-each>
-</xsl:template>
-
-<!--Titre dépouillé 463-->
-<xsl:template name="tag_463">
-<xsl:for-each select="marc:datafield[@tag=463][1]">
-<li>
-<strong>Titre dépouillé : </strong>
-<xsl:call-template name="addClassRtl" />
-<xsl:call-template name="addClassRtl" />
- <xsl:if test="marc:subfield[@code='t']">
- <a>
-   <xsl:attribute name="href">
-     <xsl:text>/recherche/simple/rech_titres/</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='d']"> ,
-<xsl:value-of select="marc:subfield[@code='d']"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='p']"> ,
-<xsl:value-of select="marc:subfield[@code='p']"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='v']">,
-<xsl:value-of select="marc:subfield[@code='v']"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='w']"> -
-<xsl:value-of select="marc:subfield[@code='w']"/>
-</xsl:if>
-</li>
-</xsl:for-each>
-</xsl:template>
-
-<xsl:template name="tag_4xx">
-<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:call-template name="addClassRtl" />
- <xsl:if test="marc:subfield[@code='t']">
- <a>
-   <xsl:attribute name="href">
-     <xsl:text>/recherche/simple/rech_titres/</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='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'][1]"> - <xsl:value-of select="marc:subfield[@code='e'][1]"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='f'][1]"> - <xsl:value-of select="marc:subfield[@code='f'][1]"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='g'][1]"> - <xsl:value-of select="marc:subfield[@code='g'][1]"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='h'][1]"> - <xsl:value-of select="marc:subfield[@code='h'][1]"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='i'][1]"> - <xsl:value-of select="marc:subfield[@code='i'][1]"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='l'][1]"> - <xsl:value-of select="marc:subfield[@code='l'][1]"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='v'][1]"> , <xsl:value-of select="marc:subfield[@code='v'][1]"/>
-</xsl:if>
-</span>
-<xsl:if test="not (position() = last())">
-<xsl:text> ; </xsl:text>
-</xsl:if>
-</xsl:for-each>
-</li>
-</xsl:if>
-</xsl:template>
-
-
-<!--Public 995q-->
-<xsl:template name="public">
-<xsl:if test="marc:datafield[@tag=995]/marc:subfield[@code='q']">
-<li>
-<strong>Public : </strong>
-<xsl:for-each select="marc:datafield[@tag=995]/marc:subfield[@code='q']">
-<xsl:if test="position() = 1">
-<xsl:value-of select="." />
-</xsl:if></xsl:for-each>
-</li>
-</xsl:if>
-</xsl:template>
-
-<!--Fonds 995h-->
-<xsl:template name="fonds">
-<xsl:if test="marc:datafield[@tag=995]/marc:subfield[@code='h']">
-<li>
-<strong>Fonds :  </strong>
-<xsl:for-each select="marc:datafield[@tag=995]/marc:subfield[@code='h']">
-<xsl:if test="position() = 1">
-<xsl:value-of select="." />
-</xsl:if></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;&#xC29C;&#xC29B;&#xC298;&#xC288;&#xC289;','')"/>
-<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="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_subject">
- <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:attribute name="href">/recherche/simple/rech_matieres/<xsl:value-of select="translate(marc:subfield[@code='a'], '*?()', '+')"/></xsl:attribute>
- <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]">
- <p class="xslt4">
- <xsl:for-each select="marc:datafield[@tag=$tag]">
- <span>
- <xsl:call-template name="addClassRtl" />
- <a>
- <xsl:attribute name="href">/recherche/simple/rech_auteurs/<xsl:value-of select="marc:subfield[@code='b']"/><xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
- <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>
- </p>
- </xsl:if>
- </xsl:template>
-
-<!-- fin du report de utils -->
-
-<xsl:output method = "html" indent="yes" omit-xml-declaration = "yes" encoding="UTF-8"/>
-<xsl:template match="/">
-<xsl:apply-templates/>
-</xsl:template>
-
-<xsl:template match="marc:record">
-<xsl:variable name="Show856uAsImage" select="marc:sysprefs/marc:syspref[@name='Display856uAsImage']"/>
-<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:variable name="champ_610" select="marc:datafield[@tag=610]/marc:subfield[@code='a']"/>
-<xsl:variable name="ppn" select="marc:controlfield[@tag=009]"/>
-<xsl:variable name="coverCD" select="marc:datafield[@tag=933]/marc:subfield[@code='a']"/>
-<xsl:variable name="type_doc" select="marc:datafield[@tag=099]/marc:subfield[@code='t']"/>
-<xsl:variable name="renvoi" select="marc:datafield[@tag=700]/@ind1"/>
-
-<!--
-<xsl:if test="marc:datafield[@tag=200]">
-<xsl:for-each select="marc:datafield[@tag=200]">
-<h1 id="xslt">
-<xsl:call-template name="addClassRtl" />
-<xsl:variable name="title" select="marc:subfield[@code='a']"/>
-<xsl:variable name="ntitle"
-select="translate($title, '&#x0098;&#x009C;&#xC29C;&#xC29B;&#xC298;&#xC288;&#xC289;','')"/>
- <xsl:value-of select="marc:subfield[@code='a'][1]" />
-<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>
-
-</h1>
-</xsl:for-each>
-</xsl:if>
--->
-
-<!--
-<xsl:if test="not(contains($renvoi,'z'))">
-<xsl:call-template name="tag_7xx">
-<xsl:with-param name="tag">700</xsl:with-param>
-<xsl:with-param name="label"></xsl:with-param>
-</xsl:call-template>
-</xsl:if>
-
-<xsl:call-template name="tag_7xx">
-<xsl:with-param name="tag">710</xsl:with-param>
-<xsl:with-param name="label"></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"></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"></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"></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"></xsl:with-param>
- </xsl:call-template>
-
--->
-
-<xsl:if test="marc:datafield[@tag=210]">
- <p id="xslt3">
- <xsl:for-each select="marc:datafield[@tag=210]">
-<strong>Edition&nbsp;: </strong>
- <a>
- <xsl:attribute name="href">/recherche/simple/rech_HEDIT/<xsl:value-of select="marc:subfield[@code='c']"/></xsl:attribute>
-<xsl:value-of select="marc:subfield[@code='c']"/>
-</a>
- <xsl:text>, </xsl:text>
- <xsl:value-of select="marc:subfield[@code='d']"/>
- </xsl:for-each>
- </p>
- </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:if test="marc:datafield[@tag=215]">
- <p id="xslt4">
- <xsl:for-each select="marc:datafield[@tag=215]">
-<strong>Description&nbsp;: </strong>
-<xsl:value-of select="marc:subfield[@code='c']"/>
- </xsl:for-each>
- </p>
- </xsl:if>
-
-<xsl:if test="marc:datafield[@tag=215][e]">
- <p id="xslt6">
- <xsl:for-each select="marc:datafield[@tag=215]">
-<strong>Matériel complémentaire&nbsp;: </strong>
-<xsl:value-of select="marc:subfield[@code='e']"/>
- </xsl:for-each>
- </p>
- </xsl:if>
-
-<xsl:if test="marc:datafield[@tag=300]">
- <p id="xslt7">
- <xsl:for-each select="marc:datafield[@tag=300]">
-<strong>Détail du contenu&nbsp;: </strong>
-<xsl:if test="marc:subfield[@code='a']">
-
-  <xsl:call-template name="replace_sab">
-    <xsl:with-param name="s" select="marc:subfield[@code='a']" />
-    <xsl:with-param name="a" select="'&#xA;'" />
-    <xsl:with-param name="b"><br /></xsl:with-param>
-  </xsl:call-template>
-
-</xsl:if>
-</xsl:for-each>
- </p>
- </xsl:if>
-
- <xsl:if test="marc:datafield[@tag=462]">
-  <li>
-  <strong>Document rattaché&nbsp;: </strong>
-  <ul>
- <xsl:for-each select="marc:datafield[@tag=462]">
- <li>
-     <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='0'], '*?()', '+')"/>
-    </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>
- </li>
-  </xsl:for-each>
- </ul>
-
-  </li>
- </xsl:if>
-
-<!--&&9 Subject - Name 600-->
-<xsl:for-each select="marc:datafield[@tag=600]">
- <li>
- <strong>Sujet&nbsp;: </strong>
- <span>
-<xsl:if test="marc:subfield[@code='a']">
-    <xsl:value-of select="marc:subfield[@code='a']"/>
-       </xsl:if>
-<xsl:if test="marc:subfield[@code='a'] and  marc:subfield[@code='b']">
-<xsl:text>, </xsl:text>
-            <xsl:value-of select="marc:subfield[@code='b']"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='a'] and  marc:subfield[@code='d']">
-<xsl:text>, </xsl:text>
-            <xsl:value-of select="marc:subfield[@code='d']"/>
-       </xsl:if>
-<xsl:if test="marc:subfield[@code='a'] and  marc:subfield[@code='c']">
-<xsl:text>, </xsl:text>
- <xsl:value-of select="marc:subfield[@code='c']"/>
-       </xsl:if>
-<xsl:if test="marc:subfield[@code='a'] and  marc:subfield[@code='f']">
-<xsl:text> (</xsl:text>
-           <xsl:value-of select="marc:subfield[@code='f']"/>
-<xsl:text>) </xsl:text>       </xsl:if>
-<xsl:if test="marc:subfield[@code='a'] and  marc:subfield[@code='x']">
-<xsl:text> -- </xsl:text>
-           <xsl:value-of select="marc:subfield[@code='x'][1]"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='x'][2]">
-<xsl:text> -- </xsl:text>
-<xsl:value-of select="marc:subfield[@code='x'][2]"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='x'][3]">
-<xsl:text> -- </xsl:text>
-<xsl:value-of select="marc:subfield[@code='x'][3]"/>
-</xsl:if>
-<xsl:if test="marc:subfield[@code='a'] and  marc:subfield[@code='y']">
-<xsl:text> -- </xsl:text>
-           <xsl:value-of select="marc:subfield[@code='y']"/>
-       </xsl:if>
-
-</span>
- </li>
- </xsl:for-each>
-
-
- <xsl:if test="marc:datafield[@tag=330]">
- <p id="xslt2">
- <strong>Résumé&nbsp;: </strong>
- <xsl:for-each select="marc:datafield[@tag=330]">
- <xsl:value-of select="marc:subfield[@code='a']"/>
- <xsl:choose>
- <xsl:when test="position()=last()">
- <xsl:text> </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <br></br><xsl:text> </xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- </p>
- </xsl:if>
-
-<xsl:call-template name="tag_4xx">
-<xsl:with-param name="tag">464</xsl:with-param>
-<xsl:with-param name="label">Contenu</xsl:with-param>
-</xsl:call-template>
-
-
-<!--
-<xsl:if test="marc:datafield[@tag=210]">
- <p id="xslt3">
- <xsl:for-each select="marc:datafield[@tag=210]">
- <xsl:value-of select="marc:subfield[@code='c']"/>
- <xsl:text>, </xsl:text>
- <xsl:value-of select="marc:subfield[@code='d']"/>
- </xsl:for-each>
- </p>
- </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>
-- 
GitLab