B2Base

Bürokratie vereinfachen durch Standards

Benutzer-Werkzeuge

Webseiten-Werkzeuge


schemes:process:document

Dokumentmetadaten

B2Base · 1.0.0-draft.1 · Projektentwurf

Dateien und Nachweise referenzieren, beschreiben und auf Integrität prüfen.

Bibliothek · Aufgaben, Dokumente und Übergaben · Internationale Grundregeln

Direkt verwenden

Austauschschema (JSON) · Schema für den Designer · Beispieldaten

Austauschschema: vollständige Strukturprüfung mit JSON Schema 2020-12. Designer-Fassung: gleiche Datenfelder mit reduzierten Strukturregeln zur Feldübernahme. Anleitung und Grenzen

Felder im Überblick

Feld Typ Pflicht im Modul Bedeutung
id string Ja Dokumentkennung.
title string Ja Lesbarer Titel.
fileName string Nein Angezeigter Dateiname; kein freigegebener lokaler Dateipfad.
mediaType string Ja IANA-Medientyp ohne Parameter; tatsächlichen Inhalt separat prüfen.
byteSize integer Nein Dateigröße in Byte, nicht Textzeichen.
contentUri string Ja Verweis auf den Inhalt; Berechtigungen und Abruf werden gesondert geregelt.
sha256 string Nein Optionaler SHA-256-Hash der tatsächlichen Dateibytes.
language string Nein 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.
createdAt string Nein Erstellungszeitpunkt.
relatedParty object Nein Verweis auf eine separat gespeicherte Person oder juristische Person; kein JSON-Schema-Verweis.
extensions object Nein Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine 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

  • Inhalt und Beschreibung sind getrennt. Ein Link ersetzt keine Zugriffskontrolle und muss nicht öffentlich sein.
  • Medientyp und Dateiname garantieren keinen sicheren Inhalt. Der Hash muss über die unveränderten Dateibytes berechnet werden.
  • Der aktuelle Workspace transportiert Dateien in einem anderen Format. Ein Adapter muss Metadaten und Inhalt gezielt zuordnen.

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

example-1.json
{
  "id": "urn:example:document:42",
  "title": "Antragsunterlagen",
  "fileName": "申請.pdf",
  "mediaType": "application/pdf",
  "contentUri": "https://example.org/documents/42",
  "language": "ja"
}

Umstellung aus dem bisherigen Wiki

Neuer Standard für Dokumentmetadaten; bestehende Dokumentdaten im Workspace werden dadurch nicht automatisch migriert.

Änderungsübersicht und Migrationsregeln

Vollständiges Schema

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 Server; eine Veröffentlichung unter der kanonischen Domain ist damit nicht behauptet.

document.schema.json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://b2base.eu/schemas/1.0.0-draft.1/process/document.schema.json",
  "title": "Dokumentmetadaten",
  "$comment": "B2Base 1.0.0-draft.1. Projektentwurf, kein durch ISO oder andere Normungsgremien verabschiedeter Standard.",
  "type": "object",
  "description": "Beschreibung eines separat gespeicherten Dokuments.",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Dokumentkennung.",
      "format": "uri"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "description": "Lesbarer Titel."
    },
    "fileName": {
      "type": "string",
      "minLength": 1,
      "description": "Angezeigter Dateiname; kein freigegebener lokaler Dateipfad."
    },
    "mediaType": {
      "type": "string",
      "minLength": 1,
      "description": "IANA-Medientyp ohne Parameter; tatsächlichen Inhalt separat prüfen.",
      "pattern": "^[A-Za-z0-9!#$&^_.+-]+/[A-Za-z0-9!#$&^_.+-]+$"
    },
    "byteSize": {
      "type": "integer",
      "description": "Dateigröße in Byte, nicht Textzeichen.",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "contentUri": {
      "type": "string",
      "minLength": 1,
      "description": "Verweis auf den Inhalt; Berechtigungen und Abruf werden gesondert geregelt.",
      "format": "uri"
    },
    "sha256": {
      "type": "string",
      "minLength": 1,
      "description": "Optionaler SHA-256-Hash der tatsächlichen Dateibytes.",
      "pattern": "^[a-f0-9]{64}$"
    },
    "language": {
      "$ref": "#/$defs/LanguageTag"
    },
    "createdAt": {
      "type": "string",
      "minLength": 1,
      "description": "Erstellungszeitpunkt.",
      "format": "date-time"
    },
    "relatedParty": {
      "$ref": "#/$defs/PartyRef"
    },
    "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": [
    "id",
    "title",
    "mediaType",
    "contentUri"
  ],
  "additionalProperties": false,
  "$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})*$"
    },
    "PartyRef": {
      "type": "object",
      "description": "Verweis auf eine separat gespeicherte Person oder juristische Person; kein JSON-Schema-Verweis.",
      "properties": {
        "entityType": {
          "type": "string",
          "minLength": 1,
          "description": "Art der referenzierten Einheit.",
          "enum": [
            "person",
            "legalEntity"
          ]
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "description": "Stabile absolute URI oder URN des Datensatzes, nicht dessen Name.",
          "format": "uri"
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "description": "Optionale Anzeige; nicht als Identitätsschlüssel verwenden."
        }
      },
      "required": [
        "entityType",
        "id"
      ],
      "additionalProperties": false
    }
  },
  "examples": [
    {
      "id": "urn:example:document:42",
      "title": "Antragsunterlagen",
      "fileName": "申請.pdf",
      "mediaType": "application/pdf",
      "contentUri": "https://example.org/documents/42",
      "language": "ja"
    }
  ]
}

Quellen und Abgrenzung

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.

Zur Bibliothek · Integration · Häufige Fragen

schemes/process/document.txt · Zuletzt geändert: von 0.0.0.0

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