Bug 3087 Fix Z39.50 server to return the correct record syntax

Modify Makefile.PL and Zebra configuration files in order to parametrized
biblio record type returned by Zebra Z39.50 server.

How to test:

- Test with a MARC21 and a UNIMARC DB
- Do a new installation
- Search from OPAC
- Search from a Z39.50 client like yaz-client: syntax = MARC21/UNIMARC must be
  choosed
- It was working for MARC21: it continues to work
- It wasn't working for UNIMARC: it works now, both in OPAC and from a Z39.50
  client

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works fine for MARC21. Frederic looked at UNIMARC. Magnus looked at NORMARC.
GRS1 works okay for me. I still have issues with DOM, but they are not directly related to changes in this patch.
A followup is still needed for packaging (debian/templates).

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This commit is contained in:
Frédéric Demians 2012-04-11 17:36:40 +02:00 committed by Paul Poulain
parent ee3eee451d
commit 084367f6cb
8 changed files with 46 additions and 43 deletions

View File

@ -656,6 +656,8 @@ sub Zconn {
$context->{"Zconn"}->{$server}->destroy() if defined($context->{"Zconn"}->{$server});
$context->{"Zconn"}->{$server} = &_new_Zconn($server,$async,$auth,$piggyback,$syntax);
$context->{ Zconn }->{ $server }->option(
preferredRecordSyntax => C4::Context->preference("marcflavour") );
return $context->{"Zconn"}->{$server};
}
}

View File

@ -508,6 +508,7 @@ my $pl_files = {
if ($config{'INSTALL_ZEBRA'} eq "yes") {
push @{ $pl_files->{'rewrite-config.PL'} }, (
'blib/ZEBRA_CONF_DIR/etc/passwd',
'blib/ZEBRA_CONF_DIR/etc/usmarc.mar',
'blib/ZEBRA_CONF_DIR/zebra-biblios.cfg',
'blib/ZEBRA_CONF_DIR/zebra-biblios-dom.cfg',
'blib/ZEBRA_CONF_DIR/zebra-authorities.cfg',

View File

@ -44,47 +44,47 @@ __PAZPAR2_TOGGLE_XML_POST__
xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:fallback>
<retrievalinfo>
<retrieval syntax="usmarc" name="F"/>
<retrieval syntax="usmarc" name="B"/>
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="F"/>
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="B"/>
<retrieval syntax="xml" name="F"/>
<retrieval syntax="xml" name="B"/>
<retrieval syntax="xml" name="marcxml"
identifier="info:srw/schema/1/marcxml-v1.1">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="dc">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2DC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="mods">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2MODS.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="rdfdc">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2RDFDC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="rss2">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2RSS2.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="utils">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slimUtils.xsl"/>
@ -124,38 +124,38 @@ __PAZPAR2_TOGGLE_XML_POST__
xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:fallback>
<retrievalinfo>
<retrieval syntax="usmarc" name="F"/>
<retrieval syntax="usmarc" name="B"/>
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="F"/>
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="B"/>
<retrieval syntax="xml" name="marcxml"
identifier="info:srw/schema/1/marcxml-v1.1">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="dc">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2DC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="mods">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2MODS.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="rdfdc">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2RDFDC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="utils">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slimUtils.xsl"/>
@ -193,47 +193,47 @@ __PAZPAR2_TOGGLE_XML_POST__
xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:fallback>
<retrievalinfo>
<retrieval syntax="usmarc" name="F"/>
<retrieval syntax="usmarc" name="B"/>
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="F"/>
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="B"/>
<retrieval syntax="xml" name="F"/>
<retrieval syntax="xml" name="B"/>
<retrieval syntax="xml" name="marcxml"
identifier="info:srw/schema/1/marcxml-v1.1">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="dc">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2DC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="mods">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2MODS.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="rdfdc">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2RDFDC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="rss2">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2RSS2.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="utils">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slimUtils.xsl"/>

View File

@ -1,3 +1,3 @@
# $Id: usmarc.mar,v 1.1 2002/10/22 12:51:09 adam Exp $
name usmarc
reference USmarc
name __ZEBRA_MARC_FORMAT__
reference __ZEBRA_MARC_FORMAT__

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<retrievalinfo xmlns="http://indexdata.com/yaz">
<retrieval syntax="usmarc" name="F">
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="F">
<backend syntax="xml" name="marc">
<marc inputformat="xml" outputformat="marc"
inputcharset="utf-8"
outputcharset="utf-8"/>
</backend>
</retrieval>
<retrieval syntax="usmarc" name="B">
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="B">
<backend syntax="xml" name="marc">
<marc inputformat="xml" outputformat="marc"
inputcharset="utf-8"

View File

@ -1,37 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<retrievalinfo xmlns="http://indexdata.com/yaz">
<retrieval syntax="usmarc" name="F"/>
<retrieval syntax="usmarc" name="B"/>
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="F"/>
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="B"/>
<retrieval syntax="xml" name="marcxml"
identifier="info:srw/schema/1/marcxml-v1.1">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="dc">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2DC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="mods">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2MODS.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="rdfdc">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2RDFDC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="utils">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slimUtils.xsl"/>

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<retrievalinfo xmlns="http://indexdata.com/yaz">
<retrieval syntax="usmarc" name="F">
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="F">
<backend syntax="xml" name="marc">
<marc inputformat="xml" outputformat="marc"
inputcharset="utf-8"
outputcharset="utf-8"/>
</backend>
</retrieval>
<retrieval syntax="usmarc" name="B">
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="B">
<backend syntax="xml" name="marc">
<marc inputformat="xml" outputformat="marc"
inputcharset="utf-8"

View File

@ -1,37 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<retrievalinfo xmlns="http://indexdata.com/yaz">
<retrieval syntax="usmarc" name="F"/>
<retrieval syntax="usmarc" name="B"/>
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="F"/>
<retrieval syntax="__ZEBRA_MARC_FORMAT__" name="B"/>
<retrieval syntax="xml" name="marcxml"
identifier="info:srw/schema/1/marcxml-v1.1">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="dc">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2DC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="mods">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2MODS.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="rdfdc">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slim2RDFDC.xsl"/>
</backend>
</retrieval>
<retrieval syntax="xml" name="utils">
<backend syntax="usmarc" name="F">
<backend syntax="__ZEBRA_MARC_FORMAT__" name="F">
<marc inputformat="marc" outputformat="marcxml"
inputcharset="utf-8"/>
<xslt stylesheet="__INTRANET_TMPL_DIR__/prog/en/xslt/MARC21slimUtils.xsl"/>