1. Einführung
In diesem Dokument wird eine Notationskonvention zum Ausdrücken von Datenstrukturen der Prägnanten Binärobjektdarstellung (CBOR) [RFC7049] definiert.
Das Hauptziel der Konvention besteht darin, eine einheitliche Notation bereitzustellen, die bei der Definition von Protokollen verwendet werden kann, die CBOR verwenden. Wir nennen die Konvention "Prägnante Datendefinitionssprache" oder CDDL.
Die CBOR-Notationskonvention hat die folgenden Ziele:
(G1) Eine eindeutige Beschreibung der Gesamtstruktur eines CBOR-Datenelements bereitstellen.
(G2) Flexibel sein beim Ausdrücken der vielfältigen Arten, in denen Daten im CBOR-Datenformat dargestellt werden können.
(G3) In der Lage sein, gängige CBOR-Datentypen und -Strukturen auszudrücken.
(G4) Ein einziges Format bereitstellen, das sowohl für Menschen lesbar und bearbeitbar als auch von einer Maschine verarbeitbar ist.
(G5) Automatische Überprüfung von CBOR-Datenelementen auf Datenformatkonformität ermöglichen.
(G6) Extraktion spezifischer Elemente aus CBOR-Daten zur weiteren Verarbeitung ermöglichen.
Obwohl es kein ursprüngliches Ziel an sich ist, ist ein praktischer Nebeneffekt der Tatsache, dass das generische JSON-Datenmodell eine Teilmenge des generischen CBOR-Datenmodells ist, dass CDDL auch zur Beschreibung von JSON-Datenstrukturen verwendet werden kann (siehe Anhang E).
Dieses Dokument hat die folgende Struktur:
Die Syntax von CDDL ist in Abschnitt 3 definiert. Beispiele für CDDL und ein zugehöriges CBOR-Datenelement ("Instanz"), von denen einige die JSON-Form verwenden, werden in Anhang H beschrieben. Abschnitt 4 diskutiert die Verwendung von CDDL. Beispiele werden im gesamten Text bereitgestellt, um Konzeptdefinitionen besser zu veranschaulichen. Eine formale Definition von CDDL unter Verwendung der ABNF-Grammatik [RFC5234] wird in Anhang B bereitgestellt. Schließlich ist ein Präludium von Standard-CDDL-Definitionen, das automatisch jeder CDDL-Spezifikation vorangestellt wird und somit darin verfügbar ist, in Anhang D aufgeführt.
1.1. Anforderungsnotation
Die Schlüsselwörter "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" und "OPTIONAL" in diesem Dokument sind wie in BCP 14 [RFC2119] [RFC8174] beschrieben zu interpretieren, wenn und nur wenn sie in Großbuchstaben erscheinen, wie hier gezeigt.
1.2. Terminologie
Neue Begriffe werden in Kursivschrift eingeführt, die in Klartext als der neue Begriff dargestellt wird, der von Unterstrichen umgeben ist. CDDL-Text im laufenden Text ist in "Schreibmaschine", der in Klartext als CDDL-Text in doppelten Anführungszeichen dargestellt wird (doppelte Anführungszeichen werden auch im üblichen englischen Sinne verwendet; der Leser wird erwartet, dies durch den Kontext zu disambiguieren).
In dieser Spezifikation wird der Begriff "Byte" in seinem jetzt üblichen Sinne als Synonym für "Oktett" verwendet.