diff --git a/enumeration-set/extension/gx-name-qualifiers.yaml b/enumeration-set/extension/gx-name-qualifiers.yaml new file mode 100644 index 00000000..eb892966 --- /dev/null +++ b/enumeration-set/extension/gx-name-qualifiers.yaml @@ -0,0 +1,26 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration set + +uri: https://tychonievich.github.io/gx-g7-names#qualifiers + +enumeration values: + - "http://gedcomx.org/Title" + - "http://gedcomx.org/Primary" + - "http://gedcomx.org/Secondary" + - "http://gedcomx.org/Middle" + - "http://gedcomx.org/Familiar" + - "http://gedcomx.org/Religious" + - "http://gedcomx.org/Family" + - "http://gedcomx.org/Maiden" + - "http://gedcomx.org/Patronymic" + - "http://gedcomx.org/Matronymic" + - "http://gedcomx.org/Geographic" + - "http://gedcomx.org/Occupational" + - "http://gedcomx.org/Characteristic" + - "http://gedcomx.org/Postnom" + - "http://gedcomx.org/Particle" + - "http://gedcomx.org/RootName" + - "https://tychonievich.github.io/gx-g7-names#hidden" diff --git a/enumeration-set/extension/gx-name-types.yaml b/enumeration-set/extension/gx-name-types.yaml new file mode 100644 index 00000000..1bac2b90 --- /dev/null +++ b/enumeration-set/extension/gx-name-types.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration set + +uri: https://tychonievich.github.io/gx-g7-names#types + +specification: + - This set is assumed to be non-extensible by several GEDCOM-X applications. + Extensions should use qualifiers instead of types. + +enumeration values: + - "http://gedcomx.org/Prefix" + - "http://gedcomx.org/Suffix" + - "http://gedcomx.org/Given" + - "http://gedcomx.org/Surname" diff --git a/enumeration/extension/gx-name-Characteristic.yaml b/enumeration/extension/gx-name-Characteristic.yaml new file mode 100644 index 00000000..f388fed7 --- /dev/null +++ b/enumeration/extension/gx-name-Characteristic.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Characteristic + +extension tags: + - _GX_CHARACTERISTIC + +specification: + - A name derived from a characteristic. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Familiar.yaml b/enumeration/extension/gx-name-Familiar.yaml new file mode 100644 index 00000000..a1fc8360 --- /dev/null +++ b/enumeration/extension/gx-name-Familiar.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Familiar + +extension tags: + - _GX_FAMILIAR + +specification: + - A designation for one's familiar name. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Family.yaml b/enumeration/extension/gx-name-Family.yaml new file mode 100644 index 00000000..4d23a7de --- /dev/null +++ b/enumeration/extension/gx-name-Family.yaml @@ -0,0 +1,18 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Family + +extension tags: + - _GX_FAMILY + +specification: + - A name that associates a person with a group, such as a clan, tribe, or + patriarchal hierarchy. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Geographic.yaml b/enumeration/extension/gx-name-Geographic.yaml new file mode 100644 index 00000000..771522d5 --- /dev/null +++ b/enumeration/extension/gx-name-Geographic.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Geographic + +extension tags: + - _GX_GEOGRAPHIC + +specification: + - A name derived from associated geography. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Given.yaml b/enumeration/extension/gx-name-Given.yaml new file mode 100644 index 00000000..2e072edf --- /dev/null +++ b/enumeration/extension/gx-name-Given.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Given + +extension tags: + - _GX_GIVEN + +specification: + - A given name. + +value of: + - "https://tychonievich.github.io/gx-g7-names#types" +... diff --git a/enumeration/extension/gx-name-Maiden.yaml b/enumeration/extension/gx-name-Maiden.yaml new file mode 100644 index 00000000..1728dc47 --- /dev/null +++ b/enumeration/extension/gx-name-Maiden.yaml @@ -0,0 +1,18 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Maiden + +extension tags: + - _GX_MAIDEN + +specification: + - A designation given by women to their original surname after they adopt a + new surname upon marriage. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Matronymic.yaml b/enumeration/extension/gx-name-Matronymic.yaml new file mode 100644 index 00000000..b514b14c --- /dev/null +++ b/enumeration/extension/gx-name-Matronymic.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Matronymic + +extension tags: + - _GX_MATRONYMIC + +specification: + - A name derived from a mother or maternal ancestor. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Middle.yaml b/enumeration/extension/gx-name-Middle.yaml new file mode 100644 index 00000000..4f40e676 --- /dev/null +++ b/enumeration/extension/gx-name-Middle.yaml @@ -0,0 +1,18 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Middle + +extension tags: + - _GX_MIDDLE + +specification: + - A designation useful for cultures that designate a middle name that is + distinct from a given name and a surname. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Occupational.yaml b/enumeration/extension/gx-name-Occupational.yaml new file mode 100644 index 00000000..0da77f5f --- /dev/null +++ b/enumeration/extension/gx-name-Occupational.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Occupational + +extension tags: + - _GX_OCCUPATIONAL + +specification: + - A name derived from one's occupation. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Particle.yaml b/enumeration/extension/gx-name-Particle.yaml new file mode 100644 index 00000000..917c669e --- /dev/null +++ b/enumeration/extension/gx-name-Particle.yaml @@ -0,0 +1,22 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Particle + +extension tags: + - _GX_PARTICLE + +specification: + - A grammatical designation for articles (a, the, dem, las, el, etc.), + prepositions (of, from, aus, zu, op, etc.), initials, annotations + (e.g., twin, wife of, infant, unknown), comparators (e.g., Junior, Senior, + younger, little), ordinals (e.g., III, eighth), descendancy words (e.g., ben, + ibn, bat, bin, bint, bar), and conjunctions (e.g., and, or, nee, ou, y, o, + ne, &). + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Patronymic.yaml b/enumeration/extension/gx-name-Patronymic.yaml new file mode 100644 index 00000000..a27ba2dd --- /dev/null +++ b/enumeration/extension/gx-name-Patronymic.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Patronymic + +extension tags: + - _GX_PATRONYMIC + +specification: + - A name derived from a father or paternal ancestor. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Postnom.yaml b/enumeration/extension/gx-name-Postnom.yaml new file mode 100644 index 00000000..af734cd7 --- /dev/null +++ b/enumeration/extension/gx-name-Postnom.yaml @@ -0,0 +1,18 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Postnom + +extension tags: + - _GX_POSTNOM + +specification: + - A name mandated by law for populations from Congo Free State / Belgian + Congo / Congo / Democratic Republic of Congo (formerly Zaire). + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Prefix.yaml b/enumeration/extension/gx-name-Prefix.yaml new file mode 100644 index 00000000..199cd3fb --- /dev/null +++ b/enumeration/extension/gx-name-Prefix.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Prefix + +extension tags: + - _GX_PREFIX + +specification: + - A name prefix. + +value of: + - "https://tychonievich.github.io/gx-g7-names#types" +... diff --git a/enumeration/extension/gx-name-Primary.yaml b/enumeration/extension/gx-name-Primary.yaml new file mode 100644 index 00000000..3784e153 --- /dev/null +++ b/enumeration/extension/gx-name-Primary.yaml @@ -0,0 +1,18 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Primary + +extension tags: + - _GX_PRIMARY + +specification: + - A designation for the name of most prominent in importance among the names + of that type (e.g., the primary given name). + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Religious.yaml b/enumeration/extension/gx-name-Religious.yaml new file mode 100644 index 00000000..75e6f555 --- /dev/null +++ b/enumeration/extension/gx-name-Religious.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Religious + +extension tags: + - _GX_RELIGIOUS + +specification: + - A designation for a name given for religious purposes. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-RootName.yaml b/enumeration/extension/gx-name-RootName.yaml new file mode 100644 index 00000000..91f10fed --- /dev/null +++ b/enumeration/extension/gx-name-RootName.yaml @@ -0,0 +1,18 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/RootName + +extension tags: + - _GX_ROOTNAME + +specification: + - The "root" of a name part as distinguished from prefixes or suffixes. For + example, the root of the Polish name "Wilkówna" is "Wilk". + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Secondary.yaml b/enumeration/extension/gx-name-Secondary.yaml new file mode 100644 index 00000000..84fa5028 --- /dev/null +++ b/enumeration/extension/gx-name-Secondary.yaml @@ -0,0 +1,18 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Secondary + +extension tags: + - _GX_SECONDARY + +specification: + - A designation for a name that is not primary in its importance among the + names of that type (e.g., a secondary given name). + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-Suffix.yaml b/enumeration/extension/gx-name-Suffix.yaml new file mode 100644 index 00000000..52ce81af --- /dev/null +++ b/enumeration/extension/gx-name-Suffix.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Suffix + +extension tags: + - _GX_SUFFIX + +specification: + - A name suffix. + +value of: + - "https://tychonievich.github.io/gx-g7-names#types" +... diff --git a/enumeration/extension/gx-name-Surname.yaml b/enumeration/extension/gx-name-Surname.yaml new file mode 100644 index 00000000..26af48d2 --- /dev/null +++ b/enumeration/extension/gx-name-Surname.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Surname + +extension tags: + - _GX_SURNAME + +specification: + - A surname. + +value of: + - "https://tychonievich.github.io/gx-g7-names#types" +... diff --git a/enumeration/extension/gx-name-Title.yaml b/enumeration/extension/gx-name-Title.yaml new file mode 100644 index 00000000..57b7b03c --- /dev/null +++ b/enumeration/extension/gx-name-Title.yaml @@ -0,0 +1,19 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: http://gedcomx.org/Title + +extension tags: + - _GX_TITLE + +specification: + - A designation for honorifics (e.g., Dr., Rev., His Majesty, Haji), ranks + (e.g., Colonel, General, Knight, Esquire), positions (e.g., Count, Chief, + Father, King) or other titles (e.g., PhD, MD). + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/enumeration/extension/gx-name-hidden.yaml b/enumeration/extension/gx-name-hidden.yaml new file mode 100644 index 00000000..b1be38d8 --- /dev/null +++ b/enumeration/extension/gx-name-hidden.yaml @@ -0,0 +1,17 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration + +uri: https://tychonievich.github.io/gx-g7-names#hidden + +extension tags: + - _NPQ_HIDDEN + +specification: + - A name part that should not be displayed. + +value of: + - "https://tychonievich.github.io/gx-g7-names#qualifiers" +... diff --git a/generated_files/cardinalities.tsv b/generated_files/cardinalities.tsv index 836aac3d..cb2aa40f 100644 --- a/generated_files/cardinalities.tsv +++ b/generated_files/cardinalities.tsv @@ -759,6 +759,7 @@ https://gedcom.io/terms/v7/INDI-NAME https://gedcom.io/terms/v7/SNOTE {0:M} https://gedcom.io/terms/v7/INDI-NAME https://gedcom.io/terms/v7/SOUR {0:M} https://gedcom.io/terms/v7/INDI-NAME https://gedcom.io/terms/v7/SPFX {0:M} https://gedcom.io/terms/v7/INDI-NAME https://gedcom.io/terms/v7/SURN {0:M} +https://gedcom.io/terms/v7/INDI-NAME https://tychonievich.github.io/gx-g7-names#name-part {0:M} https://gedcom.io/terms/v7/INDI-NCHI https://gedcom.io/terms/v7/ADDR {0:1} https://gedcom.io/terms/v7/INDI-NCHI https://gedcom.io/terms/v7/AGE {0:1} https://gedcom.io/terms/v7/INDI-NCHI https://gedcom.io/terms/v7/AGNC {0:1} @@ -961,6 +962,7 @@ https://gedcom.io/terms/v7/NAME-TRAN https://gedcom.io/terms/v7/NPFX {0:M} https://gedcom.io/terms/v7/NAME-TRAN https://gedcom.io/terms/v7/NSFX {0:M} https://gedcom.io/terms/v7/NAME-TRAN https://gedcom.io/terms/v7/SPFX {0:M} https://gedcom.io/terms/v7/NAME-TRAN https://gedcom.io/terms/v7/SURN {0:M} +https://gedcom.io/terms/v7/NAME-TRAN https://tychonievich.github.io/gx-g7-names#name-part {0:M} https://gedcom.io/terms/v7/NAME-TYPE https://gedcom.io/terms/v7/PHRASE {0:1} https://gedcom.io/terms/v7/NATI https://gedcom.io/terms/v7/ADDR {0:1} https://gedcom.io/terms/v7/NATI https://gedcom.io/terms/v7/AGE {0:1} @@ -1377,3 +1379,5 @@ https://gedcom.io/terms/v7/record-SUBM https://gedcom.io/terms/v7/SNOTE {0:M} https://gedcom.io/terms/v7/record-SUBM https://gedcom.io/terms/v7/SUBM-LANG {0:M} https://gedcom.io/terms/v7/record-SUBM https://gedcom.io/terms/v7/UID {0:M} https://gedcom.io/terms/v7/record-SUBM https://gedcom.io/terms/v7/WWW {0:M} +https://tychonievich.github.io/gx-g7-names#name-part https://tychonievich.github.io/gx-g7-names#name-part-qualifier {0:M} +https://tychonievich.github.io/gx-g7-names#name-part https://tychonievich.github.io/gx-g7-names#name-part-type {0:1} diff --git a/generated_files/enumerations.tsv b/generated_files/enumerations.tsv index 4479ba7d..ca0ec487 100644 --- a/generated_files/enumerations.tsv +++ b/generated_files/enumerations.tsv @@ -11,3 +11,5 @@ https://gedcom.io/terms/v7/ROLE https://gedcom.io/terms/v7/enumset-ROLE https://gedcom.io/terms/v7/SEX https://gedcom.io/terms/v7/enumset-SEX https://gedcom.io/terms/v7/SOUR-EVEN https://gedcom.io/terms/v7/enumset-EVENATTR https://gedcom.io/terms/v7/ord-STAT https://gedcom.io/terms/v7/enumset-ord-STAT +https://tychonievich.github.io/gx-g7-names#name-part-qualifier https://tychonievich.github.io/gx-g7-names#qualifiers +https://tychonievich.github.io/gx-g7-names#name-part-type https://tychonievich.github.io/gx-g7-names#types diff --git a/generated_files/enumerationsets.tsv b/generated_files/enumerationsets.tsv index dab92ee1..33edf3f5 100644 --- a/generated_files/enumerationsets.tsv +++ b/generated_files/enumerationsets.tsv @@ -151,3 +151,24 @@ https://gedcom.io/terms/v7/enumset-ord-STAT https://gedcom.io/terms/v7/enum-PRE_ https://gedcom.io/terms/v7/enumset-ord-STAT https://gedcom.io/terms/v7/enum-STILLBORN https://gedcom.io/terms/v7/enumset-ord-STAT https://gedcom.io/terms/v7/enum-SUBMITTED https://gedcom.io/terms/v7/enumset-ord-STAT https://gedcom.io/terms/v7/enum-UNCLEARED +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Characteristic +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Familiar +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Family +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Geographic +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Maiden +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Matronymic +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Middle +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Occupational +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Particle +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Patronymic +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Postnom +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Primary +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Religious +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/RootName +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Secondary +https://tychonievich.github.io/gx-g7-names#qualifiers http://gedcomx.org/Title +https://tychonievich.github.io/gx-g7-names#qualifiers https://tychonievich.github.io/gx-g7-names#hidden +https://tychonievich.github.io/gx-g7-names#types http://gedcomx.org/Given +https://tychonievich.github.io/gx-g7-names#types http://gedcomx.org/Prefix +https://tychonievich.github.io/gx-g7-names#types http://gedcomx.org/Suffix +https://tychonievich.github.io/gx-g7-names#types http://gedcomx.org/Surname diff --git a/generated_files/g7validation.json b/generated_files/g7validation.json index 0f3adbc2..a6a214e2 100644 --- a/generated_files/g7validation.json +++ b/generated_files/g7validation.json @@ -745,6 +745,15 @@ }, "https://gedcom.io/terms/v7/record-SUBM": { "en-US": "Submitter" + }, + "https://tychonievich.github.io/gx-g7-names#name-part": { + "en-US": "Name part" + }, + "https://tychonievich.github.io/gx-g7-names#name-part-qualifier": { + "en-US": "Information about a name part" + }, + "https://tychonievich.github.io/gx-g7-names#name-part-type": { + "en-US": "Type of name part" } }, "payload": { @@ -1313,6 +1322,17 @@ }, "https://gedcom.io/terms/v7/record-SUBM": { "type": null + }, + "https://tychonievich.github.io/gx-g7-names#name-part": { + "type": "http://www.w3.org/2001/XMLSchema#string" + }, + "https://tychonievich.github.io/gx-g7-names#name-part-qualifier": { + "set": "https://tychonievich.github.io/gx-g7-names#qualifiers", + "type": "https://gedcom.io/terms/v7/type-Enum" + }, + "https://tychonievich.github.io/gx-g7-names#name-part-type": { + "set": "https://tychonievich.github.io/gx-g7-names#types", + "type": "https://gedcom.io/terms/v7/type-Enum" } }, "set": { @@ -1486,6 +1506,31 @@ "STILLBORN": "https://gedcom.io/terms/v7/enum-STILLBORN", "SUBMITTED": "https://gedcom.io/terms/v7/enum-SUBMITTED", "UNCLEARED": "https://gedcom.io/terms/v7/enum-UNCLEARED" + }, + "https://tychonievich.github.io/gx-g7-names#qualifiers": { + "http://gedcomx.org/Characteristic": "http://gedcomx.org/Characteristic", + "http://gedcomx.org/Familiar": "http://gedcomx.org/Familiar", + "http://gedcomx.org/Family": "http://gedcomx.org/Family", + "http://gedcomx.org/Geographic": "http://gedcomx.org/Geographic", + "http://gedcomx.org/Maiden": "http://gedcomx.org/Maiden", + "http://gedcomx.org/Matronymic": "http://gedcomx.org/Matronymic", + "http://gedcomx.org/Middle": "http://gedcomx.org/Middle", + "http://gedcomx.org/Occupational": "http://gedcomx.org/Occupational", + "http://gedcomx.org/Particle": "http://gedcomx.org/Particle", + "http://gedcomx.org/Patronymic": "http://gedcomx.org/Patronymic", + "http://gedcomx.org/Postnom": "http://gedcomx.org/Postnom", + "http://gedcomx.org/Primary": "http://gedcomx.org/Primary", + "http://gedcomx.org/Religious": "http://gedcomx.org/Religious", + "http://gedcomx.org/RootName": "http://gedcomx.org/RootName", + "http://gedcomx.org/Secondary": "http://gedcomx.org/Secondary", + "http://gedcomx.org/Title": "http://gedcomx.org/Title", + "https://tychonievich.github.io/gx-g7-names#hidden": "https://tychonievich.github.io/gx-g7-names#hidden" + }, + "https://tychonievich.github.io/gx-g7-names#types": { + "http://gedcomx.org/Given": "http://gedcomx.org/Given", + "http://gedcomx.org/Prefix": "http://gedcomx.org/Prefix", + "http://gedcomx.org/Suffix": "http://gedcomx.org/Suffix", + "http://gedcomx.org/Surname": "http://gedcomx.org/Surname" } }, "substructure": { @@ -4707,6 +4752,10 @@ "TYPE": { "cardinality": "{0:1}", "type": "https://gedcom.io/terms/v7/NAME-TYPE" + }, + "https://tychonievich.github.io/gx-g7-names#name-part": { + "cardinality": "{0:M}", + "type": "https://tychonievich.github.io/gx-g7-names#name-part" } }, "https://gedcom.io/terms/v7/INDI-NCHI": { @@ -5541,6 +5590,10 @@ "SURN": { "cardinality": "{0:M}", "type": "https://gedcom.io/terms/v7/SURN" + }, + "https://tychonievich.github.io/gx-g7-names#name-part": { + "cardinality": "{0:M}", + "type": "https://tychonievich.github.io/gx-g7-names#name-part" } }, "https://gedcom.io/terms/v7/NAME-TYPE": { @@ -7284,9 +7337,39 @@ "cardinality": "{0:M}", "type": "https://gedcom.io/terms/v7/WWW" } + }, + "https://tychonievich.github.io/gx-g7-names#name-part": { + "https://tychonievich.github.io/gx-g7-names#name-part-qualifier": { + "cardinality": "{0:M}", + "type": "https://tychonievich.github.io/gx-g7-names#name-part-qualifier" + }, + "https://tychonievich.github.io/gx-g7-names#name-part-type": { + "cardinality": "{0:1}", + "type": "https://tychonievich.github.io/gx-g7-names#name-part-type" + } } }, "tag": { + "http://gedcomx.org/Characteristic": "_GX_CHARACTERISTIC", + "http://gedcomx.org/Familiar": "_GX_FAMILIAR", + "http://gedcomx.org/Family": "_GX_FAMILY", + "http://gedcomx.org/Geographic": "_GX_GEOGRAPHIC", + "http://gedcomx.org/Given": "_GX_GIVEN", + "http://gedcomx.org/Maiden": "_GX_MAIDEN", + "http://gedcomx.org/Matronymic": "_GX_MATRONYMIC", + "http://gedcomx.org/Middle": "_GX_MIDDLE", + "http://gedcomx.org/Occupational": "_GX_OCCUPATIONAL", + "http://gedcomx.org/Particle": "_GX_PARTICLE", + "http://gedcomx.org/Patronymic": "_GX_PATRONYMIC", + "http://gedcomx.org/Postnom": "_GX_POSTNOM", + "http://gedcomx.org/Prefix": "_GX_PREFIX", + "http://gedcomx.org/Primary": "_GX_PRIMARY", + "http://gedcomx.org/Religious": "_GX_RELIGIOUS", + "http://gedcomx.org/RootName": "_GX_ROOTNAME", + "http://gedcomx.org/Secondary": "_GX_SECONDARY", + "http://gedcomx.org/Suffix": "_GX_SUFFIX", + "http://gedcomx.org/Surname": "_GX_SURNAME", + "http://gedcomx.org/Title": "_GX_TITLE", "https://gedcom.io/terms/v7/ABBR": "ABBR", "https://gedcom.io/terms/v7/ADDR": "ADDR", "https://gedcom.io/terms/v7/ADOP": "ADOP", @@ -7574,6 +7657,10 @@ "https://gedcom.io/terms/v7/record-REPO": "REPO", "https://gedcom.io/terms/v7/record-SNOTE": "SNOTE", "https://gedcom.io/terms/v7/record-SOUR": "SOUR", - "https://gedcom.io/terms/v7/record-SUBM": "SUBM" + "https://gedcom.io/terms/v7/record-SUBM": "SUBM", + "https://tychonievich.github.io/gx-g7-names#hidden": "_NPQ_HIDDEN", + "https://tychonievich.github.io/gx-g7-names#name-part": "_N_PART", + "https://tychonievich.github.io/gx-g7-names#name-part-qualifier": "_NP_QUAL", + "https://tychonievich.github.io/gx-g7-names#name-part-type": "_NP_TYPE" } } \ No newline at end of file diff --git a/generated_files/payloads.tsv b/generated_files/payloads.tsv index e61fe6f6..d208cb0f 100644 --- a/generated_files/payloads.tsv +++ b/generated_files/payloads.tsv @@ -178,3 +178,6 @@ https://gedcom.io/terms/v7/record-REPO https://gedcom.io/terms/v7/record-SNOTE http://www.w3.org/2001/XMLSchema#string https://gedcom.io/terms/v7/record-SOUR https://gedcom.io/terms/v7/record-SUBM +https://tychonievich.github.io/gx-g7-names#name-part http://www.w3.org/2001/XMLSchema#string +https://tychonievich.github.io/gx-g7-names#name-part-qualifier https://gedcom.io/terms/v7/type-Enum +https://tychonievich.github.io/gx-g7-names#name-part-type https://gedcom.io/terms/v7/type-Enum diff --git a/generated_files/registry_path.tsv b/generated_files/registry_path.tsv index e474eb94..42c359f2 100644 --- a/generated_files/registry_path.tsv +++ b/generated_files/registry_path.tsv @@ -1,3 +1,23 @@ +http://gedcomx.org/Characteristic enumeration/extension/gx-name-Characteristic.yaml +http://gedcomx.org/Familiar enumeration/extension/gx-name-Familiar.yaml +http://gedcomx.org/Family enumeration/extension/gx-name-Family.yaml +http://gedcomx.org/Geographic enumeration/extension/gx-name-Geographic.yaml +http://gedcomx.org/Given enumeration/extension/gx-name-Given.yaml +http://gedcomx.org/Maiden enumeration/extension/gx-name-Maiden.yaml +http://gedcomx.org/Matronymic enumeration/extension/gx-name-Matronymic.yaml +http://gedcomx.org/Middle enumeration/extension/gx-name-Middle.yaml +http://gedcomx.org/Occupational enumeration/extension/gx-name-Occupational.yaml +http://gedcomx.org/Particle enumeration/extension/gx-name-Particle.yaml +http://gedcomx.org/Patronymic enumeration/extension/gx-name-Patronymic.yaml +http://gedcomx.org/Postnom enumeration/extension/gx-name-Postnom.yaml +http://gedcomx.org/Prefix enumeration/extension/gx-name-Prefix.yaml +http://gedcomx.org/Primary enumeration/extension/gx-name-Primary.yaml +http://gedcomx.org/Religious enumeration/extension/gx-name-Religious.yaml +http://gedcomx.org/RootName enumeration/extension/gx-name-RootName.yaml +http://gedcomx.org/Secondary enumeration/extension/gx-name-Secondary.yaml +http://gedcomx.org/Suffix enumeration/extension/gx-name-Suffix.yaml +http://gedcomx.org/Surname enumeration/extension/gx-name-Surname.yaml +http://gedcomx.org/Title enumeration/extension/gx-name-Title.yaml https://gedcom.io/terms/v7/ABBR structure/standard/ABBR.yaml https://gedcom.io/terms/v7/ADDR structure/standard/ADDR.yaml https://gedcom.io/terms/v7/ADOP structure/standard/ADOP.yaml @@ -307,3 +327,9 @@ https://gedcom.io/terms/v7/type-Enum data-type/standard/type-Enum.yaml https://gedcom.io/terms/v7/type-List data-type/standard/type-List.yaml https://gedcom.io/terms/v7/type-Name data-type/standard/type-Name.yaml https://gedcom.io/terms/v7/type-Time data-type/standard/type-Time.yaml +https://tychonievich.github.io/gx-g7-names#hidden enumeration/extension/gx-name-hidden.yaml +https://tychonievich.github.io/gx-g7-names#name-part structure/extension/gx-name-part.yaml +https://tychonievich.github.io/gx-g7-names#name-part-qualifier structure/extension/gx-name-part-qualifier.yaml +https://tychonievich.github.io/gx-g7-names#name-part-type structure/extension/gx-name-part-type.yaml +https://tychonievich.github.io/gx-g7-names#qualifiers enumeration-set/extension/gx-name-qualifiers.yaml +https://tychonievich.github.io/gx-g7-names#types enumeration-set/extension/gx-name-types.yaml diff --git a/generated_files/substructures.tsv b/generated_files/substructures.tsv index 265d7fbf..cf2c89cf 100644 --- a/generated_files/substructures.tsv +++ b/generated_files/substructures.tsv @@ -759,6 +759,7 @@ https://gedcom.io/terms/v7/INDI-NAME SPFX https://gedcom.io/terms/v7/SPFX https://gedcom.io/terms/v7/INDI-NAME SURN https://gedcom.io/terms/v7/SURN https://gedcom.io/terms/v7/INDI-NAME TRAN https://gedcom.io/terms/v7/NAME-TRAN https://gedcom.io/terms/v7/INDI-NAME TYPE https://gedcom.io/terms/v7/NAME-TYPE +https://gedcom.io/terms/v7/INDI-NAME _N_PART https://tychonievich.github.io/gx-g7-names#name-part https://gedcom.io/terms/v7/INDI-NCHI ADDR https://gedcom.io/terms/v7/ADDR https://gedcom.io/terms/v7/INDI-NCHI AGE https://gedcom.io/terms/v7/AGE https://gedcom.io/terms/v7/INDI-NCHI AGNC https://gedcom.io/terms/v7/AGNC @@ -961,6 +962,7 @@ https://gedcom.io/terms/v7/NAME-TRAN NPFX https://gedcom.io/terms/v7/NPFX https://gedcom.io/terms/v7/NAME-TRAN NSFX https://gedcom.io/terms/v7/NSFX https://gedcom.io/terms/v7/NAME-TRAN SPFX https://gedcom.io/terms/v7/SPFX https://gedcom.io/terms/v7/NAME-TRAN SURN https://gedcom.io/terms/v7/SURN +https://gedcom.io/terms/v7/NAME-TRAN _N_PART https://tychonievich.github.io/gx-g7-names#name-part https://gedcom.io/terms/v7/NAME-TYPE PHRASE https://gedcom.io/terms/v7/PHRASE https://gedcom.io/terms/v7/NATI ADDR https://gedcom.io/terms/v7/ADDR https://gedcom.io/terms/v7/NATI AGE https://gedcom.io/terms/v7/AGE @@ -1377,3 +1379,5 @@ https://gedcom.io/terms/v7/record-SUBM REFN https://gedcom.io/terms/v7/REFN https://gedcom.io/terms/v7/record-SUBM SNOTE https://gedcom.io/terms/v7/SNOTE https://gedcom.io/terms/v7/record-SUBM UID https://gedcom.io/terms/v7/UID https://gedcom.io/terms/v7/record-SUBM WWW https://gedcom.io/terms/v7/WWW +https://tychonievich.github.io/gx-g7-names#name-part _NP_QUAL https://tychonievich.github.io/gx-g7-names#name-part-qualifier +https://tychonievich.github.io/gx-g7-names#name-part _NP_TYPE https://tychonievich.github.io/gx-g7-names#name-part-type diff --git a/structure/extension/gx-name-part-qualifier.yaml b/structure/extension/gx-name-part-qualifier.yaml new file mode 100644 index 00000000..0293f863 --- /dev/null +++ b/structure/extension/gx-name-part-qualifier.yaml @@ -0,0 +1,33 @@ +%YAML 1.2 +--- +lang: en-US + +type: structure + +uri: https://tychonievich.github.io/gx-g7-names#name-part-qualifier + +extension tags: + - _NP_QUAL + +specification: + - | + A type-like descriptor of a name part. + + This structure is intended to be the GEDCOM 7 parallel of the qualifiers + property of the GEDOCM-X element http://gedcomx.org/v1/NamePart. The + payload of this structure should be an enumerated value documented by + GEDCOM-X for that property at + https://github.com/FamilySearch/gedcomx/blob/master/specifications/name-part-qualifiers-specification.md + or the hidden qualifier added to support creating GEDCOM name payloads. + +label: 'Information about a name part' + +payload: https://gedcom.io/terms/v7/type-Enum + +enumeration set: "https://tychonievich.github.io/gx-g7-names#qualifiers" + +substructures: {} + +superstructures: + "https://tychonievich.github.io/gx-g7-names#name-part": "{0:M}" +... diff --git a/structure/extension/gx-name-part-type.yaml b/structure/extension/gx-name-part-type.yaml new file mode 100644 index 00000000..22ae7d39 --- /dev/null +++ b/structure/extension/gx-name-part-type.yaml @@ -0,0 +1,36 @@ +%YAML 1.2 +--- +lang: en-US + +type: structure + +uri: https://tychonievich.github.io/gx-g7-names#name-part-type + +extension tags: + - _NP_TYPE + +specification: + - | + The type of a name part. Only four name part types are defined, and not all + name parts need have a type. Additional, more specific name part + descriptors can be found in the name-part-qualifier. + + This structure is intended to be the GEDCOM 7 parallel of the type property + of the GEDOCM-X element http://gedcomx.org/v1/NamePart. The payload of this + structure should be an enumerated value documented by GEDCOM-X for that + property. + + The name-part-type structure is optional, and should only be included if + exactly one of the enumerated values correctly describes the name part. + +label: 'Type of name part' + +payload: https://gedcom.io/terms/v7/type-Enum + +enumeration set: "https://tychonievich.github.io/gx-g7-names#types" + +substructures: {} + +superstructures: + "https://tychonievich.github.io/gx-g7-names#name-part": "{0:1}" +... diff --git a/structure/extension/gx-name-part.yaml b/structure/extension/gx-name-part.yaml new file mode 100644 index 00000000..30f4973f --- /dev/null +++ b/structure/extension/gx-name-part.yaml @@ -0,0 +1,95 @@ +%YAML 1.2 +--- +lang: en-US + +type: structure + +uri: https://tychonievich.github.io/gx-g7-names#name-part + +extension tags: + - _N_PART + +specification: + - A part of a name. + - | + This structure is intended to be the GEDCOM 7 parallel of the GEDOCM-X + element http://gedcomx.org/v1/NamePart + + The preferred order of name-part structures is the preferred display order + of the name parts. + - | + To be fully interoperable with other parts of GEDCOM 7, applications should + impose the following limitations on users. For the purpose of these + limitations, a set of name parts are said to be contiguous if, after + removing any hidden parts, they are adjacent in the list of name parts. + + * Some applications (and some governments; see, e.g., + https://en.wikipedia.org/wiki/Rufname) require at most one primary + given name. This means that if there is more than one part with + qualifier Primary and type Given, all such parts must be contiguous. + + In most cases, a single Primary Given part is adequate, but there may + be cases when additional details (such as particles, root names, etc) + will be added about parts of the primary given name, necessitating + breaking it up into several parts. + + * The g7:type-Name datatype requires at most one primary surname, as + identified by slashes in the payload. This means that + + * If there is more than one part with qualifier Primary and type + Surname, all such parts must be contiguous. + + * If there is no part with Primary and type Surname, then all + parts with type Surname must be contiguous. + + In some cases a single Primary Surname part is adequate, but there + may be cases when additional details (such as particles, root names, + etc.) will be added about parts of the primary surname name, + necessitating breaking it up into several parts. + - | + It is intended that name-part be used in such a way that all other elements + of a g7:INDI-NAME or g7:NAME-TRAN can be reconstructed unambiguously from + the name-parts alone. To achieve this, every character in the name's + displayed form should be in a name-part. This may mean there are name-parts + with no type or qualifier that store spacing, punctuation, etc. + + To populate the other name data from name parts, + + * Create the g7:type-NAME payload by + + 1. Concatenating all name-part payloads that do not have the hidden + qualifier. + 2. Removing any U+002F characters (slash or solidus, /), which + g7:type-NAME cannot represent. + 3. Possibly delimiting a part of the string with slashes: + - If no part has type Surname, do not add slashes. + - Otherwise, if there are name parts with type Surname and + qualifier Primary, put a slash before the first such part and + after the last such part. + - Otherwise, if there are parts with type Surname, put a slash + before the first such part and after the last such part. + + * Create other personal name parts as follows: + - Create a g7:GIVN for each part with type Given + - Create a g7:SURN for each part with type Surname, unless it also + has qualifier Particle and precedes all Surnames that lack Particle: + in that case, use g7:SPFX instead + - Create a g7:NPFX for each part with type Prefix + - Create a g7:NSFX for each part with type Suffix + - Create a g7:NICK for each part with qualifier Familiar that does + not also have a type + - If using a rufname extension, create a rufname structure for the + concatenated sequence of parts with type Given and qualifier Primary + +label: 'Name part' + +payload: http://www.w3.org/2001/XMLSchema#string + +substructures: + "https://tychonievich.github.io/gx-g7-names#name-part-type": "{0:1}" + "https://tychonievich.github.io/gx-g7-names#name-part-qualifier": "{0:M}" + +superstructures: + "https://gedcom.io/terms/v7/INDI-NAME": "{0:M}" + "https://gedcom.io/terms/v7/NAME-TRAN": "{0:M}" +...