<?xml version="1.0" encoding="UTF-8"?>
-<!-- $Id: zeerex2index.xsl,v 1.12 2007-03-02 15:50:09 mike Exp $ -->
<!-- See the ZeeRex profile at http://srw.cheshire3.org/profiles/ZeeRex/ -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:z="http://indexdata.dk/zebra/xslt/1"
xmlns:e="http://explain.z3950.org/dtd/2.0/"
+ xmlns:i="http://indexdata.com/irspy/1.0"
version="1.0">
<xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
<xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
<!-- Match on ZeeRex XML record -->
<xsl:template match="//e:explain">
<xsl:variable name="id"><xsl:value-of select="concat(
+ e:serverInfo/@protocol, ':',
e:serverInfo/e:host, ':',
e:serverInfo/e:port, '/',
e:serverInfo/e:database)"/></xsl:variable>
<xsl:value-of select="$id"/>
</z:index>
+ <z:index name="rec:id_raw" type="0">
+ <xsl:value-of select="$id"/>
+ </z:index>
+
<!-- serverInfo -->
<z:index name="net:protocol" type="w">
<xsl:value-of select="e:serverInfo/@protocol"/>
<z:index name="net:path" type="s">
<xsl:value-of select="e:serverInfo/e:database"/>
</z:index>
+ <z:index name="zeerex:reliability" type="n">
+ <xsl:value-of select="e:serverInfo/e:reliability"/>
+ </z:index>
+ <z:index name="zeerex:reliability" type="s">
+ <xsl:value-of select="e:serverInfo/e:reliability"/>
+ </z:index>
<z:index name="dc:date" type="d">
<xsl:value-of select="e:serverInfo/e:database/@lastUpdate"/>
</z:index>
<xsl:value-of select="e:metaInfo/e:dateModified"/>
</z:index>
- <!-- ### indexInfo -->
+ <!-- indexInfo -->
+ <xsl:for-each select="e:indexInfo/e:index/e:map/e:attr">
+ <z:index name="zeerex:index" type="w">
+ <xsl:value-of select="."/>
+ </z:index>
+ </xsl:for-each>
<!-- recordInfo -->
- <z:index name="zeerex:recordSyntax" type="0">
+ <z:index name="zeerex:recordSyntax" type="w">
<xsl:value-of select="e:recordInfo/e:recordSyntax/@name"/>
<!-- ### But @identifier is an OID for Z39.50 -->
</z:index>
</xsl:for-each>
<!-- Many more could be added as required -->
+ <!-- extensions -->
+ <z:index name="zeerex:libType" type="0">
+ <xsl:value-of select="i:status/i:libraryType"/>
+ </z:index>
+ <z:index name="zeerex:country" type="0">
+ <xsl:value-of select="i:status/i:country"/>
+ </z:index>
+ <z:index name="zeerex:disabled" type="0">
+ <xsl:value-of select="i:status/i:disabled"/>
+ </z:index>
+
</z:record>
</xsl:template>
</xsl:stylesheet>