Add putative extension element to document the translation of CQL
[irspy-moved-to-github.git] / zebra / zeerex.xml
index f16f0f9..b5013dd 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- $Id: zeerex.xml,v 1.1 2006-04-13 14:53:17 mike Exp $ -->
+<!-- $Id: zeerex.xml,v 1.12 2006-09-07 10:29:38 mike Exp $ -->
 <explain xmlns="http://explain.z3950.org/dtd/2.0/">
+
  <serverInfo protocol="SRW/SRU/Z39.50" version="1.1" method="GET/POST">
   <host>localhost</host>
   <port>1313</port>
   <database>Default</database>
  </serverInfo>
+
  <databaseInfo>
   <title lang="en" primary="true">IRSpy database of ZeeRex records</title>
-  <author>Mike Taylor, Index Data Aps, http://www.indexdata.com</author>
-  <contact>mike@indexdata.com</contact>
+  <description lang="en" primary="true">
+   This is a database of enhanced ZeeRex records, maintained by IRSpy,
+   containing information about a selection of Z39.50 and SRU/SRW
+   databases that are periodically probed.  The ZeeRex records are
+   extended using the extension mechanism described at
+       http://explain.z3950.org/dtd/extensions.html
+   so that the results of the tests are included alongside the
+   protocol-level information that is the core of ZeeRex.
+  </description>
+  <author>Index Data Aps, http://www.indexdata.com/</author>
+  <contact>Mike Taylor, mike@indexdata.com</contact>
+  <history lang="en" primary="true">
+   The initial version of this database was populated using the set of
+   targets known in Index Data's Z39.50 Target Directory:
+       http://targettest.indexdata.com/
+   The records may have been substantially altered and extended since
+   then, and new records may have been added.
+  </history>
+  <implementation identifier="zebra" version="1.4">
+   <title lang="en" primary="true">
+    Index Data's Zebra information management system:
+       http://www.indexdata.dk/zebra
+   </title>
+  </implementation>
  </databaseInfo>
- <!-- ### Much, much more to be added -->
+
+ <indexInfo>
+  <set name="cql" identifier="info:srw/cql-context-set/1/cql-v1.1">
+   <title>CQL</title>
+  </set>
+  <set name="rec" identifier="info:srw/cql-context-set/2/rec-1.1">
+   <title>Record Metadata</title>
+  </set>
+  <set name="net" identifier="info:srw/cql-context-set/2/net-1.0">
+   <title>Network Metadata</title>
+  </set>
+  <set name="dc" identifier="info:srw/cql-context-set/1/dc-v1.1">
+   <title>Dublin Core</title>
+  </set>
+  <set name="zeerex" identifier="info:srw/cql-context-set/2/zeerex-1.1">
+   <title>ZeeRex</title>
+  </set>
+  <set name="bib1" identifier="1.2.840.10003.3.1">
+   <title>BIB-1</title>
+  </set>
+
+  <index search="true" scan="true" sort="false">
+   <title lang="en">Server choice</title>
+   <map><name set="cql">serverChoice</name></map>
+   <map><name set="cql">anywhere</name></map>
+   <map><attr type="1" set="bib1">cql:all</attr></map>
+  </index>
+
+  <index search="true" scan="true" sort="false">
+   <title lang="en">Record identifier</title>
+   <map><name set="rec">id</name></map>
+   <map><attr type="1" set="bib1">rec:id</attr>
+        <attr type="4" set="bib1">3</attr></map>
+  </index>
+
+  <index search="true" scan="true" sort="false">
+   <title lang="en">Protocol</title>
+   <map><name set="net">protocol</name></map>
+   <map><attr type="1" set="bib1">net:protocol</attr></map>
+  </index>
+
+  <index search="true" scan="true" sort="false">
+   <title lang="en">Protocol version</title>
+   <map><name set="net">version</name></map>
+   <map><attr type="1" set="bib1">net:version</attr>
+        <attr type="4" set="bib1">3</attr></map>
+  </index>
+
+  <index search="true" scan="true" sort="false">
+   <title lang="en">Protocol method</title>
+   <map><name set="net">method</name></map>
+   <map><attr type="1" set="bib1">net:method</attr></map>
+  </index>
+
+  <index search="true" scan="true" sort="false">
+   <title lang="en">Host</title>
+   <map><name set="net">host</name></map>
+   <map><attr type="1" set="bib1">net:host</attr>
+        <attr type="4" set="bib1">3</attr></map>
+  </index>
+
+  <index search="true" scan="true" sort="false">
+   <title lang="en">Port</title>
+   <map><name set="net">port</name></map>
+   <map><attr type="1" set="bib1">net:port</attr>
+        <attr type="4" set="bib1">3</attr></map>
+  </index>
+
+  <index search="true" scan="true" sort="false">
+   <title lang="en">Path</title>
+   <map><name set="net">path</name></map>
+   <map><attr type="1" set="bib1">net:path</attr></map>
+  </index>
+
+  <index search="true" scan="true" sort="false">
+   <title lang="en">Title</title>
+   <map><name set="dc">title</name></map>
+   <map><attr type="1" set="bib1">dc:title</attr></map>
+  </index>
+
+  <index search="true" scan="true" sort="false">
+   <title lang="en">Creator</title>
+   <map><name set="dc">creator</name></map>
+   <map><attr type="1" set="bib1">dc:creator</attr></map>
+  </index>
+ </indexInfo>
+
+ <!--
+ <recordInfo> is not allowed in the same record as <schemaInfo>,
+ because standard ZeeRex assumes that the record is describing
+ _either_ a Z39.50 database _or_ an SRW/SRU database, but not both.
+ We want to override that restriction, which will entail making a new
+ schema.  Yuck.
+ -->
+
+ <schemaInfo>
+  <schema name="zeerex" retrieve="true" sort="false"
+         identifier="http://explain.z3950.org/dtd/2.0/"
+         location="http://explain.z3950.org/dtd/zeerex-2.0.xsd">
+   <title>ZeeRex 2.0</title>
+  </schema>
+  <schema name="index" retrieve="true" sort="false"
+         identifier="http://indexdata.dk/zebra/xslt/1">
+   <title lang="en" primary="true">Zebra indexing recipe</title>
+  </schema>
+  <schema name="id" retrieve="true" sort="false"
+         identifier="http://indexdata.dk/zebra/id/1">
+   <title lang="en" primary="true">Record identifier</title>
+  </schema>
+ </schemaInfo>
+
+ <configInfo>
+  <supports type="relation" xmlns:foo="http://foo.com/explain/" foo:bib1equiv="2=3">=</supports>
+  <supports type="relationModifier">relevant</supports>
+  <supports type="relationModifier">fuzzy</supports>
+  <supports type="relationModifier">regexp</supports>
+  <supports type="maskingCharacter">*</supports>
+  <supports type="maskingCharacter">?</supports>
+  <default type="contextSet">net</default>
+  <default type="index">cql.anywhere</default>
+
+  <!-- ### Many more <default>s, <setting>s and <supports>s to be added -->
+ </configInfo>
+
+ <irspy:status xmlns:irspy="http://indexdata.com/irspy/1.0">
+  <irspy:availability>
+   <irspy:probe ok="0">2006-07-10T11:45:06</irspy:probe>
+   <irspy:probe ok="1">2006-07-17T11:45:02</irspy:probe>
+   <!-- Leave it to applications to calculate averages, etc. -->
+  </irspy:availability>
+ </irspy:status>
 </explain>