B2Base

Bürokratie vereinfachen durch Standards

Benutzer-Werkzeuge

Webseiten-Werkzeuge


schemes:person:nameandbirthdetails

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
schemes:person:nameandbirthdetails [2024/12/13 12:02] – [schema] lars_gerulatschemes:person:nameandbirthdetails [2026/09/08 14:34] (aktuell) – B2Base-Schemaentwurf: internationale Datenmodelle, Beispiele und Erläuterungen 0.0.0.0
Zeile 1: Zeile 1:
-====== nameandbirthdetails ====== +====== Name und Geburt ======
-===== description ===== +
-Das Schema **[[schemes:person|person]]:nameandbirthdetails** definiert:+
  
-**Name:** +<WRAP b2hero> 
-  titles: Optionale Liste von Titeln (z. B. "Dr.", "Prof.", "Sir"). +**B2Base · 1.0.0-draft.1 · Projektentwurf**
-  givenNames: Liste von Vornamen (mindestens ein Name erforderlich). +
-  * familyNames: Liste von Nachnamen oder Familiennamen (mindestens ein Name erforderlich). +
-  * suffixes: Optionale Namenszusätze (zB. "Jr.", "III"). +
-  preferredName: Der bevorzugte vollständige Name der Person. +
-  birthDate: Geburtsdatum im ISO-8601-Format (YYYY-MM-DD).+
  
-**birthPlace:** +Namen in Originalschrift, optionale Namensbestandteile und bekannte Geburtsangaben. 
-  cityStadt oder Ort des Geburtsortes+ 
-  * state: OptionalBundesland oder Region+[[schemes:scheme|Bibliothek]] · [[schemes:person|Personen]] · [[schemes:principles|Internationale Grundregeln]] 
-  * country: Länderkürzel nach ISO 3166-Alpha-2+</WRAP> 
-===== examples ===== + 
-==== json notation ==== +===== Direkt verwenden ===== 
-<code>+ 
 +[[b2schema>1.0.0-draft.1/person/nameandbirthdetails.schema.json|Austauschschema (JSON)]] · [[b2schema>1.0.0-draft.1/person/nameandbirthdetails.editor.schema.json|Schema für den Designer]] · [[b2schema>1.0.0-draft.1/person/nameandbirthdetails.examples.json|Beispieldaten]] 
 + 
 +**Austauschschema:** vollständige Strukturprüfung mit JSON Schema 2020-12. **Designer-Fassung:** gleiche Datenfelder mit reduzierten Strukturregeln zur Feldübernahme. [[:guidelines#im_workflowdesigner_verwenden|Anleitung und Grenzen]] 
 + 
 +===== Felder im Überblick ===== 
 + 
 +^ Feld ^ Typ ^ Pflicht im Modul ^ Bedeutung ^ 
 +| ''name'' | object | Ja | Die vollständige Anzeige ist maßgeblich; eine Zerlegung ist optional. | 
 +| ''birthDate'' | string | Nein | Vollständig bekanntes Geburtsdatum im gregorianischen Kalender: YYYY-MM-DD. | 
 +| ''birthDatePartial'' | string | Nein | Nur bekanntes Jahr oder Jahr und Monat. Keinen unbekannten Tag erfinden. | 
 +| ''birthDateOriginal'' | string | Nein | Optionale Originalangabe einschließlich abweichenden Kalenders; nicht automatisch als gregorianisch auswerten. | 
 +| ''birthPlace'' | object | Nein | Bekannte Geburtsortangaben; historische Bezeichnungen bleiben möglich. | 
 +| ''extensions'' | object | Nein | Vereinbarte Erweiterungen; Schlüssel als absolute URI des HerausgebersKeine stillschweigende Änderung von Kernfeldern. | 
 + 
 +Pflichtangaben gelten für das jeweilige Objekt, wenn dieses Modul verwendet wird. Zusätzliche Alternativen und Statusregeln stehen im Austauschschema. Optionale Felder weglassen, wenn sie unbekannt oder nicht anwendbar sind; ein leeres Pflichtfeld ist kein gültiger Ersatz. 
 + 
 +===== International richtig einsetzen ===== 
 + 
 +  * Mononymemehrere Familiennamen und unterschiedliche Reihenfolgen sind erlaubt. Aus Namen keine Nationalität oder Anrede ableiten
 +  * birthDate und birthDatePartial sind Alternativen. Unbekannte Angaben weglassen; ein fehlender Geburtstag ist kein 1. Januar. 
 +  * Originalschrift und Umschrift sind getrennte Darstellungen. Eine automatische Rückübersetzung ist nicht verlustfrei. 
 + 
 +===== Gültige Beispiele ===== 
 + 
 +Alle Beispiele sind synthetisch. Sie werden mit dem mitgelieferten Schema geprüft; daraus folgt keine fachliche Echtheit oder externe Erreichbarkeit. 
 + 
 +==== Beispiel 1 ==== 
 + 
 +<file json example-1.json>
 { {
   "name": {   "name": {
-    "titles": ["Dr.", "Prof."], +    "preferredName": "Sukarno"
-    "givenNames": ["Max", "Karl"], +
-    "familyNames": ["Mustermann", "von Stottern"], +
-    "birthNames": ["Tester", "von Helsinki"], +
-    "suffixes": ["Jr."], +
-    "preferredName": "Dr. Max Mustermann"+
   },   },
-  "birthDate": "1990-01-01"+  "birthDatePartial": "1984"
-  "birthPlace":+
-    "city": "Berlin", +
-    "state": "Berlin", +
-    "country": "DE" +
-  }+
 } }
-</code>+</file>
  
-==== array notation ==== +==== Beispiel 2 ====
-<code> +
-$person['nameandbirthdetails']['name']['titles'][0] = "Dr."; +
-$person['nameandbirthdetails']['name']['titles'][1] = "Prof.";+
  
-$person['nameandbirthdetails']['name']['givenNames'][0] = "Max"; +<file json example-2.json> 
-$person['nameandbirthdetails']['name']['givenNames'][1] = "Karl";+
 +  "name": { 
 +    "preferredName": "張偉", 
 +    "language": "zh-Hant-TW", 
 +    "transliteratedName": "Zhang Wei" 
 +  }, 
 +  "birthDate": "1990-05-10" 
 +
 +</file>
  
-$person['nameandbirthdetails']['name']['familyNames'][0] "Mustermann"; +===== Umstellung aus dem bisherigen Wiki =====
-$person['nameandbirthdetails']['name']['familyNames'][1] "von Stottern";+
  
-$person['nameandbirthdetails']['name']['birthNames'][0] = "Tester"; +Die bisherigen Schlüssel bleiben erhalten. Fehlerhaftes JSON wurde berichtigtGeburtsdatum und Geburtsort sind nicht mehr allgemein verpflichtend. Die frühere Beschreibung behauptete zusätzlich eine Vornamen-/Nachnamenpflicht, die das Schema selbst nicht konsistent umsetzte.
-$person['nameandbirthdetails']['name']['birthNames'][1] = "von Helsinki";+
  
-$person['nameandbirthdetails']['name']['suffixes'][0= "Jr.";+[[schemes:migration|Änderungsübersicht und Migrationsregeln]]
  
-$person['nameandbirthdetails']['name']['preferredName'"Dr. Max Mustermann";+===== Vollständiges Schema =====
  
-$person['nameandbirthdetails']['birthDate'] = "1990-01-01";+Die Datei ist eigenständig: verwendete Bausteine sind unter ''$defs'' eingebettet, Referenzen bleiben lokal. ''$id'' ist die kanonische Kennung. Die Downloads oben verwenden den aktuellen Servereine Veröffentlichung unter der kanonischen Domain ist damit nicht behauptet.
  
-$person['nameandbirthdetails']['birthPlace']['city'] = "Berlin"; +<file json nameandbirthdetails.schema.json>
-$person['nameandbirthdetails']['birthPlace']['state'] = "Berlin"; +
-$person['nameandbirthdetails']['birthPlace']['country'] = "DE"; +
-</code> +
- +
-===== schema ===== +
-<code>+
 { {
   "$schema": "https://json-schema.org/draft/2020-12/schema",   "$schema": "https://json-schema.org/draft/2020-12/schema",
-  "$id": "https://b2base.eu/doku.php?id=schemes:person:nameandbirthdetails", +  "$id": "https://b2base.eu/schemas/1.0.0-draft.1/person/nameandbirthdetails.schema.json", 
-  "title": "b2base:schemes:person:nameandbirthdetails", +  "title": "Name und Geburt", 
-  "description": "A globally valid schema for capturing name, birth dateand birth place.",+  "$comment": "B2Base 1.0.0-draft.1. Projektentwurfkein durch ISO oder andere Normungsgremien verabschiedeter Standard.",
   "type": "object",   "type": "object",
 +  "description": "Internationale Namens- und Geburtsangaben.",
   "properties": {   "properties": {
     "name": {     "name": {
       "type": "object",       "type": "object",
-      "description": "Information about the person's name.",+      "description": "Die vollständige Anzeige ist maßgeblich; eine Zerlegung ist optional.",
       "properties": {       "properties": {
 +        "preferredName": {
 +          "type": "string",
 +          "minLength": 1,
 +          "description": "Vollständiger, von der Person gewünschter Anzeigename; auch ein einzelner Name ist erlaubt."
 +        },
 +        "originalScript": {
 +          "type": "string",
 +          "minLength": 1,
 +          "description": "Optionaler vollständiger Originalname, wenn preferredName eine andere Darstellung verwendet."
 +        },
 +        "transliteratedName": {
 +          "type": "string",
 +          "minLength": 1,
 +          "description": "Optionale Umschrift; Original niemals damit überschreiben."
 +        },
 +        "language": {
 +          "$ref": "#/$defs/LanguageTag"
 +        },
         "titles": {         "titles": {
           "type": "array",           "type": "array",
-          "description": "List of titles with position in the name.",+          "description": "Optionale Titel.",
           "items": {           "items": {
-            "type": "object"+            "$ref": "#/$defs/NamePart"
-            "properties":+
-              "value":+
-                "type": "string", +
-                "description": "The title (e.g., Dr., Prof.)." +
-              }, +
-              "position":+
-                "type": "integer", +
-                "description": "The position of the title in the name (0-based)." +
-              } +
-            }, +
-            "required": ["value", "position"]+
           }           }
         },         },
         "givenNames": {         "givenNames": {
           "type": "array",           "type": "array",
-          "description": "List of given names with position in the name.",+          "description": "Optionale Vornamen.",
           "items": {           "items": {
-            "type": "object"+            "$ref": "#/$defs/NamePart"
-            "properties":+
-              "value":+
-                "type": "string", +
-                "description": "The given name." +
-              }, +
-              "position":+
-                "type": "integer", +
-                "description": "The position of the given name in the name (0-based)." +
-              } +
-            }, +
-            "required": ["value", "position"]+
           }           }
         },         },
         "familyNames": {         "familyNames": {
           "type": "array",           "type": "array",
-          "description": "List of family names with position in the name.",+          "description": "Optionale Familiennamen.",
           "items": {           "items": {
-            "type": "object"+            "$ref": "#/$defs/NamePart"
-            "properties":+
-              "value":+
-                "type": "string", +
-                "description": "The family name." +
-              }, +
-              "position":+
-                "type": "integer", +
-                "description": "The position of the family name in the name (0-based)." +
-              } +
-            }, +
-            "required": ["value", "position"]+
           }           }
         },         },
         "additions": {         "additions": {
           "type": "array",           "type": "array",
-          "description": "List of any additions (e.g., Jr., von, al-) with position in the name.",+          "description": "Optionale weitere Bestandteile.",
           "items": {           "items": {
-            "type": "object"+            "$ref": "#/$defs/NamePart"
-            "properties":+
-              "value":+
-                "type": "string", +
-                "description": "The addition." +
-              }, +
-              "position":+
-                "type": "integer", +
-                "description": "The position of the addition in the name (0-based)." +
-              } +
-            }, +
-            "required": ["value", "position"]+
           }           }
-        }, 
-        "preferredName": { 
-          "type": "string", 
-          "description": "The person's preferred full name." 
-        }, 
-        "originalScript": { 
-          "type": "string", 
-          "description": "The full name in the original script (e.g., Japanese, Chinese, Arabic).", 
-          "example": "张伟" 
-        }, 
-        "transliteratedName": { 
-          "type": "string", 
-          "description": "The full name in transliterated form (e.g., Latin alphabet).", 
-          "example": "Zhang Wei" 
         }         }
       },       },
-      "required": ["preferredName"]+      "required": [ 
 +        "preferredName" 
 +      ]
 +      "additionalProperties": false
     },     },
     "birthDate": {     "birthDate": {
       "type": "string",       "type": "string",
-      "format": "date", +      "minLength": 1, 
-      "description": "The person's birth date in the format YYYY-MM-DD."+      "description": "Vollständig bekanntes Geburtsdatum im gregorianischen Kalender: YYYY-MM-DD.", 
 +      "format": "date" 
 +    }, 
 +    "birthDatePartial":
 +      "type": "string", 
 +      "minLength": 1
 +      "description": "Nur bekanntes Jahr oder Jahr und Monat. Keinen unbekannten Tag erfinden.", 
 +      "pattern": "^[0-9]{4}(-(0[1-9]|1[0-2]))?$" 
 +    }, 
 +    "birthDateOriginal":
 +      "type": "string", 
 +      "minLength": 1, 
 +      "description": "Optionale Originalangabe einschließlich abweichenden Kalenders; nicht automatisch als gregorianisch auswerten."
     },     },
     "birthPlace": {     "birthPlace": {
       "type": "object",       "type": "object",
-      "description": "The person's birth place.",+      "description": "Bekannte Geburtsortangaben; historische Bezeichnungen bleiben möglich.",
       "properties": {       "properties": {
         "city": {         "city": {
           "type": "string",           "type": "string",
-          "description": "The name of the city or town."+          "minLength": 1, 
 +          "description": "Ort." 
 +        }, 
 +        "district":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Ortsteil."
         },         },
         "stateOrRegion": {         "stateOrRegion": {
           "type": "string",           "type": "string",
-          "description": "Optional, the state or region."+          "minLength": 1, 
 +          "description": "Region."
         },         },
         "province": {         "province": {
           "type": "string",           "type": "string",
-          "description": "Optional, an additional administrative level like province or district."+          "minLength": 1, 
 +          "description": "Weitere Verwaltungsebene."
         },         },
         "country": {         "country": {
 +          "$ref": "#/$defs/CountryCode"
 +        },
 +        "historicalCountryName": {
           "type": "string",           "type": "string",
-          "description": "Country code according to ISO 3166-1 Alpha-2."+          "minLength": 1, 
 +          "description": "Historische Bezeichnung ohne erfundenen aktuellen Ländercode."
         }         }
       },       },
-      "required": ["city", "country"]+      "additionalProperties": false, 
 +      "minProperties": 1 
 +    }, 
 +    "extensions":
 +      "type": "object", 
 +      "description": "Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern.", 
 +      "properties": {}, 
 +      "additionalProperties": true, 
 +      "propertyNames":
 +        "format": "uri" 
 +      }
     }     }
   },   },
-  "required": ["name", "birthDate", "birthPlace"]+  "required": [ 
 +    "name" 
 +  ], 
 +  "additionalProperties": false, 
 +  "not":
 +    "required":
 +      "birthDate", 
 +      "birthDatePartial" 
 +    ] 
 +  }, 
 +  "$defs":
 +    "LanguageTag":
 +      "type": "string", 
 +      "minLength": 1, 
 +      "description": "BCP-47-Sprachtag, etwa de, zh-Hant-TW, sr-Latn oder x-internal. Das Muster prüft nur die Grundform, nicht Registrierung oder alle BCP-47-Regeln.", 
 +      "pattern": "^[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*$" 
 +    }, 
 +    "NamePart":
 +      "type": "object", 
 +      "description": "Optionaler Namensbestandteil; keine zwingende westliche Aufteilung.", 
 +      "properties":
 +        "value":
 +          "type": "string", 
 +          "minLength": 1, 
 +          "description": "Originalschreibweise des Bestandteils." 
 +        }, 
 +        "position":
 +          "type": "integer", 
 +          "description": "Optionale Position über alle Bestandteile hinweg, beginnend bei 0. Mehrfachvergabe gesondert prüfen.", 
 +          "minimum":
 +        } 
 +      }, 
 +      "required":
 +        "value" 
 +      ], 
 +      "additionalProperties": false 
 +    }, 
 +    "CountryCode":
 +      "type": "string", 
 +      "minLength": 1, 
 +      "description": "ISO 3166-1 Alpha-2, Großbuchstaben. Das Muster prüft nur die Schreibweise; zugewiesenen Code und Gültigkeitszeitpunkt gesondert prüfen.", 
 +      "pattern": "^[A-Z]{2}$" 
 +    } 
 +  }, 
 +  "examples":
 +    { 
 +      "name":
 +        "preferredName": "Sukarno" 
 +      }, 
 +      "birthDatePartial": "1984" 
 +    }, 
 +    { 
 +      "name":
 +        "preferredName": "張偉", 
 +        "language": "zh-Hant-TW", 
 +        "transliteratedName": "Zhang Wei" 
 +      }, 
 +      "birthDate": "1990-05-10" 
 +    } 
 +  ]
 } }
-</code>+</file> 
 + 
 +===== Quellen und Abgrenzung ===== 
 + 
 +  * [[https://www.w3.org/International/questions/qa-personal-names|W3C: Personal names around the world]] 
 +  * [[https://www.rfc-editor.org/rfc/rfc3339.html|IETF RFC 3339: Datum und Zeitstempel]] 
 +  * [[https://www.rfc-editor.org/rfc/rfc5646.html|IETF RFC 5646: BCP-47-Sprachtags]] 
 + 
 +Quellen geprüft am 8. September 2026. Die B2Base-Felder und ihre Kombination sind ein eigener Entwurf. Code-Register, nationale Regeln, Echtheit, Zeitfolgen und Referenzziele benötigen die im jeweiligen Verfahren vereinbarten Zusatzprüfungen. 
 + 
 +[[schemes:scheme|Zur Bibliothek]] · [[:guidelines|Integration]] · [[:faq|Häufige Fragen]] 
schemes/person/nameandbirthdetails.1734087770.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki