<metaproxy xmlns="http://indexdata.com/metaproxy" version="1.0">
<start route="start"/>
<filters>
- <filter id="frontend" type="frontend_net">
- <port>@:7090</port>
- <!-- maximum connections within a minute from same IP -->
- <connect-max>10</connect-max>
+ <!-- record transform for servers that return MARC8-encoded MARC -->
+ <filter id="marc8-records" type="record_transform">
+ <retrievalinfo xmlns="http://indexdata.com/yaz" version="1.0">
+ <retrieval syntax="xml" name="dc"
+ identifier="info:srw/schema/1/dc-v1.1">
+ <backend syntax="usmarc" name="F">
+ <marc inputformat="marc" outputformat="marcxml"
+ inputcharset="marc-8"/>
+ <xslt stylesheet="../xml/xslt/MARC21slim2DC.xsl"/>
+ </backend>
+ </retrieval>
+ <retrieval syntax="opac"/>
+ <retrieval syntax="xml" name="opac">
+ <backend syntax="opac" name="F">
+ <marc inputformat="marc" outputformat="marcxml"
+ inputcharset="marc-8"/>
+ </backend>
+ </retrieval>
+ <retrieval syntax="usmarc">
+ <backend syntax="usmarc" name="F">
+ </backend>
+ </retrieval>
+ </retrievalinfo>
</filter>
- <filter id="backend" type="z3950_client">
+
+ <!-- record transform for servers that return UTF8-encoded MARC -->
+ <filter id="utf8-records" type="record_transform">
+ <retrievalinfo xmlns="http://indexdata.com/yaz" version="1.0">
+ <retrieval syntax="xml" name="dc"
+ identifier="info:srw/schema/1/dc-v1.1">
+ <backend syntax="usmarc" name="F">
+ <marc inputformat="marc" outputformat="marcxml"
+ inputcharset="utf8"/>
+ <xslt stylesheet="../xml/xslt/MARC21slim2DC.xsl"/>
+ </backend>
+ </retrieval>
+ <retrieval syntax="opac"/>
+ <retrieval syntax="xml" name="opac">
+ <backend syntax="opac" name="F">
+ <marc inputformat="marc" outputformat="marcxml"
+ inputcharset="utf8"/>
+ </backend>
+ </retrieval>
+ <retrieval syntax="usmarc">
+ <backend syntax="usmarc" name="F">
+ </backend>
+ </retrieval>
+ </retrievalinfo>
</filter>
+
</filters>
- <routes>
+ <routes>
<route id="start">
- <filter refid="frontend"/>
+ <filter type="frontend_net">
+ <port>@:7090</port>
+ <!-- maximum connections within a minute from same IP -->
+ <threads>100</threads>
+ <connect-max>10</connect-max>
+ </filter>
+
+ <!-- converts SRU to Z39.50 and back -->
<filter type="sru_z3950"/>
+
<filter type="log">
<message>F</message>
<category init-options="true" apdu="false"/>
</filter>
+
+ <!-- converts CQL to RPN -->
+ <filter type="cql_rpn">
+ <conversion file="cql2pqf.txt"/>
+ </filter>
+
+ <!-- RPN Query rewrite .. Does query check as well -->
+ <filter type="query_rewrite">
+ <xslt stylesheet="pqf2pqf-loc.xsl"/>
+ </filter>
+
<filter type="limit">
<limit bandwidth="50000" pdu="100" search="5" retrieve="50"/>
</filter>
- <filter type="session_shared">
+ <filter type="session_shared">
<resultset ttl="10" max="3"/>
<session ttl="30"/>
</filter>
<filter type="virt_db">
<virtual>
+ <database>idtest</database>
+ <target>localhost:9999/Default</target>
+ </virtual>
+ <virtual>
<database>LCDB_UTF8</database>
<target>z3950.loc.gov:7097/LCDB_UTF8</target>
</virtual>
</virtual>
<virtual>
<database>HLAS_UTF8</database>
- <target>z3950.loc.gov:7999/HLAS_MARC8</target>
+ <target>z3950.loc.gov:7999/HLAS_UTF8</target>
</virtual>
<virtual>
<database>HLAS_MARC8</database>
<virtual>
<database>AllVoyager</database>
<target>z3950.loc.gov:7097/LCDB_UTF8</target>
- <target>z3950.loc.gov:7999/HLAS_MARC8</target>
+ <target>z3950.loc.gov:7999/HLAS_UTF8</target>
+ <target>z3950.loc.gov:7999/NLSBPH_UTF8</target>
</virtual>
</filter>
- <filter type="multi"/>
- <filter type="log">
- <message>C</message>
- <category apdu="true"/>
+
+ <!-- merge and route -->
+ <filter type="multi">
+ <target route="idtest">localhost*</target>
+ <target route="lcdb_utf8">z3950.loc.gov:7097/LCDB_UTF8</target>
+ <target route="lcdb_marc8">z3950.loc.gov:7095/LCDB_MARC8</target>
+ <target route="utf8">*UTF8</target>
</filter>
+ <!-- other targets.. MARC-8 and foreign .. -->
+ <filter refid="marc8-records"/>
+ <filter type="z3950_client"/>
+ <filter type="bounce"/>
+ </route>
+
+ <!-- idtest -->
+ <route id="idtest">
+ <filter type="virt_db">
+ <virtual>
+ <database>Default</database>
+ <target>localhost:9001/Default</target>
+ <target>localhost:9002/Default</target>
+ </virtual>
+ </filter>
+ <filter type="load_balance"/>
+ <filter refid="marc8-records"/>
+ <filter type="z3950_client"/>
+ <filter type="bounce"/>
+ </route>
+
+ <!-- lcdb utf8 -->
+ <route id="lcdb_utf8">
<filter type="virt_db">
<virtual>
<database>LCDB_UTF8</database>
<target>z3950.loc.gov:7097/voyager</target>
<target>z3950.loc.gov:7098/voyager</target>
</virtual>
+ </filter>
+ <filter type="load_balance"/>
+ <filter refid="utf8-records"/>
+ <filter type="z3950_client"/>
+ <filter type="bounce"/>
+ </route>
+ <!-- lcdb marc8 -->
+ <route id="lcdb_marc8">
+ <filter type="virt_db">
<virtual>
<database>LCDB_MARC8</database>
<target>z3950.loc.gov:7095/voyager</target>
</virtual>
</filter>
<filter type="load_balance"/>
+ <filter refid="marc8-records"/>
+ <filter type="z3950_client"/>
+ <filter type="bounce"/>
+ </route>
- <filter type="log">
- <message>B</message>
- <category apdu="true"/>
- </filter>
- <filter refid="backend"/>
+ <!-- other utf8 targets -->
+ <route id="utf8">
+ <filter refid="utf8-records"/>
+ <filter type="z3950_client"/>
<filter type="bounce"/>
</route>
+
</routes>
</metaproxy>