diff --git a/enumeration-set/extension/enumset-Presence.yaml b/enumeration-set/extension/enumset-Presence.yaml new file mode 100644 index 00000000..3f71e973 --- /dev/null +++ b/enumeration-set/extension/enumset-Presence.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration set + +uri: https://github.com/glamberson/gedcom-occurrences/enumset-Presence + +enumeration values: + - "https://github.com/glamberson/gedcom-occurrences/enum-Present" + - "https://github.com/glamberson/gedcom-occurrences/enum-Absent" + - "https://github.com/glamberson/gedcom-occurrences/enum-Unknown" + +contact: "https://github.com/glamberson/gedcom-occurrences" + +documentation: [https://github.com/glamberson/gedcom-occurrences] +... diff --git a/enumeration/extension/enum-Absent.yaml b/enumeration/extension/enum-Absent.yaml new file mode 100644 index 00000000..b1e8c0ba --- /dev/null +++ b/enumeration/extension/enum-Absent.yaml @@ -0,0 +1,19 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: https://github.com/glamberson/gedcom-occurrences/enum-Absent + +extension tags: [_ABSENT] + +specification: + - Absent + - Person was listed or referenced but not physically present + +value of: + - https://github.com/glamberson/gedcom-occurrences/enumset-Presence + +contact: https://github.com/glamberson/gedcom-occurrences +... diff --git a/enumeration/extension/enum-Present.yaml b/enumeration/extension/enum-Present.yaml new file mode 100644 index 00000000..86a266bc --- /dev/null +++ b/enumeration/extension/enum-Present.yaml @@ -0,0 +1,19 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: https://github.com/glamberson/gedcom-occurrences/enum-Present + +extension tags: [_PRESENT] + +specification: + - Present + - Person was physically present at the occurrence + +value of: + - https://github.com/glamberson/gedcom-occurrences/enumset-Presence + +contact: https://github.com/glamberson/gedcom-occurrences +... diff --git a/enumeration/extension/enum-Unknown.yaml b/enumeration/extension/enum-Unknown.yaml new file mode 100644 index 00000000..932563ab --- /dev/null +++ b/enumeration/extension/enum-Unknown.yaml @@ -0,0 +1,19 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: https://github.com/glamberson/gedcom-occurrences/enum-Unknown + +extension tags: [_UNKNOWN] + +specification: + - Unknown + - Presence status cannot be determined from the source + +value of: + - https://github.com/glamberson/gedcom-occurrences/enumset-Presence + +contact: https://github.com/glamberson/gedcom-occurrences +... diff --git a/registry_tools/GEDCOM.io b/registry_tools/GEDCOM.io index da76dfe9..45791f0a 160000 --- a/registry_tools/GEDCOM.io +++ b/registry_tools/GEDCOM.io @@ -1 +1 @@ -Subproject commit da76dfe933b22833035e005e7092ba1a91be0140 +Subproject commit 45791f0a61ae7375bca211019fdaeb12179c3925 diff --git a/structure/extension/_ATTR.yaml b/structure/extension/_ATTR.yaml new file mode 100644 index 00000000..054920d8 --- /dev/null +++ b/structure/extension/_ATTR.yaml @@ -0,0 +1,36 @@ +%YAML 1.2 +--- +lang: en-US + +type: structure + +uri: https://github.com/glamberson/gedcom-occurrences/_ATTR + +extension tags: + - _ATTR + +specification: + - Custom Attribute + - | + A custom attribute for an occurrence or participant. This allows + applications to add specific attributes that aren't covered by + standard GEDCOM structures, ensuring data preservation during + import/export cycles. + + The attribute name is in the payload, and the value is in the + required _VALUE substructure. + +label: Custom Attribute + +payload: http://www.w3.org/2001/XMLSchema#string + +substructures: + "https://gedcom.io/terms/v7/NOTE": "{0:M}" + "https://github.com/glamberson/gedcom-occurrences/_VALUE": "{1:1}" + +superstructures: + "https://github.com/glamberson/gedcom-occurrences/_OCUR": "{0:M}" + "https://github.com/glamberson/gedcom-occurrences/_OCREF": "{0:M}" + +contact: https://github.com/glamberson/gedcom-occurrences +... \ No newline at end of file diff --git a/structure/extension/_OCREF.yaml b/structure/extension/_OCREF.yaml new file mode 100644 index 00000000..37ab1c26 --- /dev/null +++ b/structure/extension/_OCREF.yaml @@ -0,0 +1,41 @@ +%YAML 1.2 +--- +lang: en-US + +type: structure + +uri: https://github.com/glamberson/gedcom-occurrences/_OCREF + +extension tags: + - _OCREF + +specification: + - Occurrence Reference + - | + A reference from an individual or family to an occurrence record (_OCUR). + This structure contains all participant-specific data such as role, age, + and participation details. + + In the container-only model (v0.2.0+), all participant data is stored + exclusively in _OCREF structures to avoid data duplication and synchronization + issues. + +label: Occurrence Reference + +payload: "@@" + +substructures: + "https://gedcom.io/terms/v7/AGE": "{0:1}" + "https://gedcom.io/terms/v7/NOTE": "{0:M}" + "https://gedcom.io/terms/v7/ROLE": "{1:1}" + "https://gedcom.io/terms/v7/SNOTE": "{0:M}" + "https://gedcom.io/terms/v7/SOUR": "{0:M}" + "https://github.com/glamberson/gedcom-occurrences/_ATTR": "{0:M}" + "https://github.com/glamberson/gedcom-occurrences/_PRESENCE": "{0:1}" + +superstructures: + "https://gedcom.io/terms/v7/record-FAM": "{0:M}" + "https://gedcom.io/terms/v7/record-INDI": "{0:M}" + +contact: https://github.com/glamberson/gedcom-occurrences +... \ No newline at end of file diff --git a/structure/extension/_OCUR.yaml b/structure/extension/_OCUR.yaml new file mode 100644 index 00000000..235bb05f --- /dev/null +++ b/structure/extension/_OCUR.yaml @@ -0,0 +1,51 @@ +%YAML 1.2 +--- +lang: en-US + +type: structure + +uri: https://github.com/glamberson/gedcom-occurrences/_OCUR + +extension tags: + - _OCUR + +specification: + - Occurrence Record + - | + An _OCUR record represents an occurrence as an independent, first-class object + that can involve multiple participants with different roles. This allows + the same occurrence (such as a census, burial, or ceremony) to be referenced + by multiple people without duplication of occurrence data. + + Unlike embedded events (EVEN) in INDI or FAM records, _OCUR records exist at + the top level and are referenced using _OCREF from participants. + + This extension addresses the synchronization problems that occur when multiple + people participate in the same event, providing a clean separation between + event data (date, place, type) and participation data (role, age). + +label: Occurrence + +payload: null + +substructures: + "https://gedcom.io/terms/v7/ADDR": "{0:1}" + "https://gedcom.io/terms/v7/AGNC": "{0:1}" + "https://gedcom.io/terms/v7/CAUS": "{0:1}" + "https://gedcom.io/terms/v7/CHAN": "{0:1}" + "https://gedcom.io/terms/v7/DATE": "{0:1}" + "https://gedcom.io/terms/v7/EXID": "{0:M}" + "https://gedcom.io/terms/v7/NOTE": "{0:M}" + "https://gedcom.io/terms/v7/OBJE": "{0:M}" + "https://gedcom.io/terms/v7/PLAC": "{0:1}" + "https://gedcom.io/terms/v7/RELI": "{0:1}" + "https://gedcom.io/terms/v7/SNOTE": "{0:M}" + "https://gedcom.io/terms/v7/SOUR": "{0:M}" + "https://gedcom.io/terms/v7/TYPE": "{1:1}" + "https://gedcom.io/terms/v7/UID": "{0:M}" + "https://github.com/glamberson/gedcom-occurrences/_PART": "{0:M}" + +superstructures: {} + +contact: https://github.com/glamberson/gedcom-occurrences +... \ No newline at end of file diff --git a/structure/extension/_PART.yaml b/structure/extension/_PART.yaml new file mode 100644 index 00000000..79ea41a9 --- /dev/null +++ b/structure/extension/_PART.yaml @@ -0,0 +1,35 @@ +%YAML 1.2 +--- +lang: en-US + +type: structure + +uri: https://github.com/glamberson/gedcom-occurrences/_PART + +extension tags: + - _PART + +specification: + - Occurrence Participant + - | + A reference to an individual or family who participated in an occurrence. + This structure is used within _OCUR records to list all participants. + The actual participation details (role, age, etc.) are stored in the + participant's _OCREF structure, not here. + + This design maintains a clean separation between occurrence data and + participant-specific data. + +label: Participant Reference + +payload: "@@ | @@" + +substructures: + "https://gedcom.io/terms/v7/NOTE": "{0:M}" + "https://github.com/glamberson/gedcom-occurrences/_PRESENCE": "{0:1}" + +superstructures: + "https://github.com/glamberson/gedcom-occurrences/_OCUR": "{0:M}" + +contact: https://github.com/glamberson/gedcom-occurrences +... diff --git a/structure/extension/_PRESENCE.yaml b/structure/extension/_PRESENCE.yaml new file mode 100644 index 00000000..1f407638 --- /dev/null +++ b/structure/extension/_PRESENCE.yaml @@ -0,0 +1,34 @@ +%YAML 1.2 +--- +lang: en-US + +type: structure + +uri: https://github.com/glamberson/gedcom-occurrences/_PRESENCE + +extension tags: + - _PRESENCE + +specification: + - Presence Status + - | + Indicates the presence status of a participant in an occurrence. + Used to explicitly note when someone was absent from an event they + were expected to attend, or when their presence is uncertain. + + This is particularly useful for census records, family gatherings, + or other events where absence is notable. + +label: Presence Status + +payload: https://github.com/glamberson/gedcom-occurrences/enumset-Presence + +substructures: + "https://gedcom.io/terms/v7/NOTE": "{0:M}" + +superstructures: + "https://github.com/glamberson/gedcom-occurrences/_OCREF": "{0:1}" + "https://github.com/glamberson/gedcom-occurrences/_PART": "{0:1}" + +contact: https://github.com/glamberson/gedcom-occurrences +... \ No newline at end of file diff --git a/structure/extension/_VALUE.yaml b/structure/extension/_VALUE.yaml new file mode 100644 index 00000000..d29db5bd --- /dev/null +++ b/structure/extension/_VALUE.yaml @@ -0,0 +1,29 @@ +%YAML 1.2 +--- +lang: en-US + +type: structure + +uri: https://github.com/glamberson/gedcom-occurrences/_VALUE + +extension tags: + - _VALUE + +specification: + - Attribute Value + - | + The value for a custom attribute defined by _ATTR. This structure + contains the actual value of the attribute, while the attribute + name is stored in the _ATTR payload. + +label: Value + +payload: http://www.w3.org/2001/XMLSchema#string + +substructures: {} + +superstructures: + "https://github.com/glamberson/gedcom-occurrences/_ATTR": "{1:1}" + +contact: https://github.com/glamberson/gedcom-occurrences +...