<?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.24 (Ruby 3.4.1) -->
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-cbor-draft-numbers-05" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="CBOR codepoints in Internet-Drafts">Managing CBOR codepoints in Internet-Drafts</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-draft-numbers-05"/>
    <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="2025" month="March" day="01"/>
    <keyword>CBOR codepoints</keyword>
    <abstract>
      <?line 38?>

<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.</t>
      <t>This short draft proposes a common way to handle these situations,
without any changes to existing tools.
Also, in conjunction with the application-oriented EDN literal <tt>e''</tt>, a
further reduction in editorial processing of CBOR examples around the
time of approval can be achieved.</t>
    </abstract>
  </front>
  <middle>
    <?line 53?>

<section anchor="intro">
      <name>Introduction</name>
      <t>(Please see abstract.)
<xref target="STD94"/> <xref target="I-D.ietf-cbor-edn-e-ref"/></t>
      <t>This document uses "EDN" (extended diagnostic notation) as a shorthand
for "CBOR diagnostic notation" as defined in Section <xref target="RFC8949" section="8" sectionFormat="bare"/> of RFC 8949 <xref target="STD94"/>, extended in <xref section="G" sectionFormat="of" target="RFC8610"/>, and updated in <xref target="I-D.ietf-cbor-edn-literals"/>.</t>
    </section>
    <section anchor="the-problem">
      <name>The Problem</name>
      <t>A CBOR-based protocol might want to define a structure using the
Concise Data Definition Language (CDDL) <xref target="RFC8610"/><xref target="RFC9682"/><xref target="RFC9165"/><xref target="I-D.ietf-cbor-cddl-more-control"/>, like that
in <xref target="fig-struct1"/> (based on <xref target="RFC9290"/>):</t>
      <figure anchor="fig-struct1">
        <name>CDDL data model, final form</name>
        <sourcecode type="cddl"><![CDATA[
problem-details = {
  ? &(title: -1) => oltext
  ? &(detail: -2) => oltext
  ? &(instance: -3) => ~uri
  ? &(response-code: -4) => uint .size 1
  ? &(base-uri: -5) => ~uri
  ? &(base-lang: -6) => tag38-ltag
  ? &(base-rtl: -7) => tag38-direction
  / ... /
  * (uint .feature "extension") => any
}
]]></sourcecode>
      </figure>
      <t>The key numbers shown in this structure are likely to be intended for
allocation in an IANA section.</t>
      <t>The key numbers will be used in an example in the specification such
as shown in <xref target="fig-struct2"/>.</t>
      <figure anchor="fig-struct2">
        <name>EDN example, final form</name>
        <sourcecode type="cbor-diag"><![CDATA[
{
  / title /         -1: "title of the error",
  / detail /        -2: "detailed information about the error",
  / instance /      -3: "coaps://pd.example/FA317434",
  / response-code / -4: 128, / 4.00 /
  4711: {
     / ... /
  }
}
]]></sourcecode>
      </figure>
      <t>However, during development, these numbers are not yet fixed; they are
likely to move around as parts of the specification are added or deleted.</t>
    </section>
    <section anchor="the-anti-pattern">
      <name>The Anti-Pattern</name>
      <t>What not to do during development:</t>
      <figure anchor="fig-bad1">
        <name>CDDL data model, muddled form</name>
        <sourcecode type="cddl"><![CDATA[
problem-details = {
  ? "title" => oltext
  ? "detail" => oltext
  ? "instance" => ~uri
  ? "response-code" => uint .size 1
  ? "base-uri" => ~uri
  ? "base-lang" => tag38-ltag
  ? "base-rtl" => tag38-direction
  / ... /
  * (uint .feature "extension") => any
}
]]></sourcecode>
      </figure>
      <figure anchor="fig-bad2">
        <name>EDN example, muddled form</name>
        <sourcecode type="cbor-diag"><![CDATA[
{
  "title": "title of the error",
  "detail": "detailed information about the error",
  "instance-code": "coaps://pd.example/FA317434",
  "response-code": 128, / 4.00 /
  4711: {
     / ... /
  }
}
]]></sourcecode>
      </figure>
      <t>This makes the model and the examples compile/check out even before
having allocated the actually desired
numbers, but it also leads to several problems:</t>
      <ul spacing="normal">
        <li>
          <t>It becomes hard to assess what the storage/transmission cost of
these structures will be.</t>
        </li>
        <li>
          <t>What is being checked in the CI (continuous integration) for the
document is rather different from the final form.</t>
        </li>
        <li>
          <t>Draft implementations trying to make use of these provisional structures
have to cater for text strings, which may not actually be needed in
the final form (which might expose specification bugs once numbers
are used, too late in the process).</t>
        </li>
        <li>
          <t>The work needed to put in the actual numbers, once allocated, is
significant and error-prone.</t>
        </li>
        <li>
          <t>It is not certain the CI system used during development can interact
with the RFC editor's way of editing the document for publication.</t>
        </li>
      </ul>
    </section>
    <section anchor="what-to-do-during-spec-development">
      <name>What to do during spec development</name>
      <t>To make the transition to a published document easier, the document is
instead written with the convention demonstrated in the following example:</t>
      <t><cref anchor="carlscomments">This document uses the keys for a map as an example.
Other such constructs involving assigned numbers might also require
temporary values for exposition in a specification, e.g., CBOR
tags.  For the sake of keeping this document short, examples for
these are not given.</cref></t>
      <t><cref anchor="carlscomments4">Including examples of other things that generate
the need for temporary numbers, like tags, would be good.</cref></t>
      <figure anchor="fig-dev1">
        <name>CDDL data model, development form</name>
        <sourcecode type="cddl"><![CDATA[
problem-details = {
  ? &(title-CPA: -1) => oltext
  ? &(detail-CPA: -2) => oltext
  ? &(instance-CPA: -3) => ~uri
  ? &(response-code-CPA: -4) => uint .size 1
  ? &(base-uri-CPA: -5) => ~uri
  ? &(base-lang-CPA: -6) => tag38-ltag
  ? &(base-rtl-CPA: -7) => tag38-direction
  / ... /
  * (uint .feature "extension") => any
}
]]></sourcecode>
      </figure>
      <t>CPA is short for "code point allocation", and is a reliable search key
for finding the places that need to be updated after allocation.<cref anchor="tbd">An earlier concept for this draft used TBD in place of CPA, as
do many draft specifications being worked on today.
TBD is better recognized than CPA, but also could be misunderstood
to mean further work by the spec developer is required.
A document submitted for publication should not really have "TBD"
in it.</cref></t>
      <t>In the IANA section, the table to go into the registry is prepared as
follows:</t>
      <table anchor="tab-iana">
        <name>IANA table, development form</name>
        <thead>
          <tr>
            <th align="left">Key value</th>
            <th align="left">Name</th>
            <th align="left">CDDL Type</th>
            <th align="left">Brief description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">CPA-1</td>
            <td align="left">title</td>
            <td align="left">
              <tt>text / tag38</tt></td>
            <td align="left">short, human-readable summary of the problem shape</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">CPA-2</td>
            <td align="left">detail</td>
            <td align="left">
              <tt>text / tag38</tt></td>
            <td align="left">human-readable explanation specific to this occurrence of the problem</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">CPA-3</td>
            <td align="left">instance</td>
            <td align="left">
              <tt>~uri</tt></td>
            <td align="left">URI reference identifying specific occurrence of the problem</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">CPA-4</td>
            <td align="left">response-code</td>
            <td align="left">
              <tt>uint .size 1</tt></td>
            <td align="left">CoAP response code</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">CPA-5</td>
            <td align="left">base-uri</td>
            <td align="left">
              <tt>~uri</tt></td>
            <td align="left">Base URI</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">CPA-6</td>
            <td align="left">base-lang</td>
            <td align="left">
              <tt>tag38-ltag</tt></td>
            <td align="left">Base language tag (see tag38)</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">CPA-7</td>
            <td align="left">base-rtl</td>
            <td align="left">
              <tt>tag38-direction</tt></td>
            <td align="left">Base writing direction (see tag38)</td>
            <td align="left">RFC XXXX</td>
          </tr>
        </tbody>
      </table>
      <t>The provisionally made up key numbers will then be used in an example
in the specification such as:</t>
      <figure anchor="fig-dev2">
        <name>EDN example, development form</name>
        <sourcecode type="cbor-diag"><![CDATA[
{
  / title-CPA /         -1: "title of the error",
  / detail-CPA /        -2: "detailed information about the error",
  / instance-CPA /      -3: "coaps://pd.example/FA317434",
  / response-code-CPA / -4: 128, / 4.00 /
  4711: {
     / ... /
  }
}
]]></sourcecode>
      </figure>
      <t>A "removeInRFC" note in the draft points the RFC editor to the present
document so the RFC editor knows what needs to be done at which point.
In the publication process, it is easy to remove the <tt>-CPA</tt> suffixes
and <tt>CPA</tt> prefixes for the RFC editor while filling in the actual IANA
allocated numbers and removing the note.</t>
      <t>Note that in <xref target="tab-iana"/>, the first column uses the name "CPA-1" for a
value that in the rest of the document is assumed to be "-1" (and
indicating a preference by the document author for this number); IANA
as well as the designated experts involved are expected by the present
document to decode this notation.</t>
      <dl>
        <dt>A "removeInRFC" note to the RFC Editor for <xref target="tab-iana"/> could have this approximate contents:</dt>
        <dd>
          <t>This document uses the CPA (code point allocation) convention
described in <xref target="I-D.bormann-cbor-draft-numbers"/>.
For each entry, please remove the prefix "CPA" from the indicated
value of the column <tt>&lt;REG_COLUMN&gt;</tt>, and replace the residue with the
value assigned by IANA; perform the same substitution for all other
occurrences of the prefix "CPA" in the document.
Finally, please remove this note.</t>
        </dd>
        <dt>A "removeInRFC" note to the RFC Editor for <xref target="fig-dev2"/> could have this approximate contents:</dt>
        <dd>
          <t>This document uses the CPA (code point allocation) convention
described in <xref target="I-D.bormann-cbor-draft-numbers"/>.
For each item whose key textual identifier has suffix "-CPA", please remove the suffix.
Then, consider the residue of the suffix removal, and replace the
key numeric identifier with the value assigned by IANA in the
<tt>&lt;REG_COLUMN_1&gt;</tt> of the registry <tt>&lt;REG_NAME&gt;</tt>, for the entry where
the value in the <tt>&lt;REG_COLUMN_2&gt;</tt> is equal to the residue.
Finally, please remove this note.</t>
        </dd>
      </dl>
      <t>The RFC editor with IANA would then execute these instructions as
shown in <xref target="tab-iana2-final"/> and <xref target="fig-dev2-final"/> (assuming the unlikely
case that all numbers allocated are ten times the number proposed):</t>
      <table anchor="tab-iana2-final">
        <name>IANA table, final form</name>
        <thead>
          <tr>
            <th align="left">Key value</th>
            <th align="left">Name</th>
            <th align="left">CDDL Type</th>
            <th align="left">Brief description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">-10</td>
            <td align="left">title</td>
            <td align="left">
              <tt>text / tag38</tt></td>
            <td align="left">short, human-readable summary of the problem shape</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">-20</td>
            <td align="left">detail</td>
            <td align="left">
              <tt>text / tag38</tt></td>
            <td align="left">human-readable explanation specific to this occurrence of the problem</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">-30</td>
            <td align="left">instance</td>
            <td align="left">
              <tt>~uri</tt></td>
            <td align="left">URI reference identifying specific occurrence of the problem</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">-40</td>
            <td align="left">response-code</td>
            <td align="left">
              <tt>uint .size 1</tt></td>
            <td align="left">CoAP response code</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">-50</td>
            <td align="left">base-uri</td>
            <td align="left">
              <tt>~uri</tt></td>
            <td align="left">Base URI</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">-60</td>
            <td align="left">base-lang</td>
            <td align="left">
              <tt>tag38-ltag</tt></td>
            <td align="left">Base language tag (see tag38)</td>
            <td align="left">RFC XXXX</td>
          </tr>
          <tr>
            <td align="left">-70</td>
            <td align="left">base-rtl</td>
            <td align="left">
              <tt>tag38-direction</tt></td>
            <td align="left">Base writing direction (see tag38)</td>
            <td align="left">RFC XXXX</td>
          </tr>
        </tbody>
      </table>
      <figure anchor="fig-dev2-final">
        <name>EDN example, final form</name>
        <sourcecode type="cbor-diag"><![CDATA[
{
  / title /         -10: "title of the error",
  / detail /        -20: "detailed information about the error",
  / instance /      -30: "coaps://pd.example/FA317434",
  / response-code / -40: 128, / 4.00 /
  4711: {
     / ... /
  }
}
]]></sourcecode>
      </figure>
      <section anchor="depend">
        <name>Documents with Significant Generated Content Depending on Assignments</name>
        <t>Many documents have examples (which might even involve signatures over
the contents) that depend on the assignments in more than the trivial
way shown above, and regenerating them may not be easy for the RFC
editor to do.</t>
        <t>Therefore, for these documents we need another step involving the authors:</t>
        <t>Immediately after allocation, but before the RFC-Editor EDIT step, the
authors need to regenerate these examples and other generated content
depending on the exact allocations.</t>
        <t>In the current process, allocation is usually done after IESG
approval, after IANA action, so we would need to halt the EDIT step
for this regeneration.</t>
        <t>Alternatively, we could be more aggressive in invoking
some kind of IANA Early Allocation process, near the end of the IESG review.
One way to do this with current tooling and process is to perform a
late form of actual IANA "Early" Allocation.
Or we could amend <xref target="BCP9"/> and/or <xref target="BCP100"/> in a more fundamental way.</t>
        <t><cref anchor="indicator">We probably need an indicator in addition to CPA that
signifies an example or other text must be regenerated (vs. simply
be updated by IANA) when proposed numbers are updated by IANA.</cref></t>
      </section>
      <section anchor="reducing-the-editorial-workload-with-cddl-definitions">
        <name>Reducing the editorial workload with CDDL definitions</name>
        <t><xref target="I-D.ietf-cbor-edn-e-ref"/> defines a EDN application extension that
allows EDN to reference constants defined in a
CDDL model, the <tt>e''</tt> application extension.</t>
        <t>If the draft contains a CDDL model that includes definitions of
constants that may then be used in EDN, the use
of <tt>e''</tt> constant references makes it unnecessary to change the
constant value in the example when final values are defined for these
constants.
(This application extension also can make the EDN
more readable and less distracting, replacing constructs such as</t>
        <sourcecode type="cbor-diag"><![CDATA[
/ title-CPA / -1
]]></sourcecode>
        <t>by</t>
        <sourcecode type="cbor-diag"><![CDATA[
e'title'
]]></sourcecode>
        <t>which removes the need to mention "CPA" and to provide a potentially
distracting copy of the value assignment in the example.)</t>
        <t>The document using the <tt>e''</tt> application extension may want to provide
a CDDL file with provisional assignments, as in:</t>
        <sourcecode type="cddl"><![CDATA[
; CPA: not yet assigned by IANA, subject to change during allocation
title = -1
]]></sourcecode>
        <t>This file should be clearly labeled as CPA, i.e., not yet assigned and
subject to change during allocation.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no requests of IANA.
However, it specifies a procedure that can be followed during draft
development that has a specific role for IANA and the interaction
between RFC editor and IANA at important points during this
development.
This procedure is intended to be as little of an onus as possible, but
that is the author's assessment only.
IANA feedback is therefore requested.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security considerations</name>
      <t>The security considerations of <xref target="RFC8610"/> and <xref target="STD94"/> apply.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <referencegroup anchor="STD94" target="https://www.rfc-editor.org/info/std94">
          <reference anchor="RFC8949" target="https://www.rfc-editor.org/info/rfc8949">
            <front>
              <title>Concise Binary Object Representation (CBOR)</title>
              <author fullname="C. Bormann" initials="C." surname="Bormann"/>
              <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
              <date month="December" year="2020"/>
              <abstract>
                <t>The Concise Binary Object Representation (CBOR) 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. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
                <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="94"/>
            <seriesInfo name="RFC" value="8949"/>
            <seriesInfo name="DOI" value="10.17487/RFC8949"/>
          </reference>
        </referencegroup>
        <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>
        <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="I-D.ietf-cbor-cddl-more-control">
          <front>
            <title>Concise Data Definition Language (CDDL): Additional Control Operators for the Conversion and Processing of Text</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="9" month="January" 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 both in an
   application-specific and a more general way.

   The present document defines a number of additional generally
   applicable control operators for text conversion (Bytes, Integers,
   JSON, Printf-style formatting) and for an operation on text.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-cddl-more-control-08"/>
        </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="29" month="August" year="2024"/>
            <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
   application-oriented EDN literal e'', 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-04"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-edn-literals">
          <front>
            <title>CBOR Extended Diagnostic Notation (EDN)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="8" month="January" year="2025"/>
            <abstract>
              <t>   This document formalizes and consolidates the definition of the
   Extended Diagnostic Notation (EDN) of the Concise Binary Object
   Representation (CBOR), addressing implementer experience.

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

   It also specifies and uses registry-based extension points, using one
   to support text representations of epoch-based dates/times and of IP
   addresses and prefixes.


   // (This cref will be removed by the RFC editor:) The present
   // revision (–16) addresses the first half of the WGLC comments,
   // except for the issues around the specific way how to best achieve
   // pluggable ABNF grammars for application-extensions.  It is
   // intended for use as a reference document for the mid-WGLC CBOR WG
   // interim meeting on 2025-01-08.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-literals-16"/>
        </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="29" month="December" year="2024"/>
            <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-01"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9290">
          <front>
            <title>Concise Problem Details for Constrained Application Protocol (CoAP) APIs</title>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="October" year="2022"/>
            <abstract>
              <t>This document defines a concise "problem detail" as a way to carry machine-readable details of errors in a Representational State Transfer (REST) response to avoid the need to define new error response formats for REST APIs for constrained environments. The format is inspired by, but intended to be more concise than, the problem details for HTTP APIs defined in RFC 7807.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9290"/>
          <seriesInfo name="DOI" value="10.17487/RFC9290"/>
        </reference>
        <referencegroup anchor="BCP9" target="https://www.rfc-editor.org/info/bcp9">
          <reference anchor="RFC2026" target="https://www.rfc-editor.org/info/rfc2026">
            <front>
              <title>The Internet Standards Process -- Revision 3</title>
              <author fullname="S. Bradner" initials="S." surname="Bradner"/>
              <date month="October" year="1996"/>
              <abstract>
                <t>This memo documents the process used by the Internet community for the standardization of protocols and procedures. It defines the stages in the standardization process, the requirements for moving a document between stages and the types of documents used during this process. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="9"/>
            <seriesInfo name="RFC" value="2026"/>
            <seriesInfo name="DOI" value="10.17487/RFC2026"/>
          </reference>
          <reference anchor="RFC5657" target="https://www.rfc-editor.org/info/rfc5657">
            <front>
              <title>Guidance on Interoperation and Implementation Reports for Advancement to Draft Standard</title>
              <author fullname="L. Dusseault" initials="L." surname="Dusseault"/>
              <author fullname="R. Sparks" initials="R." surname="Sparks"/>
              <date month="September" year="2009"/>
              <abstract>
                <t>Advancing a protocol to Draft Standard requires documentation of the interoperation and implementation of the protocol. Historic reports have varied widely in form and level of content and there is little guidance available to new report preparers. This document updates the existing processes and provides more detail on what is appropriate in an interoperability and implementation report. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="9"/>
            <seriesInfo name="RFC" value="5657"/>
            <seriesInfo name="DOI" value="10.17487/RFC5657"/>
          </reference>
          <reference anchor="RFC6410" target="https://www.rfc-editor.org/info/rfc6410">
            <front>
              <title>Reducing the Standards Track to Two Maturity Levels</title>
              <author fullname="R. Housley" initials="R." surname="Housley"/>
              <author fullname="D. Crocker" initials="D." surname="Crocker"/>
              <author fullname="E. Burger" initials="E." surname="Burger"/>
              <date month="October" year="2011"/>
              <abstract>
                <t>This document updates the Internet Engineering Task Force (IETF) Standards Process defined in RFC 2026. Primarily, it reduces the Standards Process from three Standards Track maturity levels to two. This memo documents an Internet Best Current Practice.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="9"/>
            <seriesInfo name="RFC" value="6410"/>
            <seriesInfo name="DOI" value="10.17487/RFC6410"/>
          </reference>
          <reference anchor="RFC7100" target="https://www.rfc-editor.org/info/rfc7100">
            <front>
              <title>Retirement of the "Internet Official Protocol Standards" Summary Document</title>
              <author fullname="P. Resnick" initials="P." surname="Resnick"/>
              <date month="December" year="2013"/>
              <abstract>
                <t>This document updates RFC 2026 to no longer use STD 1 as a summary of "Internet Official Protocol Standards". It obsoletes RFC 5000 and requests the IESG to move RFC 5000 (and therefore STD 1) to Historic status.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="9"/>
            <seriesInfo name="RFC" value="7100"/>
            <seriesInfo name="DOI" value="10.17487/RFC7100"/>
          </reference>
          <reference anchor="RFC7127" target="https://www.rfc-editor.org/info/rfc7127">
            <front>
              <title>Characterization of Proposed Standards</title>
              <author fullname="O. Kolkman" initials="O." surname="Kolkman"/>
              <author fullname="S. Bradner" initials="S." surname="Bradner"/>
              <author fullname="S. Turner" initials="S." surname="Turner"/>
              <date month="January" year="2014"/>
              <abstract>
                <t>RFC 2026 describes the review performed by the Internet Engineering Steering Group (IESG) on IETF Proposed Standard RFCs and characterizes the maturity level of those documents. This document updates RFC 2026 by providing a current and more accurate characterization of Proposed Standards.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="9"/>
            <seriesInfo name="RFC" value="7127"/>
            <seriesInfo name="DOI" value="10.17487/RFC7127"/>
          </reference>
          <reference anchor="RFC7475" target="https://www.rfc-editor.org/info/rfc7475">
            <front>
              <title>Increasing the Number of Area Directors in an IETF Area</title>
              <author fullname="S. Dawkins" initials="S." surname="Dawkins"/>
              <date month="March" year="2015"/>
              <abstract>
                <t>This document removes a limit on the number of Area Directors who manage an Area in the definition of "IETF Area". This document updates RFC 2026 (BCP 9) and RFC 2418 (BCP 25).</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="9"/>
            <seriesInfo name="RFC" value="7475"/>
            <seriesInfo name="DOI" value="10.17487/RFC7475"/>
          </reference>
          <reference anchor="RFC8789" target="https://www.rfc-editor.org/info/rfc8789">
            <front>
              <title>IETF Stream Documents Require IETF Rough Consensus</title>
              <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern"/>
              <author fullname="E. Rescorla" initials="E." role="editor" surname="Rescorla"/>
              <date month="June" year="2020"/>
              <abstract>
                <t>This document requires that the IETF never publish any IETF Stream RFCs without IETF rough consensus. This updates RFC 2026.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="9"/>
            <seriesInfo name="RFC" value="8789"/>
            <seriesInfo name="DOI" value="10.17487/RFC8789"/>
          </reference>
          <reference anchor="RFC9282" target="https://www.rfc-editor.org/info/rfc9282">
            <front>
              <title>Responsibility Change for the RFC Series</title>
              <author fullname="B. Rosen" initials="B." surname="Rosen"/>
              <date month="June" year="2022"/>
              <abstract>
                <t>In RFC 9280, responsibility for the RFC Series moved to the RFC Series Working Group and the RFC Series Approval Board. It is no longer the responsibility of the RFC Editor, and the role of the IAB in the RFC Series is altered. Accordingly, in Section 2.1 of RFC 2026, the sentence "RFC publication is the direct responsibility of the RFC Editor, under the general direction of the IAB" is deleted.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="9"/>
            <seriesInfo name="RFC" value="9282"/>
            <seriesInfo name="DOI" value="10.17487/RFC9282"/>
          </reference>
        </referencegroup>
        <referencegroup anchor="BCP100" target="https://www.rfc-editor.org/info/bcp100">
          <reference anchor="RFC7120" target="https://www.rfc-editor.org/info/rfc7120">
            <front>
              <title>Early IANA Allocation of Standards Track Code Points</title>
              <author fullname="M. Cotton" initials="M." surname="Cotton"/>
              <date month="January" year="2014"/>
              <abstract>
                <t>This memo describes the process for early allocation of code points by IANA from registries for which "Specification Required", "RFC Required", "IETF Review", or "Standards Action" policies apply. This process can be used to alleviate the problem where code point allocation is needed to facilitate desired or required implementation and deployment experience prior to publication of an RFC, which would normally trigger code point allocation. The procedures in this document are intended to apply only to IETF Stream documents.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="100"/>
            <seriesInfo name="RFC" value="7120"/>
            <seriesInfo name="DOI" value="10.17487/RFC7120"/>
          </reference>
        </referencegroup>
      </references>
    </references>
    <?line 375?>

<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This document was motivated by the AUTH48 experience for RFC 9200..RFC 9203.
Then, Jaime Jiménez made me finally write this document.
Marco Tiloca provided useful comments on an early presentation of this idea.
Michael Richardson pointed out the issues that led to <xref target="depend"/>.
Carl Wallace provided further comments shining light on the practical
aspects of the proposals.</t>
      <!-- 2) I wonder if a map is the best example. Most maps I've seen with numeric keys don't generally seek IANA assigned values. Groups seem like a better example or maybe a map that features a group that contributes keyed fields (see CoSWID) and maybe some guidance on where IANA assigned values would be useful (we don’t really want/need IANA assigned values for every field of every structure).
 -->

</section>
  </back>
  <!-- ##markdown-source:
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
pWDFI4H8tRnO3B4oHUVP1L8Ar5Fj4fM4AAA=

-->

</rfc>
