Construct md-pages-number form page/endpage PAZ-998
authorJakub Skoczen <jakub@indexdata.dk>
Fri, 17 Apr 2015 11:20:34 +0000 (13:20 +0200)
committerJakub Skoczen <jakub@indexdata.dk>
Fri, 17 Apr 2015 11:20:34 +0000 (13:20 +0200)
etc/xsl/cf.xsl

index 5f0c4ea..fdf3edd 100644 (file)
         version="1.0"
         encoding="UTF-8"/>
 
-  <xsl:param name="medium" />
+    <xsl:param name="medium" />
+
+    <xsl:variable name="startpage" select="/record/page" />
+    <xsl:variable name="endpage" select="/record/endpage" />
 
   <!-- Use medium parameter if given. Default to medium from connector -->
   <xsl:template match="/record">
           </xsl:otherwise>
         </xsl:choose>
       </pz:metadata>
+
+      <!-- calculate md-pages-number for startpage/endpage -->
+      <xsl:if test="string-length($startpage)">
+        <pz:metadata type="pages-number">
+          <xsl:value-of select="$startpage" />
+          <xsl:if test="string-length($endpage)">
+            <xsl:text>-</xsl:text>
+            <xsl:value-of select="$endpage" />
+          </xsl:if>
+        </pz:metadata>
+      </xsl:if>
+
       <xsl:apply-templates/>
+
     </pz:record>
   </xsl:template>
 
     </pz:metadata>
   </xsl:template>
 
-  <!-- put both page and pages-number for page -->
-  <xsl:template match="page">
-    <pz:metadata type="pages-number">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-    <pz:metadata type="page">
-      <xsl:value-of select="."/>
-    </pz:metadata>
-  </xsl:template>
-  <!-- leave endpage as is -->
-
   <xsl:template match="*" >
     <pz:metadata type="{local-name()}">
       <xsl:value-of select="."/>