<?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-rfc2629 version 1.6.1 (Ruby 3.1.0) -->
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-cbor-notable-tags-06" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.1 -->
  <front>
    <title abbrev="Notable CBOR Tags">Notable CBOR Tags</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-notable-tags-06"/>
    <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="2022" month="February" day="23"/>
    <keyword>Internet-Draft</keyword>
    <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.</t>
      <t>In CBOR, one point of extensibility is the definition of CBOR tags.
RFC 8949's original edition, RFC 7049, defined a basic set of tags as well
as a registry that can be used to contribute additional tag
definitions <xref target="IANA.cbor-tags"/>.  Since RFC 7049 was published, some 80 tag
definitions have been added to that registry.</t>
      <t>The present document provides a roadmap to a large subset of these tag
definitions.  Where applicable, it points to a IETF standards or
standard development document
that specifies the tag.  Where no such document exists, the intention
is to collect specification information from the sources of the
registrations.  After some more development, the present document is
intended to be useful as a reference document for the IANA
registrations of the CBOR tags the definitions of which have been
collected.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <t>This is an individual submission to the CBOR working group of the
IETF, <eref target="https://datatracker.ietf.org/wg/cbor/about/">https://datatracker.ietf.org/wg/cbor/about/</eref>.
Discussion currently takes places on the github repository
<eref target="https://github.com/cabo/notable-tags">https://github.com/cabo/notable-tags</eref>.
If the CBOR WG believes this is a useful document, discussion is
likely to move to the CBOR WG mailing list and a github repository at
the CBOR WG github organization, <eref target="https://github.com/cbor-wg">https://github.com/cbor-wg</eref>.</t>
      <t>The current version is true work in progress; some of the sections
haven't been filled in yet, and in particular, permission has not been
obtained from tag definition authors to copy over their text.</t>
    </note>
  </front>
  <middle>
    <section anchor="intro">
      <name>Introduction</name>
      <t>(TO DO, expand on text from abstract here; move references here and
neuter them in the abstract as per <xref section="4.3" sectionFormat="of" target="RFC7322"/>.)</t>
      <t>The selection of the tags presented here is somewhat arbitrary;
considerations such as how wide the scope and area of application of a
tag definition is combine with an assessment how "ready to use" the
tag definition is (i.e., is the tag specification in a state where it
can be used).</t>
      <t>This document can only be a snapshot of a subset of the current registrations.
The most up to date set of registrations is always available in the
registry "<xref section="CBOR Tags" relative="#cbor-tags" sectionFormat="bare" target="IANA.cbor-tags"/>" <xref target="IANA.cbor-tags"/>.</t>
      <section anchor="terms">
        <name>Terminology</name>
        <t>The definitions of <xref target="STD94"/> apply.
Specifically: The term "byte" is used in its now customary sense as a synonym for
"octet"; "byte strings" are CBOR data items carrying a sequence of
zero or more (binary) bytes, while "text strings" are CBOR data items carrying a
sequence of zero or more Unicode code points, encoded in UTF-8 <xref target="STD63"/>.
Where bit arithmetic is explained, this document uses the notation
familiar from the programming language C (<xref target="C"/>, including C++14's <tt>0bnnn</tt>
binary literals <xref target="Cplusplus20"/>), except that superscript notation
(example for two to the power of 64: 2<sup>64</sup>) denotes exponentiation; in
the plain text version of this document, superscript notation is
rendered in paragraph text by C-incompatible surrogate notation as
seen in this example.
Ranges expressed using <tt>..</tt> are inclusive of the limits given.
<!-- , and in display math by a crude plain text representation. -->
Type names such as "int", "bigint" or "decfrac" are taken from
<xref section="D" sectionFormat="of" target="RFC8610"/>, the Concise Data Definition Language (CDDL).</t>
      </section>
    </section>
    <section anchor="rfc-7049-original-cbor-specification">
      <name>RFC 7049 (original CBOR specification)</name>
      <t><xref target="RFC7049"/> defines a number of tags that are listed here for
convenience only.</t>
      <table anchor="origtags">
        <name>Tag numbers defined in RFC 7049</name>
        <thead>
          <tr>
            <th align="left">Tag number</th>
            <th align="left">Tag content</th>
            <th align="left">Short Description</th>
            <th align="left">Section of RFC 7049</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0</td>
            <td align="left">UTF-8 string</td>
            <td align="left">Standard date/time string</td>
            <td align="left">2.4.1</td>
          </tr>
          <tr>
            <td align="left">1</td>
            <td align="left">multiple</td>
            <td align="left">Epoch-based date/time</td>
            <td align="left">2.4.1</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">byte string</td>
            <td align="left">Positive bignum</td>
            <td align="left">2.4.2</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">byte string</td>
            <td align="left">Negative bignum</td>
            <td align="left">2.4.2</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">array</td>
            <td align="left">Decimal fraction</td>
            <td align="left">2.4.3</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">array</td>
            <td align="left">Bigfloat</td>
            <td align="left">2.4.3</td>
          </tr>
          <tr>
            <td align="left">21</td>
            <td align="left">multiple</td>
            <td align="left">Expected conversion to base64url encoding</td>
            <td align="left">2.4.4.2</td>
          </tr>
          <tr>
            <td align="left">22</td>
            <td align="left">multiple</td>
            <td align="left">Expected conversion to base64 encoding</td>
            <td align="left">2.4.4.2</td>
          </tr>
          <tr>
            <td align="left">23</td>
            <td align="left">multiple</td>
            <td align="left">Expected conversion to base16 encoding</td>
            <td align="left">2.4.4.2</td>
          </tr>
          <tr>
            <td align="left">24</td>
            <td align="left">byte string</td>
            <td align="left">Encoded CBOR data item</td>
            <td align="left">2.4.4.1</td>
          </tr>
          <tr>
            <td align="left">32</td>
            <td align="left">UTF-8 string</td>
            <td align="left">URI</td>
            <td align="left">2.4.4.3</td>
          </tr>
          <tr>
            <td align="left">33</td>
            <td align="left">UTF-8 string</td>
            <td align="left">base64url</td>
            <td align="left">2.4.4.3</td>
          </tr>
          <tr>
            <td align="left">34</td>
            <td align="left">UTF-8 string</td>
            <td align="left">base64</td>
            <td align="left">2.4.4.3</td>
          </tr>
          <tr>
            <td align="left">35</td>
            <td align="left">UTF-8 string</td>
            <td align="left">Regular expression</td>
            <td align="left">2.4.4.3</td>
          </tr>
          <tr>
            <td align="left">36</td>
            <td align="left">UTF-8 string</td>
            <td align="left">MIME message</td>
            <td align="left">2.4.4.3</td>
          </tr>
          <tr>
            <td align="left">55799</td>
            <td align="left">multiple</td>
            <td align="left">Self-describe CBOR</td>
            <td align="left">2.4.5</td>
          </tr>
        </tbody>
      </table>
      <section anchor="related-tags">
        <name>Tags Related to Those Defined in RFC 7049</name>
        <t>Separately registered tags that are directly related to the tags
predefined in RFC 7049 include:</t>
        <ul spacing="normal">
          <li>Tag 63, registered by this document, is a parallel to tag 24, with
the single difference that its byte string tag content carries a
CBOR Sequence <xref target="RFC8742"/> instead of a single CBOR data item.</li>
          <li>Tag 257, registered by Peter Occil with a specification in
<eref target="http://peteroupc.github.io/CBOR/binarymime.html">http://peteroupc.github.io/CBOR/binarymime.html</eref>, is a parallel to
tag 36, except that the tag content is a byte string, which
therefore can also carry binary MIME messages as per <xref target="RFC2045"/>.</li>
        </ul>
      </section>
      <section anchor="tags-from-rfc-7049-not-listed-in-rfc-8949">
        <name>Tags from RFC 7049 not listed in RFC 8949</name>
        <!-- Note that xml2rfc generates a broken reference for {{Appendix G.3 of STD94}}, so we -->
<!-- work around manually: -->

<t><xref section="Appendix G.3" relative="#section-g.3-9" sectionFormat="bare" target="STD94"/> of <xref target="STD94"/> states:</t>
        <blockquote>
          <t>Tag 35 is not defined by this document; the registration based on the
   definition in RFC 7049 remains in place.</t>
        </blockquote>
        <t>The reason for this exclusion is that the definition of Tag 35 in
<xref section="2.4.4.3" sectionFormat="of" target="RFC7049"/>, leaves too much open to ensure interoperability:</t>
        <blockquote>
          <t>Tag 35 is for regular expressions in Perl Compatible Regular
  Expressions (PCRE) / JavaScript syntax [ECMA262].</t>
        </blockquote>
        <t>Not only are two partially incompatible specifications given for the
semantics, JavaScript regular expressions have also developed
significantly within the decade since JavaScript 5.1 (which was
referenced as "ECMA262" by <xref target="RFC7049"/>),
making it less reliable to assume that a producing application will
manage to stay within that 2011 subset.</t>
        <t>Nonetheless, the registration is in place, so it is available for
applications that simply want to mark a text string as being a regular
expression roughly of the PCRE/Javascript flavor families.</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security</name>
      <t>A number of CBOR tags are defined in security specifications that make
use of CBOR.</t>
      <section anchor="rfc-8152-cose">
        <name>RFC 8152 (COSE)</name>
        <t><xref target="RFC8152"/> defines CBOR Object Signing and Encryption (COSE).
A revision is in process that splits this specification into the data
structure definitions <xref target="I-D.ietf-cose-rfc8152bis-struct"/>, which will
define another tag for COSE standalone counter signature, and the
algorithms employed <xref target="I-D.ietf-cose-rfc8152bis-algs"/>.</t>
        <table anchor="cosetags">
          <name>Tag numbers defined in RFC 8152, COSE</name>
          <thead>
            <tr>
              <th align="left">Tag number</th>
              <th align="left">Tag content</th>
              <th align="left">Short Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">16</td>
              <td align="left">COSE_Encrypt0</td>
              <td align="left">COSE Single Recipient Encrypted Data Object</td>
            </tr>
            <tr>
              <td align="left">17</td>
              <td align="left">COSE_Mac0</td>
              <td align="left">COSE Mac w/o Recipients Object</td>
            </tr>
            <tr>
              <td align="left">18</td>
              <td align="left">COSE_Sign1</td>
              <td align="left">COSE Single Signer Data Object</td>
            </tr>
            <tr>
              <td align="left">96</td>
              <td align="left">COSE_Encrypt</td>
              <td align="left">COSE Encrypted Data Object</td>
            </tr>
            <tr>
              <td align="left">97</td>
              <td align="left">COSE_Mac</td>
              <td align="left">COSE MACed Data Object</td>
            </tr>
            <tr>
              <td align="left">98</td>
              <td align="left">COSE_Sign</td>
              <td align="left">COSE Signed Data Object</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="rfc-8392-cwt">
        <name>RFC 8392 (CWT)</name>
        <t><xref target="RFC8392"/> defines the CBOR Web Token (CWT), making use of COSE to
define a CBOR variant of the JOSE Web Token (JWT), <xref target="RFC7519"/>, a
standardized security token that has found use in the area of web
applications, but is not technically limited to those.</t>
        <table anchor="cwttags">
          <name>Tag number defined for RFC 8392 CBOR Web Token (CWT)</name>
          <thead>
            <tr>
              <th align="left">Tag number</th>
              <th align="left">Tag content</th>
              <th align="left">Short Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">61</td>
              <td align="left">CBOR Web Token (CWT)</td>
              <td align="left">CBOR Web Token (CWT)</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="cbor-based-representation-formats">
      <name>CBOR-based Representation Formats</name>
      <t>Representation formats can be built on top of CBOR.</t>
      <section anchor="yang-cbor">
        <name>YANG-CBOR</name>
        <t>YANG <xref target="RFC7950"/> is a data modeling language originally designed in
the context of the Network Configuration Protocol (NETCONF)
<xref target="RFC6241"/>, now widely used for modeling management and
configuration information.  <xref target="RFC7950"/> defines an XML-based
representation format, and <xref target="RFC7951"/> defines a JSON-based
<xref target="RFC8259"/> representation format for YANG.</t>
        <t>YANG-CBOR <xref target="I-D.ietf-core-yang-cbor"/> is a representation format for
YANG data in CBOR.</t>
        <table anchor="yangtags">
          <name>Tag number defined for YANG-CBOR</name>
          <thead>
            <tr>
              <th align="left">Tag number</th>
              <th align="left">Tag content</th>
              <th align="left">Short Description</th>
              <th align="left">Section of YANG-CBOR</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">43</td>
              <td align="left">byte string</td>
              <td align="left">YANG bits datatype</td>
              <td align="left">6.7</td>
            </tr>
            <tr>
              <td align="left">44</td>
              <td align="left">unsigned integer</td>
              <td align="left">YANG enumeration datatype</td>
              <td align="left">6.6</td>
            </tr>
            <tr>
              <td align="left">45</td>
              <td align="left">unsigned integer or text string</td>
              <td align="left">YANG identityref datatype</td>
              <td align="left">6.10</td>
            </tr>
            <tr>
              <td align="left">46</td>
              <td align="left">unsigned integer or text string or array</td>
              <td align="left">YANG instance-identifier datatype</td>
              <td align="left">6.13</td>
            </tr>
            <tr>
              <td align="left">47</td>
              <td align="left">unsigned integer</td>
              <td align="left">YANG Schema Item iDentifier (sid)</td>
              <td align="left">3.2</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="protocols">
      <name>Protocols</name>
      <t>Protocols may want to allocate CBOR tag numbers to identify specific
protocol elements.</t>
      <section anchor="dots">
        <name>DOTS</name>
        <t>DDoS Open Threat Signaling (DOTS) defines tag number 271 for the DOTS
signal channel object in <xref target="RFC9132"/>.</t>
      </section>
      <section anchor="rains">
        <name>RAINS</name>
        <t>As an example for how experimental protocols can make use of CBOR tag
definitions, the RAINS (Another Internet Naming Service) Protocol
Specification defines tag number 15309736 for a RAINS Message
<xref target="I-D.trammell-rains-protocol"/>.
(The seemingly random tag number was chosen so that, when represented
as an encoded CBOR tag
argument, it contains the Unicode character <u format="lit-num">雨</u>
in UTF-8, which represents rain in a number of languages.)</t>
      </section>
    </section>
    <section anchor="datatypes">
      <name>Datatypes</name>
      <section anchor="advanced-arithmetic">
        <name>Advanced arithmetic</name>
        <t>A number of tags have been registered for arithmetic representations
beyond those built into CBOR and defined by tags in <xref target="RFC7049"/>.
These are all documented under <tt>http://peteroupc.github.io/CBOR/</tt>; the
last pathname component for the URL is given in <xref target="arithtags"/>.</t>
        <table anchor="arithtags">
          <name>Tags for advanced arithmetic</name>
          <thead>
            <tr>
              <th align="left">Tag number</th>
              <th align="left">Tag content</th>
              <th align="left">Short Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">30</td>
              <td align="left">array</td>
              <td align="left">Rational number</td>
              <td align="left">rational.html</td>
            </tr>
            <tr>
              <td align="left">264</td>
              <td align="left">array</td>
              <td align="left">Decimal fraction with arbitrary  exponent</td>
              <td align="left">bigfrac.html</td>
            </tr>
            <tr>
              <td align="left">265</td>
              <td align="left">array</td>
              <td align="left">Bigfloat with arbitrary exponent</td>
              <td align="left">bigfrac.html</td>
            </tr>
            <tr>
              <td align="left">268</td>
              <td align="left">array</td>
              <td align="left">Extended decimal fraction</td>
              <td align="left">extended.html</td>
            </tr>
            <tr>
              <td align="left">269</td>
              <td align="left">array</td>
              <td align="left">Extended bigfloat</td>
              <td align="left">extended.html</td>
            </tr>
            <tr>
              <td align="left">270</td>
              <td align="left">array</td>
              <td align="left">Extended rational number</td>
              <td align="left">extended.html</td>
            </tr>
          </tbody>
        </table>
        <t>CBOR's basic generic data model (<xref section="2" sectionFormat="of" target="STD94"/>) has a number
system with limited-range integers (major types 0 and 1:
-2<sup>64</sup>..2<sup>64</sup>-1) and floating point numbers that
cover binary16, binary32, and binary64 (including non-finites) from
<xref target="IEEE754"/>.
With the tags defined with <xref target="RFC7049"/>, the extended generic data model
(<xref section="2.1" sectionFormat="of" target="STD94"/>) adds unlimited-range integers (tag numbers 2
and 3, "bigint" in CDDL) as well as floating point values using the bases
2 (tag number 5, "bigfloat") and 10 (tag number 4, "decfrac").</t>
        <t>This pre-defined number system has a number of limitations that are
addressed in three of the tags discussed here:</t>
        <ul spacing="normal">
          <li>
            <t>Tag number 30 allows the representation of rational numbers as a
ratio of two integers: a numerator (usually written as the top part
of a fraction), and a denominator (the bottom part), where both
integers can be limited-range basic and unlimited-range integers.
The mathematical value of a rational number is the numerator divided
by the denominator.
This tag can express all numbers that the extended generic data
model of <xref target="RFC7049"/> can express, except for non-finites <xref target="IEEE754"/>; it
also can express rational numbers that cannot be expressed with
denominators that are a power of 2 or a power of 10.  </t>
            <t>
For example, the rational number 1/3 is encoded:  </t>
            <sourcecode type="cbor-pretty"><![CDATA[
  d8 1e      ---- Tag 30
     82      ---- Array length 2
        01   ---- 1
        03   ---- 3
]]></sourcecode>
            <t>
Many programming languages have built-in support for rational
numbers or support for them is included in their standard libraries;
tag number 30 is a way for these platforms to interchange these
rational numbers in CBOR.</t>
          </li>
          <li>Tag numbers 4 and 5 are limited in the range of the (base 10 or base
2) exponents by the limited-range integers in the basic generic data
model.  Tag numbers 264 and 265 are exactly equivalent to 4 and 5,
respectively, but also allow unlimited-range integers as exponents.
While applications for floating point numbers with exponents outside
the CBOR basic integer range are limited, tags 264 and 265 allow
unlimited roundtripping with other formats that allow very large or
very small exponents, such as those JSON <xref target="RFC8259"/> can provide if the
limitations of I-JSON <xref target="RFC7493"/> do not apply.</li>
        </ul>
        <t>The tag numbers 268..270 extend these tags further by providing a way
to express non-finites within a tag with this number.  This does not
increase the expressiveness of the data model (the non-finites can
already be expressed using major type 7 floating point numbers), but
does allow both finite and non-finite values to carry the same tag.
In most applications, a choice that includes some of the three tags
30, 264, 265 for finite values and major type 7 floating point values
for non-finites (as well as possibly other parts of the CBOR number
system) will be the preferred solution.</t>
        <t>This document suggests using the CDDL typenames defined in
<xref target="arith-tags-cddl"/> for the three most useful tag numbers in this section.</t>
        <figure anchor="arith-tags-cddl">
          <name>CDDL for extended arithmetic tags</name>
          <sourcecode type="cddl"><![CDATA[
rational = #6.30([numerator: integer, denominator: integer .ne 0])
rational_of<N,D> = #6.30([numerator: N, denominator: D])
; the value 1/3 can be notated as rational_of<1, 3>

extended_decfrac = #6.264([e10: integer, m: integer])
extended_bigfloat = #6.265([e2: integer, m: integer])
]]></sourcecode>
        </figure>
      </section>
      <section anchor="variants-of-undefined">
        <name>Variants of undefined</name>
        <t><tt>https://github.com/svaarala/cbor-specs/blob/master/cbor-absent-tag.rst</tt>
defines tag 31 to be applied to the CBOR value Undefined (0xf7),
slightly modifying its semantics to stand for an absent value in a
CBOR Array.</t>
        <t>(TO DO: Obtain permission to copy the definitions here.)</t>
      </section>
      <section anchor="typed-and-homogeneous-arrays">
        <name>Typed and Homogeneous Arrays</name>
        <t><xref target="RFC8746"/> defines tags for various kinds of arrays.  A summary is
reproduced in <xref target="arraytags"/>.</t>
        <table anchor="arraytags">
          <name>Tag numbers defined for Arrays</name>
          <thead>
            <tr>
              <th align="left">Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">64</td>
              <td align="left">byte string</td>
              <td align="left">uint8 Typed Array</td>
            </tr>
            <tr>
              <td align="left">65</td>
              <td align="left">byte string</td>
              <td align="left">uint16, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">66</td>
              <td align="left">byte string</td>
              <td align="left">uint32, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">67</td>
              <td align="left">byte string</td>
              <td align="left">uint64, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">68</td>
              <td align="left">byte string</td>
              <td align="left">uint8 Typed Array, clamped arithmetic</td>
            </tr>
            <tr>
              <td align="left">69</td>
              <td align="left">byte string</td>
              <td align="left">uint16, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">70</td>
              <td align="left">byte string</td>
              <td align="left">uint32, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">71</td>
              <td align="left">byte string</td>
              <td align="left">uint64, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">72</td>
              <td align="left">byte string</td>
              <td align="left">sint8 Typed Array</td>
            </tr>
            <tr>
              <td align="left">73</td>
              <td align="left">byte string</td>
              <td align="left">sint16, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">74</td>
              <td align="left">byte string</td>
              <td align="left">sint32, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">75</td>
              <td align="left">byte string</td>
              <td align="left">sint64, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">76</td>
              <td align="left">byte string</td>
              <td align="left">(reserved)</td>
            </tr>
            <tr>
              <td align="left">77</td>
              <td align="left">byte string</td>
              <td align="left">sint16, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">78</td>
              <td align="left">byte string</td>
              <td align="left">sint32, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">79</td>
              <td align="left">byte string</td>
              <td align="left">sint64, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">80</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary16, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">81</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary32, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">82</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary64, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">83</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary128, big endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">84</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary16, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">85</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary32, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">86</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary64, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">87</td>
              <td align="left">byte string</td>
              <td align="left">IEEE 754 binary128, little endian, Typed Array</td>
            </tr>
            <tr>
              <td align="left">40</td>
              <td align="left">array of two arrays*</td>
              <td align="left">Multi-dimensional Array, row-major order</td>
            </tr>
            <tr>
              <td align="left">1040</td>
              <td align="left">array of two arrays*</td>
              <td align="left">Multi-dimensional Array, column-major order</td>
            </tr>
            <tr>
              <td align="left">41</td>
              <td align="left">array</td>
              <td align="left">Homogeneous Array</td>
            </tr>
          </tbody>
        </table>
        <!--  cols='r l l' -->

</section>
    </section>
    <section anchor="domain-specific">
      <name>Domain-Specific</name>
      <t>(TO DO: Obtain permission to copy the definitions here; explain how
tags 52 and 54 essentially obsolete 260/261.)</t>
      <table>
        <thead>
          <tr>
            <th align="left">Tag number</th>
            <th align="left">Tag content</th>
            <th align="left">Short Description</th>
            <th align="left">Reference</th>
            <th align="left">Author</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">37</td>
            <td align="left">byte string</td>
            <td align="left">Binary UUID (<xref section="4.1.2" sectionFormat="of" target="RFC4122"/>)</td>
            <td align="left">https://github.com/lucas-clemente/cbor-specs/blob/master/uuid.md</td>
            <td align="left">Lucas Clemente</td>
          </tr>
          <tr>
            <td align="left">38</td>
            <td align="left">array</td>
            <td align="left">Language-tagged string</td>
            <td align="left">http://peteroupc.github.io/CBOR/langtags.html</td>
            <td align="left">Peter Occil</td>
          </tr>
          <tr>
            <td align="left">257</td>
            <td align="left">byte string</td>
            <td align="left">Binary MIME message</td>
            <td align="left">http://peteroupc.github.io/CBOR/binarymime.html</td>
            <td align="left">Peter Occil</td>
          </tr>
          <tr>
            <td align="left">260</td>
            <td align="left">byte string</td>
            <td align="left">Network Address (IPv4 or IPv6 or MAC Address)</td>
            <td align="left">http://www.employees.org/~ravir/cbor-network.txt</td>
            <td align="left">Ravi Raju</td>
          </tr>
          <tr>
            <td align="left">261</td>
            <td align="left">map</td>
            <td align="left">Network Address Prefix (IPv4 or IPv6 Address + Mask Length)</td>
            <td align="left">https://github.com/toravir/CBOR-Tag-Specs/blob/master/networkPrefix.md</td>
            <td align="left">Ravi Raju</td>
          </tr>
          <tr>
            <td align="left">263</td>
            <td align="left">byte string</td>
            <td align="left">Hexadecimal string</td>
            <td align="left">https://github.com/toravir/CBOR-Tag-Specs/blob/master/hexString.md</td>
            <td align="left">Ravi Raju</td>
          </tr>
          <tr>
            <td align="left">266</td>
            <td align="left">text string</td>
            <td align="left">Internationalized resource identifier (IRI)</td>
            <td align="left">https://peteroupc.github.io/CBOR/iri.html</td>
            <td align="left">Peter Occil</td>
          </tr>
          <tr>
            <td align="left">267</td>
            <td align="left">text string</td>
            <td align="left">Internationalized resource identifier reference (IRI reference)</td>
            <td align="left">https://peteroupc.github.io/CBOR/iri.html</td>
            <td align="left">Peter Occil</td>
          </tr>
        </tbody>
      </table>
      <section anchor="extended-time-formats">
        <name>Extended Time Formats</name>
        <t>Additional tag definitions have been provided for date and time values.</t>
        <table anchor="timetags">
          <name>Tag numbers for date and time</name>
          <thead>
            <tr>
              <th align="right">Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">100</td>
              <td align="left">integer</td>
              <td align="left">date in number of days since epoch</td>
              <td align="left">
                <xref target="RFC8943"/></td>
            </tr>
            <tr>
              <td align="right">1004</td>
              <td align="left">text string</td>
              <td align="left">RFC 3339 full-date string</td>
              <td align="left">
                <xref target="RFC8943"/></td>
            </tr>
            <tr>
              <td align="right">1001</td>
              <td align="left">map</td>
              <td align="left">extended time</td>
              <td align="left">
                <xref target="I-D.ietf-cbor-time-tag"/></td>
            </tr>
            <tr>
              <td align="right">1002</td>
              <td align="left">map</td>
              <td align="left">duration</td>
              <td align="left">
                <xref target="I-D.ietf-cbor-time-tag"/></td>
            </tr>
            <tr>
              <td align="right">1003</td>
              <td align="left">map</td>
              <td align="left">period</td>
              <td align="left">
                <xref target="I-D.ietf-cbor-time-tag"/></td>
            </tr>
          </tbody>
        </table>
        <t>Note that tags 100 and 1004 are for calendar dates that are not
anchored to a specific time zone; they are meant to specify calendar
dates as perceived by humans, e.g. for use in personal identification
documents.
Converting such a calendar date into a specific point in time needs the
addition of a time-of-day (for which a CBOR tag is outstanding) and
timezone information (also outstanding).  Alternatively, a calendar
date plus timezone information can be converted into a time period
(range of time values given by the starting and the ending time); note
that these time periods are not always exactly 24 h (86400 s) long.</t>
        <t><xref target="RFC8943"/> does not suggest CDDL <xref target="RFC8610"/> type names for the two tags.
We suggest copying the definitions in <xref target="time-tags-cddl"/> into
application-specific CDDL as needed.</t>
        <figure anchor="time-tags-cddl">
          <name>CDDL for calendar date tags (RFC8943)</name>
          <sourcecode type="cddl"><![CDATA[
caldate = #6.100(int) ; calendar date as a number of days from 1970-01-01
tcaldate = #6.1004(tstr) ; calendar date as an RFC 3339 full-date string
]]></sourcecode>
        </figure>
        <t>Tag 1001 extends tag 1 by additional information (such as picosecond
resolution) and allows the use of Decimal and Bigfloat numbers for the
time.</t>
      </section>
    </section>
    <section anchor="platform-oriented">
      <name>Platform-oriented</name>
      <section anchor="perl">
        <name>Perl</name>
        <t>(These are actually not as Perl-specific as the title of this section
suggests.  See also the penultimate paragraph of <xref section="3.4" sectionFormat="of" target="STD94"/>.)</t>
        <t>These are all documented under <tt>http://cbor.schmorp.de/</tt>; the
last pathname component is given in <xref target="perltags"/>.</t>
        <t>(TO DO: Obtain permission to copy the definitions here.)</t>
        <table anchor="perltags">
          <name>Tag numbers that aid the Perl platform</name>
          <thead>
            <tr>
              <th align="right">Tag</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">256</td>
              <td align="left">multiple</td>
              <td align="left">mark value as having string references</td>
              <td align="left">stringref</td>
            </tr>
            <tr>
              <td align="right">25</td>
              <td align="left">unsigned integer</td>
              <td align="left">reference the nth previously seen string</td>
              <td align="left">stringref</td>
            </tr>
            <tr>
              <td align="right">26</td>
              <td align="left">array</td>
              <td align="left">Serialized Perl object with classname and constructor arguments</td>
              <td align="left">perl-object</td>
            </tr>
            <tr>
              <td align="right">27</td>
              <td align="left">array</td>
              <td align="left">Serialized language-independent object with type name and constructor arguments</td>
              <td align="left">generic-object</td>
            </tr>
            <tr>
              <td align="right">28</td>
              <td align="left">multiple</td>
              <td align="left">mark value as (potentially) shared</td>
              <td align="left">value-sharing</td>
            </tr>
            <tr>
              <td align="right">29</td>
              <td align="left">unsigned integer</td>
              <td align="left">reference nth marked value</td>
              <td align="left">value-sharing</td>
            </tr>
            <tr>
              <td align="right">22098</td>
              <td align="left">multiple</td>
              <td align="left">hint that indicates an additional level of indirection</td>
              <td align="left">indirection</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="json">
        <name>JSON</name>
        <t>(TO DO: Obtain permission to copy the definitions here.)</t>
        <t>Tag number 262 has been registered to identify byte strings that carry embedded
JSON text (<tt>https://github.com/toravir/CBOR-Tag-Specs/blob/master/embeddedJSON.md</tt>).</t>
        <t>Tag number 275 can be used to identify maps that contain keys that are
all of type Text String, as they would occur in JSON
(<tt>https://github.com/ecorm/cbor-tag-text-key-map</tt>).</t>
      </section>
      <section anchor="weird-text-encodings">
        <name>Weird text encodings</name>
        <t>(TO DO: Obtain permission to copy the definitions here.)</t>
        <t>Some variants of UTF-8 are in use in specific areas of application.
Tags have been registered to be able to carry around strings in these
variants in case they are not also valid UTF-8 and can therefore not
be represented as a CBOR text string
(<tt>https://github.com/svaarala/cbor-specs/blob/master/cbor-nonutf8-string-tags.rst</tt>).</t>
        <table anchor="weirdtags">
          <name>Tag numbers for UTF-8 variants</name>
          <thead>
            <tr>
              <th align="right">Tag Number</th>
              <th align="left">Data Item</th>
              <th align="left">Semantics</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">272</td>
              <td align="left">byte string</td>
              <td align="left">Non-UTF-8 CESU-8 string</td>
            </tr>
            <tr>
              <td align="right">273</td>
              <td align="left">byte string</td>
              <td align="left">Non-UTF-8 WTF-8 string</td>
            </tr>
            <tr>
              <td align="right">274</td>
              <td align="left">byte string</td>
              <td align="left">Non-UTF-8 MUTF-8 string</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="application-specific">
      <name>Application-specific</name>
      <t>(TO DO: Obtain permission to copy the definitions here.)</t>
      <table>
        <thead>
          <tr>
            <th align="left">Tag number</th>
            <th align="left">Tag content</th>
            <th align="left">Short Description</th>
            <th align="left">Reference</th>
            <th align="left">Author</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">39</td>
            <td align="left">multiple</td>
            <td align="left">Identifier</td>
            <td align="left">[https://github.com/lucas-clemente/cbor-specs/blob/master/id.md</td>
            <td align="left">Lucas Clemente</td>
          </tr>
          <tr>
            <td align="left">42</td>
            <td align="left">byte string</td>
            <td align="left">IPLD content identifier</td>
            <td align="left">[https://github.com/ipld/cid-cbor/</td>
            <td align="left">Volker Mische</td>
          </tr>
          <tr>
            <td align="left">103</td>
            <td align="left">array</td>
            <td align="left">Geographic Coordinates</td>
            <td align="left">[https://github.com/allthingstalk/cbor/blob/master/CBOR-Tag103-Geographic-Coordinates.md</td>
            <td align="left">Danilo Vidovic</td>
          </tr>
          <tr>
            <td align="left">104</td>
            <td align="left">multiple</td>
            <td align="left">Geographic Coordinate Reference System  WKT or EPSG number</td>
            <td align="left">
              <xref target="I-D.clarke-cbor-crs"/></td>
            <td align="left"> </td>
          </tr>
          <tr>
            <td align="left">120</td>
            <td align="left">multiple</td>
            <td align="left">Internet of Things Data Point</td>
            <td align="left">[https://github.com/allthingstalk/cbor/blob/master/CBOR-Tag120-Internet-of-Things-Data-Points.md</td>
            <td align="left">Danilo Vidovic</td>
          </tr>
          <tr>
            <td align="left">258</td>
            <td align="left">array</td>
            <td align="left">Mathematical finite set</td>
            <td align="left">[https://github.com/input-output-hk/cbor-sets-spec/blob/master/CBOR_SETS.md</td>
            <td align="left">Alfredo Di Napoli</td>
          </tr>
          <tr>
            <td align="left">259</td>
            <td align="left">map</td>
            <td align="left">Map  datatype with key-value  operations (e.g. <tt>.get ()/.set()/.delete()</tt>)</td>
            <td align="left">[https://github.com/shanewholloway/js-cbor-codec/blob/master/docs/CBOR-259-spec--explicit-maps.md</td>
            <td align="left">Shane Holloway</td>
          </tr>
        </tbody>
      </table>
      <section anchor="enumerated-alternative-data-items">
        <name>Enumerated Alternative Data Items</name>
        <t>(Original Text for this section was contributed by Duncan Coutts and
Michael Peyton Jones; all errors are the author's.)</t>
        <t>A set of CBOR tag numbers has been allocated (to do, <xref target="iana"/>) for
encoding data composed of enumerated alternatives:</t>
        <table anchor="tab-tag-enum">
          <name>Tags for Enumerated Alternative Data Items</name>
          <thead>
            <tr>
              <th align="right">Tags</th>
              <th align="left">Data Item</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">121..127</td>
              <td align="left">any</td>
              <td align="left">alternatives 0..6, 1+1 encoding</td>
            </tr>
            <tr>
              <td align="right">1280..1400</td>
              <td align="left">any</td>
              <td align="left">alternatives 7..127, 1+2 encoding</td>
            </tr>
            <tr>
              <td align="right">101</td>
              <td align="left">array [uint, any]</td>
              <td align="left">alternatives as given by the uint + 128</td>
            </tr>
          </tbody>
        </table>
        <t>The tags defined in this section are for encoding data that can be
in one of a number of different enumerated forms.</t>
        <t>For example data representing the result of some action might be either
a failure with some failure detail, or a success with some result. In
this example there are two cases, the failure case and the success case,
and we can enumerate them as 0 and 1.</t>
        <t>In general the number of alternatives, and what data is expected in each
alternative case is entirely application dependent.</t>
        <t>The tags defined in this specification allow the encoding of any number
of alternatives, but provide compact encoding for the common cases of
low numbers of alternatives:</t>
        <ul spacing="normal">
          <li>Alternatives 0..6 can be encoded in 2 bytes;</li>
          <li>Alternatives 7..127 can be encoded in 3 bytes;</li>
          <li>Alternatives 128+ can be encoded in 3-12 bytes.</li>
        </ul>
        <t>There are no special considerations for deterministic encoding
<xref section="4.2" sectionFormat="of" target="STD94"/>: The case numbers covered by each tag do not
overlap; particularly, tag 101 encoding starts where the more compact
special encodings for 0..6 and 7..127 end.</t>
        <section anchor="semantics">
          <name>Semantics</name>
          <t>The value consists of a case number and a case body. The case number is
an unsigned integer that indicates which case out of the set of
alternatives is used. The case body is any CBOR data value.</t>
          <t>In a setting where the application uses a schema (formally or
informally), then there will be an appropriate sub-schema for each case
in the set of alternatives. The representation of the case body should
comply with the schema corresponding to the case number used.</t>
          <t>To continue the example above about representing failure or success,
suppose that the failure detail consists of an integer code and a
string, and suppose that the successful result is a byte string. A
failure value will use case 0 and the case body will be a CBOR list
containing an integer and a text string. Alternatively, a success value
will use case 1 and the body will be a single CBOR byte string.</t>
          <t>Decoders that enforce a schema must check the case number is within the
range of cases allowed, and that the case body follows the schema for
the supplied case number. Generic decoders should allow any case number
and any CBOR data value for the case body.</t>
        </section>
        <section anchor="rationale">
          <name>Rationale</name>
          <t>CBOR has direct support for <em>combinations</em> of multiple values but not
for <em>alternatives</em> of multiple values. Combinations are expressed in
CBOR using lists or maps.</t>
          <t>Most programming languages have a notion of data consisting of
combinations of data values, often called records or objects. Many
programming languages also have a notion of data consisting of multiple
alternative data values. For example C has unions, and other languages
have "tagged" unions (where it is always clear which alternative is in
use).</t>
          <t>Crucially for this set of tags, the set of alternatives must be closed
and ordered. This allows encoding using an unsigned number to distinguish
each case.</t>
          <t>Note that this does <em>not</em> correspond to the notion in some programming
languages of classes and subclasses since in that context the set of
alternatives is open and unordered. Alternatives of this kind are
well-supported by tag 27 "Serialized language-independent object with
type name and constructor arguments".</t>
          <t>In functional programming languages, the primary way of forming new data
types is to enumerate a set of alternatives (each of which may be a
record). Such forms of data are also supported in hybrid functional
languages or languages with functional features.</t>
          <t>Thus, in some applications, it is very common to have data making use of
alternatives, and it is worth finding a compact encoding, at least for
the common cases. Just as most records are small, most alternatives are
also small.</t>
          <t>In this specification we reserve 7 values in the 2-byte part of the
available tag encoding space for alternatives 0..6 which are by far the
most common. We reserve a range of 121 values in the 3-bytes tag
encoding space. To cover the general case we use an encoding using a
pair consisting of an unsigned integer and the case body, the first 24
of which also result in a 3-byte encoding.</t>
        </section>
        <section anchor="examples">
          <name>Examples</name>
          <t>To elaborate on the example from the introduction, we have a "result"
that is a failure or success, where:</t>
          <ul spacing="normal">
            <li>the failure detail consists of an integer code and a string;</li>
            <li>the successful result is a byte string.</li>
          </ul>
          <t>This corresponds to the following schema, in CDDL notation:</t>
          <sourcecode type="cddl"><![CDATA[
result = #6.121([int, text])
       / #6.122(bytes)
]]></sourcecode>
          <t>Example values:</t>
          <sourcecode type="cbor-diag"><![CDATA[
121([3, "the printer is on fire"])
]]></sourcecode>
          <sourcecode type="cbor-diag"><![CDATA[
122(h'ff00')
]]></sourcecode>
          <t>As a second example, here is one based on a data type defined within the
Haskell programming language, representing a simple expression tree.</t>
          <sourcecode type="haskell"><![CDATA[
-- A data type representing simple arithmetic expressions

data Expr = Lit Int -- integer literal
| Add Expr Expr -- addition
| Sub Expr Expr -- subtraction
| Neg Expr -- unary negation
| Mul Expr Expr -- multiplication
| Div Expr Expr -- integer division
]]></sourcecode>
          <t>In CDDL notation, and using the tags in this specification, such data
could be encoded using this schema:</t>
          <sourcecode type="cddl"><![CDATA[
; A data type representing simple arithmetic expressions

expr = 121(int)          ; integer literal
     / 122([expr, expr]) ; addition
     / 123([expr, expr]) ; subtraction
     / 124(expr)         ; unary negation
     / 125([expr, expr]) ; multiplication
     / 126([expr, expr]) ; integer division
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="implementation-aids">
      <name>Implementation aids</name>
      <section anchor="invalid-tag">
        <name>Invalid Tag</name>
        <t>The present document registers tag numbers 65535, 4294967295, and
18446744073709551615 (16-bit 0xffff, 32-bit 0xffffffff, and 64-bit
0xffffffffffffffff) as Invalid Tags, tags that are always invalid,
independent of the tag content provided.  The purpose of these tag
number registrations is to enable the tag numbers to be reserved for
internal use by implementations to note the absence of a tag on a data
item where a tag could also be expected with that data item as tag
content.</t>
        <t>The Invalid Tags are not intended to ever occur in interchanged CBOR
data items.  Generic CBOR decoder implementations are encouraged to
raise an error if an Invalid Tag occurs in a CBOR data item even if
there is no validity checking implemented otherwise.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>In the registry "<xref section="CBOR Tags" relative="#cbor-tags" sectionFormat="bare" target="IANA.cbor-tags"/>" <xref target="IANA.cbor-tags"/>,
IANA has allocated the first to third tag in <xref target="tab-tag-values"/> from the
FCFS space, with the present document as the specification reference.
IANA has allocated the fourth tag from the Specification
Required space, with the present document as the specification reference.</t>
      <table anchor="tab-tag-values">
        <name>Values for Tags</name>
        <thead>
          <tr>
            <th align="right">Tag</th>
            <th align="left">Data Item</th>
            <th align="left">Semantics</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="right">65535</td>
            <td align="left">(none valid)</td>
            <td align="left">always invalid</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="invalid-tag"/></td>
          </tr>
          <tr>
            <td align="right">4294967295</td>
            <td align="left">(none valid)</td>
            <td align="left">always invalid</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="invalid-tag"/></td>
          </tr>
          <tr>
            <td align="right">18446744073709551615</td>
            <td align="left">(none valid)</td>
            <td align="left">always invalid</td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="invalid-tag"/></td>
          </tr>
          <tr>
            <td align="right">63</td>
            <td align="left">byte string</td>
            <td align="left">Encoded CBOR Sequence <xref target="RFC8742"/></td>
            <td align="left">draft-bormann-cbor-notable-tags, <xref target="related-tags"/></td>
          </tr>
        </tbody>
      </table>
      <t>In addition, IANA is requested to allocate the tags from
<xref target="tab-tag-enum"/>, with a reference to the present document.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="STD94"/> apply; the tags discussed here
may also have specific security considerations that are mentioned in
their specific sections above.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="STD94" target="https://www.rfc-editor.org/info/rfc8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <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>
        <reference anchor="IANA.cbor-tags" target="https://www.iana.org/assignments/cbor-tags">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/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">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <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="RFC8152" target="https://www.rfc-editor.org/info/rfc8152">
          <front>
            <title>CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad">
              <organization/>
            </author>
            <date month="July" year="2017"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size.  There is a need for the ability to have basic security services defined for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol.  This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization.  This specification additionally describes how to represent cryptographic keys using CBOR.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8152"/>
          <seriesInfo name="DOI" value="10.17487/RFC8152"/>
        </reference>
        <reference anchor="RFC8392" target="https://www.rfc-editor.org/info/rfc8392">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones">
              <organization/>
            </author>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem">
              <organization/>
            </author>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman">
              <organization/>
            </author>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig">
              <organization/>
            </author>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties.  The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection.  A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value.  CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="I-D.ietf-core-yang-cbor" target="https://www.ietf.org/archive/id/draft-ietf-core-yang-cbor-18.txt">
          <front>
            <title>CBOR Encoding of Data Modeled with YANG</title>
            <author fullname="Michel Veillette">
              <organization>Trilliant Networks Inc.</organization>
            </author>
            <author fullname="Ivaylo Petrov">
              <organization>Google Switzerland GmbH</organization>
            </author>
            <author fullname="Alexander Pelov">
              <organization>Acklio</organization>
            </author>
            <author fullname="Carsten Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Michael Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="19" month="December" year="2021"/>
            <abstract>
              <t>   Based on the Concise Binary Object Representation (CBOR, RFC 8949),
   this document defines encoding rules for representing configuration
   data, state data, parameters and results of Remote Procedure Call
   (RPC) operations or actions, and notifications, defined using YANG
   (RFC 7950).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-yang-cbor-18"/>
        </reference>
        <reference anchor="RFC9132" target="https://www.rfc-editor.org/info/rfc9132">
          <front>
            <title>Distributed Denial-of-Service Open Threat Signaling (DOTS) Signal Channel Specification</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair">
              <organization/>
            </author>
            <author fullname="J. Shallow" initials="J." surname="Shallow">
              <organization/>
            </author>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K">
              <organization/>
            </author>
            <date month="September" year="2021"/>
            <abstract>
              <t>This document specifies the Distributed Denial-of-Service Open Threat Signaling (DOTS) signal channel, a protocol for signaling the need for protection against Distributed Denial-of-Service (DDoS) attacks to a server capable of enabling network traffic mitigation on behalf of the requesting client.</t>
              <t>A companion document defines the DOTS data channel, a separate reliable communication layer for DOTS management and configuration purposes.</t>
              <t>This document obsoletes RFC 8782.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9132"/>
          <seriesInfo name="DOI" value="10.17487/RFC9132"/>
        </reference>
        <reference anchor="RFC8746" target="https://www.rfc-editor.org/info/rfc8746">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags for Typed Arrays</title>
            <author fullname="C. Bormann" initials="C." role="editor" surname="Bormann">
              <organization/>
            </author>
            <date month="February" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR), as defined in RFC 7049, 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.</t>
              <t>This document makes use of this extensibility to define a number of CBOR tags for typed arrays of numeric data, as well as additional tags for multi-dimensional and homogeneous arrays.  It is intended as the reference document for the IANA registration of the CBOR tags defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8746"/>
          <seriesInfo name="DOI" value="10.17487/RFC8746"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="STD63" target="https://www.rfc-editor.org/info/rfc3629">
          <front>
            <title>UTF-8, a transformation format of ISO 10646</title>
            <author fullname="F. Yergeau" initials="F." surname="Yergeau">
              <organization/>
            </author>
            <date month="November" year="2003"/>
            <abstract>
              <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems.  The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo.  UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values.  This memo obsoletes and replaces RFC 2279.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="63"/>
          <seriesInfo name="RFC" value="3629"/>
          <seriesInfo name="DOI" value="10.17487/RFC3629"/>
        </reference>
        <reference anchor="RFC2045" target="https://www.rfc-editor.org/info/rfc2045">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</title>
            <author fullname="N. Freed" initials="N." surname="Freed">
              <organization/>
            </author>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein">
              <organization/>
            </author>
            <date month="November" year="1996"/>
            <abstract>
              <t>This initial document specifies the various headers used to describe the structure of MIME messages.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2045"/>
          <seriesInfo name="DOI" value="10.17487/RFC2045"/>
        </reference>
        <reference anchor="RFC4122" target="https://www.rfc-editor.org/info/rfc4122">
          <front>
            <title>A Universally Unique IDentifier (UUID) URN Namespace</title>
            <author fullname="P. Leach" initials="P." surname="Leach">
              <organization/>
            </author>
            <author fullname="M. Mealling" initials="M." surname="Mealling">
              <organization/>
            </author>
            <author fullname="R. Salz" initials="R." surname="Salz">
              <organization/>
            </author>
            <date month="July" year="2005"/>
            <abstract>
              <t>This specification defines a Uniform Resource Name namespace for UUIDs (Universally Unique IDentifier), also known as GUIDs (Globally Unique IDentifier).  A UUID is 128 bits long, and can guarantee uniqueness across space and time.  UUIDs were originally used in the Apollo Network Computing System and later in the Open Software Foundation\'s (OSF) Distributed Computing Environment (DCE), and then in Microsoft Windows platforms.</t>
              <t>This specification is derived from the DCE specification with the kind permission of the OSF (now known as The Open Group).  Information from earlier versions of the DCE specification have been incorporated into this document.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4122"/>
          <seriesInfo name="DOI" value="10.17487/RFC4122"/>
        </reference>
        <reference anchor="RFC7049" target="https://www.rfc-editor.org/info/rfc7049">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="October" year="2013"/>
            <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>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7049"/>
          <seriesInfo name="DOI" value="10.17487/RFC7049"/>
        </reference>
        <reference anchor="RFC8742" target="https://www.rfc-editor.org/info/rfc8742">
          <front>
            <title>Concise Binary Object Representation (CBOR) Sequences</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes the Concise Binary Object Representation (CBOR) Sequence format and associated media type "application/cbor-seq".  A CBOR Sequence consists of any number of encoded CBOR data items, simply concatenated in sequence.</t>
              <t>Structured syntax suffixes for media types allow other media types to build on them and make it explicit that they are built on an existing media type as their foundation.  This specification defines and registers "+cbor-seq" as a structured syntax suffix for CBOR Sequences.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8742"/>
          <seriesInfo name="DOI" value="10.17487/RFC8742"/>
        </reference>
        <reference anchor="RFC7493" target="https://www.rfc-editor.org/info/rfc7493">
          <front>
            <title>The I-JSON Message Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray">
              <organization/>
            </author>
            <date month="March" year="2015"/>
            <abstract>
              <t>I-JSON (short for "Internet JSON") is a restricted profile of JSON designed to maximize interoperability and increase confidence that software can process it successfully with predictable results.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7493"/>
          <seriesInfo name="DOI" value="10.17487/RFC7493"/>
        </reference>
        <reference anchor="RFC8259" target="https://www.rfc-editor.org/info/rfc8259">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray">
              <organization/>
            </author>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format.  It was derived from the ECMAScript Programming Language Standard.  JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-time-tag" target="https://www.ietf.org/archive/id/draft-ietf-cbor-time-tag-00.txt">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags for Time, Duration, and Period</title>
            <author fullname="Carsten Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Ben Gamari">
              <organization>Well-Typed</organization>
            </author>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer Institute for Secure Information Technology</organization>
            </author>
            <date day="19" month="May" year="2021"/>
            <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.

   In CBOR, one point of extensibility is the definition of CBOR tags.
   RFC 8949 defines two tags for time: CBOR tag 0 (RFC3339 time as a
   string) and tag 1 (Posix time as int or float).  Since then,
   additional requirements have become known.  The present document
   defines a CBOR tag for time that allows a more elaborate
   representation of time, as well as related CBOR tags for duration and
   time period.  It is intended as the reference document for the IANA
   registration of the CBOR tags defined.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-time-tag-00"/>
        </reference>
        <reference anchor="C" target="https://www.iso.org/standard/74528.html">
          <front>
            <title>Information technology - Programming languages - C</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2018" month="June"/>
          </front>
          <seriesInfo name="ISO/IEC" value="9899:2018"/>
        </reference>
        <reference anchor="Cplusplus20" target="https://isocpp.org/files/papers/N4860.pdf">
          <front>
            <title>Programming languages - C++</title>
            <author>
              <organization>International Organization for Standardization</organization>
            </author>
            <date year="2020" month="March"/>
          </front>
          <seriesInfo name="ISO/IEC" value="ISO/IEC JTC1 SC22 WG21 N 4860"/>
        </reference>
        <reference anchor="IEEE754" target="https://ieeexplore.ieee.org/document/8766229">
          <front>
            <title>IEEE Standard for Floating-Point Arithmetic</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date/>
          </front>
          <seriesInfo name="IEEE Std" value="754-2019"/>
          <seriesInfo name="DOI" value="10.1109/IEEESTD.2019.8766229"/>
        </reference>
        <reference anchor="RFC7322" target="https://www.rfc-editor.org/info/rfc7322">
          <front>
            <title>RFC Style Guide</title>
            <author fullname="H. Flanagan" initials="H." surname="Flanagan">
              <organization/>
            </author>
            <author fullname="S. Ginoza" initials="S." surname="Ginoza">
              <organization/>
            </author>
            <date month="September" year="2014"/>
            <abstract>
              <t>This document describes the fundamental and unique style conventions and editorial policies currently in use for the RFC Series.  It captures the RFC Editor's basic requirements and offers guidance regarding the style and structure of an RFC.  Additional guidance is captured on a website that reflects the experimental nature of that guidance and prepares it for future inclusion in the RFC Style Guide.  This document obsoletes RFC 2223, "Instructions to RFC Authors".</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7322"/>
          <seriesInfo name="DOI" value="10.17487/RFC7322"/>
        </reference>
        <reference anchor="I-D.ietf-cose-rfc8152bis-struct" target="https://www.ietf.org/archive/id/draft-ietf-cose-rfc8152bis-struct-15.txt">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="Jim Schaad">
              <organization>August Cellars</organization>
            </author>
            <date day="1" month="February" year="2021"/>
            <abstract>
              <t>   Concise Binary Object Representation (CBOR) is a data format designed
   for small code size and small message size.  There is a need for the
   ability to have basic security services defined for this data format.
   This document defines the CBOR Object Signing and Encryption (COSE)
   protocol.  This specification describes how to create and process
   signatures, message authentication codes, and encryption using CBOR
   for serialization.  This specification additionally describes how to
   represent cryptographic keys using CBOR.

   This document along with [I-D.ietf-cose-rfc8152bis-algs] obsoletes
   RFC8152.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-rfc8152bis-struct-15"/>
        </reference>
        <reference anchor="I-D.ietf-cose-rfc8152bis-algs" target="https://www.ietf.org/archive/id/draft-ietf-cose-rfc8152bis-algs-12.txt">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="Jim Schaad">
              <organization>August Cellars</organization>
            </author>
            <date day="24" month="September" year="2020"/>
            <abstract>
              <t>   Concise Binary Object Representation (CBOR) is a data format designed
   for small code size and small message size.  There is a need for the
   ability to have basic security services defined for this data format.
   THis document defines a set of algorithms that can be used with the
   CBOR Object Signing and Encryption (COSE) protocol RFC XXXX.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-rfc8152bis-algs-12"/>
        </reference>
        <reference anchor="RFC7519" target="https://www.rfc-editor.org/info/rfc7519">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones">
              <organization/>
            </author>
            <author fullname="J. Bradley" initials="J." surname="Bradley">
              <organization/>
            </author>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura">
              <organization/>
            </author>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties.  The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund">
              <organization/>
            </author>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols.  This document describes the syntax and semantics of version 1.1 of the YANG language.  YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification.  There are a small number of backward incompatibilities from YANG version 1.  This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC6241" target="https://www.rfc-editor.org/info/rfc6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns">
              <organization/>
            </author>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund">
              <organization/>
            </author>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder">
              <organization/>
            </author>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman">
              <organization/>
            </author>
            <date month="June" year="2011"/>
            <abstract>
              <t>The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices.  It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages.  The NETCONF protocol operations are realized as remote procedure calls (RPCs).  This document obsoletes RFC 4741.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6241"/>
          <seriesInfo name="DOI" value="10.17487/RFC6241"/>
        </reference>
        <reference anchor="RFC7951" target="https://www.rfc-editor.org/info/rfc7951">
          <front>
            <title>JSON Encoding of Data Modeled with YANG</title>
            <author fullname="L. Lhotka" initials="L." surname="Lhotka">
              <organization/>
            </author>
            <date month="August" year="2016"/>
            <abstract>
              <t>This document defines encoding rules for representing configuration data, state data, parameters of Remote Procedure Call (RPC) operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7951"/>
          <seriesInfo name="DOI" value="10.17487/RFC7951"/>
        </reference>
        <reference anchor="I-D.trammell-rains-protocol" target="https://www.ietf.org/archive/id/draft-trammell-rains-protocol-05.txt">
          <front>
            <title>RAINS (Another Internet Naming Service) Protocol Specification</title>
            <author fullname="Brian Trammell">
              <organization>ETH Zurich</organization>
            </author>
            <author fullname="Christian Fehlmann">
              <organization>ETH Zurich</organization>
            </author>
            <date day="29" month="January" year="2019"/>
            <abstract>
              <t>   This document defines an alternate protocol for Internet name
   resolution, designed as a prototype to facilitate conversation about
   the evolution or replacement of the Domain Name System protocol.  It
   attempts to answer the question: "how would we design DNS knowing
   what we do now," on the background of a set of properties of an
   idealized Internet naming service.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-trammell-rains-protocol-05"/>
        </reference>
        <reference anchor="RFC8943" target="https://www.rfc-editor.org/info/rfc8943">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags for Date</title>
            <author fullname="M. Jones" initials="M." surname="Jones">
              <organization/>
            </author>
            <author fullname="A. Nadalin" initials="A." surname="Nadalin">
              <organization/>
            </author>
            <author fullname="J. Richter" initials="J." surname="Richter">
              <organization/>
            </author>
            <date month="November" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR), as specified in RFC 7049, 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. </t>
              <t>In CBOR, one point of extensibility is the definition of CBOR tags. RFC 7049 defines two tags for time: CBOR tag 0 (date/time string as per RFC 3339) and tag 1 (POSIX "seconds since the epoch"). Since then, additional requirements have become known. This specification defines a CBOR tag for a date text string (as per RFC 3339) for applications needing a textual date representation within the Gregorian calendar without a time. It also defines a CBOR tag for days since the date 1970-01-01 in the Gregorian calendar for applications needing a numeric date representation without a time. This specification is the reference document for IANA registration of the CBOR tags defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8943"/>
          <seriesInfo name="DOI" value="10.17487/RFC8943"/>
        </reference>
        <reference anchor="I-D.clarke-cbor-crs" target="https://www.ietf.org/archive/id/draft-clarke-cbor-crs-02.txt">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tag for Coordinate Reference System (CRS) Specification</title>
            <author fullname="Trevor R.H. Clarke">
              <organization>Ball Aerospace and Technologies Corp.</organization>
            </author>
            <date day="17" month="March" year="2020"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, RFC 7049) 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.

   In CBOR, one point of extensibility is the definition of CBOR tags.
   An existing CBOR tag, 103, allows for the representation of
   geographic coordinates.  Proper exploitation of geographic
   coordinates requires an associated reference frame.  The present
   document defines a CBOR tag for referencing the coordinate reference
   system (CRS) for a geographic coordinate.  It is intended as the
   reference document for the IANA registration of the CBOR tag defined.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-clarke-cbor-crs-02"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>(Many, TBD)</t>
      <!--  LocalWords:  CBOR extensibility IANA uint sint IEEE endian
 -->
<!--  LocalWords:  signedness endianness
 -->

</section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="P." surname="Occil" fullname="Peter Occil">
        <organization/>
        <address>
          <email>poccil14 at gmail dot com</email>
        </address>
      </contact>
      <t>Peter Occil registered tags 30, 264, 265, 268-270
(<xref target="advanced-arithmetic"/>), 38, 257, 266 and 267
(<xref target="domain-specific"/>), and contributed much of the text about
these tags in this document.</t>
      <contact initials="D." surname="Coutts" fullname="Duncan Coutts">
        <organization/>
        <address>
          <email>duncan@well-typed.com</email>
        </address>
      </contact>
      <contact initials="M. P." surname="Jones" fullname="Michael Peyton Jones">
        <organization/>
        <address>
          <email>me@michaelpj.com</email>
        </address>
      </contact>
      <contact initials="J." surname="Doe" fullname="Jane Doe">
        <organization>To do</organization>
        <address>
      </address>
      </contact>
      <t>Further contributors will be listed here as text is added.</t>
      <t>Plase stay tuned.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
DEF5FVwVinim3NlOnsSv8vT/B2dI0lH9jQAA

-->

</rfc>
