added a sketch of some unified config stuff for yaz-frontend, zebra, metaproxy, retri...
authorMarc Cromme <marc@indexdata.dk>
Sat, 30 Dec 2006 23:41:16 +0000 (23:41 +0000)
committerMarc Cromme <marc@indexdata.dk>
Sat, 30 Dec 2006 23:41:16 +0000 (23:41 +0000)
xml/experiments/zeerex-info.xml [new file with mode: 0644]

diff --git a/xml/experiments/zeerex-info.xml b/xml/experiments/zeerex-info.xml
new file mode 100644 (file)
index 0000000..298cfaa
--- /dev/null
@@ -0,0 +1,370 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- fictive yaz-frontend plus zeerex-explain plus retrieval info format -->
+<zeerex xmlns="http://indexdata.com/yaz" 
+        xmlns:dc="http://purl.org/dc/elements/1.1/"
+        version="1.0">
+
+  <listen id="public" tcp="@" port="9900"/>
+  <listen id="internal" unix="/var/tmp/socket"/>
+
+  <protocol id="sru" sru_get="true" sru_post="true" sru_soap="true"/>
+  <protocol id="sru_get" sru_get="true"/>
+  <protocol id="z3950" z3950="true"/>
+
+  <!--
+  <protocol id="rss" rss="true" />
+  <protocol id="oai" oai="true" />
+  <protocol id="http" http="true" />
+  -->
+
+  <implementation id="metaproxy" version="1.0">
+    <dc:title>Metaproxy</dc:title>
+    <dc:source>http://www.indexdata.dk/zebra</dc:source>
+  </implementation>
+
+
+  <server id="server1">
+    <listen refid="public"/>
+    <listen refid="internal"/>
+    <protocol refid="sru"/>
+    <protocol refid="z3950"/>
+
+    <database name="Default">
+      <!-- host and port can be different from listen socket 
+           due to firewalling!!! -->
+      <target host="server1.mydomain" port="80"/>
+
+      <!--<authentication>
+          <user>azaroth</user>
+          <group>agroup</group>
+          <password>squirrelfish</password>
+          </authentication>-->
+
+        <indexInfo refid="indexes_cql_pqf"/>
+
+    </database>
+
+    <configInfo>
+      <directory>/var/www/s1</directory>
+      <config>config.cfg</config>
+      <cql2rpn>../etc/pqf.properties</cql2rpn>
+    </configInfo>
+
+    <!--
+    <friendInfo>
+      <server>
+        <protocol refid="sru"/>
+        <protocol refid="z3950"/>
+        <target host="some.server.com" port="8000"/>
+      </server>
+      <server>
+        <protocol refid="z3950"/>
+        <target host="some.other.server.com" port="1234"/>
+      </server>
+    </friendInfo>
+    -->
+
+
+
+  <indexInfo id="indexes_cql_pqf">
+    <set name="cql" identifier="info:srw/cql-context-set/1/cql-v1.1">
+      <title>CQL Standard Set</title>
+    </set>
+    <set name="rec" identifier="info:srw/cql-context-set/2/rec-1.0">
+      <title>Record Standard Set</title>
+    </set>
+    <set name="dc" identifier="info:srw/cql-context-set/1/dc-v1.1">
+      <title>Dublin Core Set</title>
+    </set>
+    <set name="bib1" identifier="1.2.840.10003.3.1">
+      <title>BIB-1 Z39.50 Standard Set</title>
+    </set>
+
+
+    <!-- CQL standard index -->
+    <index search="true" scan="true" sort="false">
+      <title lang="en">CQL Server Choice</title>
+      <map><name set="cql">serverChoice</name></map>
+      <map>
+        <attr type="1" set="bib1">text</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">CQL All</title>
+      <map><name set="cql">all</name></map>
+      <map>
+        <attr type="1" set="bib1">text</attr>
+      </map>
+    </index>
+
+    <!-- Record ID index -->
+    <index search="true" scan="true" sort="false">
+      <title lang="en">Record ID</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>
+    
+
+    <!-- Dublin Core Indexes -->
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC 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">DC Creator</title>
+      <map><name set="dc">creator</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_creator</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Subject</title>
+      <map><name set="dc">subject</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_subject</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Description</title>
+      <map><name set="dc">description</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_description</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Publisher</title>
+      <map><name set="dc">publisher</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_publisher</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Contributor</title>
+      <map><name set="dc">contributor</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_contributor</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Date</title>
+      <map><name set="dc">date</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_date</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Type</title>
+      <map><name set="dc">type</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_type</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Format</title>
+      <map><name set="dc">format</name></map>
+      <map>
+        <attr type="1" set="bib1"></attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Identifier</title>
+      <map><name set="dc">identifier</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_identifier</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Source</title>
+      <map><name set="dc">source</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_source</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Language</title>
+      <map><name set="dc">language</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_language</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Relation</title>
+      <map><name set="dc">relation</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_relation</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Coverage</title>
+      <map><name set="dc">coverage</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_coverage</attr>
+      </map>
+    </index>
+    <index search="true" scan="true" sort="false">
+      <title lang="en">DC Rights</title>
+      <map><name set="dc">rights</name></map>
+      <map>
+        <attr type="1" set="bib1">dc_rights</attr>
+      </map>
+    </index>
+
+  </indexInfo>
+
+
+  </server>
+
+
+  <cqlInfo>
+
+    <!-- searchRetrieve settings -->
+
+    <!-- default context set -->
+    <default type="contextSet">cql</default>
+
+    <default type="index">all</default>
+
+    <!-- default relation -->
+    <default type="relation">=</default>
+
+    <!-- relation supported by the server or index -->
+    <supports type="relation">&lt;</supports> <!-- 2=1 OK -->
+    <supports type="relation">&lt;=</supports> <!-- 2=2 OK -->
+    <supports type="relation">=</supports> <!-- 2=3 OK -->
+    <supports type="relation">&gt;=</supports> <!-- 2=4 OK -->
+    <supports type="relation">&gt;</supports> <!-- 2=5 OK -->
+    <!-- <supports type="relation">&lt;&gt;</supports> --><!-- 2=6 DEAD !!! -->
+    <!-- <supports type="relation">all</supports> --><!-- 2=3 OK -->
+    <!-- <supports type="relation">any</supports> --><!-- 2=3 OK -->
+
+    <!-- relation modifier supported by the server or index -->
+    <!-- MARC: So I promise that you can use 'title <>/stem fish' , but it 
+         really defaults to  'title =/stem  fish' ??? And nobody cares ???-->
+    <!-- <supports type="relationModifier">relevant</supports> --><!-- 2=102 OK, makes no difference .. sic -->
+    <!-- <supports type="relationModifier">phonetic</supports> --> <!-- 2=100 DEAD -->
+    <!-- <supports type="relationModifier">stem</supports> --> <!-- 2=101 DEAD !! -->
+
+    <!-- support proximity (Empty) -->
+    <!-- <supports type="proximity"></supports> --> <!-- DEAD,  title = (house prox/distance=1/unit=word  the) FAILS -->
+
+
+    <!-- proximity modifier supported by the server or index 
+         (relation, distance, unit, ordering) -->
+    <!-- <supports type="proximityModifier"></supports> -->
+
+    <!-- boolean modifier supported by the server or index -->
+    <!-- <supports type="booleanModifier"></supports> -->
+
+    <!-- masking character supported (* or ?) -->
+    <supports type="maskingCharacter">*</supports>
+    <supports type="maskingCharacter">?</supports>
+
+    <!-- anchoring supported? (^ character) -->
+    <!-- MARC: how do I express that I only support left anchoring in 
+         the beginning of the field ( bib1 3=1 ), but no right anchoring ?? -->
+    <!-- MIKE: You can't.  The ZeeRex documentation should be changed
+        to allow this, as <supports type="anchoring">left</supports> -->
+    <!-- <supports type="anchoring"></supports> -->
+
+    <!-- empty terms supported (Empty) -->
+    <supports type="emptyTerm"></supports>
+
+
+    <!-- sorting settings -->
+
+    <!-- server support sort -->
+    <!-- <supports type="sort"></supports> -->
+
+    <!-- supported sortmodifier (ascending, missingValue, caseSensitive) -->
+    <!-- <supports type="sortModifier"></supports> -->
+    <!-- MIKE: this is for the new CQL "sortby" sorting, which Zebra
+        doesn't yet do at all, so you're right to omit this for now. -->
+
+    <!-- presentation settings --> 
+
+    <!-- default number of records that a server will return at once  -->
+    <default type="numberOfRecords">0</default>
+
+    <!-- default schema used for retrieved records -->
+    <default type="retrieveSchema">dc</default>
+
+    <!-- default stylesheet URL, or if stylesheets are supported -->
+    <setting type="stylesheet">docpath/sru.xsl</setting>
+
+    <!-- default record packing returned (string or xml) -->
+    <default type="recordPacking">xml</default>
+
+    <!-- maximum number of records that a server will return at once -->
+    <!-- <setting type="maximumRecords">1000</setting> -->
+
+    <!-- support result sets (Empty) -->
+    <!-- <supports type="resultSets"></supports>  --> 
+
+    <!-- XPath retrieval supported -->
+    <!-- <supports type="recordXPath"></supports> -->
+
+
+    <!-- scan settings -->
+
+    <!-- scan operation supported -->
+    <supports type="scan"></supports>
+
+    <!-- default number of terms to be returned in scan -->
+    <default type="numberOfTerms">20</default>
+
+
+
+    <!-- other server settings -->
+
+    <!-- older version of the protocol supported  -->
+    <!-- <supports type="version">1.1</supports> -->
+
+    <!-- number of seconds that a result set will be maintained for -->
+    <setting type="resultSetTTL">0</setting>
+
+    <!-- A type of extraRequestData available in the
+         searchRetrieveRequest. The extra*Data fields are represented as two
+         space separated words, the first the identifier for the extension and
+         the second the individual element name from the extension. If there is
+         only one word, then it is the extension id and all elements from
+         within are supported. -->
+    <!-- <supports type="extraSearchData"></supports> -->
+    <!-- MIKE: we could explain x-pquery here -->
+    <!-- MARC: I talked to Adam about this. We should make a new 'x-type'
+         with possible values PQF, CQL, CCL , .. such that 'query' still is
+         obligatory, and carries the query string, be it PQF, CCL, or CQL. -->
+    <!-- MIKE: Yes, that would be _much_ better -->
+
+    <!-- A type of extraRequestData available in the explainRequest -->
+    <!-- <supports type="extraExplainData"></supports> -->
+
+    <!-- A type of extraRequestData available in the scanRequest -->
+    <!-- <supports type="extraScanData"></supports> -->
+    <!-- MIKE: we could explain x-pscan here -->
+    <!-- MARC: re-use of 'x-type' here .. drop 'x-pscan' -->
+
+    <!-- The URI identifier of a supported profile -->
+    <!-- MARC: what's this ?? -->
+    <!-- <supports type="profile"></supports> -->
+    <!-- MIKE: this is a very good thing, which we should use when the
+        time is right.  A "profile" is a complete set of
+        specifications for using Z39.50 and/or SRU within a
+        particular application domain.  We should write a (brief)
+        "Alvis Profile for SRU", assign it an opaque identifier URI,
+        and point to it here.  (Not today, though!) -->
+    <!-- MARC: so this is some HTML prosa text ?? -->
+    <!-- MIKE: see for example
+       http://zthes2.z3950.org/srw/zthes-srw-1.0.html
+       -->
+  </cqlInfo>
+
+
+</zeerex>
+
\ No newline at end of file