<?xml version="1.0" encoding="UTF-8"?>
-<!-- $Id: zeerex2index.xsl,v 1.4 2006-09-19 16:24:59 mike Exp $ -->
+<!-- $Id: zeerex2index.xsl,v 1.8 2006-12-01 10:04:18 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/"
version="1.0">
<xsl:output indent="yes" method="xml" version="1.0" encoding="UTF-8"/>
- <!-- disable all default text node output -->
+ <!-- Disable all default text node output -->
<xsl:template match="text()"/>
- <!-- match on alvis xml record -->
+ <!-- Match on ZeeRex XML record -->
<xsl:template match="//e:explain">
<z:record id="{concat(
e:serverInfo/e:host, ':',
e:serverInfo/e:database)}"
type="update">
- <!-- ### define "cql:anywhere" -->
+ <!-- Well, not quite _anywhere_. Only textual fields are indexed -->
+ <z:index name="cql:anywhere" type="w">
+ <xsl:value-of select="e:serverInfo/e:host"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="e:serverInfo/e:port"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="e:serverInfo/e:database"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="e:databaseInfo/e:title"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="e:databaseInfo/e:description"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="e:databaseInfo/e:author"/>
+ </z:index>
<z:index name="rec:authorityIndicator" type="0">
<xsl:value-of select="@authoritative"/>
<z:index name="net:port" type="s">
<xsl:value-of select="e:serverInfo/e:port"/>
</z:index>
- <z:index name="net:path" type="w"><!-- "w" for case-insensitivity -->
+ <z:index name="net:path" type="0">
<xsl:value-of select="e:serverInfo/e:database"/>
</z:index>
<z:index name="net:path" type="s">