The data stream is usually record-oriented, although this is not required, and the records are usually homogeneous, although this also is not required.
Tags consist of non-white space characters.
Values can be anything you want. In the latter case the library routines just pass through the data unchanged. Tags that appear once per record are single-valued. Tags that appear multiple times are incorporated into multi-valued lists. Note that the two records do not have exactly the same set of tags.