Editorial: What changed in the 1998 revision of the standard?

A user outside USGS asked:
I was wondering if you can tell me the difference between FGDC version 1 (from 1994) and version 2 (from 1998).

Reply by Peter Schweitzer on 22 Apr 2002:

The biggest change in the 1998 revision of the FGDC metadata standard was a structural one, the elimination of repeating groups in favor of repeating containers. The 1994 version had things like this:

A:
  B:
  C:
  B:
  C:

This presents a problem because it gives semantic meaning to the order in which elements occur in the file. Sometimes order matters, and sometimes it doesn't. Software cannot reorder the elements without running the risk of changing the meaning of relationships among them. The 1998 revision replaces this with

A:
  B:
  C:
A:
  B:
  C:

This clarifies the relationships between the B's and C's. In the grammatical form used by the standard, we replace

A = 1{B + C}n
with
A = B + C
and wherever A appeared, we replace it with 1{A}n.

This was done correctly everywhere except in the Enumerated_Domain element, where it was not done. I regard that as an editorial error in the written standard, so mp will replace

Enumerated_Domain:
  Enumerated_Domain_Value: 1
  Enumerated_Domain_Value_Definition: what 1 means
  Enumerated_Domain_Value: 2
  Enumerated_Domain_Value_Definition: what 2 means
with
Enumerated_Domain:
  Enumerated_Domain_Value: 1
  Enumerated_Domain_Value_Definition: what 1 means
Enumerated_Domain:
  Enumerated_Domain_Value: 2
  Enumerated_Domain_Value_Definition: what 2 means
in its "upgrade" procedure.

A related minor change was to move Attribute_Units_of_Measure and Attribute_Measurement_Resolution into Range_Domain since these elements only apply to real-valued data, not to categories or codes.

Some other revisions in the 1998 version include the new element Map_Projection_Parameters, which may replace any of the elements whose names are map projections, such as Albers_Conical_Equal_Area. A similar rearrangement was done with the coordinate data in Data_Set_G-Polygon, which few people actually use. There we added G-Ring as a way to specify a string of ordered coordinates and G-Ring_Point as a way to group points that are given in individual G-Ring_Latitude and G-Ring_Longitude elements. mp tries to make a G-Ring if it can, since that will always preserve these inherently-ordered data.

The other major change was the explicit acknowledgement of extensions and profiles; that was not present in the 1994 standard and it allows a flexibility that we need.