projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Version 5.4.1
[yaz-moved-to-github.git]
/
src
/
record_render.c
diff --git
a/src/record_render.c
b/src/record_render.c
index
7ad8b73
..
1291858
100644
(file)
--- a/
src/record_render.c
+++ b/
src/record_render.c
@@
-1,5
+1,5
@@
/* This file is part of the YAZ toolkit.
/* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2012 Index Data
+ * Copyright (C) Index Data
* See the file LICENSE for details.
*/
/**
* See the file LICENSE for details.
*/
/**
@@
-167,7
+167,10
@@
static const char *return_record_wrbuf(WRBUF wrbuf, int *len,
charset);
else if (r->which == Z_External_octet)
{
charset);
else if (r->which == Z_External_octet)
{
- if (yaz_oid_is_iso2709(oid))
+ if (oid_oidcmp(oid, yaz_oid_recsyn_xml)
+ && oid_oidcmp(oid, yaz_oid_recsyn_application_xml)
+ && oid_oidcmp(oid, yaz_oid_recsyn_mab)
+ && oid_oidcmp(oid, yaz_oid_recsyn_html))
{
const char *ret_buf = return_marc_record(
wrbuf, marctype, len,
{
const char *ret_buf = return_marc_record(
wrbuf, marctype, len,
@@
-176,8
+179,8
@@
static const char *return_record_wrbuf(WRBUF wrbuf, int *len,
charset);
if (ret_buf)
return ret_buf;
charset);
if (ret_buf)
return ret_buf;
- /* bad ISO2709. Return fail unless raw (ISO2709) is wanted */
- if (marctype != YAZ_MARC_ISO2709)
+ /* not ISO2709. Return fail unless raw (ISO2709) is wanted */
+ if (yaz_oid_is_iso2709(oid) && marctype != YAZ_MARC_ISO2709)
return 0;
}
return return_string_record(wrbuf, len,
return 0;
}
return return_string_record(wrbuf, len,
@@
-442,6
+445,11
@@
const char *yaz_record_render(Z_NamePlusRecord *npr, const char *schema,
ret = get_record_format(wrbuf, len, npr, YAZ_MARC_TURBOMARC, charset,
format);
}
ret = get_record_format(wrbuf, len, npr, YAZ_MARC_TURBOMARC, charset,
format);
}
+ else if (!strcmp(type, "json"))
+ {
+ ret = get_record_format(wrbuf, len, npr, YAZ_MARC_JSON, charset,
+ format);
+ }
else if (!strcmp(type, "raw"))
{
ret = get_record_format(wrbuf, len, npr, YAZ_MARC_ISO2709, charset,
else if (!strcmp(type, "raw"))
{
ret = get_record_format(wrbuf, len, npr, YAZ_MARC_ISO2709, charset,