Merge subject-long normalization. Add localid (999). Add uniform fields. Rearrange...
[pazpar2-moved-to-github.git] / etc / opac.xsl
index 6fe5ecd..e4c5457 100644 (file)
     <xsl:for-each select="/opacRecord/holdings/holding">
       <pz:metadata type="locallocation">
         <xsl:choose>
-         <xsl:when test="localLocation">
-           <xsl:value-of select="localLocation"/>
-         </xsl:when>
-         <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
-       </xsl:choose>
+          <xsl:when test="localLocation">
+            <xsl:value-of select="localLocation"/>
+          </xsl:when>
+          <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
+        </xsl:choose>
       </pz:metadata>
       <pz:metadata type="callnumber">
         <xsl:choose>
-         <xsl:when test="callNumber">
-           <xsl:value-of select="callNumber"/>
-         </xsl:when>
-         <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
-       </xsl:choose>
+          <xsl:when test="callNumber">
+            <xsl:value-of select="callNumber"/>
+          </xsl:when>
+          <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
+        </xsl:choose>
       </pz:metadata>
-      <pz:metadata type="available">
+      <pz:metadata type="publicnote">
         <xsl:choose>
-          <xsl:when test="string-length(available)">
-            <xsl:value-of select="available"/>
+          <xsl:when test="publicNote">
+            <xsl:value-of select="publicNote"/>
           </xsl:when>
           <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
         </xsl:choose>
       </pz:metadata>
-      <pz:metadata type="publicnote">
+      <pz:metadata type="available">
         <xsl:choose>
-         <xsl:when test="publicNote">
-           <xsl:value-of select="publicNote"/>
-         </xsl:when>
-         <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
-       </xsl:choose>
+          <xsl:when test="circulations/circulation/availableNow/@value = '1'">
+             Available
+          </xsl:when>
+          <xsl:when test="circulations/circulation/availableNow/@value = '0'">
+             <xsl:choose>
+               <xsl:when test="circulations/circulation/availabiltyDate">
+                 <xsl:value-of select="circulations/circulation/availabiltyDate"/>
+               </xsl:when>
+               <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
+             </xsl:choose>
+          </xsl:when>
+          <xsl:otherwise>PAZPAR2_NULL_VALUE</xsl:otherwise>
+        </xsl:choose>
       </pz:metadata>
     </xsl:for-each>
   </xsl:template>
 
   <xsl:template match="/">
-    <xsl:apply-templates select="opacRecord/bibliographicRecord"/>
+    <xsl:choose>
+      <xsl:when test="opacRecord">
+        <xsl:apply-templates select="opacRecord/bibliographicRecord"/>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:apply-templates/>
+      </xsl:otherwise>
+    </xsl:choose>
   </xsl:template>
 
 </xsl:stylesheet>