code: function MarcXmlReader(options) {
    if (!(this instanceof MarcXmlReader)) {
      return new MarcXmlReader(options);
    }
  
    // File with records in XML format.
    this.recordsFile = null;
    // Flag is true when next() can be performed.
    this.readyToRead = false;
  
    // XML parser.
    this.parser = null;
    // Buffer for reading records from input file.
    this.bufferSize = 4096;
    this.buffer = new Buffer(this.bufferSize);
    // List of parsed records.
    this.records = null;
  
    // Encoding conversion stream.
    this.decoder = null;
  
    // File options.
    options = options || {};
    this.options = {
      // MARC format variation (MARC21, UNIMARC).
      format: (options.format || 'UNIMARC').toUpperCase(),
      // Input data encoding.
      encoding: options.encoding || null,
      // Permissive mode (ignore minor errors).
      permissive: options.permissive || false
    }
  }
docs: /*
  The constructor of MARC XML reader.