Skip to main content

Crate marc_rs

Crate marc_rs 

Source
Expand description

MARC21 / UNIMARC parsing and writing library.

High-level model:

  • raw::RawRecord<'a>: zero-copy view over a binary ISO2709 record.
  • record::Record: semantic, serde-compatible model organised in UNIMARC-style blocks.
  • format: dictionaries for MARC21 and UNIMARC that map raw fields to semantic fields, including positional extraction for coded fields (e.g. UNIMARC 100$a, MARC21 008).

Re-exports§

pub use crate::encoding::Encoding;
pub use crate::error::MarcError;
pub use crate::format::MarcFormat;
pub use crate::raw::BinaryReader;
pub use crate::raw::BinaryWriter;
pub use crate::raw::RawRecord;
pub use crate::raw::RawRecordView;
pub use crate::reader::MarcReader;
pub use crate::record::Record;
pub use crate::xml::XmlReader;
pub use crate::xml::XmlWriter;

Modules§

encoding
error
format
raw
reader
record
xml

Enums§

FileFormat
Detected file format (binary ISO2709 vs MARC-XML).

Functions§

detect_file_format
Detect whether data is binary ISO2709 or MARC-XML by inspecting the first non-whitespace byte (after an optional UTF-8 BOM).
parse_records
Parse records from any supported format (binary ISO2709 or MARC-XML). The format is auto-detected from the data.