From 2247d45a9a2bfbdef64e491ea000b2c903ade886 Mon Sep 17 00:00:00 2001 From: Dave Thaler Date: Tue, 6 Aug 2024 09:37:55 -0700 Subject: [PATCH] Adding SPLAC under PLAC Conversation draft of adding place records to 7.1 This puts SPLAC as a substructure of PLAC, like PERSONAL_NAME_PIECES are under PERSONAL_NAME_STRUCTURE. Signed-off-by: Dave Thaler --- .../gedcom-3-structures-1-organization.md | 57 ++++++------------- .../gedcom-3-structures-3-meaning.md | 2 +- 2 files changed, 17 insertions(+), 42 deletions(-) diff --git a/specification/gedcom-3-structures-1-organization.md b/specification/gedcom-3-structures-1-organization.md index ffe9740..ae6fdce 100644 --- a/specification/gedcom-3-structures-1-organization.md +++ b/specification/gedcom-3-structures-1-organization.md @@ -415,16 +415,15 @@ If a city is part of a county which is part of a state, the city's place record Multiple `<>`s are permitted to support places within multiple hierarchies (for example, a church that's both within an ecclesiastical region and a political region). Shared place records offer more flexibility than place structures do. -A `PLAC` can be replaced by an `SPLAC` without loss of information by making one `SPLAC` record for each non-empty string in the `PLAC`'s payload and linking them together using the `SPLAC`'s `SHARED_PLACE_STRUCTURE`s. +A `PLAC` can be augmented by an `SPLAC` by making one `SPLAC` record for each non-empty string in the `PLAC`'s payload and linking them together using the `SPLAC`'s `SHARED_PLACE_STRUCTURE`s. Information is copied into the new chain of `SPLAC` records as follows: -- The `PLAC` structure is replaced by an `SPLAC` structure that points to the first `SPLAC` record in the chain -- Any `NOTE` substructures of `PLAC` are retained as substructures of the new `SPLAC` structure +- An `SPLAC` substructure is added to the `PLAC` that points to the first `SPLAC` record in the chain. - Empty list entries are skipped. -- The `PLAC` payload parts become `SPLAC` payloads -- The `FORM` payload parts (which may be copied from the `HEAD`.`PLAC`.`FORM` if that is present but `PLAC`.`FORM` is not) become `SPLAC`.`TYPE` payloads -- The `TRAN` payload parts become `TRAN` payloads -- `LANG` and `TRAN`.`LANG` are copied to each record in the linked list +- The `PLAC` payload parts become `SPLAC` payloads. +- The `FORM` payload parts (which may be copied from the `HEAD`.`PLAC`.`FORM` if that is present but `PLAC`.`FORM` is not) become `SPLAC`.`TYPE` payloads. +- The `TRAN` payload parts become `TRAN` payloads. +- `LANG` and `TRAN`.`LANG` are copied to each record in the linked list. - All other substructures (`MAP` and `EXID`) are copied only to the first record in the list. :::example @@ -443,10 +442,11 @@ The 7.0 structure 3 NOTE this is an example ``` -can be converted without loss of information into the new structure +can be augmented, becoming the new structure ```gedcom -2 SPLAC @SP1@ +2 PLAC one, two, , three +3 SPLAC @SP1@ 3 NOTE this is an example ``` @@ -477,9 +477,6 @@ and new records ::: -Conversion in the other direction is also possible (from `SPLAC` to `PLAC`) but will in general discard information about individual places in the `SPLAC` chain. - - #### `SOURCE_RECORD` := ```gedstruct @@ -488,7 +485,7 @@ n @XREF:SOUR@ SOUR {1:1} g7:record-SOUR +2 EVEN {0:M} g7:DATA-EVEN +3 DATE {0:1} g7:DATA-EVEN-DATE +4 PHRASE {0:1} g7:PHRASE - +3 <> {0:1} + +3 <> {0:1} +2 AGNC {0:1} g7:AGNC +2 <> {0:M} +1 AUTH {0:1} g7:AUTH @@ -651,7 +648,7 @@ Time phrases are expected to be added in version 7.1. ```gedstruct n <> {0:1} -n <> {0:1} +n <> {0:1} n <> {0:1} n PHON {0:M} g7:PHON n EMAIL {0:M} g7:EMAIL @@ -1041,7 +1038,7 @@ Ordinances performed by members of The Church of Jesus Christ of Latter-day Sain ```gedstruct n <> {0:1} n TEMP {0:1} g7:TEMP -n <> {0:1} +n <> {0:1} n STAT {0:1} g7:ord-STAT +1 DATE {1:1} g7:DATE-exact +2 TIME