-
Notifications
You must be signed in to change notification settings - Fork 4
Add gedcom-occurrences extension v0.2.1 #177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 2 commits
13d6c79
03b8afe
23da8aa
3c514c1
74ecf70
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| %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" | ||
| ... | ||
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,19 @@ | ||||||||
| %YAML 1.2 | ||||||||
| --- | ||||||||
| lang: en-US | ||||||||
|
|
||||||||
| type: enumeration | ||||||||
|
|
||||||||
| uri: https://github.com/glamberson/gedcom-occurrences/enum-Absent | ||||||||
|
|
||||||||
| extension tags: _ABSENT | ||||||||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We think this might be invalid syntax since it's supposed to be an array. so something like
Suggested change
|
||||||||
|
|
||||||||
| 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 | ||||||||
| ... | ||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 | ||
| ... |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 | ||
| ... |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 0.2.2 | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove this file from the pull request, doesn't need to be registered. |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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}" | ||
|
Comment on lines
+7
to
+29
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't see this structure documented in https://github.com/glamberson/gedcom-occurrences/blob/master/occurrence-extension.md and am having trouble understanding its purpose. I thought it might be a generic string↦string map, but the presence of the NOTE substructure threw me.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is it an effort to make a "generic extension" extension? Instead of registering a new |
||
|
|
||
| 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 | ||
| ... | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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: "@<https://github.com/glamberson/gedcom-occurrences/_OCUR>@" | ||
|
|
||
| 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 | ||
| ... |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 | ||
| ... |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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: "@<https://gedcom.io/terms/v7/record-INDI>@ | @<https://gedcom.io/terms/v7/record-FAM>@" | ||
|
|
||
| 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 | ||
| ... |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 | ||
| ... |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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 | ||
| ... |
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussion during GEDCOM Steering Committee meeting,
We recommend also using the
documentation:field defined at https://gedcom.io/terms/format