node-zoom
Version:
250 lines (228 loc) • 8.02 kB
text/xml
<refentry id="yaz-marcdump">
<refentryinfo>
<productname>YAZ</productname>
<productnumber>&version;</productnumber>
<info><orgname>Index Data</orgname></info>
</refentryinfo>
<refmeta>
<refentrytitle>yaz-marcdump</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class="manual">Commands</refmiscinfo>
</refmeta>
<refnamediv>
<refname>yaz-marcdump</refname>
<refpurpose>MARC record dump utility</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>yaz-marcdump</command>
<arg choice="opt"><option>-i <replaceable>format</replaceable></option></arg>
<arg choice="opt"><option>-o <replaceable>format</replaceable></option></arg>
<arg choice="opt"><option>-f <replaceable>from</replaceable></option></arg>
<arg choice="opt"><option>-t <replaceable>to</replaceable></option></arg>
<arg choice="opt"><option>-l <replaceable>spec</replaceable></option></arg>
<arg choice="opt"><option>-c <replaceable>cfile</replaceable></option></arg>
<arg choice="opt"><option>-s <replaceable>prefix</replaceable></option></arg>
<arg choice="opt"><option>-C <replaceable>size</replaceable></option></arg>
<arg choice="opt"><option>-n</option></arg>
<arg choice="opt"><option>-p</option></arg>
<arg choice="opt"><option>-v</option></arg>
<arg choice="opt"><option>-V</option></arg>
<arg choice="opt" rep="repeat">file</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1><title>DESCRIPTION</title>
<para>
<command>yaz-marcdump</command> reads MARC records from one or
more files.
It parses each record and supports output in line-format,
ISO2709,
<ulink url="&url.marcxml;">MARCXML</ulink>,
<ulink url="&url.marc_in_json;">MARC-in-JSON</ulink>,
<ulink url="&url.marcxchange;">MarcXchange</ulink>
as well as Hex output.
</para>
<para>
This utility parses records ISO2709(raw MARC), line format, MARC-in-JSON
format as well as XML if that is structured as MARCXML/MarcXchange.
</para>
<para>
MARC-in-JSON encoding/decoding is supported in YAZ 5.0.5 and later.
</para>
<note>
<para>
As of YAZ 2.1.18, OAI-MARC is no longer supported.
OAI-MARC is deprecated. Use MARCXML instead.
</para>
</note>
<para>
By default, each record is written to standard output in a line
format with newline for each field, $x for each subfield x.
The output format may be changed with option <literal>-o</literal>,
</para>
<para>
<command>yaz-marcdump</command> can also be requested to perform
character set conversion of each record.
</para>
</refsect1>
<refsect1><title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-i <replaceable>format</replaceable></term>
<listitem><para>
Specifies input format. Must be one of
<literal>marcxml</literal>, <literal>marc</literal> (ISO2709),
<literal>marcxchange</literal> (ISO25577),
<literal>line</literal> (line mode MARC),
<literal>turbomarc</literal> (Turbo MARC),
or <literal>json</literal> (MARC-in-JSON).
</para></listitem>
</varlistentry>
<varlistentry>
<term>-o <replaceable>format</replaceable></term>
<listitem><para>
Specifies output format. Must be one of
<literal>marcxml</literal>, <literal>marc</literal> (ISO2709),
<literal>marcxchange</literal> (ISO25577),
<literal>line</literal> (line mode MARC),
<literal>turbomarc</literal> (Turbo MARC),
or <literal>json</literal> (MARC-in-JSON).
</para></listitem>
</varlistentry>
<varlistentry>
<term>-f <replaceable>from</replaceable></term>
<listitem><para>
Specify the character set <replaceable>from</replaceable>
of the input MARC record.
Should be used in conjunction with option <literal>-t</literal>.
Refer to the yaz-iconv man page for supported character sets.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-t <replaceable>to</replaceable></term>
<listitem><para>
Specify the character set <replaceable>of</replaceable>
of the output.
Should be used in conjunction with option <literal>-f</literal>.
Refer to the yaz-iconv man page for supported character sets.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-l <replaceable>leaderspec</replaceable></term>
<listitem><para>
Specify a simple modification string for MARC leader. The
<replaceable>leaderspec</replaceable> is a list of pos=value
pairs, where pos is an integer offset (0 - 23) for leader. Value
is either a quoted string or an integer (character value in decimal).
Pairs are comma separated. For example, to set leader at offset 9
to a, use <literal>9='a'</literal>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-s <replaceable>prefix</replaceable></term>
<listitem><para>
Writes a chunk of records to a separate file with prefix given,
i.e. splits a record batch into files with only at most
"chunk" ISO2709 record per file. By default chunk is 1 (one record
per file). See option <literal>-C</literal>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-C <replaceable>chunksize</replaceable></term>
<listitem><para>
Specifies chunk size; to be used conjunction with option
<literal>-s</literal>.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-p</term>
<listitem><para>
Makes yaz-marcdump prints record number and input file offset
of each record read.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-n</term>
<listitem><para>
MARC output is omitted so that MARC input is only checkecd.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-v</term>
<listitem><para>
Writes more information about the parsing process.
Useful if you have ill-formatted ISO2709 records as input.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-V</term>
<listitem><para>
Prints YAZ version.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1><title>EXAMPLES</title>
<para>
The following command converts MARC21/USMARC in MARC-8 encoding to
MARC21/USMARC in UTF-8 encoding. Leader offset 9 is set to 'a'.
Both input and output records are ISO2709 encoded.
<screen>
yaz-marcdump -f MARC-8 -t UTF-8 -o marc -l 9=97 marc21.raw >marc21.utf8.raw
</screen>
</para>
<para>
The same records may be converted to MARCXML instead in UTF-8:
<screen>
yaz-marcdump -f MARC-8 -t UTF-8 -o marcxml marc21.raw >marcxml.xml
</screen>
</para>
<para>
Turbo MARC is a compact XML notation with same semantics as
MARCXML, but which allows for faster processing via XSLT. In order
to generate Turbo MARC records encoded in UTF-8 from MARC21 (ISO), one
could use:
<screen>
yaz-marcdump -f MARC8 -t UTF8 -o turbomarc -i marc marc21.raw >out.xml
</screen>
</para>
</refsect1>
<refsect1><title>FILES</title>
<para>
<filename><replaceable>prefix</replaceable>/bin/yaz-marcdump</filename>
</para>
<para>
<filename><replaceable>prefix</replaceable>/include/yaz/marcdisp.h</filename>
</para>
</refsect1>
<refsect1><title>SEE ALSO</title>
<para>
<citerefentry>
<refentrytitle>yaz</refentrytitle>
<manvolnum>7</manvolnum>
</citerefentry>
</para>
<para>
<citerefentry>
<refentrytitle>yaz-iconv</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: nxml
nxml-child-indent: 1
End:
-->