VGed: The Windows GEDCOM Validator

What is VGed?

VGed is a fully compliant GEDCOM 5.5 parser that will open a file, parse it, validate it based on the options configured, and print appropriate warning messages to the display. The validation results can be saved to a log file and reloaded into VGed at a later time. VGed uses The GEDCOM Parser (TGP) library as its backend. A WIN32 DOS version is also available.

What’s New

VGed 3.04 (released January 3, 2012)

  • Update: 1/14/2012 – change default config options and redefined some errors as warnings. Nothing too significant – no revision update.
  • Update: 1/12/2012 – fixed a problem with detecting GEDCOM version when no line feeds present – no revision update.
  • added a configuration option for validating minimum data lengths separately from maximum data lengths.
  • (bug) added support for date calendar escape strings.

VGed 3.03 (released August 5, 2011)

  • Update: 8/29/2011 – fixed a misspelled word in output – no revision update.
  • added support for GEDCOM 5.5.1. (per Tamura Jones request)
  • (bug) fixed a validation check that was incorrectly treating a non-user defined record as a subrecord of the preceding user defined record, instead of as its own record. Subrecords of user defined records are ignored in some validation checks, like the valid tag check, because it cannot be determined what tags are expected. VGed was ignoring these checks for these records when it should have been processing them.

VGed 3.02 (released June 8, 2010)

  • Several changes were made to the GEDCOM parser including: better handling of the byte order mark and line terminators.
  • (bug) fixed an uninitialized variable resulting in aborts that could occur during parsing.
  • no longer saves the log file automatically. The Save button can now be used to save the log file.

VGed 3.01b (released May 22, 2010)

  • (bug) fixed a problem where line values beginning with @@ were treated as failed id references.

VGed 3.01a (released May 22, 2010)

  • VGed is identical to the previous version except for a name change (from WGV), and several of the options were renamed and rearranged.

VGed 3.01 (released May 21, 2010)

  • (bug) fixed a crash when loading a really large file (ITIS.ged) by reducing the temporary storage needed. It now parses it in about 1m 25s.
  • (bug) fixed a parsing bug that was not handling the HUSB and WIFE tags under the generic family event. I discovered this using the TGC55CLF.ged torture test file.
  • (bug) fixed validation of minimum occupancies for level 0 records.
  • (bug) modified how missing tag errors are displayed to more closely match V. 2.02
  • (bug) stopped showing superfluous add record warning when the submission record is missing

VGed Version 3.00 (released May 19, 2010)

  • (enhancement) detects invalid Gregorian dates (requested by Darren MacDonald).
  • (bug) now handles line value extension tags (requested by Tamura Jones).
  • some settings have been added and others removed.

VGed Version 2.02 (released December 5, 2008)

  • (bug) fixed loading of PAF exports

VGed Version 2.01 (released November 23, 2008)

  • (bug) fixed loading non-lowercase extensions
  • (bug) stopped logging user defined record references as warnings
  • (bug) fixed crashing on unknown records

VGed Version 2.00 (released August 15, 2008)

  • (initial release)

Known Issues

VGed is no longer being maintained.  It still available for download however, at the link shown below.  VGedX, is a newer version of VGed, updated regularly, and is available online as a web service, so that now Mac and Linux users are also able to use the validator.  VGedX is unfortunately not available with a Windows GUI.

Since VGed is not being maintained, and VGedX is, it can be expected that there will be differences.  I did some testing that highlights some of these differences.  The results can be found in the article, GEDCOM Import Testing #3: VGed 3.04.  One of the results of the testing is that I am no longer claiming that VGed is GEDCOM 5.5.1 compliant.  If you want to test a GEDCOm 5.5.1 or 5.6 file, you will need to use VGedX.

Where can I download VGed?

The latest version of VGed can be downloaded from the Downloads page.

Download and unzip the attached file in the folder where you want it. You may need to have installed on your computer the Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) to run this program. 64 bit versions are also available from Microsoft through this link.

What options does VGed support?

Only the options that account for errors are enabled by default, so it is necessary for the user to select any additional options they wish to use prior to validating their GEDCOM file.

Validate Line Length – The GEDCOM standard limits the total line length to 255 characters. Some exporting applications do not adhere to this requirement, hence the need to disable the validation.

Validate Max Data Length – The GEDCOM standard defines minimal maximum lengths for each data field. These are lengths that all applications should support when importing a GEDCOM file. Applications are not, however, required to restrict the maximum allowed data size to these values.

Validate Min Data Length – The GEDCOM standard defines minimum lengths for each data field. These are lengths that all applications must support when importing a GEDCOM file. Exporting applications, however, often disregard this and sometimes leave data fields blank.

Validate Max Occurrences (enabled) – The GEDCOM standard defines the maximum number of allowed content records of a particular type. Not all applications stick to their guns on this one either.

Validate Min Occurrences (enabled) – The GEDCOM standard also defines the minimum number of required content records of a particular type. This can usually be enabled safely.

Validate Trailing Spaces – The GEDCOM Standard does not provide for lines to end in trailing spaces. This seems to occur allot in exporting applications, specifically with blank tags (tags that do not have a line value).

Validate Gregorian Dates – Many applications screw with the date format in ways that are not compliant with the GEDCOM standard. Checking this option allows VGed to validate all dates against the Gregorian date format. If the GEDCOM file contains dates in other formats, it may be necessary to disable this option.

Find Missing Records – This option is used as a sanity check to verify that all records that are referenced from within the GEDCOM file actually exist in the GEDCOM file. This is not a requirement as theoretically a referenced record could already exist in the database of the representing application. i.e. 1 FAMC @F1@.

Find Unused Records – It is usually expected that all root records in a GEDCOM file will be used within that file as determined by internal references to the record. This option provides another sanity check to indicate when a record is not referenced. i.e. 0 INDI @I1@

Find User Defined Records – The GEDCOM standard allows the user to create user defined tags at virtually any level, including level 0. Many applications create their own tags, which show up on export. When importing to other applications, these tags are usually tossed away, often without informing the user. This can result in the loss of critical data. Some exporting applications support a large number of user defined tags as a normal course, so turning them off is sometimes necessary to see the real warnings.

Find Records Skipped In Processing – When an error is found, an indication that the record was removed from processing is shown by default and its contents are skipped. If the user wishes to see a warning for each content record skipped, they should enable this option.

Find Line Value Extension Tags – The GEDCOM standard supports extending the length of any line beyond the 255 character limit by adding extended continuation tags. Most applications do not support this feature, so it may be helpful to enable the detection of these.

Mentions

Chronoplex GEDCOM Validator (8/30/2012)
VGedX (1/15/2012)
GED-inline (7/31/2011)
Some GEDCOM Fan Values (6/4/2011)
GEDCOM Validation (5/10/2011)


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>