GEDCOM-Export: AT-Sign not doubled
Bug #986700 reported by
Peter Schulz
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
webtrees |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
The at-sign (@) must be doubled in a GEDCOM file (export process) , when it is part of a value. A single at-sign is not allowed.
The import process is ok. Double at-signs are transformed to a single one.
See GEDCOM Standard 5.5.1:
any_char:=
[alpha | digit | otherchar | (0x23) | (0x20) | (0x40)+(0x40) ]
where:
(0x23)=#
(0x20)=space character
(0x40)+(0x40)=@@
To post a comment you must log in.
IIRC, the code to double the "@" signs was removed a long time ago, because it was difficult to accurately an efficiently identify them.
For example, we would not double this:
1 CHIL @I123@
But we would need to double this
1 NOTE Information from john
2 CONC @example.com and mary@
2 CONC example.com
We must not double "escape sequences" such as
2 DATE BET @#DHEBREW@ 5432 AND @#DHEBREW@ 5456
On import, the logic is simpler. All double "@" signs become single "@" signs.
To my knowledge, there is no application that will have a problem with data that does not have a doubled "@".
But, incorrectly doubling an "@" *will* cause problems.
So - the logic was removed for practical reasons. It is not necessary, and nothing will break if it is removed.
Unless you are aware of an application that will reject data with un-doubled "@" signs, I'll mark this as "wishlist".
Since webtrees uses GEDCOM as its internal data format, there was also some debate as to whether we should keep the doubled "@"s in the database, or only try to add them on export.
If/when we move to a structured data model, we will be easily able to identify which data should / should not be doubled. Until then, I think it is a very low priority.