X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fopac_to_xml.c;h=f365082167efa73c73c8058ce100c0b572b100f9;hp=648c8b7d7eff9a835a6993c0da945dee876f6eca;hb=6533da485c4fcf4bc1bb6d70d0b18b13602381ff;hpb=d4effebe5599237746102ef51bf2421f77943082 diff --git a/src/opac_to_xml.c b/src/opac_to_xml.c index 648c8b7..f365082 100644 --- a/src/opac_to_xml.c +++ b/src/opac_to_xml.c @@ -1,9 +1,9 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2013 Index Data + * Copyright (C) Index Data * See the file LICENSE for details. */ /** - * \file opac_to_xml + * \file opac_to_xml.c * \brief Implements OPAC to XML conversion */ #if HAVE_CONFIG_H @@ -31,10 +31,11 @@ static void opac_element_str(WRBUF wrbuf, yaz_iconv_t cd1, yaz_iconv_t cd2, wrbuf_puts(wrbuf, ">"); pos = wrbuf->pos; /* save position */ - if (wrbuf_iconv_write_x(wrbuf, cd1, data, strlen(data), 1) && cd2) + if (wrbuf_iconv_write2(wrbuf, cd1, data, strlen(data), wrbuf_xmlputs_n) + && cd2) { wrbuf->pos = pos; /* rewind to pos */ - wrbuf_iconv_write_x(wrbuf, cd2, data, strlen(data), 1); + wrbuf_iconv_write2(wrbuf, cd2, data, strlen(data), wrbuf_xmlputs_n); } wrbuf_puts(wrbuf, "\n"); opac_element_bool(wrbuf, 4, "availableNow", d->circulationData[j]->availableNow); - opac_element_str(wrbuf, cd1, cd2, 4, "availabiltyDate", + opac_element_str(wrbuf, cd1, cd2, 4, "availabilityDate", d->circulationData[j]->availablityDate); opac_element_str(wrbuf, cd1, cd2, 4, "availableThru", d->circulationData[j]->availableThru); @@ -190,6 +191,22 @@ void yaz_opac_decode_wrbuf(yaz_marc_t mt, Z_OPACRecord *r, WRBUF wrbuf) yaz_opac_decode_wrbuf2(mt, r, wrbuf, 0); } +int yaz_opac_check_marc21_coding(const char *charset, Z_OPACRecord *r) +{ + if (r->bibliographicRecord) + { + Z_External *ext = r->bibliographicRecord; + if (ext->which == Z_External_octet) + { + return yaz_marc_check_marc21_coding( + charset, + (const char *) ext->u.octet_aligned->buf, + ext->u.octet_aligned->len); + } + } + return 0; +} + /* * Local variables: * c-basic-offset: 4