iso8211 0-1-0 by Weft

Package uk.co.weft.iso8211

A package to parse ISO8211 data and return a DOM tree.

See:
          Description

Class Summary
DDR The ISO 8211 data definition record.
DDRField A field in an ISO8211 record.
Dictionary The dictionary of an ISO 8211 data description record.
Directory The directory of an ISO 8211 record.
Field A field (not a DDR field, see separate class DDRField) in an ISO8211 record.
ISO8211 various constants and primitives for manipulating ISO8211 data, all static
ISO8211InputStream Lots of stuff in parsing ISO8211 depends on knowing positions and offsets within the stream, but this is generally not easy with Java streams.
Leader The leader of an ISO 8211 record.
Parser Command line for ISO 8211 parse.
Reader A reader which can read one kind of value from the stream.
Record An ISO 8211 record
SubField A subfield within an ISO8211 field.
Value Abstract superclass for a subfield value; real classes which implement values are in the package uk.co.weft.iso8211.values
 

Exception Summary
FormatException An exception thrown when data found violates our expectations of ISO8211 format.
ISO8211Exception An abstract superclass to group all exceptions generated whilst parsing ISO8211 data.
LostThePlotException An exception thrown when data found violates our expectations of ISO8211 format, and we suspect it's the parser that's wrong.
UnexpectedEndException An exception thrown when we reach the end of an ISO8211 stream unexpectedly
 

Package uk.co.weft.iso8211 Description

A package to parse ISO8211 data and return a DOM tree.

ISO8211 is a nasty, obscure, opaque, antiquated data format which was never, so far as I can see, very widespread and is now primarily used as the base encoding for S-57, the IHO's standard for encoding nautical charts. This package represents reverse engineering because (at this stage in the project) I'm too much of a cheapskate to go out and buy a copy of the ISO8211 standard. It also represents an attempt to get up and running quickly.

Consequently there's a lot that's likely to be wrong here. Where I know I've skipped something important, eveded an issue, or taken a short cut and will have to revisit it later, this is represented in the comments by the string TODO:. Where I simply don't understand what's going on this is represented in the comments by the string (?).

Finally there are bits of the ISO8211 standard which aren't used by S57. I shall probably not bother to implement these, but if anyone else wants to contribute them I'll be happy to roll them in.


Simon Brooke
Last modified: Thu Oct 31 19:07:21 GMT 2002


iso8211 0-1-0 by Weft