Aller au contenu principal

1. Introduction

Dans ce document, une convention de notation pour exprimer les structures de données de Représentation d'Objet Binaire Concis (CBOR) [RFC7049] est définie.

L'objectif principal de la convention est de fournir une notation unifiée qui peut être utilisée lors de la définition de protocoles utilisant CBOR. Nous appelons cette convention "Langage de Définition de Données Concis", ou CDDL.

La convention de notation CBOR a les objectifs suivants :

(G1) Fournir une description non ambiguë de la structure globale d'un élément de données CBOR.

(G2) Être flexible dans l'expression des multiples façons dont les données peuvent être représentées dans le format de données CBOR.

(G3) Pouvoir exprimer les types de données et structures CBOR courants.

(G4) Fournir un format unique qui soit à la fois lisible et éditable pour les humains et traitable par une machine.

(G5) Permettre la vérification automatique des éléments de données CBOR pour la conformité au format de données.

(G6) Permettre l'extraction d'éléments spécifiques des données CBOR pour un traitement ultérieur.

Bien qu'il ne s'agisse pas d'un objectif original en soi, un effet secondaire pratique du fait que le modèle de données générique JSON est un sous-ensemble du modèle de données générique CBOR est que CDDL peut également être utilisé pour décrire les structures de données JSON (voir l'Annexe E).

Ce document a la structure suivante :

La syntaxe de CDDL est définie dans la Section 3. Des exemples de CDDL et d'un élément de données CBOR associé (« instance »), dont certains utilisent la forme JSON, sont décrits dans l'Annexe H. La Section 4 discute de l'utilisation de CDDL. Des exemples sont fournis tout au long du texte pour mieux illustrer les définitions de concepts. Une définition formelle de CDDL utilisant la grammaire ABNF [RFC5234] est fournie dans l'Annexe B. Enfin, un prélude de définitions CDDL standard qui est automatiquement ajouté au début de, et donc disponible dans, chaque spécification CDDL est répertorié dans l'Annexe D.

1.1. Notation des Exigences

Les mots-clés "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", et "OPTIONAL" dans ce document doivent être interprétés comme décrit dans BCP 14 [RFC2119] [RFC8174] lorsque, et seulement lorsque, ils apparaissent en majuscules, comme indiqué ici.

1.2. Terminologie

Les nouveaux termes sont introduits en italique, qui est rendu en texte brut comme le nouveau terme entouré de traits de soulignement. Le texte CDDL dans le texte courant est en "machine à écrire", qui est rendu en texte brut comme le texte CDDL entre guillemets doubles (les guillemets doubles sont également utilisés dans le sens anglais habituel ; le lecteur est censé lever l'ambiguïté par le contexte).

Dans cette spécification, le terme "byte" est utilisé dans son sens désormais habituel comme synonyme d'"octet".