Support for float(like score) and int (not used yet)
authorDennis Schafroth <dennis@indexdata.com>
Tue, 18 Sep 2012 15:45:26 +0000 (17:45 +0200)
committerDennis Schafroth <dennis@indexdata.com>
Tue, 18 Sep 2012 15:45:26 +0000 (17:45 +0200)
test/solr-pz2.xsl

index 4267f99..9a0cb9f 100644 (file)
@@ -1,21 +1,44 @@
 <?xml version="1.0"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
-               xmlns:pz="http://www.indexdata.com/pazpar2/1.0" >
-  <xsl:template  match="/">
-      <xsl:apply-templates></xsl:apply-templates>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pz="http://www.indexdata.com/pazpar2/1.0" version="1.0">
+
+  <xsl:param name="medium"/>
+
+  <xsl:template match="/">
+    <xsl:apply-templates/>
   </xsl:template>
 
+  <xsl:template match="lst[@name='responseHeader']"/>
+    
   <xsl:template match="doc">
     <pz:record>
-      <xsl:apply-templates></xsl:apply-templates>
+      <xsl:apply-templates/>
     </pz:record>
   </xsl:template>
+
+  <xsl:template match="float[@name]">
+    <pz:metadata>
+      <xsl:attribute name="type">
+       <xsl:value-of select="@name"/>
+      </xsl:attribute>
+      <xsl:value-of select="."/>
+    </pz:metadata>
+  </xsl:template>
+
+  <xsl:template match="int[@name]">
+    <pz:metadata>
+      <xsl:attribute name="type">
+       <xsl:value-of select="@name"/>
+      </xsl:attribute>
+      <xsl:value-of select="."/>
+    </pz:metadata>
+  </xsl:template>
+
   <xsl:template match="str[@name]">
     <pz:metadata>
-       <xsl:attribute  name="type">
-         <xsl:value-of select="@name"/>
-       </xsl:attribute>
-       <xsl:value-of select="."/>
+      <xsl:attribute name="type">
+        <xsl:value-of select="@name"/>
+      </xsl:attribute>
+      <xsl:value-of select="."/>
     </pz:metadata>
   </xsl:template>
 
   </xsl:template>
 
   <xsl:template name="string">
-      <pz:metadata>
-       <xsl:attribute  name="type">
-         <xsl:value-of select="../@name"/>
-       </xsl:attribute>
-       <xsl:value-of select="."/>
-      </pz:metadata>
+    <pz:metadata>
+      <xsl:attribute name="type">
+        <xsl:value-of select="../@name"/>
+      </xsl:attribute>
+      <xsl:choose>
+        <xsl:when test="../@name = 'medium' and string-length($medium) &gt; 0">
+          <xsl:value-of select="$medium"/>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="."/>
+        </xsl:otherwise>
+      </xsl:choose>
+    </pz:metadata>
   </xsl:template>
 
 </xsl:stylesheet>