<?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) > 0">
+ <xsl:value-of select="$medium"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="."/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </pz:metadata>
</xsl:template>
</xsl:stylesheet>