<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 4.0.2) -->
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-cbor-cddl-2-draft-09" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="CDDL 2.0">CDDL 2.0 and beyond — a draft plan</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-2-draft-09"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2026" month="September" day="01"/>
    <workgroup>CBOR Working group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 68?>

<t>The Concise Data Definition Language (CDDL) today is defined by
RFC 8610, RFC 9165, RFC 9682, and RFC 9741).
RFC 9165 and the latter (as well as some more application specific specifications
such as RFC 9090) have used the extension point provided in RFC 8610,
the control operator.</t>
      <t>As CDDL is used in larger projects, feature requirements become known
that cannot be easily mapped into this single extension point.
Hence, there is a need for evolution of the base CDDL specification
itself.</t>
      <t>The present document provides a roadmap towards a "CDDL 2.0";
it is intended to serve as a basis for implementations that evolve
with the concept of CDDL 2.0.
It is based on draft-bormann-cbor-cddl-freezer, but is more selective
in what potential features it takes up and more detailed in their
discussion.
This document is intended to evolve over time; it might spawn specific
documents and then retire, or it might eventually be published as a roadmap
document.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-cbor-cddl-2-draft/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        cbor Working Group mailing list (<eref target="mailto:cbor@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/cbor/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cbor/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cbor-wg/cddl-2"/>.</t>
    </note>
  </front>
  <middle>
    <?line 91?>

<section anchor="intro">
      <name>Introduction</name>
      <t>(Please see abstract.)</t>
      <t>Note that the existing extension point can be exercised for new
features in parallel to the work described here.
<xref target="RFC9741"/> forms part of the first set of
specifications going forward from the CDDL-2 project together with <xref target="RFC9682"/>.</t>
      <t>The rest of this introduction gives a rough overview over what could
be the development plan for CDDL 1.1, 2.0, 2.5.</t>
      <section anchor="s11">
        <name>CDDL 1.1 + 2 plan (standards track)</name>
        <t>This section is completed.</t>
        <t>CDDL 1.1 milestone</t>
        <ul spacing="normal">
          <li>
            <t>"CDDL 1.1": <xref target="RFC9682"/>, <em>Grammar</em> fixes:
Empty files (enabling CDDL 2), non-literal tags, errata fixes.</t>
          </li>
          <li>
            <t>Parallel to CDDL 1.1: More <em>control</em> operators
<xref target="RFC9741"/>: Additional control operators, another iteration
like <xref target="RFC9165"/> before.</t>
          </li>
        </ul>
        <t>CDDL 2.0 work:</t>
        <ul spacing="normal">
          <li>
            <t>Technically complete before <strong>IETF 119</strong>: CDDL 2.0: <xref target="I-D.ietf-cbor-cddl-modules"/>
(<tt>import</tt>/<tt>include</tt> directives, implemented).
Feedback is available from IETF 119, one remaining technical issue
(sockets).</t>
          </li>
          <li>
            <t>Potentially, further directives to be added.
No proposals are ripe for specification.</t>
          </li>
        </ul>
        <t>"CDDL 2.5":</t>
        <ul spacing="normal">
          <li>
            <t>Being prepared: CDDL 2.5: <xref target="anno"/> of the present document
("<em>annotations</em>", plus some functionality enabled by that).
The requirements are reasonably well-understood;
the specific form this takes needs to be worked out.
Enables, e.g., <xref section="5" sectionFormat="of" target="I-D.bormann-cbor-cddl-freezer"/> (co-occurrence).</t>
          </li>
        </ul>
      </section>
      <section anchor="s12">
        <name>Other documents</name>
        <t>Not on the main line of development, but important ancillary work:</t>
        <ul spacing="normal">
          <li>
            <t>(Informational, implemented): Section <xref target="I-D.bormann-cbor-cddl-freezer" section="6" sectionFormat="bare">alternative representations</xref> of <xref target="I-D.bormann-cbor-cddl-freezer"/>:
CDDL-in-JSON format(s) for interchange of CDDL model information
between tools.</t>
          </li>
          <li>
            <t>(Informational, companion to <xref target="I-D.ietf-cbor-cddl-modules"/>): <xref target="I-D.bormann-cbor-rfc-cddl-models"/>
(builds standard collection of referenceable models).</t>
          </li>
          <li>
            <t>(BCP? Informational?): <xref target="I-D.bormann-cbor-draft-numbers"/>
(BCP for handling assigned numbers during draft stage; can stay
informational as the work described is completed and any reference
to the document erased before a specification using it would be published).</t>
          </li>
          <li>
            <t>Application-oriented literal <tt>e''</tt> <xref target="I-D.ietf-cbor-edn-e-ref"/> makes use of
<xref target="I-D.ietf-cbor-edn-literals"/> so that diagnostic notation can refer
to named numbers that are specified in CDDL.
Implemented, see <xref target="enum-literals"/> for an introduction.</t>
          </li>
          <li>
            <t>Further proposals to improve the integration between CDDL and EDN
are likely; see <xref target="I-D.bormann-cbor-edn-mapkey"/> for a work in progress.</t>
          </li>
        </ul>
        <t>More explorative at this point:</t>
        <ul spacing="normal">
          <li>
            <t>(Standards-Track?) The remaining <xref target="syntax"/> of this document:
application-oriented literals in CDDL mirroring the work in
<xref target="I-D.ietf-cbor-edn-literals"/>.</t>
          </li>
          <li>
            <t>(Informational or Standards-Track?): <xref target="I-D.bormann-cbor-cddl-csv"/> (using CDDL to
model CSV documents).</t>
          </li>
        </ul>
        <t>Important CBOR work that may be reflected in some CDDL extensions:</t>
        <ul spacing="normal">
          <li>
            <t>Evolving Extended Diagnostic Notation <xref target="I-D.ietf-cbor-edn-literals"/>.  While EDN
and CDDL are independent languages (with EDN rooted in JSON and CDDL
in ABNF and Relax-NG), they are often used together, and
developments in one may spawn parallel work in the other.</t>
          </li>
          <li>
            <t>Common Deterministic Encoding (CDE) <xref target="I-D.ietf-cbor-cde"/> and related documents.
These do define CDDL operators already, which may be sufficient for
initial use; this might be extended once more experience has been
gained.</t>
          </li>
          <li>
            <t>Packed CBOR <xref target="I-D.ietf-cbor-packed"/>.
CDDL already can be used to describe the original
data item represented in a packed data item.
Requirements for describing the latter have not yet been collected;
there is some relation to <xref target="transformation">transformation</xref> that
might need to be explored.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="syntax">
      <name>Mending syntax deficits</name>
      <t>The previous content of this section formed the basis for <xref target="RFC9682"/>,
except for <xref target="tagolit-ref"/>.</t>
      <section anchor="tagolit-ref">
        <name>Tag-oriented Literals</name>
        <t>Incomplete, see <xref target="tagolit"/>.</t>
      </section>
    </section>
    <section anchor="anno">
      <name>Processing model: Beyond Validation</name>
      <dl spacing="compact">
        <dt><em>Proposal Status</em>:</dt>
        <dd>
          <t>experiments with implementations ongoing</t>
        </dd>
        <dt><em>Compatibility</em>:</dt>
        <dd>
          <t>backwards compatible</t>
        </dd>
      </dl>
      <t>The basic (implicit) processing model for CDDL 1.0 applies a CDDL data
model to a data item and returns a Boolean that indicates whether the
data item matches that model ("<em>validation</em>").</t>
      <t><xref section="4" sectionFormat="of" target="RFC9165"/> extends this model with named "<em>features</em>".
A validation can indicate which features were used.
Validation could also be parameterized with information about what
features are allowed to be used, enabling variants (see <xref section="4" sectionFormat="of" target="RFC9165"/> and <xref target="useful"/> for examples).</t>
      <section anchor="annotations">
        <name>Annotations</name>
        <t>The <tt>cddl</tt> tool (<xref section="F" sectionFormat="of" target="RFC8610"/>) also supports experimental
forms of "annotating" a validated data item with information about
which rules were used to support validation, currently entirely based on the
information that is in a standard CDDL 1.0 data model.
This leads to a more general concept of "<em>annotation</em>", where the data
model specification supports "annotating" the validated instance by
optionally supplying information in the model.
(The annotated result is a special case of a "post-schema validation
instance" <xref target="PSVI"/>, here one where the data item itself is only
augmented, not changed, by the process.)</t>
        <t>Annotations could in turn provide input to further validation steps,
as is often done with Schematron validation in Relax-NG; with an
appropriate evaluation language this can be used for checking co-occurrence
constraints (<xref section="5" sectionFormat="of" target="I-D.bormann-cbor-cddl-freezer"/>).</t>
        <t>One aspect of validation that is currently not covered by CDDL is the
checking of specific serialization requirements.
<xref section="8" sectionFormat="of" target="I-D.ietf-cbor-serialization"/> can be used as a source of inspiration for how
this could be immediately useful.</t>
      </section>
      <section anchor="transformation">
        <name>Transformation</name>
        <t>Finally, annotations are a first step to <em>transformation</em>, i.e.,
describing how a validated data item should be interpreted as a
transformed data item by performing certain computations.
This generally requires even more support from an evaluation language,
simple transformations such as adding in default values may not need
much support though.</t>
      </section>
      <section anchor="next-steps">
        <name>Next Steps</name>
        <t>At this time, existing experimental implementations do not lead to a
clear choice for what processing model enhancements should be in
CDDL 2.0 follow-ons.
This document proposes to continue the experimentation and document
good approaches.</t>
      </section>
    </section>
    <section anchor="module-superstructure">
      <name>Module superstructure</name>
      <t>The previous content of this section formed the basis for <xref target="I-D.ietf-cbor-cddl-modules"/>.
Additional work might be started on the ideas outlined in the
subsections of this section.</t>
      <section anchor="cross-universe-references">
        <name>Cross-universe references</name>
        <t>See <xref target="cross"/>.
<!-- {Appendix A.2 of -cddl-2-draft}}. -->
        </t>
      </section>
      <section anchor="abnf-is-a-lot-like-cddl">
        <name>ABNF is a lot like CDDL</name>
        <t>Many of the constructs defined here for CDDL also could be used with
ABNF specifications.  ABNF would definitely benefit from a standard
way to import snippets from existing RFCs.
Since CDDL contains ABNF support (<xref section="3" sectionFormat="of" target="RFC9165"/>), it would be
natural to make some of the functionality discussed in this section
available for ABNF as well.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no requests of IANA.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security considerations</name>
      <t>The security considerations of <xref target="RFC8610"/> apply.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC9165">
          <front>
            <title>Additional Control Operators for the Concise Data Definition Language (CDDL)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point.</t>
              <t>The present document defines a number of control operators that were not yet ready at the time RFC 8610 was completed:.plus,.cat, and.det for the construction of constants;.abnf/.abnfb for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and.feature for indicating the use of a non-basic feature in an instance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9165"/>
          <seriesInfo name="DOI" value="10.17487/RFC9165"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.bormann-cbor-cddl-freezer">
          <front>
            <title>A feature freezer for the Concise Data Definition Language (CDDL)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="1" month="March" year="2026"/>
            <abstract>
              <t>   In defining the Concise Data Definition Language (CDDL), some
   features have turned up that would be nice to have.  In the interest
   of completing this specification in a timely manner, the present
   document was started to collect nice-to-have features that did not
   make it into the first RFC for CDDL, RFC 8610, or the specifications
   exercising its extension points, such as RFC 9165.

   Significant parts of this draft have now moved over to the CDDL 2.0
   project, described in draft-bormann-cbor-cddl-2-draft.  The remaining
   items in this draft are not directly related to the CDDL 2.0 effort.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-freezer-17"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-edn-literals">
          <front>
            <title>Concise Diagnostic Notation (CDN)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="20" month="July" year="2026"/>
            <abstract>
              <t>   This document formalizes and consolidates the definition of the
   Concise Diagnostic Notation (CDN) of the Concise Binary Object
   Representation (CBOR), addressing implementer experience.

   Replacing CDN's previous informal descriptions, it updates RFC 8949,
   obsoleting its Section 8, and RFC 8610, obsoleting its Appendix G.

   It also specifies registry-based extension points and uses them to
   support text representations such as of epoch-based dates/times and
   of IP addresses and prefixes.


   // (This cref will be removed by the RFC editor:) This is the
   // editorial round focusing on editorial cleanup, specifically where
   // that causes moving text around.  It does not have WG input yet on
   // any renaming decisions (CDN name, b1/t1 name), ABNF cleanup, or
   // Rohan's suggestion to fix the questionable figure in 3.8.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-literals-27"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-edn-e-ref">
          <front>
            <title>External References to Values in CBOR Diagnostic Notation (EDN)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="1" month="March" year="2026"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, RFC 8949) is a data
   format whose design goals include the possibility of extremely small
   code size, fairly small message size, and extensibility without the
   need for version negotiation.

   CBOR diagnostic notation (EDN) is widely used to represent CBOR data
   items in a way that is accessible to humans, for instance for
   examples in a specification.  At the time of writing, EDN did not
   provide mechanisms for composition of such examples from multiple
   components or sources.  This document uses EDN application extensions
   to provide two such mechanisms, both of which insert an imported data
   item into the data item being described in EDN:

   The e'' application extension provides a way to import data items,
   particularly constant values, from a CDDL model (which itself has
   ways to provide composition).

   The ref'' application extension provides a way to import data items
   that are described in EDN.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-e-ref-03"/>
        </reference>
        <reference anchor="RFC9682">
          <front>
            <title>Updates to the Concise Data Definition Language (CDDL) Grammar</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="November" year="2024"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), as defined in RFCs 8610 and 9165, provides an easy and unambiguous way to express structures for protocol messages and data formats that are represented in Concise Binary Object Representation (CBOR) or JSON.</t>
              <t>This document updates RFC 8610 by addressing related errata reports and making other small fixes for the ABNF grammar defined for CDDL.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9682"/>
          <seriesInfo name="DOI" value="10.17487/RFC9682"/>
        </reference>
        <reference anchor="RFC9741">
          <front>
            <title>Concise Data Definition Language (CDDL): Additional Control Operators for the Conversion and Processing of Text</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="March" year="2025"/>
            <abstract>
              <t>The Concise Data Definition Language (CDDL), standardized in RFC 8610, provides "control operators" as its main language extension point. RFCs have added to this extension point in both an application-specific and a more general way.</t>
              <t>The present document defines a number of additional generally applicable control operators for text conversion (bytes, integers, printf-style formatting, and JSON) and for an operation on text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9741"/>
          <seriesInfo name="DOI" value="10.17487/RFC9741"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-cddl-modules">
          <front>
            <title>CDDL Module Structure</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Brendan Moran" initials="B." surname="Moran">
              <organization>Arm Limited</organization>
            </author>
            <date day="1" month="March" year="2026"/>
            <abstract>
              <t>   At the time of writing, the Concise Data Definition Language (CDDL)
   is defined by RFC 8610 and RFC 9682 as well as RFC 9165 and RFC 9741.
   The latter two have used the extension point provided in RFC 8610,
   the _control operator_.

   As CDDL is being used in larger projects, the need for features has
   become known that cannot be easily mapped into this single extension
   point.

   The present document defines a backward- and forward-compatible way
   to add a module structure to CDDL.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-cddl-modules-06"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-rfc-cddl-models">
          <front>
            <title>CDDL models for some existing RFCs</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="22" month="February" year="2026"/>
            <abstract>
              <t>   A number of CBOR- and JSON-based protocols have been defined before
   CDDL was standardized or widely used.

   This short draft records some CDDL definitions for such protocols,
   which could become part of a library of CDDL definitions available
   for use in CDDL2 processors.  It focuses on CDDL in (almost)
   published IETF RFCs.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-rfc-cddl-models-07"/>
        </reference>
        <reference anchor="EXTRACT-RB" target="https://github.com/cabo/common-cddl/blob/main/extract.rb">
          <front>
            <title>extract.rb — extract CDDL from an enum-style IANA registry</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.bormann-cbor-draft-numbers">
          <front>
            <title>Managing CBOR codepoints in Internet-Drafts</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="27" month="June" year="2026"/>
            <abstract>
              <t>   CBOR-based protocols often make use of numbers allocated in a
   registry.  During development of the protocols, those numbers may not
   yet be available.  This impedes the generation of data models and
   examples that actually can be used by tools.

   This short draft proposes a common way to handle these situations,
   without any changes to existing tools.  Also, in conjunction with the
   CDN prefix e (draft-ietf-cbor-edn-e-ref), a further reduction in
   editorial processing of CBOR examples around the time of approval can
   be achieved.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-draft-numbers-08"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-cddl-csv">
          <front>
            <title>Using CDDL for CSVs</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="1" month="September" year="2026"/>
            <abstract>
              <t>   The Concise Data Definition Language (CDDL), standardized in RFC
   8610, is defined to provide data models for data shaped like JSON or
   CBOR.

   Another representation format that is quote popular is the CSV
   (Comma-Separated Values) file as defined by RFC 4180.

   The present document shows a way how to use CDDL to provide a data
   model for CSV files.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-cddl-csv-09"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-packed">
          <front>
            <title>Packed CBOR</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Mikolai Gütschow" initials="M." surname="Gütschow">
              <organization>TUD Dresden University of Technology</organization>
            </author>
            <date day="2" month="February" year="2026"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, RFC 8949 == STD 94)
   is a data format whose design goals include the possibility of
   extremely small code size, fairly small message size, and
   extensibility without the need for version negotiation.

   CBOR does not provide any forms of data compression.  CBOR data
   items, in particular when generated from legacy data models, often
   allow considerable gains in compactness when applying data
   compression.  While traditional data compression techniques such as
   DEFLATE (RFC 1951) can work well for CBOR encoded data items, their
   disadvantage is that the recipient needs to decompress the compressed
   form before it can make use of the data.

   This specification describes Packed CBOR, a set of CBOR tags and
   simple values that enable a simple transformation of an original CBOR
   data item into a Packed CBOR data item that is almost as easy to
   consume as the original CBOR data item.  A separate decompression
   step is therefore often not required at the recipient.


   // (This cref will be removed by the RFC editor:) The present
   // revision -19 is a work-in-progress release in preparation for
   // another cbor-packed side meeting.  This revision resolves the use
   // of the tunables A/B/C by setting A=16, B=8, and C=8, and choosing
   // requested simple values and tag numbers, in preparation for
   // continuing the early allocation process.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-packed-19"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-cde">
          <front>
            <title>CBOR Common Deterministic Encoding (CDE)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="13" month="October" year="2025"/>
            <abstract>
              <t>   CBOR (STD 94, RFC 8949) defines the concept of "Deterministically
   Encoded CBOR" in its Section 4.2, determining one specific way to
   encode each particular CBOR value.  This definition is instantiated
   by "core requirements", providing some flexibility for application
   specific decisions; this makes it harder than necessary to offer
   Deterministic Encoding as a selectable feature of generic CBOR
   encoders.

   The present specification documents the Best Current Practice for
   CBOR _Common Deterministic Encoding_ (CDE), which can be shared by a
   large set of applications with potentially diverging detailed
   application requirements.

   The document also discusses the desire for partial implementations,
   which can be another reason for constraining CBOR encoders, and
   singles out the encoding constraint "definite-length-only" as a
   likely constraint to be used in application protocol and media type
   definitions.

   This specification updates RFC 8949 in that it provides
   clarifications and definitions of additional terms as well as more
   examples and explanatory text; it does not make technical changes to
   RFC 8949.


   // This revision -13 merges all active pull requests in preparation
   // for the 2025-cbor-17 interim on 2025-10-15.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-cde-13"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-edn-mapkey">
          <front>
            <title>CBOR: Generating Numeric Map Labels from Textual EDN</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <date day="1" month="March" year="2026"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, STD 94 == RFC 8949)
   is a data format whose design goals include the possibility of
   extremely small code size, fairly small message size, and
   extensibility without the need for version negotiation.

   CBOR diagnostic notation (EDN) is widely used to represent CBOR data
   items in a way that is accessible to humans, for instance for
   examples in a specification.  Complex examples often use nested maps,
   the map keys (labels) for each of which are often sourced from
   different specifications.  While the e'' application extension
   provides a way to import data items, particularly constant values,
   from a CDDL model, it does not help with automatically selecting the
   right kind of map depending on its position in the nested maps.


   // The present document is intended to capture ideas initially
   // discussed at the CBOR WG interim 2025-06-25 and demonstrate some
   // design alternatives.  It is not ready for adoption yet in any way.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-edn-mapkey-01"/>
        </reference>
        <reference anchor="enum-literals" target="https://mailarchive.ietf.org/arch/msg/cbor/D8h_0Egog89GaRLFNwb1VfKlHI4">
          <front>
            <title>[Cbor] Getting diagnostic notation examples in drafts under control</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="February" day="26"/>
          </front>
        </reference>
        <reference anchor="useful" target="https://github.com/cbor-wg/cddl/wiki/Useful-CDDL">
          <front>
            <title>Useful CDDL</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="PSVI" target="https://www.w3.org/XML/2002/05/psvi-use-cases">
          <front>
            <title>Use Cases for XML Schema PSVI API</title>
            <author>
              <organization/>
            </author>
            <date year="2002" month="June" day="24"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-cbor-serialization">
          <front>
            <title>CBOR Serialization and Determinism</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <date day="29" month="July" year="2026"/>
            <abstract>
              <t>   This document defines two CBOR serializations: "preferred-plus
   serialization" and "deterministic serialization."  It also introduces
   the term "general serialization" to name the complete set of all
   serializations defined in RFC 8949.  Together, these three form a set
   of serializations that cover the majority of CBOR serialization use
   cases.

   These serializations are largely compatible with those widely
   implemented by the CBOR community.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-serialization-08"/>
        </reference>
      </references>
    </references>
    <?line 292?>

<section anchor="fridge">
      <name>Fridge</name>
      <t>This appendix contains sections that may not make it to a 2.0
milestone, but might be part of a followup.</t>
      <section anchor="tagolit">
        <name>Tag-oriented Literals</name>
        <dl spacing="compact">
          <dt><em>Proposal Status</em>:</dt>
          <dd>
            <t>rough idea, porting from EDN</t>
          </dd>
          <dt><em>Compatibility</em>:</dt>
          <dd>
            <t>backward (not forward)</t>
          </dd>
        </dl>
        <t>Some CBOR tags often would be most natural to use in a CDDL spec with a literal
syntax that is tailored to their semantics instead of the
serialization of their tag content in CBOR.
There is currently no way to add such syntaxes, no
defined extension point either.</t>
        <t>The specification
"CBOR Extended Diagnostic Notation (EDN): Application-Oriented Literals, ABNF, and Media Type"
<xref target="I-D.ietf-cbor-edn-literals"/> defines application-oriented
literals, e.g., of the form</t>
        <ul empty="true">
          <li>
            <t>dt'2019-07-21T19:53Z'</t>
          </li>
        </ul>
        <t>for datetime items.  With additional considerations for unambiguous
syntax, a similar literal form could be included in CDDL.</t>
        <t>This proposal opens a namespace for the prefix that indicates an
application specific literal.
A registry could be provided to turn this namespace into a genuine
extension point.
(This is currently the production <tt>bsqual</tt> in <xref section="B" sectionFormat="of" target="RFC8610"/>.)</t>
        <t>The syntax provided in <xref target="I-D.ietf-cbor-edn-literals"/> does not
enable the use of named CDDL rules — using it directly in CDDL would
have the same flaw that is being
fixed for tag numbers in <xref section="3.2" sectionFormat="of" target="RFC9682"/>.</t>
      </section>
      <section anchor="cross">
        <name>Cross-universe references</name>
        <t>Often, a CDDL specification needs to import from specifications in a
different language or platform.</t>
        <section anchor="iana-references">
          <name>IANA references</name>
          <t>In many cases, CDDL specifications make use of values that are
specified in IANA registries.  The proposed <tt>.iana</tt> control operator can be
used to reference such a set of values.</t>
          <t>The reference needs to be able to point to a draft, the registry of
which has not been established yet, as well as to an established IANA registry.</t>
          <t>An example of such a usage might be:</t>
          <sourcecode type="CDDL"><![CDATA[
cose-algorithm = int .iana ["cose", "algorithms", "value"]
]]></sourcecode>
          <t>Unfortunately, the vocabulary employed in IANA registries has not been
designed for machine references.  In this case, the potential values
would come from applying the XPath expression</t>
          <sourcecode type="xpath"><![CDATA[
//iana:registry[@id='algorithms']/iana:record/iana:value
]]></sourcecode>
          <t>to <tt>https://www.iana.org/assignments/cose/cose.xml</tt>, plus some
filtering on the records returned that only leaves actual allocations.
<xref section="3.1" sectionFormat="of" target="I-D.bormann-cbor-rfc-cddl-models"/> contains an example of a CDDL module that is
automatically generated from those assignments.
(The code for this extraction is available in the document source
repository of <xref target="I-D.bormann-cbor-rfc-cddl-models"/> as <xref target="EXTRACT-RB"/>.)</t>
          <t>Additional functionality may be needed for filtering with respect to other
columns of the registry record, e.g., <tt>&lt;capabilities&gt;</tt> in the case of
this example.</t>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA6Va3XLbuJK+x1NglYvYPqJsKz+TKGcy48TOHO/mrxLPT51U
ag2RkIQTitQhSMsal7f2IfYB5mKfZPZN9kn2626ApGxn5mJTNWOJAoFG99fd
XzeQJIm6mOgHStWuzu1EP1davzw+fv37b+PRgTZFpqd2U+LP//7nf2mjs8rM
ar3KTaHMdFpZvNuOVlmZFmaJSXhUMi2rpSmKJMWHJM2yPBkn8ktuautrdU+P
D8YPk4Mnyfgbpb7Yzbqssok+LWpbFbZOjmmwSk090a6YlcrXlTVLDDg5e6XW
cyz94t0H/XNZfXHFXM+rslkpdWGLxk6wi6Vx+UQPaPXvna1no7KaD/B87upF
M51oFms93xfJlFq5if5Ul+lQ+7LCSjOPT5ulfEjL5cqkNX9Y2qL2n5UyTb0o
K1oqwX9ay95fmsrXttAvZPf8C1ae6B8Ld2Er7+r/+e9av6gsptFnfz/lAbQz
i22+L309M+lCP3hw8PDhAf+WunozCS/IgzLDOsfJ+MmDR0/Dk6aoK4z6wdKi
G364WpQFxv3l4dPk4fgwGR8+SR4/eDo+5B+taCc10/L7+ldHulFKFSRzDTFp
Ux9evXzy+PAAg6Ag+f708PEjfC+xWJkfKkVW6b1xmhyPbht9hq39aquJDh/C
QDKJjLJZkeQONje5n+j+tzuH2gQmwTj6E8R6/GQ8gf3Ncmmq8Oibh4etpONb
87BgyzJrcoslw4e7dlDN0nawzWWsZcFOfjn7cPTyLPnwYsIarU01JxMu6nrl
J/v7ArMR8LJPWt4n4JQFT7Y/zcvpPixQ7NvLugKuRtVUJhEn7J6y24Wv7GnQ
YrmEX2rAfJn4epNbfXr09khXdu4Ao81duxCvwwtTAHCiw4evWiz1F2J1+nRL
d/CDLxZuKn/vUK2ll+1ds5P5lmYFT4ci+S9G8UZa+9+pSwKrqdIFcDaKrrxP
D/aXHg6MqfePnyz+/eBkXs6fPP3BfHj96u16evjT7N/yv50+7Gv2OX/R+tNL
vPQZ/lLXFDsyZ+YFfM+luihrALqEgi/NcgVYIPZIQPO6KTJbRVTxTBki2SSE
sXEyfoyHjbezJv9zUPTCz/7afXH7P/KLCVm5L7I81uHx+48/nd4993q9Hq0f
sGp+efN6f3xwMN4/eLS/8hcugUxJajxjvBMaEh88TsYPb6yGEIaRGq6tMZH+
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
P0qNYqXwMAAA

-->

</rfc>
