A particular issue that confuses me is the use of the value on the same line as the Fact tag.
The Gedcom spec says the only value allowed after an Event tag is Y to indicate the event happened, e.g. 1 BIRT Y
The Gedcom spec says a value is allowed after any Attribute tag (except oddly RESIdence), but is restricted to the same line, and thus constrained by the Gedcom line length of 255 chars (CONC & CONT are invalid), e.g. 1 OCCU LabourerThe meaning of a GEDCOM tag without a value on its line depends on its subordinate context for any assertions intended by the researcher. For example, in an event structure, a subordinate DATE and/or PLACe value imply that an event happened. However, a subordinate NOTE or SOURce context by themselves do not imply that the event took place. For a researcher to indicate that an event took place without knowing a date or a place requires that a Y(es) value be added to the event tag line. Using this convention protects GEDCOM processors which may remove (prune) lines that have no value and also no subordinate lines. A N(o) value must not be used on an event tag line to assert that the event never happened. This requires the definition of a different tag.
Many software products tolerate/generate values after all Event & Attribute tags, including RESI, so FTM is in good company.
What is confusing is how FTM handles Address data. It should use the subordinate ADDR tag, but seems to sometimes invalidly use the value after the Event tag.
1) That begs the question: How does FTM handle an Address for an Attribute fact, both on import and on export?
2) KB(2) suggests that IMMIgration/EMIGration facts could put _PLACe data after the Event tag, but how is that differentiated from an ADDRess that could also be present?
3) There are also exceptions, because FTM gives a special meaning/format to the value after RESIdence and DIVorce facts, so where does FTM put an Address for these?
4) All the Standard facts are well defined as either an Event or an Attribute, and only Custom Events are allowed (not Custom Attributes), so presumably FTM allows Custom Events to have an Address value. The Export Gedcom plugin converts FH Custom Attributes to Standard Custom Events and puts the value in a local Note.