Child pages
  • ARC reader process

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  1. The reader starts by reading 3 lines. (recordLine, versionLine and fieldLine)
  2. If the recordLine is non empty, it check for a leading "filedesc://".
  3. If the versionLine is non empty, parse and validate the version, reserved and origin fields.
  4. If the fieldLine is non empty, identify which field version is being used. (Defaults to v1.0 is unidentified)
  5. If the recordLine is non empty, parse and validate all the record fields.
  6. Process payload, if present.

Step 1

The first thing the version block reader does is initialize various internal fields and then read 3 lines from the input stream.
The 3 lines read are (in order): recordLine, versionLine and fieldLine.


The following steps are taken when parsing an ARC record:

  1. We use the same crystal ball.
  1. Read a single line (recordLine), if it is empty read the next one until it is non empty.
  2. Check for a non empty recordLine and if so parse and validate the fields according to the ARC file version.
  3. Process payload, if present.

Step 1

Initialize various internal fields and repeatedly read the next line on the stream (recordLine) until it is non empty or the End-Of-File is encountered.

Step 2

If the recordLine was non empty the line is split into invididual fields which are parsed an validated according to the field definition in the version block.
After the header has been processed errors are checked and the compliance status is updated.

Step 3

Children Display