- const char *ret_buf = return_marc_record(
- wrbuf, marctype, len,
- (const char *) r->u.octet_aligned->buf,
- r->u.octet_aligned->len,
- charset);
- if (ret_buf)
- return ret_buf;
- /* not ISO2709. Return fail unless raw (ISO2709) is wanted */
- if (yaz_oid_is_iso2709(oid) && marctype != YAZ_MARC_ISO2709)
- return 0;
+ 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 *) r->u.octet_aligned->buf,
+ r->u.octet_aligned->len,
+ charset);
+ if (ret_buf)
+ return ret_buf;
+ /* not ISO2709. Return fail unless raw (ISO2709) is wanted */
+ if (yaz_oid_is_iso2709(oid) && marctype != YAZ_MARC_ISO2709)
+ return 0;
+ }