A user of my software (GEDitCOM II) recently had trouble uploading a GEDCOM file with notes - all notes were flagging as missing. A sample (valid) note record from the file is
0 @N126@ NOTE
1 CONC Anna's mother's name on Anna's birth certificate looks like "Kerrte."
(plus other irrelevant tags). I can think of only two possibilities:
1. PhpGedView is expecting note text to begin on the "0" line. Although this is allowed in the GEDCOM standard, it is not required (it is the according to the grammar definition of a gedcom_line) and good GEDCOM parsing should smoothly look for notes starting on the second line in a CONC or CONT tag.
2. PhpGedView is expecting CONT on the second line instead of CONC. Again, the standard says all lines at level 1 after the initial line are "1 " meaning either CONC or CONT. Technically, I think CONC is the appropriate way to start such notes. Since the standard allows the first line of the record to have text, a CONC lines means to concatenate the second line immediately after that first line. If that first line is empty (zero-length string), a CONC line provides the text to start the first line of the notes. In contrast, a CONT line means to insert a line break before concatenating the text and thus notes starting in CONT should (if the standard was followed rigorously) have an empty line (from the empty string on the first line) followed by a line break followed by that text (i.e., the notes should start with a blank line). Again, I think good GEDCOM parsing should accept CONC or CONT on subsequent lines of note text. I don't particularly think a CONT in the first line should insert a blank line in the beginning because lots of software start notes that way and they probably do not intend for there to be a blank line.
Is one of these two options the answer or is it something else? This file had over 150 such notes and none were read.
What version of PGV?
PGV doesn't "expect" that note text begins on the "0" line - but it does allow it to. If you create a "shared note" in PGV, it will use that row for the title of the note (as used to display the list of notes).
PGV does allow for EITHER CONC or CONT to be used. Again, if creating a shared note in PGV, CONC will generally only be used where the line typed exceeds the maximum allowed (248 characters according to the GEDCOM spec). If you type a CR in the text, a CONT will be created.
Does GEDITCOM not accept text in row "0"? As you say yourself, it should do, according to the spec.
That's good. It sounds like PGV should be reading this file. I will try to get some more testing done by the user and maybe a small sample file is the problem persists. They report they are using the lastest official release of PGV (I think 4.2.3).
Yes, GEDitCOM II accepts row "0" text and allows CONT or CONC on the first line. As per my comments in initial post, it converts all input version on output to be
0 @N12@ NOTE
1 CONT The notes start here ……
I am working to make GEDitCOM II work well with PGV so users have a great option for getting their GEDCOM on the web. Hopefully the issue can be resolved.
IIRC, since 4.2.3 was released, a bug was fixed relating to this.
Which files were changed to fix this bug? Do you think I could just patch those files in a 4.2.3 installation without breaking what's already working?