Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

yaz-marcdump(1) [debian man page]

YAZ-MARCDUMP(1) 						     Commands							   YAZ-MARCDUMP(1)

yaz-marcdump - MARC record dump utility SYNOPSIS
yaz-marcdump [-i format] [-o format] [-f from] [-t to] [-l spec] [-c cfile] [-s prefix] [-C size] [-n] [-p] [-v] [-V] [file...] DESCRIPTION
yaz-marcdump reads MARC records from one or more files. It parses each record and supports output in line-format, ISO2709, MARCXML, MarcXchange as well as Hex output. This utility parses records ISO2709(raw MARC) as well as XML if that is structured as MARCXML/MarcXchange. Note As of YAZ 2.1.18, OAI-MARC is no longer supported. OAI-MARC is deprecated. Use MARCXML instead. 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 -o, yaz-marcdump can also be requested to perform character set conversion of each record. OPTIONS
-i format Specifies input format. Must be one of marcxml, marc (ISO2709), marcxchange (ISO25577), line (line mode MARC), or turbomarc (Turbo MARC). -o format Specifies output format. Must be one of marcxml, marc (ISO2709), marcxchange (ISO25577), line (line mode MARC), or turbomarc (Turbo MARC). -f from Specify the character set from of the input MARC record. Should be used in conjunction with option -t. Refer to the yaz-iconv man page for supported character sets. -t to Specify the character set of of the output. Should be used in conjunction with option -f. Refer to the yaz-iconv man page for supported character sets. -l leaderspec Specify a simple modification string for MARC leader. The leaderspec 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 9='a'. -s prefix 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 -C. -C chunksize Specifies chunk size; to be used conjunction with option -s. -p Makes yaz-marcdump prints record number and input file offset of each record read. -n MARC output is omitted so that MARC input is only checkecd. -v Writes more information about the parsing process. Useful if you have ill-formatted ISO2709 records as input. -V Prints YAZ version. EXAMPLES
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. yaz-marcdump -f MARC-8 -t UTF-8 -o marc -l 9=97 marc21.raw >marc21.utf8.raw The same records may be converted to MARCXML instead in UTF-8: yaz-marcdump -f MARC-8 -t UTF-8 -o marcxml marc21.raw >marcxml.xml 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: yaz-marcdump -f MARC8 -t UTF8 -o turbomarc -i marc marc21.raw >out.xml FILES
prefix/bin/yaz-marcdump prefix/include/yaz/marcdisp.h SEE ALSO
yaz(7) yaz-iconv(1) MARCXML[1]. ISO25577[2]. NOTES
1. MARCXML 2. ISO25577 YAZ 4.2.30 04/16/2012 YAZ-MARCDUMP(1)

Check Out this Related Man Page

YAZ_RECORD(3)								 1							     YAZ_RECORD(3)

yaz_record - Returns a record

string yaz_record (resource $id, int $pos, string $type) DESCRIPTION
The yaz_record(3) function inspects a record in the current result set at the position specified by parameter $pos. PARAMETERS
o $id - The connection resource returned by yaz_connect(3). o $pos - The record position. Records positions in a result set are numbered 1, 2, ... $hits where $hits is the count returned by yaz_hits(3). o $type - The $type specifies the form of the returned record. Note It is the application which is responsible for actually ensuring that the records are returned from the Z39.50/SRW server in the proper format. The type given only specifies a conversion to take place on the client side (in PHP/YAZ). Besides conversion of the transfer record to a string/array, PHP/YAZ it is also possible to perform a character set conversion of the record. Especially for USMARC/MARC21 that is recommended since these are typically returned in the character set MARC-8 that is not supported by browsers, etc. To specify a conversion, add ; charset= from , to where from is the original character set of the record and to is the resulting character set (as seen by PHP). o string - The record is returned as a string for simple display. In this mode, all MARC records are converted to a line-by- line format since ISO2709 is hardly readable. XML records and SUTRS are returned in their original format. GRS-1 are returned in a (ugly) line-by-line format. This format is suitable if records are to be displayed in a quick way - for debugging - or because it is not feasible to perform proper display. o xml - The record is returned as an XML string if possible. In this mode, all MARC records are converted to MARCXML. XML records and SUTRS are returned in their original format. GRS-1 is not supported. This format is similar to $string except that MARC records are converted to MARCXML This format is suitable if records are processed by an XML parser or XSLT pro- cessor afterwards. o raw - The record is returned as a string in its original form. This type is suitable for MARC, XML and SUTRS. It does not work for GRS-1. MARC records are returned as a ISO2709 string. XML and SUTRS are returned as strings. o syntax - The syntax of the record is returned as a string, i.e. USmarc, GRS-1, XML, etc. o database - The name of database associated with record at the position is returned as a string. o array - The record is returned as an array that reflects the GRS-1 structure. This type is suitable for MARC and GRS-1. XML, SUTRS are not supported and if the actual record is XML or SUTRS an empty string will be returned. The array returned consists of a list corresponding to each leaf/internal node of GRS-1. Each list item consists a sub list with first element path and data (if data is available). The path which is a string holds a list of each tree component (of the structured GRS-1 record) from root to leaf. Each component is a tag type, tag value pair of the form ( type , value String tags nor- mally has a corresponding tag type 3. MARC can also be returned as an array (they are converted to GRS-1 internally). RETURN VALUES
Returns the record at position $pos or an empty string if no record exists at the given position. If no database record exists at the given position an empty string is returned. EXAMPLES
Example #1 Array for GRS-1 record Consider this GRS-1 record: (4,52)Robert M. Pirsig (4,70) (4,90) (2,7)Transworld Publishers, ltd. Robert M. Pirsig. Second element at root level (4,70) has a subtree with a single element (4,90). (4,90) has yet another sub tree (2,7) with data Transworld Publishers, ltd.. If this record is present at position $p, then <?php $ar = yaz_record($id, $p, "array"); print_r($ar); ?> Array ( [0] => Array ( [0] => (4,52) [1] => Robert M. Pirsig ) [1] => Array ( [0] => (4,70) ) [2] => Array ( [0] => (4,70)(4,90) ) [3] => Array ( [0] => (4,70)(4,90)(2,7) [1] => Transworld Publishers, ltd. ) ) Example #2 Working with MARCXML The following PHP snippet returns a MARC21/USMARC record as MARCXML. The original record is returned in marc-8 (unknown to most XML parsers), so we convert it to UTF-8 (which all XML parsers must support). <?php $rec = yaz_record($id, $p, "xml; charset=marc-8,utf-8"); ?> The record $rec can be processed with the Sablotron XSLT processor as follows: <?php $xslfile = 'display.xsl'; $processor = xslt_create(); $parms = array('/_xml' => $rec); $res = xslt_process($processor, 'arg:/_xml', $xslfile, NULL, $parms); xslt_free($processor); $res = preg_replace("'</?html[^>]*>'", '', $res); echo $res; ?> For PHP 5 the XSL extension must be used instead of Sablotron XSLT. PHP Documentation Group YAZ_RECORD(3)
Man Page

Featured Tech Videos