Bug 5885 : UNIMARC XSLT changes
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / xslt / UNIMARCslim2intranetDetail.xsl
index 55cd370..4ead40d 100644 (file)
@@ -4,7 +4,7 @@
 
 <xsl:stylesheet version="1.0"
   xmlns:marc="http://www.loc.gov/MARC21/slim"
-  xmlns:items="http://www.koha.org/items"
+  xmlns:items="http://www.koha-community.org/items"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   exclude-result-prefixes="marc items">
 
@@ -15,6 +15,7 @@
 </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)"/>
@@ -27,7 +28,7 @@
         <xsl:call-template name="addClassRtl" />
         <xsl:variable name="title" select="marc:subfield[@code='a']"/>
         <xsl:variable name="ntitle"
-         select="translate($title, '&#x0098;&#x009C;','')"/>
+         select="translate($title, '&#x0098;&#x009C;&#xC29C;&#xC29B;&#xC298;&#xC288;&#xC289;','')"/>
         <xsl:value-of select="$ntitle" />
         <xsl:if test="marc:subfield[@code='e']">
           <xsl:text> : </xsl:text>
 
   <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:with-param name="label">Main Author</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">Collectivité principale</xsl:with-param>
+    <xsl:with-param name="label">Corporate Author (Main)</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:with-param name="label">Coauthor</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</xsl:with-param>
+    <xsl:with-param name="label">Secondary Author</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">Collectivité co-auteur</xsl:with-param>
+    <xsl:with-param name="label">Corporate Author (Coauthor)</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">Collectivité secondaire</xsl:with-param>
+    <xsl:with-param name="label">Corporate Author (Secondary)</xsl:with-param>
   </xsl:call-template>
 
   <xsl:if test="marc:datafield[@tag=101]">
     <li>
-      <strong>Langue: </strong>
+      <strong>Language: </strong>
       <xsl:for-each select="marc:datafield[@tag=101]">
         <xsl:for-each select="marc:subfield">
           <xsl:choose>
-            <xsl:when test="@code='b'">de la trad. intermédiaire, </xsl:when>
-            <xsl:when test="@code='c'">de l'œuvre originale, </xsl:when>
-            <xsl:when test="@code='d'">du résumé, </xsl:when>
-            <xsl:when test="@code='e'">de la table des matières, </xsl:when>
-            <xsl:when test="@code='f'">de la page de titre, </xsl:when>
-            <xsl:when test="@code='g'">du titre propre, </xsl:when>
-            <xsl:when test="@code='h'">d'un livret, </xsl:when>
-            <xsl:when test="@code='i'">des textes d'accompagnement, </xsl:when>
-            <xsl:when test="@code='j'">des sous-titres, </xsl:when>
+            <xsl:when test="@code='b'">of intermediate text, </xsl:when>
+            <xsl:when test="@code='c'">of original work, </xsl:when>
+            <xsl:when test="@code='d'">of summary, </xsl:when>
+            <xsl:when test="@code='e'">of contents page, </xsl:when>
+            <xsl:when test="@code='f'">of title page, </xsl:when>
+            <xsl:when test="@code='g'">of title proper, </xsl:when>
+            <xsl:when test="@code='h'">of libretto, </xsl:when>
+            <xsl:when test="@code='i'">of accompanying material, </xsl:when>
+            <xsl:when test="@code='j'">of subtitles, </xsl:when>n>
           </xsl:choose>
           <xsl:value-of select="text()"/>
           <xsl:choose>
 
   <xsl:if test="marc:datafield[@tag=102]">
     <li>
-      <strong>Pays: </strong>
+      <strong>Country: </strong>
       <xsl:for-each select="marc:datafield[@tag=102]">
         <xsl:for-each select="marc:subfield">
           <xsl:value-of select="text()"/>
   <xsl:call-template name="tag_215" />
 
 <xsl:if test="marc:controlfield[@tag=009]">
-    <li><strong>PPN: </strong>
+    <li><strong>Tag 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:with-param name="label">Series</xsl:with-param>
   </xsl:call-template>
 
   <xsl:if test="marc:datafield[@tag=676]">
 
   <xsl:if test="marc:datafield[@tag=327]">
     <li>
-      <strong>Note de contenu: </strong>
+      <strong>Contents note: </strong>
       <xsl:for-each select="marc:datafield[@tag=327]">
         <xsl:call-template name="chopPunctuation">
           <xsl:with-param name="chopString">
 
   <xsl:if test="marc:datafield[@tag=330]">
     <li>
-      <strong>Résumé: </strong>
+      <strong>Abstract: </strong>
       <xsl:for-each select="marc:datafield[@tag=330]">
         <xsl:value-of select="marc:subfield[@code='a']"/>
         <xsl:choose>
 
   <xsl:if test="marc:datafield[@tag=317]">
     <li>
-      <strong>Note sur la provenance: </strong>
+      <strong>Provenance note: </strong>
       <xsl:for-each select="marc:datafield[@tag=317]">
           <xsl:value-of select="marc:subfield[@code='a']"/>
       </xsl:for-each>
 
   <xsl:if test="marc:datafield[@tag=320]">
     <li>
-      <strong>Bibliographie: </strong>
+      <strong>Bibliography: </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:if test="marc:datafield[@tag=328]">
     <li>
-      <strong>Thèse: </strong>
+      <strong>Thesis: </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:if test="marc:datafield[@tag=333]">
     <li>
-      <strong>Public: </strong>
+      <strong>Audience: </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>
     </li>
   </xsl:if>
 
-  <xsl:if test="marc:datafield[@tag=955]">
-    <li>
-      <strong>SUDOC serial history: </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: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:with-param name="label">Subject - Personal Name</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:with-param name="label">Subject - Corporate Author</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:with-param name="label">Subject - Family</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:with-param name="label">Subject - Author/Title</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:with-param name="label">Subject - Topical Name</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 géographique</xsl:with-param>
+    <xsl:with-param name="label">Subject - Geographical Name</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:with-param name="label">Subject - Form</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:with-param name="label">Subject</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">Catégorie sujet</xsl:with-param>
+    <xsl:with-param name="label">Subject Category</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 déposée</xsl:with-param>
+    <xsl:with-param name="label">Trademark</xsl:with-param>
   </xsl:call-template>
 
   <xsl:if test="marc:datafield[@tag=856]">
     <li>
       <strong>Online Resources: </strong>
       <xsl:for-each select="marc:datafield[@tag=856]">
+        <xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable>
         <a>
           <xsl:attribute name="href">
             <xsl:value-of select="marc:subfield[@code='u']"/>
           </xsl:attribute>
           <xsl:choose>
+            <xsl:when test="($Show856uAsImage='Details' or $Show856uAsImage='Both') and (substring($SubqText,1,6)='image/' or $SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')">
+              <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="alt"><xsl:value-of select="marc:subfield[@code='y']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element><xsl:text></xsl:text>
+            </xsl:when>
             <xsl:when test="marc:subfield[@code='y' or @code='3' or @code='z']">
               <xsl:call-template name="subfieldSelect">
                 <xsl:with-param name="codes">y3z</xsl:with-param>