<?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.4 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-href-14" category="std" consensus="true" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.19.0 -->
  <front>
    <title>Constrained Resource Identifiers</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-core-href-14"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann" role="editor">
      <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>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization>Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <date year="2024" month="January" day="10"/>
    <workgroup>CoRE Working Group</workgroup>
    <abstract>
      <?line 82?>

<t>The Constrained Resource Identifier (CRI) is a complement to the Uniform
Resource Identifier (URI) that represents the URI components in Concise
Binary Object Representation (CBOR) instead of a sequence of characters.
This simplifies parsing, comparison, and reference resolution in
environments with severe limitations on processing power, code size, and
memory size.</t>
      <t><cref anchor="status">(This "cref" paragraph will be removed by the RFC editor:)<br/>
The present revision –14 of this draft picks up comments from the
shepherd review and adds sections on CoAP integration and on <tt>cri</tt>
application-oriented literals for the Extended Diagnostic
Notation.<br/>
This revision still contains open issues and is intended to serve
as a snapshot while the processing of the shepherd review is being
completed.</cref></t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-core-href/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Constrained RESTful Environments Working Group mailing list (<eref target="mailto:core@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/core/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/core-wg/href"/>.</t>
    </note>
  </front>
  <middle>
    <?line 103?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The <xref target="RFC3986">Uniform Resource Identifier (URI)</xref> and its most common
usage, the URI reference, are the Internet standard for linking to
resources in hypertext formats such as <xref target="W3C.REC-html52-20171214">HTML</xref>
or the <xref target="RFC8288">HTTP "Link" header field</xref>.</t>
      <t>A URI reference is a sequence of characters chosen from the repertoire
of US-ASCII characters.
The individual components of a URI reference are delimited by a number
of reserved characters, which necessitates the use of a character escape
mechanism called "percent-encoding" when these reserved characters are
used in a non-delimiting function.
The resolution of URI references involves parsing a character sequence
into its components, combining those components with the components of a
base URI, merging path components, removing dot-segments, and
recomposing the result back into a character sequence.</t>
      <t>Overall, the proper handling of URI references is quite intricate.
This can be a problem especially in <xref target="RFC7228">constrained environments</xref>,
where nodes often have severe code size and memory size limitations.
As a result, many implementations in such environments support only an
ad-hoc, informally-specified, bug-ridden, non-interoperable subset of
half of <xref target="RFC3986"/>.</t>
      <t>This document defines the <em>Constrained Resource Identifier (CRI)</em> by
constraining URIs to a simplified subset and representing their
components in <xref target="RFC8949">Concise Binary Object Representation (CBOR)</xref>
instead of a sequence of characters.
This allows typical operations on URI references such as parsing,
comparison, and reference resolution (including all corner cases) to be
implemented in a comparatively small amount of code.</t>
      <t>As a result of simplification, however, CRIs are not capable of
expressing all URIs permitted by the generic syntax of <xref target="RFC3986"/> (hence
the "constrained" in "Constrained Resource Identifier").
The supported subset includes all URIs of the
<xref target="RFC7252">Constrained Application Protocol (CoAP)</xref>, most URIs of the
<xref target="RFC9110">Hypertext Transfer Protocol (HTTP)</xref>,
<xref target="RFC8141">Uniform Resource Names (URNs)</xref>, and other similar URIs.
The exact constraints are defined in <xref target="constraints"/>.</t>
      <section anchor="notational-conventions">
        <name>Notational Conventions</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>In this specification, the term "byte" is used in its now customary
sense as a synonym for "octet".</t>
        <t>Terms defined in this document appear in <em>cursive</em> where they
are introduced (rendered in plain text as the new term surrounded by
underscores).</t>
      </section>
    </section>
    <section anchor="constraints">
      <name>Constraints</name>
      <t>A Constrained Resource Identifier consists of the same five components
as a URI: scheme, authority, path, query, and fragment.
The components are subject to the following constraints:</t>
      <ol spacing="normal" type="C%d."><li anchor="c-scheme">
          <t>The scheme name can be any Unicode string (see
Definition D80 in <xref target="Unicode"/>) that matches the syntax of a URI
scheme (see <xref section="3.1" sectionFormat="of" target="RFC3986"/>, which constrains schemes to
ASCII) and is lowercase (see Definition D139 in <xref target="Unicode"/>).
The scheme is always present.</t>
        </li>
        <li anchor="c-authority">
          <t>An authority is always a host identified by an IP
address or registered name, along with optional port information,
and optionally preceded by user information.  </t>
          <t>
Alternatively, the authority can be absent; the two cases for this
defined in <xref section="3.3" sectionFormat="of" target="RFC3986"/> are modeled by two different
values used in place of an absent authority:  </t>
          <ul spacing="normal">
            <li>
              <t>the path can be root-based (zero or more path components that are
each started in the URI with "/", as when the authority is
present), or</t>
            </li>
            <li>
              <t>the path can be rootless, which requires at least one path component.</t>
            </li>
          </ul>
          <t>
(Note that, in <xref target="cddl"/>, <tt>no-authority</tt> is marked as a feature, as
not all CRI implementations will support authority-less URIs.)</t>
        </li>
        <li anchor="c-userinfo">
          <t>A userinfo is a text string built out of unreserved
  characters (<xref section="2.3" sectionFormat="of" target="RFC3986"/>) or "sub-delims" (<xref section="2.2" sectionFormat="of" target="RFC3986"/>); any other character needs to be percent-encoded (<xref target="pet"/>).
Note that this excludes the ":" character, which is commonly
deprecated as a way to delimit a cleartext password in a userinfo.</t>
        </li>
        <li anchor="c-ip-address">
          <t>An IP address can be either an IPv4 address or an
IPv6 address, optionally with a zone identifier <xref target="RFC6874"/>.
Future versions of IP are not supported (it is likely that a binary
mapping would be strongly desirable, and that cannot be designed
ahead of time, so these versions need to be added as a future
extension if needed).</t>
        </li>
        <li anchor="c-reg-name">
          <t>A registered name is a sequence of one or more
<em>labels</em>, which, when joined with dots (".") in between them,
result in a Unicode string that is lowercase and in Unicode
Normalization Form C (NFC) (see Definition D120 in <xref target="Unicode"/>).
(The syntax may be further restricted by the scheme.
As per <xref section="3.2.2" sectionFormat="of" target="RFC3986"/>, a registered name can be empty, for
which case a scheme can define a default for the host.)</t>
        </li>
        <li anchor="c-port-range">
          <t>A port is always an integer in the range from 0 to 65535.
Ports outside this range, empty ports (port subcomponents with no
digits, see <xref section="3.2.3" sectionFormat="of" target="RFC3986"/>), or ports with redundant
leading zeros, are not supported.</t>
        </li>
        <li anchor="c-port-omitted">
          <t>The port is omitted if and only if the port would be the same as the
scheme's default port (provided the scheme is defining such a default
port) or the scheme is not using ports.
<!-- Note that this is hard to do by a generic URI implementation
that may not know the scheme's default port -->
          </t>
        </li>
        <li anchor="c-path">
          <t>A path consists of zero or more path segments.
Note that a path of just a single zero-length path segment is allowed —
this is considered equivalent to a path of zero path segments by
HTTP and CoAP, but this equivalence does not hold for CRIs in general as they only perform
normalization on the Syntax-Based Normalization level (<xref section="6.2.2" sectionFormat="of" target="RFC3986"/>), not on the scheme-specific Scheme-Based
Normalization level (<xref section="6.2.3" sectionFormat="of" target="RFC3986"/>).  </t>
          <t>
(A CRI implementation may want to offer scheme-cognizant
interfaces, performing this scheme-specific normalization for
schemes it knows.  The interface could assert which schemes the
implementation knows and provide pre-normalized CRIs.  This can
also relieve the application from removing a lone zero-length path
segment before putting path segments into CoAP Options, i.e., from
performing the check and jump in item 8 of <xref section="6.4" sectionFormat="of" target="RFC7252"/>.  See also <xref format="counter" target="sp-initial-empty"/> in <xref target="the-small-print"/>.)</t>
        </li>
        <li anchor="c-path-segment">
          <t>A path segment can be any Unicode string that is
in NFC, with the exception of the special "." and ".." complete path
segments.
Note that this includes the zero-length string.  </t>
          <t>
If no authority is present in a CRI, the leading path segment cannot be empty.
(See also <xref format="counter" target="sp-initial-empty"/> in <xref target="the-small-print"/>.)</t>
        </li>
        <li anchor="c-query">
          <t>A query always consists of one or more query parameters.
   A query parameter can be any Unicode string that is in NFC.
   It is often in the form of a "key=value" pair.
   When converting a CRI to a URI, query parameters are separated by an
   ampersand ("&amp;") character.
   (This matches the structure and encoding of the target URI in CoAP
   requests.)
   Queries are optional; there is a difference between an absent query
   and a single query parameter that is the empty string.</t>
        </li>
        <li anchor="c-fragment">
          <t>A fragment identifier can be any Unicode string that
   is in NFC.
   Fragment identifiers are optional; there is a difference between an
   absent fragment identifier and a fragment identifier that is the
   empty string.</t>
        </li>
        <li anchor="c-escaping">
          <t>The syntax of registered names, path segments, query
   parameters, and fragment identifiers may be further restricted and
   sub-structured by the scheme.
   There is no support, however, for escaping sub-delimiters
   that are not intended to be used in a delimiting function.</t>
        </li>
        <li anchor="c-mapping">
          <t>When converting a CRI to a URI, any character that is
   outside the allowed character range or is a delimiter in the URI syntax
   is percent-encoded.
   For CRIs, percent-encoding always uses the UTF-8 encoding form (see
   Definition D92 in <xref target="Unicode"/>) to convert the character to a sequence
   of bytes (that is then converted to a sequence of %HH triplets).
   <!-- As per 3986 2.1, use uppercase hex. -->
          </t>
        </li>
      </ol>
      <t>Examples for URIs at or beyond the boundaries of these constraints are in <xref format="counter" target="sp-constraints"/> in <xref target="the-small-print"/>.</t>
      <section anchor="constraints-not-expressed-by-the-data-model">
        <name>Constraints not expressed by the data model</name>
        <t>There are syntactically valid CRIs and CRI references that cannot be converted into a URI or URI reference, respectively.</t>
        <t>For CRI references, this is acceptable -- they can be resolved still and result in a valid CRI that can be converted back.
Examples of this are:</t>
        <ul spacing="normal">
          <li>
            <t><tt>[0, ["p"]]</tt>: appends a slash and the path segment "p" to its base
(and unsets the query and the fragment)</t>
          </li>
          <li>
            <t><tt>[0, null, []]</tt>: leaves the path alone but unsets the query and the fragment</t>
          </li>
        </ul>
        <t>(Full) CRIs that do not correspond to a valid URI are not valid on their own, and cannot be used.
Normatively they are characterized by the <xref target="cri-to-uri"/> process producing a valid and syntax-normalized URI.
For easier understanding, they are listed here:</t>
        <ul spacing="normal">
          <li>
            <t>CRIs (and CRI references) containing a path component "." or "..".  </t>
            <t>
These would be removed by the remove_dot_segments algorithm of <xref target="RFC3986"/>,
and thus never produce a normalized URI after resolution.  </t>
            <t>
(In CRI references, the <tt>discard</tt> value is used to afford segment removal,
and with "." being an unreserved character, expressing them as "%2e" and "%2e%2e" is not even viable,
let alone practical).</t>
          </li>
          <li>
            <t>CRIs without authority whose path starts with two or more empty segments.  </t>
            <t>
When converted to URIs, these would violate the requirement that in absence of an authority, a URI's path cannot begin with two slash characters,
and they would be indistinguishable from a URI with a shorter path and a present but empty authority component.</t>
          </li>
          <li anchor="naked-rootless">
            <t>CRIs without authority that are rootless and do not have a path
component (e.g., <tt>["a", true]</tt>), which would be indistinguishable
from its root-based equivalent (<tt>["a"]</tt>) as both would have the URI <tt>a:</tt>.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="creation-and-normalization">
      <name>Creation and Normalization</name>
      <t>In general, resource identifiers are created on the initial creation of a
resource with a certain resource identifier, or the initial exposition
of a resource under a particular resource identifier.</t>
      <t>A Constrained Resource Identifier <bcp14>SHOULD</bcp14> be created by
the naming authority that governs the namespace of the resource
identifier (see also <xref target="RFC8820"/>).
For example, for the resources of an HTTP origin server,
that server is responsible for creating the CRIs for those resources.</t>
      <t>The naming authority <bcp14>MUST</bcp14> ensure that any CRI created
satisfies the constraints defined in <xref target="constraints"/>. The creation of a
CRI fails if the CRI cannot be validated to satisfy all of the
constraints.</t>
      <t>If a naming authority creates a CRI from user input, it <bcp14>MAY</bcp14> apply
the following (and only the following) normalizations to get the CRI
more likely to validate:</t>
      <ul spacing="normal">
        <li>
          <t>map the scheme name to lowercase (<xref format="counter" target="c-scheme"/>);</t>
        </li>
        <li>
          <t>map the registered name to NFC (<xref format="counter" target="c-reg-name"/>) and split it on
embedded dots;</t>
        </li>
        <li>
          <t>elide the port if it is the default port for the scheme
(<xref format="counter" target="c-port-omitted"/>);
<!-- * elide a single zero-length path segment ({{<c-path}}); -->
          </t>
        </li>
        <li>
          <t>map path segments, query parameters and the fragment identifier to
NFC form (<xref format="counter" target="c-path-segment"/>, <xref format="counter" target="c-query"/>, <xref format="counter" target="c-fragment"/>).</t>
        </li>
      </ul>
      <t>Once a CRI has been created, it can be used and transferred without
further normalization.
All operations that operate on a CRI <bcp14>SHOULD</bcp14> rely on the
assumption that the CRI is appropriately pre-normalized.
(This does not contradict the requirement that when CRIs are
transferred, recipients must operate on as-good-as untrusted input and
fail gracefully in the face of malicious inputs.)</t>
    </section>
    <section anchor="comparison">
      <name>Comparison</name>
      <t>One of the most common operations on CRIs is comparison: determining
whether two CRIs are equivalent, without dereferencing the CRIs (using
them to access their respective resource(s)).</t>
      <t>Determination of equivalence or difference of CRIs is based on simple
component-wise comparison. If two CRIs are identical
component-by-component (using code-point-by-code-point comparison for
components that are Unicode strings) then it is safe to conclude that
they are equivalent.</t>
      <t>This comparison mechanism is designed to minimize false negatives while
strictly avoiding false positives.
The constraints defined in <xref target="constraints"/> imply the most
common forms of syntax- and scheme-based normalizations in URIs, but do
not comprise protocol-based normalizations that require accessing the
resources or detailed knowledge of the scheme's dereference algorithm.
False negatives can be caused, for example, by CRIs that are not
appropriately pre-normalized and by resource aliases.</t>
      <t>When CRIs are compared to select (or avoid) a network action, such as
retrieval of a representation, fragment components (if any) should be
excluded from the comparison.</t>
    </section>
    <section anchor="cri-references">
      <name>CRI References</name>
      <t>The most common usage of a Constrained Resource Identifier is to embed
it in resource representations, e.g., to express a hyperlink between the
represented resource and the resource identified by the CRI.</t>
      <t>This section defines the representation of CRIs in
<xref target="RFC8949">Concise Binary Object Representation (CBOR)</xref>.
When reduced representation size is desired, CRIs are not represented directly.
Instead, CRIs are indirectly referenced through <em>CRI references</em>.
These take advantage of hierarchical locality and provide a very compact
encoding.
The CBOR representation of CRI references is specified in
<xref target="cbor-representation"/>.</t>
      <t>The only operation defined on a CRI reference is <em>reference resolution</em>:
the act of transforming a CRI reference into a CRI.
<!-- , relative to a base URI -->
An application <bcp14>MUST</bcp14> implement this operation by applying
the algorithm specified in <xref target="reference-resolution"/> (or any algorithm
that is functionally equivalent to it).</t>
      <t>The reverse operation of transforming a CRI into a CRI reference is
not specified in detail in this document;
implementations are free to use any algorithm as long as reference
resolution of the resulting CRI reference yields the original CRI.
Notably, a CRI reference is not required to satisfy all of the
constraints of a CRI; the only requirement on a CRI reference is that
reference resolution <bcp14>MUST</bcp14> yield the original CRI.</t>
      <t>When testing for equivalence or difference, applications <bcp14>SHOULD NOT</bcp14>
directly compare CRI references; the references should be
resolved to their respective CRI before comparison.</t>
      <section anchor="cbor-representation">
        <name>CBOR Representation</name>
        <t><cref anchor="replace-xxxx">RFC Ed.: throughout this section, please replace
RFC-XXXX with the RFC number of this specification and remove this
note.</cref></t>
        <t>A CRI or CRI reference is encoded as a CBOR array <xref target="RFC8949"/>, with the
structure as described in the <xref target="RFC8610">Concise Data Definition Language
(CDDL)</xref> <xref target="RFC9165">including its control extensions</xref> as follows:</t>
        <figure anchor="cddl">
          <name>CDDL for CRI CBOR representation</name>
          <sourcecode type="cddl"><![CDATA[
; not expressed in this CDDL spec: trailing nulls to be left off

RFC-XXXX-Definitions = [CRI, CRI-Reference]

CRI = [
  scheme,
  authority / no-authority,
  path / null,
  query / null,
  fragment / null
]


CRI-Reference = [
  ((scheme / null, authority / no-authority)
   // discard),                 ; relative reference
  path / null,
  query / [] / null,            ; [] is explicit unset
  fragment / null
]

scheme      = scheme-name / scheme-id
scheme-name = text .regexp "[a-z][a-z0-9+.-]*"
scheme-id   = nint

no-authority = NOAUTH-ROOTBASED / NOAUTH-ROOTLESS
NOAUTH-ROOTBASED = null .feature "no-authority"
NOAUTH-ROOTLESS = true .feature "no-authority"

authority   = [?userinfo, host, ?port]
userinfo    = (false, text .feature "userinfo")
host        = (host-ip // host-name)
host-name   = (*text) ; lowercase, NFC labels
host-ip     = (bytes .size 4 //
               (bytes .size 16, ?zone-id))
zone-id     = text
port        = 0..65535

discard     = DISCARD-ALL / 0..127
DISCARD-ALL = true
path        = [*text]
query       = [+text]
fragment    = text

]]></sourcecode>
        </figure>
        <t>The rules <tt>scheme</tt>, <tt>authority</tt>, <tt>path</tt>, <tt>query</tt>, <tt>fragment</tt>
correspond to the (sub‑)components of a CRI, as described in
<xref target="constraints"/>, with the addition of the <tt>discard</tt> section.</t>
        <t anchor="prose">This CDDL specification is simplified for exposition and needs to be
augmented by the following rules for interchange of CRIs and CRI
references:</t>
        <ul spacing="normal">
          <li>
            <t>Trailing null values <bcp14>MUST</bcp14> be removed,</t>
          </li>
          <li>
            <t>two leading null values (scheme and authority both not given) <bcp14>MUST</bcp14>
be represented by using the <tt>discard</tt> alternative instead, and</t>
          </li>
          <li>
            <t>an empty path in a <tt>CRI</tt> <bcp14>MUST</bcp14> be represented as the empty array <tt>[]</tt>
(note that for <tt>CRI-Reference</tt> there is a difference between empty
and absent paths, represented by <tt>[]</tt> and <tt>null</tt>, respectively),</t>
          </li>
          <li>
            <t>an entirely empty outer array is not a valid CRI (but a valid CRI reference,
as per <xref target="ingest"/> equivalent to <tt>[0]</tt>, which essentially copies the
base CRI).</t>
          </li>
        </ul>
        <t>For interchange as separate encoded data items, CRIs <bcp14>MUST NOT</bcp14> use
indefinite length encoding (see
<xref section="3.2" sectionFormat="of" target="RFC8949"/>); this requirement is relaxed for
specifications that embed CRIs into an encompassing CBOR
representation that does provide for indefinite length encoding.</t>
        <section anchor="the-discard-section">
          <name>The <tt>discard</tt> Section</name>
          <t>The <tt>discard</tt> section can be used in a CRI reference when neither a
scheme nor an authority is present.
It then expresses the operations performed on a base CRI by CRI references that
are equivalent to URI references with relative paths and path prefixes such as "/", "./", "../", "../../", etc.
"." and ".." are not available in CRIs and are therefore expressed
using <tt>discard</tt> after a normalization step, as is the presence or absence of a leading "/".</t>
          <t>E.g., a simple URI reference "foo" specifies to remove one leading segment
from the base URI's path, which is represented in the equivalent CRI
reference discard section as the value <tt>1</tt>; similarly "../foo" removes
two leading segments, represented as <tt>2</tt>;
and "/foo" removes all segments, represented in the <tt>discard</tt> section as the value <tt>true</tt>.
The exact semantics of the section values are defined by
<xref target="reference-resolution"/>.</t>
          <t>Most URI references that <xref section="4.2" sectionFormat="of" target="RFC3986"/> calls "relative
references" (i.e., references that need to undergo a resolution
process to obtain a URI) correspond to the CRI reference form that starts with
<tt>discard</tt>.  The exception are relative references with an <tt>authority</tt>
(called a "network-path reference" in <xref section="4.2" sectionFormat="of" target="RFC3986"/>), which
discard the entire path of the base CRI.
These CRI references never carry a <tt>discard</tt> section: the value of
<tt>discard</tt> defaults to <tt>true</tt>.</t>
        </section>
        <section anchor="visualization">
          <name>Visualization</name>
          <t>The structure of a CRI reference is visualized using the somewhat limited means
of a railroad diagram:</t>
          <artset>
            <artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 530 360">
                <g transform="translate(40 50)">
                  <text x="-30" y="-10">cri-reference:</text>
                  <path class="station" d="M5.5 14 v12 m 4 0 v-12" fill="none" stroke="black" stroke-width="1.5"/>
                  <path class="station" d="M400.5 14 v12 m 4 0 v-12" fill="none" stroke="black" stroke-width="1.5"/>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="70" x="60" y="10"/>
                  <text class="rule" text-anchor="middle" x="95" y="25">scheme</text>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="90" x="150" y="10"/>
                  <text class="rule" text-anchor="middle" x="195" y="25">authority</text>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="70" x="115" y="40"/>
                  <text class="rule" text-anchor="middle" x="150" y="55">discard</text>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="90" x="290" y="10"/>
                  <text class="rule" text-anchor="middle" x="335" y="25">local-part</text>
                  <path d="M260 30 v10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M185 50 h65 q10 0 10 -10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M40 40 q0 10 10 10 h65" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M260 30 q0 -10 10 -10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M240 20 h50" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M130 20 h20" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M30 20 q10 0 10 10 v10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M380 20 h20" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M10 20 h50" fill="none" stroke="black" stroke-width="1.5"/>
                </g>
                <g transform="translate(40 160)">
                  <text x="-30" y="-10">local-part:</text>
                  <path class="station" d="M5.5 74 v12 m 4 0 v-12" fill="none" stroke="black" stroke-width="1.5"/>
                  <path class="station" d="M460.5 74 v12 m 4 0 v-12" fill="none" stroke="black" stroke-width="1.5"/>
                  <path class="arrow" d="M237 10 l-4 3 v-6 z" fill="none" stroke="black" stroke-width="1.5"/>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="50" x="60" y="70"/>
                  <text class="rule" text-anchor="middle" x="85" y="85">path</text>
                  <path class="arrow" d="M272 30 l-4 3 v-6 z" fill="none" stroke="black" stroke-width="1.5"/>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="50" x="160" y="70"/>
                  <text class="rule" text-anchor="middle" x="185" y="85">query</text>
                  <path class="arrow" d="M307 50 l-4 3 v-6 z" fill="none" stroke="black" stroke-width="1.5"/>
                  <rect class="rule" fill="none" height="20" rx="0" ry="0" stroke="black" stroke-width="1.5" width="90" x="260" y="70"/>
                  <text class="rule" text-anchor="middle" x="305" y="85">fragment</text>
                  <path d="M40 20 v50" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M430 70 q0 10 10 10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M140 40 v30" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M400 70 q0 10 10 10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M240 60 v10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M370 70 q0 10 10 10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M350 80 h110" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M230 80 q10 0 10 -10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M240 60 q0 -10 10 -10 h110 q10 0 10 10 v10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M210 80 h50" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M130 80 q10 0 10 -10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M140 40 q0 -10 10 -10 h240 q10 0 10 10 v30" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M110 80 h50" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M30 80 q10 0 10 -10" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M40 20 q0 -10 10 -10 h370 q10 0 10 10 v50" fill="none" stroke="black" stroke-width="1.5"/>
                  <path d="M10 80 h50" fill="none" stroke="black" stroke-width="1.5"/>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[cri-reference:
    │├──╮── scheme ── authority ──╭── local-part ──┤│
        │                         │
        ╰──────── discard ────────╯

local-part:
        ╭─────────────────────>─────────────────────╮
        │                                           │
        │          ╭──────────────>──────────────╮  │
        │          │                             │  │
        │          │           ╭──────>───────╮  │  │
        │          │           │              │  │  │
    │├──╯── path ──╯── query ──╯── fragment ──╰──╰──╰──┤│

]]></artwork>
          </artset>
          <t>This visualization does not go into the details of the elements.</t>
        </section>
        <section anchor="examples">
          <name>Examples</name>
          <sourcecode type="cbor-diag"><![CDATA[
[-1,             / scheme -- equivalent to "coap" /
 [h'C6336401',   / host /
  61616],        / port /
 [".well-known", / path /
  "core"]
]
]]></sourcecode>
          <sourcecode type="cbor-diag"><![CDATA[
[true,                  / discard /
 [".well-known",        / path /
  "core"],
 ["rt=temperature-c"]]  / query /
]]></sourcecode>
          <sourcecode type="cbor-diag"><![CDATA[
[-6,             / scheme -- equivalent to "did" /
 true,           / authority = NOAUTH-ROOTLESS /
 ["web:alice:bob"] / path /
]
]]></sourcecode>
        </section>
        <section anchor="specific-terminology">
          <name>Specific Terminology</name>
          <t>A CRI reference is considered <em>well-formed</em> if it matches the
structure as expressed in <xref target="cddl"/> in CDDL, with the additional
requirement that trailing <tt>null</tt> values are removed from the array.</t>
          <t>A CRI reference is considered <em>absolute</em> if it is well-formed
and the sequence of sections starts with a non-null <tt>scheme</tt>.</t>
          <t>A CRI reference is considered <em>relative</em> if it is well-formed
and the sequence of sections is empty or starts with a section other
than those that would constitute a <tt>scheme</tt>.</t>
        </section>
      </section>
      <section anchor="ingest">
        <name>Ingesting and encoding a CRI Reference</name>
        <t>From an abstract point of view, a CRI Reference is a data structure
with six sections:</t>
        <t>scheme, authority, discard, path, query, fragment</t>
        <t>Each of these sections can be unset ("null"),
<!-- "not defined" in RFC 3986 -->
except for discard,
which is always an unsigned integer or <tt>true</tt>.  If scheme and/or
authority are non-null, discard must be <tt>true</tt>.</t>
        <t>When ingesting a CRI Reference that is in the transfer form, those
sections are filled in from the transfer form (unset sections are
filled with null), and the following steps are performed:</t>
        <ul spacing="normal">
          <li>
            <t>If the array is entirely empty, replace it with <tt>[0]</tt>.</t>
          </li>
          <li>
            <t>If discard is present in the transfer form (i.e., the outer array
starts with true or an unsigned integer), set scheme and authority to null.</t>
          </li>
          <li>
            <t>If scheme and/or authority are present in the transfer form (i.e.,
the outer array starts with null, a text string, or a negative integer), set
discard to <tt>true</tt>.</t>
          </li>
        </ul>
        <t>Upon encoding the abstract form into the transfer form, the inverse
processing is performed:  If scheme and/or authority are not null, the
discard value is not transferred (it must be true in this case).  If
they are both null, they are both left out and only discard is
transferred.
Trailing null values are removed from the array.
As a special case, an empty array is sent in place for a remaining
<tt>[0]</tt> (URI "").</t>
        <section anchor="unprocessable">
          <name>Error handling and extensibility</name>
          <t>It is recommended that specifications that describe the use of CRIs in CBOR-based protocols
use the error handling mechanisms outlined in this section.
Implementations of this document <bcp14>MUST</bcp14> adhere to these rules
unless the containing document overrides them.</t>
          <t>When encountering a CRI that is well-formed in terms of CBOR, but that</t>
          <ul spacing="normal">
            <li>
              <t>is not well-formed as a CRI,</t>
            </li>
            <li>
              <t>does not meet the other requirements on CRIs that are not covered by
the term "well-formed", or</t>
            </li>
            <li>
              <t>uses features not supported by the implementation,</t>
            </li>
          </ul>
          <t>the CRI is treated as "unprocessable".</t>
          <t>When encountering an unprocessable CRI,
the processor skips the entire CRI top-level array, including any CBOR
items contained in there,
and continues processing the CBOR items surrounding the unprocessable CRI.
(Note: this skipping can be implemented in bounded memory for CRIs
that do not use indefinite length encoding, as mandated in
<xref target="cbor-representation"/>.)</t>
          <t>The unprocessable CRI is treated as an opaque identifier
that is distinct from all processable CRIs,
and distinct from all unprocessable CRIs with different CBOR representations.
It is up to implementation whether unprocessable CRIs with identical representations
are treated as identical to each other or not.
Unprocessable CRIs can not be dereferenced,
and it is an error to query any of their components.</t>
          <t>This mechanism ensures that CRI extensions
(using originally defined features or later extensions)
can be used without extending the compatibility hazard to the containing document.
For example,
if a collection of possible interaction targets contains several CRIs,
some of which use the "no-authority" feature,
an application consuming that collection that does not support that
feature can still offer the supported interaction targets.</t>
          <t>The duty of checking validity is with the recipients that rely on this
validity.
An intermediary that does not use the detailed information in a CRI
(or merely performs reference resolution) <bcp14>MAY</bcp14> pass on a CRI/CRI
reference without having fully checked it, relying on the producer
having generated a valid CRI/CRI reference.
This is true for both basic CRIs (e.g., checking for valid UTF-8) and
for extensions (e.g., checking both for valid UTF-8 and the minimal
use of PET elements in extended-cris as per <xref target="pet"/>).</t>
        </section>
      </section>
      <section anchor="reference-resolution">
        <name>Reference Resolution</name>
        <t>The term "relative" implies that a "base CRI" exists against which the
relative reference is applied. Aside from fragment-only references,
relative references are only usable when a base CRI is known.</t>
        <t>The following steps define the process of resolving any well-formed CRI
reference against a base CRI so that the result is a CRI in the form of
an absolute CRI reference:</t>
        <ol spacing="normal" type="1"><li>
            <t>Establish the base CRI of the CRI reference and express it in the
  form of an abstract absolute CRI reference.</t>
          </li>
          <li>
            <t>Initialize a buffer with the sections from the base CRI.</t>
          </li>
          <li>
            <t>If the value of discard is <tt>true</tt> in the CRI reference (which is
implicitly the case when scheme and/or authority are present in the reference), replace the
path in the buffer with the empty array, unset query and
fragment, and set a <tt>true</tt> authority to <tt>null</tt>.  If the value of
discard is an unsigned integer, remove as many elements
from the end of the path array; if it is non-zero, unset query and
fragment.  </t>
            <t>
Set discard to <tt>true</tt> in the buffer.</t>
          </li>
          <li>
            <t>If the path section is set in the CRI reference, append all
elements from the path array to the array in the path section in
the buffer; unset query and fragment.</t>
          </li>
          <li>
            <t>Apart from the path and discard, copy all non-null sections from
the CRI reference to the buffer in sequence; unset query in the buffer if query
is the empty array <tt>[]</tt> in the CRI reference; unset fragment in the buffer if
query is non-null in the CRI reference.</t>
          </li>
          <li>
            <t>Return the sections in the buffer as the resolved CRI.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="relationship-between-cris-uris-and-iris">
      <name>Relationship between CRIs, URIs, and IRIs</name>
      <t>CRIs are meant to replace both <xref target="RFC3986">Uniform Resource Identifiers (URIs)</xref>
and <xref target="RFC3987">Internationalized Resource Identifiers (IRIs)</xref>
in <xref target="RFC7228">constrained environments</xref>.
Applications in these environments may never need to use URIs and IRIs
directly, especially when the resource identifier is used simply for
identification purposes or when the CRI can be directly converted into a
CoAP request.</t>
      <t>However, it may be necessary in other environments to determine the
associated URI or IRI of a CRI, and vice versa. Applications can perform
these conversions as follows:</t>
      <dl newline="true">
        <dt>CRI to URI</dt>
        <dd>
          <t>A CRI is converted to a URI as specified in <xref target="cri-to-uri"/>.</t>
        </dd>
        <dt>URI to CRI</dt>
        <dd>
          <t>The method of converting a URI to a CRI is unspecified;
implementations are free to use any algorithm as long as converting
the resulting CRI back to a URI yields an equivalent URI.
</t>
          <t>Note that CRIs are defined to enable implementing conversions from
or to URIs analogously to processing URIs into CoAP Options and
back, with the exception that item 8 of <xref section="6.4" sectionFormat="of" target="RFC7252"/>
and item 7 of <xref section="6.5" sectionFormat="of" target="RFC7252"/> do not apply to CRI processing.
See <xref format="counter" target="sp-initial-empty"/> in <xref target="the-small-print"/> for more details.</t>
        </dd>
        <dt>CRI to IRI</dt>
        <dd>
          <t>A CRI can be converted to an IRI by first converting it to a URI as
specified in <xref target="cri-to-uri"/>, and then converting the URI
to an IRI as described in <xref section="3.2" sectionFormat="of" target="RFC3987"/>.</t>
        </dd>
        <dt>IRI to CRI</dt>
        <dd>
          <t>An IRI can be converted to a CRI by first converting it to a URI as
described in <xref section="3.1" sectionFormat="of" target="RFC3987"/>, and then
converting the URI to a CRI as described above.</t>
        </dd>
      </dl>
      <!-- What? -->
<t>Everything in this section also applies to CRI references, URI
references, and IRI references.</t>
      <section anchor="cri-to-uri">
        <name>Converting CRIs to URIs</name>
        <t>Applications <bcp14>MUST</bcp14> convert a CRI reference to a URI
reference by determining the components of the URI reference according
to the following steps and then recomposing the components to a URI
reference string as specified in <xref section="5.3" sectionFormat="of" target="RFC3986"/>.</t>
        <dl newline="true">
          <dt>scheme</dt>
          <dd>
            <t>If the CRI reference contains a <tt>scheme</tt> section, the scheme
component of the URI reference consists of the value of that
section, if text (<tt>scheme-name</tt>); or, if a negative integer is given
(<tt>scheme-id</tt>), the lower case scheme name corresponding to the
scheme number as per the CRI Scheme Numbers registry (<xref target="cri-reg"/>).
Otherwise, the scheme component is unset.</t>
          </dd>
          <dt>authority</dt>
          <dd>
            <t>If the CRI reference contains a <tt>host-name</tt> or <tt>host-ip</tt> item, the
authority component of the URI reference consists of a host
subcomponent, optionally followed by a colon (":") character and a
port subcomponent, optionally preceded by a <tt>userinfo</tt> subcomponent.
Otherwise, the authority component is unset.
</t>
            <t>The host subcomponent consists of the value of the <tt>host-name</tt> or
<tt>host-ip</tt> item.</t>
            <t>The <tt>userinfo</tt> subcomponent, if present, is turned into a single
string by
appending a "@".  Otherwise, both the subcomponent and the "@" sign
are omitted.
Any character in the value of the <tt>userinfo</tt> elements that is not in
the set of unreserved characters (<xref section="2.3" sectionFormat="of" target="RFC3986"/>) or
"sub-delims" (<xref section="2.2" sectionFormat="of" target="RFC3986"/>) <bcp14>MUST</bcp14> be
percent-encoded.</t>
            <t>The <tt>host-name</tt> is turned into a single string by joining the
elements separated by dots (".").
Any character in the elements of a <tt>host-name</tt> item that is not in
the set of unreserved characters (<xref section="2.3" sectionFormat="of" target="RFC3986"/>) or
"sub-delims" (<xref section="2.2" sectionFormat="of" target="RFC3986"/>) <bcp14>MUST</bcp14> be
percent-encoded.
If there are dots (".") in such elements, the conversion fails
(percent-encoding is not able to represent such elements, as
normalization would turn the percent-encoding back to the unreserved
character that a dot is.)</t>
            <t anchor="host-ip-to-uri">The value of a <tt>host-ip</tt> item <bcp14>MUST</bcp14> be
represented as a string that matches the "IPv4address" or
"IP-literal" rule (<xref section="3.2.2" sectionFormat="of" target="RFC3986"/>).
Any zone-id is appended to the string, separated by "%25" as
defined in <xref section="2" sectionFormat="of" target="RFC6874"/>, or as specified in a superseding
zone-id specification document <xref target="I-D.carpenter-6man-rfc6874bis"/>; this also leads to a modified
"IP-literal" rule as specified in these documents.</t>
            <t>If the CRI reference contains a <tt>port</tt> item, the port
subcomponent consists of the value of that item in decimal
notation.
Otherwise, the colon (":") character and the port subcomponent are
both omitted.</t>
          </dd>
          <dt>path</dt>
          <dd>
            <t anchor="colon">If the CRI reference contains a <tt>discard</tt> item of value <tt>true</tt>, the
path component is considered <em>rooted</em>.  If it
contains a <tt>discard</tt> item of value <tt>0</tt> and the <tt>path</tt> item is
present, the conversion fails.  If it contains a positive discard
item, the path component is considered <em>unrooted</em> and
prefixed by as many "../" components as the <tt>discard</tt> value minus
one indicates.  If the discard value is <tt>1</tt> and the first element of
the path contains a <tt>:</tt>, the path component is prefixed by "./"
(this avoids the first element to appear as supplying a URI scheme;
compare <tt>path-noscheme</tt> in <xref section="4.2" sectionFormat="of" target="RFC3986"/>).
</t>
            <t>If the discard item is not present and the CRI reference contains an
authority that is <tt>true</tt>, the path component of the URI reference is
considered unrooted.  Otherwise, the path component is considered
rooted.</t>
            <t>If the CRI reference contains one or more <tt>path</tt> items, the path
component is constructed by concatenating the sequence of
representations of these items.  These representations generally
contain a leading slash ("/") character and the value of each item,
processed as discussed below.  The leading slash character is
omitted for the first path item only if the path component is
considered "unrooted".  <!-- A path segment that contains a colon
character (e.g., --> <!-- "this:that") cannot directly be used as
the first such item.  Such a --> <!-- segment MUST be preceded by a
dot-segment (e.g., "./this:that") --> <!-- unless scheme and/or
authority are present. -->
            </t>
            <t>Any character in the value of a <tt>path</tt> item that is not
in the set of unreserved characters or "sub-delims" or a colon
(":") or commercial at ("@") character <bcp14>MUST</bcp14> be
percent-encoded.</t>
            <t>If the authority component is present (not <tt>null</tt> or <tt>true</tt>) and the
path component does not match the "path-abempty" rule (<xref section="3.3" sectionFormat="of" target="RFC3986"/>), the conversion fails.</t>
            <t>If the authority component is not present, but the scheme component
is, and the path component does not match the "path-absolute",
"path-rootless" (authority == <tt>true</tt>) or "path-empty" rule (<xref section="3.3" sectionFormat="of" target="RFC3986"/>), the conversion fails.</t>
            <t>If neither the authority component nor the scheme component are
present, and the path component does not match the "path-absolute",
"path-noscheme" or "path-empty" rule (<xref section="3.3" sectionFormat="of" target="RFC3986"/>), the
conversion fails.</t>
          </dd>
          <dt>query</dt>
          <dd>
            <t>If the CRI reference contains one or more <tt>query</tt> items,
the query component of the URI reference consists of the value of
each item, separated by an ampersand ("&amp;") character.
Otherwise, the query component is unset.
</t>
            <t>Any character in the value of a <tt>query</tt> item that is not
in the set of unreserved characters or "sub-delims" or a colon
(":"), commercial at ("@"), slash ("/") or question mark ("?")
character <bcp14>MUST</bcp14> be percent-encoded.
Additionally, any ampersand character ("&amp;") in the item
value <bcp14>MUST</bcp14> be percent-encoded.</t>
          </dd>
          <dt>fragment</dt>
          <dd>
            <t>If the CRI reference contains a fragment item, the fragment
component of the URI reference consists of the value of that
item.
Otherwise, the fragment component is unset.
</t>
            <t>Any character in the value of a <tt>fragment</tt> item that is
not in the set of unreserved characters or "sub-delims" or a colon
(":"), commercial at ("@"), slash ("/") or question mark ("?")
character <bcp14>MUST</bcp14> be percent-encoded.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="extending">
      <name>Extending CRIs</name>
      <t>CRIs have been designed to relieve implementations operating on CRIs
from string scanning, which both helps constrained implementations and
implementations that need to achieve high throughput.</t>
      <t>The CRI structure described up to this point is termed the <em>Basic CRI</em>.
It should be sufficient for all applications that use the CoAP
protocol, as well as most other protocols employing URIs.</t>
      <t>However, Basic CRIs have one limitation: They do not support URI
components that <em>require</em> percent-encoding (<xref section="2.1" sectionFormat="of" target="RFC3986"/>) to
represent them in the URI syntax, except where that percent-encoding
is used to escape the main delimiter in use.</t>
      <t>E.g., the URI</t>
      <sourcecode type="uri"><![CDATA[
https://alice/3%2f4-inch
]]></sourcecode>
      <t>is represented by the basic CRI</t>
      <sourcecode type="coap-diag"><![CDATA[
[-4, ["alice"], ["3/4-inch"]]
]]></sourcecode>
      <t>However, percent-encoding that is used at the application level is not
supported by basic CRIs:</t>
      <sourcecode type="uri"><![CDATA[
did:web:alice:7%3A1-balun
]]></sourcecode>
      <t>Extended forms of CRIs may be defined to enable these applications.
They will generally extend the potential values of text components of
URIs, such as userinfo, hostnames, paths, queries, and fragments.</t>
      <t>One such extended form is described in the following <xref target="pet"/>.
Consumers of CRIs will generally notice when an extended form is in
use, by finding structures that do not match the CDDL rules given in
<xref target="cddl"/>.
Future definitions of extended forms need to strive to be
distinguishable in their structures from the extended form presented
here as well as other future forms.</t>
      <t>Extensions to CRIs <bcp14>MUST NOT</bcp14> allow indefinite length items.
This provision ensures that recipients of CRIs can deal with unprocessable CRIs
as described in <xref target="unprocessable"/>.</t>
      <section anchor="pet">
        <name>Extended CRI: Accommodating Percent Encoding (PET)</name>
        <t>This section presents a method to represent percent-encoded segments
of userinfo, hostnames, paths, and queries, as well as fragments.</t>
        <t>The four CDDL rules</t>
        <sourcecode type="cddl"><![CDATA[
userinfo    = (false, text .feature "userinfo")
host-name   = (*text)
path        = [*text]
query       = [+text]
fragment    = text
]]></sourcecode>
        <t>are replaced with</t>
        <sourcecode type="cddl"><![CDATA[
userinfo    = (false, text-or-pet .feature "userinfo")
host-name   = (*text-or-pet)
path        = [*text-or-pet]
query       = [+text-or-pet]
fragment    = text-or-pet

text-or-pet = text /
    text-pet-sequence .feature "extended-cri"

; text1 and pet1 alternating, at least one pet1:
text-pet-sequence = [?text1, ((+(pet1, text1), ?pet1) // pet1)]
; pet is percent-encoded bytes
pet1 = bytes .ne ''
text1 = text .ne ""
]]></sourcecode>
        <t>That is, for each of the host-name, path, and query segments, and for
the userinfo and fragment components, an alternate representation is provided
besides a simple text string: a non-empty array of alternating non-blank text and byte
strings, the text strings of which stand for non-percent-encoded text,
while the byte strings retain the special
semantics of percent-encoded text without actually being
percent-encoded.</t>
        <t>The above DID URI can now be represented as:</t>
        <sourcecode type="cbor-diag"><![CDATA[
[-6, true, [["web:alice:7", ':', "1-balun"]]]
]]></sourcecode>
        <t>(Note that, in CBOR diagnostic notation, single quotes delimit
literals for byte strings, double quotes for text strings.)</t>
        <t>To yield a valid <tt>extended-cri</tt>, the use of byte strings <bcp14>MUST</bcp14> be
minimal.
Both the following examples are therefore not valid:</t>
        <sourcecode type="cbor-diag"><![CDATA[
[-6, true, [["web:alice:", '7:', "1-balun"]]]
[-6, true, [["web:alice:7", ':1', "-balun"]]]
]]></sourcecode>
        <t>An algorithm for constructing a valid <tt>text-pet-sequence</tt> might
repeatedly examine the byte sequences in each byte string; if such a
sequence stands for an unreserved ASCII character, or constitutes a
valid UTF-8 character ≥ U+0080, move this character over into a text
string by appending it to the end of the preceding text string,
prepending it to the start of the following text string, or splitting
the byte string and inserting a new text string with this character,
all while preserving the order of the bytes.  (Note that the
properties of UTF-8 make this a simple linear process.)</t>
        <aside>
          <t>Unlike the text elements of a path or a query, which through CoAP's
heritage are designed to be processable element by element, a
text-pet-sequence does not usually produce a semantically meaningful
division into array elements.
This consequence of the flexibility in delimiters offered in URIs is
demonstrated by this example, which structurally singles out the one
':' that is <em>not</em> a delimiter at the application level.
Applications designed for using CRIs will generally avoid using the
extended-cri feature.
Applications using existing URI structures that require
text-pet-sequence elements for their representation typically need
to process them byte by byte.</t>
        </aside>
      </section>
    </section>
    <section anchor="coap-integration">
      <name>CoAP Integration</name>
      <t>This section discusses ways in which CRIs can be used in the context
of the CoAP protocol <xref target="RFC7252"/>.</t>
      <section anchor="converting-between-coap-cris-and-sets-of-coap-options">
        <name>Converting Between CoAP CRIs and Sets of CoAP Options</name>
        <t>This section provides an analogue to Sections <xref target="RFC7252" section="6.4" sectionFormat="bare"/> and <xref target="RFC7252" section="6.5" sectionFormat="bare"/> of <xref target="RFC7252"/>:
Computing a set of CoAP options from a request CRI <xref target="decompose-coap"/> and computing a
request CRI from a set of COAP options <xref target="compose-coap"/>.</t>
        <t>This section makes use of the mapping between CRI scheme ids
and URI scheme names shown in <xref target="scheme-map"/>:</t>
        <table anchor="scheme-map">
          <name>Mapping CRI scheme ids and URI scheme names</name>
          <thead>
            <tr>
              <th align="left">CRI scheme id</th>
              <th align="left">URI scheme</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">-1</td>
              <td align="left">coap</td>
            </tr>
            <tr>
              <td align="left">-2</td>
              <td align="left">coaps</td>
            </tr>
            <tr>
              <td align="left">-7</td>
              <td align="left">coap+tcp</td>
            </tr>
            <tr>
              <td align="left">-8</td>
              <td align="left">coaps+tcp</td>
            </tr>
            <tr>
              <td align="left">-9</td>
              <td align="left">coap+ws</td>
            </tr>
            <tr>
              <td align="left">-10</td>
              <td align="left">coaps+ws</td>
            </tr>
          </tbody>
        </table>
        <section anchor="decompose-coap">
          <name>Decomposing a Request CRI into a set of CoAP Options</name>
          <t>The steps to parse a request's options from a CRI »cri« are as
   follows.  These steps either result in zero or more of the Uri-Host,
   Uri-Port, Uri-Path, and Uri-Query Options being included in the
   request or they fail.</t>
          <t>Where the following speaks of deriving a text-string for a CoAP Option
value from a data item in the CRI, the presence of any
<tt>text-pet-sequence</tt> subitem (<xref target="pet"/>) in this item fails this algorithm.</t>
          <ol spacing="normal" type="1"><li>
              <t>If »cri« is not an absolute CRI reference, then fail this
algorithm.</t>
            </li>
            <li>
              <t>Translate the scheme id into a URI scheme name as per
<xref target="scheme-map"/>; if a scheme id not in this list is being used,
fail this algorithm.
Remember the specific variant of CoAP to be used based on this
URI scheme name.</t>
            </li>
            <li>
              <t>If »cri« has a <tt>fragment</tt> component, then fail this algorithm.</t>
            </li>
            <li>
              <t>If the <tt>host</tt> component of »cri« is a <tt>host-name</tt>, include a
Uri-Host Option and let that option's value be the text string
value of the <tt>host-name</tt>.  </t>
              <t>
If the <tt>host</tt> component of »cri« is a <tt>host-ip</tt>, check whether
the IP address given represents the request's
destination IP address (and, if present, zone-id).
Only if it does not, include a Uri-Host Option, and let that
option's value be the text value of the URI representation of
the IP address, as derived in <xref target="host-ip-to-uri"/>.</t>
            </li>
            <li>
              <t>If »cri« has a <tt>port</tt> component, then let »port« be that
component's unsigned integer value; otherwise, let »port« be
the default port number for the scheme.</t>
            </li>
            <li>
              <t>If »port« does not equal the request's destination UDP port,
include a Uri-Port Option and let that option's value be »port«.</t>
            </li>
            <li>
              <t>If the value of the <tt>path</tt> component of »cri« is empty or
consists of a single empty string, then move to the next step.  </t>
              <t>
Otherwise, for each element in the »path« component, include a
Uri-Path Option and let that option's value be the text string
value of that element.</t>
            </li>
            <li>
              <t>If »cri« has a <tt>query</tt> component, then, for each element in the
<tt>query</tt> component, include a Uri-Query Option and let that
option's value be the be the text string
value of that element.</t>
            </li>
          </ol>
        </section>
        <section anchor="compose-coap">
          <name>Composing a Request CRI from a Set of CoAP Options</name>
          <t>The steps to construct a CRI from a request's options are as follows.
   These steps either result in a CRI or they fail.</t>
          <ol spacing="normal" type="1"><li>
              <t>Based on the variant of CoAP used in the request, choose a
<tt>scheme-id</tt> as per table <xref target="scheme-map"/>.  Use that as the first
value in the resulting CRI array.</t>
            </li>
            <li>
              <t>If the request includes a Uri-Host Option, insert an
<tt>authority</tt> with its value determined as follows:
If the value of the  Uri-Host Option is a <tt>reg-name</tt>, include
this as the <tt>host-name</tt>.
If the value is an IP-literal or IPv4address, extract any
<tt>zone-id</tt>, and represent the IP address as a byte string of
the correct length in <tt>host-ip</tt>, followed by any <tt>zone-id</tt>
extracted if present.
If the value is none of the three, fail this algorithm.  </t>
              <t>
If the request does not include a Uri-Host Option, insert an
<tt>authority</tt> with <tt>host-ip</tt> being the byte string that
represents the request's destination IP address and,
if one is present in the request's destination, add a <tt>zone-id</tt>.</t>
            </li>
            <li>
              <t>If the request includes a Uri-Port Option, let »port« be that
option's value.  Otherwise, let »port« be the request's
destination UDP port.
If »port« is not the default port for the scheme, then insert
the integer value of »port« as the value of <tt>port</tt> in the
authority.
Otherwise, elide the <tt>port</tt>.</t>
            </li>
            <li>
              <t>Insert a <tt>path</tt> component that contains an array built from
the text string values of the Uri-Path Options in the request,
or an empty array if no such options are present.</t>
            </li>
            <li>
              <t>Insert a <tt>query</tt> component that contains an array built from
the text string values of the Uri-Query Options in the request,
or an empty array if no such options are present.</t>
            </li>
          </ol>
        </section>
      </section>
      <section anchor="coap-options">
        <name>CoAP Options for Forward-Proxies</name>
        <t>Apart from the above procedures to convert CoAP CRIs to and from sets
of CoAP Options, two additional CoAP Options are defined in <xref section="5.10.2" sectionFormat="of" target="RFC7252"/> that support requests to forward-proxies:</t>
        <ul spacing="normal">
          <li>
            <t>Proxy-Uri, and</t>
          </li>
          <li>
            <t>its more lightweight variant, Proxy-Scheme</t>
          </li>
        </ul>
        <t>This section defines analogues of these that employ CRIs and the URI
Scheme numering provided by the present specification.</t>
        <section anchor="proxy-cri">
          <name>Proxy-CRI</name>
          <table anchor="tab-proxy-cri">
            <name>Proxy-Cri CoAP Option</name>
            <thead>
              <tr>
                <th align="left">No.</th>
                <th align="left">C</th>
                <th align="left">U</th>
                <th align="left">N</th>
                <th align="left">R</th>
                <th align="left">Name</th>
                <th align="left">Format</th>
                <th align="left">Length</th>
                <th align="left">Default</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">TBD235</td>
                <td align="left">x</td>
                <td align="left">x</td>
                <td align="left">-</td>
                <td align="left"> </td>
                <td align="left">Proxy-Cri</td>
                <td align="left">opaque</td>
                <td align="left">1-1023</td>
                <td align="left">(none)</td>
              </tr>
            </tbody>
          </table>
          <t>The Proxy-CRI Option carries an encoded CBOR data item that represents
an absolute CRI reference.
It is used analogously to Proxy-Uri as defined in <xref section="5.10.2" sectionFormat="of" target="RFC7252"/>.
The Proxy-Cri Option <bcp14>MUST</bcp14> take precedence over any of the Uri-Host,
Uri-Port, Uri-Path or Uri-Query options, as well as over any
Proxy-Uri Option (each of which <bcp14>MUST NOT</bcp14> be
included in a request containing the Proxy-Cri Option).</t>
        </section>
        <section anchor="proxy-scheme-number">
          <name>Proxy-Scheme-Number</name>
          <table anchor="tab-proxy-scheme-number">
            <name>Proxy-Scheme-Number CoAP Option</name>
            <thead>
              <tr>
                <th align="left">No.</th>
                <th align="left">C</th>
                <th align="left">U</th>
                <th align="left">N</th>
                <th align="left">R</th>
                <th align="left">Name</th>
                <th align="left">Format</th>
                <th align="left">Length</th>
                <th align="left">Default</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">TBD239</td>
                <td align="left">x</td>
                <td align="left">x</td>
                <td align="left">-</td>
                <td align="left"> </td>
                <td align="left">Proxy-Scheme-Number</td>
                <td align="left">uint</td>
                <td align="left">0-3</td>
                <td align="left">(none)</td>
              </tr>
            </tbody>
          </table>
          <t>The Proxy-Scheme-Number Option carries a URI Scheme Number represented as a
CoAP unsigned integer.
It is used analogously to Proxy-Scheme as defined in <xref section="5.10.2" sectionFormat="of" target="RFC7252"/>.</t>
          <t>Since CoAP Options are only defined as empty, (text) string, opaque
(byte string), or unsigned integer, the Option carries an unsigned
integer that gives the 1's complement of the URI Scheme Number, i.e.:</t>
          <artset>
            <artwork type="svg"><svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" height="2.509ex" role="img" viewBox="0 -791.3 14311.5 1080.4" width="33.24ex">
                <defs>
                  <path d="M438 287c0 -139 -110 -298 -263 -298c-101 0 -135 90 -135 163c0 128 103 289 251 289c80 0 147 -46 147 -154zM357 318c0 38 -14 93 -67 93c-82 0 -169 -149 -169 -285c0 -33 3 -107 59 -107c106 0 177 223 177 299Z" id="E1-STIXWEBNORMALI-1D45C" stroke-width="1"/>
                  <path d="M253 370l14 13c39 37 78 58 113 58c61 0 94 -54 94 -155c0 -129 -110 -298 -254 -298c-24 0 -42 4 -61 19l-24 -100c-3 -13 -5 -24 -5 -35c0 -22 11 -43 61 -43h16l-3 -12h-234l3 12c62 3 69 33 81 79l117 464c0 19 -1 33 -31 33c-8 0 -20 -2 -28 -4l-2 16l158 24 l-18 -69zM214 238l-46 -200c14 -16 34 -21 46 -21c101 0 176 173 176 285c0 63 -28 83 -51 83c-53 0 -105 -61 -125 -147Z" id="E1-STIXWEBNORMALI-1D45D" stroke-width="1"/>
                  <path d="M283 438l-10 -38h-70l-78 -320c-1 -3 -2 -8 -2 -11c0 -6 3 -12 16 -12c0 0 23 2 60 52l13 -11c-24 -31 -74 -107 -133 -107c-31 0 -39 25 -39 52c0 13 2 26 5 37l81 320h-77l5 29c75 14 136 51 177 138h13l-31 -129h70Z" id="E1-STIXWEBNORMALI-1D461" stroke-width="1"/>
                  <path d="M257 566c0 -26 -22 -46 -48 -46c-29 0 -48 20 -48 46c0 25 19 50 48 50c26 0 48 -25 48 -50zM227 441l-92 -364c-1 -6 -1 -10 -1 -14c0 -7 6 -10 13 -10c22 0 28 12 64 51l13 -10c-35 -45 -85 -105 -134 -105c-28 0 -40 19 -40 46c0 12 0 31 79 338c1 2 2 9 2 12 c0 17 -8 22 -31 22c-9 0 -21 -2 -28 -4l-3 16Z" id="E1-STIXWEBNORMALI-1D456" stroke-width="1"/>
                  <path d="M467 96l-5 -6c-28 -34 -76 -98 -128 -98c-32 0 -41 23 -41 46c0 13 4 29 7 40l57 221c2 8 7 28 7 42c0 19 -6 38 -24 38c-38 0 -101 -86 -132 -133c-36 -54 -62 -101 -68 -122l-33 -124h-77l95 374c0 18 -3 32 -30 32c-10 0 -21 -2 -28 -3l-2 15l159 23l-51 -189h3 c5 0 54 70 56 73c40 50 100 116 160 116c44 0 56 -29 56 -62c0 -25 -6 -50 -11 -70l-59 -231c-1 -2 -1 -5 -1 -10c1 -6 4 -14 15 -14c24 0 48 36 62 53Z" id="E1-STIXWEBNORMALI-1D45B" stroke-width="1"/>
                  <path d="M247 454l-89 -326c-3 -10 -4 -21 -4 -32c0 -38 20 -66 60 -66c108 0 178 113 210 203c8 24 15 49 15 74c0 74 -61 65 -61 109c0 34 25 42 54 42c42 0 47 -51 47 -83c0 -99 -39 -200 -97 -280c-43 -60 -120 -104 -194 -104c-64 0 -116 20 -116 93c0 21 3 42 9 62l58 210 c2 8 5 17 5 25c0 20 -44 20 -57 20v15c52 13 106 20 156 42Z" id="E1-STIXWEBNORMALI-1D463" stroke-width="1"/>
                  <path d="M472 428l-91 -345s-1 -2 -1 -11c0 -11 6 -17 14 -17c10 0 25 2 64 54l12 -12c-31 -47 -85 -107 -133 -107c-33 0 -42 23 -42 55c0 13 6 34 11 50h-4c-72 -92 -134 -105 -173 -105c-63 0 -89 55 -89 119c0 132 132 332 276 332c43 0 64 -24 66 -46h1l9 33h80zM367 341 c0 41 -12 71 -50 71c-68 0 -128 -87 -162 -171c-18 -45 -28 -89 -28 -124c0 -53 31 -66 58 -66c69 0 139 95 167 190c8 26 15 66 15 100Z" id="E1-STIXWEBNORMALI-1D44E" stroke-width="1"/>
                  <path d="M278 668l-148 -591s-1 -4 -1 -11s4 -13 12 -13c23 0 53 39 62 55l16 -12c-34 -40 -77 -106 -135 -106c-30 0 -39 26 -39 51c0 12 3 26 6 36l128 510c3 13 3 21 3 24c0 12 -8 22 -31 22c-7 0 -19 -2 -27 -3l-3 15Z" id="E1-STIXWEBNORMALI-1D459" stroke-width="1"/>
                  <path d="M444 428l-89 -348c-1 -4 -1 -6 -1 -9c0 -8 4 -14 14 -14c21 0 40 26 57 46l5 6l13 -11c-23 -33 -74 -107 -132 -107c-29 0 -40 19 -40 52c0 9 1 25 4 37l26 95h-1c-7 -5 -97 -126 -137 -156c-23 -17 -49 -28 -72 -28c-47 0 -61 36 -61 74c0 21 3 40 8 59l59 231 c4 15 6 21 6 25c0 12 -11 23 -33 23c-7 0 -19 -1 -26 -3l-3 15l157 26l-84 -326c-2 -9 -3 -16 -3 -24c0 -21 8 -34 26 -34c25 0 65 31 100 77c43 57 89 146 109 219l21 75h77Z" id="E1-STIXWEBNORMALI-1D462" stroke-width="1"/>
                  <path d="M363 112l14 -13c-70 -86 -138 -110 -200 -110c-98 0 -137 84 -137 156c0 23 1 37 6 60c25 111 135 236 262 236c42 0 102 -14 102 -76c0 -127 -167 -176 -286 -182v-28c0 -64 52 -107 113 -107c42 0 90 18 126 64zM124 211h9c104 0 198 69 198 157c0 25 -19 43 -44 43 c-74 0 -134 -115 -163 -200Z" id="E1-STIXWEBNORMALI-1D452" stroke-width="1"/>
                  <path d="M637 320h-589v66h589v-66zM637 120h-589v66h589v-66Z" id="E1-STIXWEBMAIN-3D" stroke-width="1"/>
                  <path d="M621 220h-557v66h557v-66Z" id="E1-STIXWEBMAIN-2212" stroke-width="1"/>
                  <path d="M394 0h-276v15c74 4 95 25 95 80v449c0 34 -9 49 -30 49c-10 0 -27 -5 -45 -12l-27 -10v14l179 91l9 -3v-597c0 -43 20 -61 95 -61v-15Z" id="E1-STIXWEBMAIN-31" stroke-width="1"/>
                  <path d="M390 441l-24 -146h-15c0 64 -36 120 -92 120c-25 0 -51 -17 -51 -58c0 -55 134 -147 134 -242c0 -62 -48 -125 -135 -125c-34 0 -98 20 -110 20c-9 0 -18 -4 -30 -21h-17l25 156h16c0 -63 41 -130 104 -130c59 0 73 50 73 89c0 82 -130 132 -130 230c0 79 59 107 114 107 c43 0 63 -20 92 -20c11 0 22 10 30 20h16Z" id="E1-STIXWEBNORMALI-1D460" stroke-width="1"/>
                  <path d="M363 111l12 -13c-51 -60 -113 -109 -198 -109c-97 0 -137 78 -137 155c0 140 121 297 263 297c50 0 97 -27 97 -76c0 -38 -16 -70 -54 -70c-26 0 -38 21 -38 38c0 24 29 36 29 58c0 12 -10 21 -34 21c-119 0 -176 -179 -176 -259c0 -87 49 -109 94 -109 c61 0 107 33 142 67Z" id="E1-STIXWEBNORMALI-1D450" stroke-width="1"/>
                  <path d="M469 106l14 -11c-29 -34 -78 -106 -133 -106c-18 0 -41 10 -41 42c0 12 1 26 64 267c2 7 7 29 7 44c0 19 -7 35 -24 35c-36 0 -102 -85 -134 -133c-34 -51 -62 -102 -67 -122l-32 -122h-78l152 600c1 4 2 7 2 10c0 13 -10 22 -31 22c-10 0 -21 -1 -29 -2l-2 14l159 24 l-109 -416h4c53 58 125 189 216 189c42 0 57 -34 57 -70c0 -22 -6 -43 -11 -64l-58 -230c-1 -5 -2 -7 -2 -10c0 -6 3 -14 13 -14c22 0 49 35 63 53Z" id="E1-STIXWEBNORMALI-210E" stroke-width="1"/>
                  <path d="M667 107l13 -11c-32 -54 -84 -104 -131 -104c-22 0 -39 10 -39 49c0 7 1 17 6 37l56 221c4 14 6 23 6 40c0 20 -6 38 -24 38c-54 0 -164 -181 -179 -242l-34 -135h-79l77 299c2 9 5 25 5 40c0 20 -5 38 -23 38c-52 0 -162 -181 -178 -242l-35 -135h-78l95 374 c0 18 -6 31 -33 31c-8 0 -19 -1 -27 -2l-2 14l157 24l-44 -169h6c94 143 154 169 192 169c37 0 55 -37 55 -81c0 -17 -3 -32 -9 -52l-10 -36h5c29 52 81 114 130 147c22 15 41 22 61 22c36 0 54 -26 54 -71c0 -18 -1 -37 -7 -61l-61 -231c-1 -3 -2 -9 -2 -12 c0 -8 6 -12 15 -12c17 0 43 16 62 53Z" id="E1-STIXWEBNORMALI-1D45A" stroke-width="1"/>
                  <path d="M214 382l4 -4c33 32 72 63 121 63c70 0 111 -69 111 -151c0 -121 -109 -301 -266 -301c-53 0 -94 18 -139 48l144 563c1 4 2 8 2 11c-1 13 -16 21 -29 21c-10 0 -22 -1 -30 -4l-3 16l158 24zM179 252l-55 -215c0 -7 32 -19 55 -19c122 0 188 174 188 276 c0 70 -38 92 -71 92c-72 0 -106 -89 -117 -134Z" id="E1-STIXWEBNORMALI-1D44F" stroke-width="1"/>
                  <path d="M175 267l5 -1c9 18 21 38 32 56c34 54 82 119 137 119c29 0 44 -21 44 -48c0 -38 -24 -82 -65 -82c-39 0 -29 38 -47 38c-61 0 -148 -256 -153 -273l-21 -76h-77l92 364c3 11 4 18 4 23c0 13 -11 19 -33 19c-7 0 -21 -2 -27 -3l-2 15l157 23Z" id="E1-STIXWEBNORMALI-1D45F" stroke-width="1"/>
                </defs>
                <g fill="black" stroke="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)">
                  <use xlink:href="#E1-STIXWEBNORMALI-1D45C" x="0" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D45D" x="458" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D461" x="948" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D456" x="1261" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D45C" x="1573" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D45B" x="2031" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D463" x="2529" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D44E" x="3035" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D459" x="3538" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D462" x="3856" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="4331" y="0"/>
                  <use xlink:href="#E1-STIXWEBMAIN-3D" x="5054" y="0"/>
                  <use xlink:href="#E1-STIXWEBMAIN-2212" x="6017" y="0"/>
                  <use xlink:href="#E1-STIXWEBMAIN-31" x="6703" y="0"/>
                  <use xlink:href="#E1-STIXWEBMAIN-2212" x="7425" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D460" x="8333" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D450" x="8774" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-210E" x="9189" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="9703" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D45A" x="10148" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="10859" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D45B" x="11304" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D462" x="11802" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D45A" x="12276" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D44F" x="12987" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D452" x="13457" y="0"/>
                  <use xlink:href="#E1-STIXWEBNORMALI-1D45F" x="13903" y="0"/>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[option value = -1 - scheme number
]]></artwork>
          </artset>
          <t><cref anchor="scheme-negative">DISCUSS: Should the scheme registry simply use
unsigned numbers so it can be used here right away and the 1's
complement form is only used specifically for the nint that
<tt>scheme-id</tt> at the start of CRIs is?</cref></t>
          <t><cref anchor="location-scheme">TO DO: Discuss the need for a
location-scheme-numeric option?</cref></t>
        </section>
      </section>
    </section>
    <section anchor="impl">
      <name>Implementation Status</name>
      <t>(Boilerplate as per <xref section="2.1" sectionFormat="of" target="RFC7942"/>:)</t>
      <t>This section records the status of known implementations of the
protocol defined by this specification at the time of posting of
this Internet-Draft, and is based on a proposal described in
<xref target="RFC7942"/>.  The description of implementations in this section is
intended to assist the IETF in its decision processes in
progressing drafts to RFCs.  Please note that the listing of any
individual implementation here does not imply endorsement by the
IETF.  Furthermore, no effort has been spent to verify the
information presented here that was supplied by IETF contributors.
This is not intended as, and must not be construed to be, a
catalog of available implementations or their features.  Readers
are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working
groups to assign due consideration to documents that have the
benefit of running code, which may serve as evidence of valuable
experimentation and feedback that have made the implemented
protocols more mature.  It is up to the individual working groups
to use this information as they see fit".
<?line -22?>
      </t>
      <t>With the exception of the authority=true fix, host-names split into
labels, and <xref target="pet"/>, CRIs are implemented in <tt>https://gitlab.com/chrysn/micrurus</tt>.
A golang implementation of version -10 of this document is found at:
<tt>https://github.com/thomas-fossati/href</tt>
        <!-- see RFC 7942 -->
      </t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Parsers of CRI references must operate on input that is assumed to be
untrusted. This means that parsers <bcp14>MUST</bcp14> fail gracefully
in the face of malicious inputs.
Additionally, parsers <bcp14>MUST</bcp14> be prepared to deal with
resource exhaustion (e.g., resulting from the allocation of big data
items) or exhaustion of the call stack (stack overflow).
See <xref section="10" sectionFormat="of" target="RFC8949"/> for additional
security considerations relating to CBOR.</t>
      <t>The security considerations discussed in <xref section="7" sectionFormat="of" target="RFC3986"/> and
<xref section="8" sectionFormat="of" target="RFC3987"/> for URIs and IRIs also apply to CRIs.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="cri-reg">
        <name>CRI Scheme Numbers Registry</name>
        <t>This specification defines a new "CRI Scheme Numbers" sub-registry in
the "CoRE Parameters" registry <xref target="IANA.core-parameters"/>, with the
policy "Expert Review" (Section <xref target="RFC8126" section="4.5" sectionFormat="bare"/> of RFC 8126 <xref target="BCP26"/>).
The objective is to have CRI scheme number values registered for all
registered URI schemes (Uniform Resource Identifier (URI) Schemes
registry), as well as exceptionally for certain text strings that the
Designated Expert considers widely used in constrained applications in
place of URI scheme names.</t>
        <section anchor="de-instructions">
          <name>Instructions for the Designated Expert</name>
          <t>The expert is instructed to be frugal in the allocation of CRI values
with short representations (1+0 and 1+1 encoding), keeping them in
reserve for applications that are likely to enjoy wide use and can
make good use of their shortness.</t>
          <t>When the expert notices that a registration has been made in the
Uniform Resource Identifier (URI) Schemes registry (see also <xref target="upd"/>),
the expert is requested to initiate a parallel registration in the CRI
Scheme Numbers registry.  CRI values in the range between 1000 and
20000 (inclusive) should be assigned unless a shorter representation
in CRIs appears desirable.</t>
          <t>The expert exceptionally also may make such a registration for text
strings that have not been registered in the Uniform Resource
Identifier (URI) Schemes registry if and only if the expert considers
them to be in wide use in place of URI scheme names in constrained
applications.
(Note that the initial registrations in <xref target="tab-numbers"/> in <xref target="sec-numbers"/> already include
such registrations for the text strings "mqtt" and "mqtts".)</t>
          <t>A registration in the CRI Scheme Numbers registry does not imply that
a URI scheme under this name exists or has been registered in the
Uniform Resource Identifier (URI) Schemes registry -- it essentially
is only providing an integer identifier for an otherwise uninterpreted
text string.</t>
          <t>Any questions or issues that might interest a wider audience might be
raised by the expert on the core-parameters@ietf.org mailing list for
a time-limited discussion.</t>
        </section>
        <section anchor="structure-of-entries">
          <name>Structure of Entries</name>
          <t>Each entry in the registry must include:</t>
          <dl newline="true">
            <dt>CRI value:</dt>
            <dd>
              <t>A negative integer unique in this registry</t>
            </dd>
            <dt>URI scheme name:</dt>
            <dd>
              <t>a text string that would be acceptable for registration as a URI
Scheme Name in the Uniform Resource Identifier (URI) Schemes
registry</t>
            </dd>
            <dt>Reference:</dt>
            <dd>
              <t>a reference to a document, if available, or the registrant</t>
            </dd>
          </dl>
        </section>
        <section anchor="initial-registrations">
          <name>Initial Registrations</name>
          <t>The initial registrations for the CRI Scheme Numbers registry are
provided in <xref target="tab-numbers"/> in <xref target="sec-numbers"/>.</t>
        </section>
      </section>
      <section anchor="upd">
        <name>Update to "Uniform Resource Identifier (URI) Schemes" Registry</name>
        <t><xref target="RFC7595"/> is updated to add the following note in the "Uniform
Resource Identifier (URI) Schemes" Registry <xref target="IANA.uri-schemes"/>:</t>
        <blockquote>
          <t>The CRI Scheme Numbers Registry registers numeric identifiers for what
essentially are URI Scheme names.
Registrants for the Uniform Resource Identifier (URI) Schemes Registry
are requested to make a parallel registration in the CRI Scheme
Numbers registry.
The number for this registration will be assigned by the Designated
Expert for that registry.</t>
        </blockquote>
      </section>
      <section anchor="cri-iana">
        <name>CBOR Diagnostic Notation Application-extension Identifiers Registry</name>
        <t>In the "Application-Extension Identifiers" registry in the "CBOR
Diagnostic Notation" registry group [IANA.cbor-diagnostic-notation],
IANA is requested to register the application-extension identifier
<tt>cri</tt> as described in <xref target="tab-iana"/> and defined in <xref target="edn-cri"/>.</t>
        <table anchor="tab-iana">
          <name>CBOR Extended Diagnostic Notation (EDN) Application-extension Identifier for CRI</name>
          <thead>
            <tr>
              <th align="left">Application-extension Identifier</th>
              <th align="left">Description</th>
              <th align="left">Change Controller</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">cri</td>
              <td align="left">Constrained Resource Identifier</td>
              <td align="left">IETF</td>
              <td align="left">RFC-XXXX, <xref target="edn-cri"/></td>
            </tr>
          </tbody>
        </table>
        <t><cref anchor="replace-xxxx_1">RFC Ed.: throughout this section, please replace
RFC-XXXX with the RFC number of this specification and remove this
note.</cref></t>
      </section>
      <section anchor="coap-option-numbers-registry">
        <name>CoAP Option Numbers Registry</name>
        <t>In the "CoAP Option Numbers" registry in the "CoRE Parameters" registry group <xref target="IANA.core-parameters"/>,
IANA is requested to register the CoAP Option Numbers
as described in <xref target="tab-iana-options"/> and defined in <xref target="coap-options"/>.</t>
        <table anchor="tab-iana-options">
          <name>New CoAP Option Numbers</name>
          <thead>
            <tr>
              <th align="left">No.</th>
              <th align="left">Name</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD235</td>
              <td align="left">Proxy-Cri</td>
              <td align="left">RFC-XXXX</td>
            </tr>
            <tr>
              <td align="left">TBD239</td>
              <td align="left">Proxy-Scheme-Number</td>
              <td align="left">RFC-XXXX</td>
            </tr>
          </tbody>
        </table>
        <t><cref anchor="replace-xxxx_2">RFC Ed.: throughout this section, please replace
RFC-XXXX with the RFC number of this specification and remove this
note.</cref></t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="RFC3987">
          <front>
            <title>Internationalized Resource Identifiers (IRIs)</title>
            <author fullname="M. Duerst" initials="M." surname="Duerst"/>
            <author fullname="M. Suignard" initials="M." surname="Suignard"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>This document defines a new protocol element, the Internationalized Resource Identifier (IRI), as a complement of the Uniform Resource Identifier (URI). An IRI is a sequence of characters from the Universal Character Set (Unicode/ISO 10646). A mapping from IRIs to URIs is defined, which means that IRIs can be used instead of URIs, where appropriate, to identify resources.</t>
              <t>The approach of defining a new protocol element was chosen instead of extending or changing the definition of URIs. This was done in order to allow a clear distinction and to avoid incompatibilities with existing software. Guidelines are provided for the use and deployment of IRIs in various protocols, formats, and software components that currently deal with URIs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3987"/>
          <seriesInfo name="DOI" value="10.17487/RFC3987"/>
        </reference>
        <reference anchor="RFC6874">
          <front>
            <title>Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</title>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="February" year="2013"/>
            <abstract>
              <t>This document describes how the zone identifier of an IPv6 scoped address, defined as in the IPv6 Scoped Address Architecture (RFC 4007), can be represented in a literal IPv6 address and in a Uniform Resource Identifier that includes such a literal address. It updates the URI Generic Syntax specification (RFC 3986) accordingly.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6874"/>
          <seriesInfo name="DOI" value="10.17487/RFC6874"/>
        </reference>
        <reference anchor="RFC7595">
          <front>
            <title>Guidelines and Registration Procedures for URI Schemes</title>
            <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler"/>
            <author fullname="T. Hansen" initials="T." surname="Hansen"/>
            <author fullname="T. Hardie" initials="T." surname="Hardie"/>
            <date month="June" year="2015"/>
            <abstract>
              <t>This document updates the guidelines and recommendations, as well as the IANA registration processes, for the definition of Uniform Resource Identifier (URI) schemes. It obsoletes RFC 4395.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="35"/>
          <seriesInfo name="RFC" value="7595"/>
          <seriesInfo name="DOI" value="10.17487/RFC7595"/>
        </reference>
        <reference anchor="IANA.uri-schemes" target="https://www.iana.org/assignments/uri-schemes">
          <front>
            <title>Uniform Resource Identifier (URI) Schemes</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <referencegroup anchor="BCP26" target="https://www.rfc-editor.org/info/bcp26">
          <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126">
            <front>
              <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
              <author fullname="M. Cotton" initials="M." surname="Cotton"/>
              <author fullname="B. Leiba" initials="B." surname="Leiba"/>
              <author fullname="T. Narten" initials="T." surname="Narten"/>
              <date month="June" year="2017"/>
              <abstract>
                <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
                <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
                <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="26"/>
            <seriesInfo name="RFC" value="8126"/>
            <seriesInfo name="DOI" value="10.17487/RFC8126"/>
          </reference>
        </referencegroup>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="I-D.carpenter-6man-rfc6874bis">
          <front>
            <title>Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</title>
            <author fullname="Brian E. Carpenter" initials="B. E." surname="Carpenter">
         </author>
            <author fullname="Stuart Cheshire" initials="S." surname="Cheshire">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Bob Hinden" initials="R. M." surname="Hinden">
              <organization>Check Point Software</organization>
            </author>
            <date day="8" month="February" year="2022"/>
            <abstract>
              <t>   This document describes how the zone identifier of an IPv6 scoped
   address, defined as &lt;zone_id&gt; in the IPv6 Scoped Address Architecture
   (RFC 4007), can be represented in a literal IPv6 address and in a
   Uniform Resource Identifier that includes such a literal address.  It
   updates the URI Generic Syntax and Internationalized Resource
   Identifier specifications (RFC 3986, RFC 3987) accordingly, and
   obsoletes RFC 6874.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-carpenter-6man-rfc6874bis-03"/>
        </reference>
        <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="Unicode" target="https://www.unicode.org/versions/Unicode13.0.0/">
          <front>
            <title>The Unicode Standard, Version 13.0.0</title>
            <author>
              <organization>The Unicode Consortium</organization>
            </author>
            <date year="2020" month="March"/>
          </front>
          <seriesInfo name="ISBN" value="978-1-936213-26-9"/>
        </reference>
        <reference anchor="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>
        <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:,, and for the construction of constants; / for including ABNF (RFC 5234 and RFC 7405) in CDDL specifications; and 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="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. 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="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7228">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Ersue" initials="M." surname="Ersue"/>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>The Internet Protocol Suite is increasingly used on small devices with severe constraints on power, memory, and processing resources, creating constrained-node networks. This document provides a number of basic terms that have been useful in the standardization work for constrained-node networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7228"/>
          <seriesInfo name="DOI" value="10.17487/RFC7228"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC8141">
          <front>
            <title>Uniform Resource Names (URNs)</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="April" year="2017"/>
            <abstract>
              <t>A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that is assigned under the "urn" URI scheme and a particular URN namespace, with the intent that the URN will be a persistent, location-independent resource identifier. With regard to URN syntax, this document defines the canonical syntax for URNs (in a way that is consistent with URI syntax), specifies methods for determining URN-equivalence, and discusses URI conformance. With regard to URN namespaces, this document specifies a method for defining a URN namespace and associating it with a namespace identifier, and it describes procedures for registering namespace identifiers with the Internet Assigned Numbers Authority (IANA). This document obsoletes both RFCs 2141 and 3406.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8141"/>
          <seriesInfo name="DOI" value="10.17487/RFC8141"/>
        </reference>
        <reference anchor="RFC8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <reference anchor="RFC8820">
          <front>
            <title>URI Design and Ownership</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Section 1.1.1 of RFC 3986 defines URI syntax as "a federated and extensible naming system wherein each scheme's specification may further restrict the syntax and semantics of identifiers using that scheme." In other words, the structure of a URI is defined by its scheme. While it is common for schemes to further delegate their substructure to the URI's owner, publishing independent standards that mandate particular forms of substructure in URIs is often problematic.</t>
              <t>This document provides guidance on the specification of URI substructure in standards.</t>
              <t>This document obsoletes RFC 7320 and updates RFC 3986.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="190"/>
          <seriesInfo name="RFC" value="8820"/>
          <seriesInfo name="DOI" value="10.17487/RFC8820"/>
        </reference>
        <reference anchor="W3C.REC-html52-20171214" target="https://www.w3.org/TR/2017/REC-html52-20171214/">
          <front>
            <title>HTML 5.2</title>
            <author fullname="Alex Danilo" role="editor"/>
            <author fullname="Arron Eicholz" role="editor"/>
            <author fullname="Sangwhan Moon" role="editor"/>
            <author fullname="Steve Faulkner" role="editor"/>
            <author fullname="Travis Leithead" role="editor"/>
            <date day="14" month="December" year="2017"/>
          </front>
          <seriesInfo name="W3C REC" value="REC-html52-20171214"/>
          <seriesInfo name="W3C" value="REC-html52-20171214"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-edn-literals">
          <front>
            <title>CBOR Extended Diagnostic Notation (EDN): Application-Oriented Literals, ABNF, and Media Type</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="21" month="December" year="2023"/>
            <abstract>
              <t>   The Concise Binary Object Representation, CBOR (STD 94, RFC 8949),
   defines a "diagnostic notation" in order to be able to converse about
   CBOR data items without having to resort to binary data.

   This document specifies how to add application-oriented extensions to
   the diagnostic notation.  It then defines two such extensions for
   text representations of epoch-based date/times and of IP addresses
   and prefixes (RFC 9164).

   A few further additions close some gaps in usability.  To facilitate
   tool interoperation, this document specifies a formal ABNF definition
   for extended diagnostic notation (EDN) that accommodates application-
   oriented literals.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-literals-07"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC4180">
          <front>
            <title>Common Format and MIME Type for Comma-Separated Values (CSV) Files</title>
            <author fullname="Y. Shafranovich" initials="Y." surname="Shafranovich"/>
            <date month="October" year="2005"/>
            <abstract>
              <t>This RFC documents the format used for Comma-Separated Values (CSV) files and registers the associated MIME type "text/csv". This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4180"/>
          <seriesInfo name="DOI" value="10.17487/RFC4180"/>
        </reference>
      </references>
    </references>
    <?line 1361?>

<section anchor="sec-numbers">
      <name>Mapping Scheme Numbers to Scheme Names</name>
      <t><cref anchor="replace-xxxx_3">RFC Ed.: throughout this section, please replace
RFC-XXXX with the RFC number of this specification and remove this
note.</cref></t>
      <t><xref target="tab-numbers"/> defines the initial mapping from CRI scheme numbers to
URI scheme names.</t>
      <table anchor="tab-numbers">
        <name>Mapping Scheme Numbers to Scheme Names</name>
        <thead>
          <tr>
            <th align="left">CRI value</th>
            <th align="left">URI scheme</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">-1</td>
            <td align="left">coap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2</td>
            <td align="left">coaps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3</td>
            <td align="left">http</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4</td>
            <td align="left">https</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5</td>
            <td align="left">urn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6</td>
            <td align="left">did</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7</td>
            <td align="left">coap+tcp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8</td>
            <td align="left">coaps+tcp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9</td>
            <td align="left">coap+ws</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10</td>
            <td align="left">coaps+ws</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1025</td>
            <td align="left">telnet</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1046</td>
            <td align="left">ldap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1056</td>
            <td align="left">ms-virtualtouchpad</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1091</td>
            <td align="left">fax</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1107</td>
            <td align="left">ves</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1147</td>
            <td align="left">submit</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1192</td>
            <td align="left">gg</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1219</td>
            <td align="left">simplex</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1240</td>
            <td align="left">ms-settings-nfctransactions</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1241</td>
            <td align="left">secret-token</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1249</td>
            <td align="left">acap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1276</td>
            <td align="left">openpgp4fpr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1300</td>
            <td align="left">ms-mixedrealitycapture</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1307</td>
            <td align="left">ymsgr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1320</td>
            <td align="left">iris.xpcs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1351</td>
            <td align="left">turns</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1367</td>
            <td align="left">opaquelocktoken</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1499</td>
            <td align="left">platform</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1597</td>
            <td align="left">sftp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1613</td>
            <td align="left">vscode</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1649</td>
            <td align="left">mqtt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1664</td>
            <td align="left">ms-settings</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1690</td>
            <td align="left">doi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1720</td>
            <td align="left">file</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1729</td>
            <td align="left">dvb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1760</td>
            <td align="left">magnet</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1768</td>
            <td align="left">calculator</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1836</td>
            <td align="left">ssh</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1928</td>
            <td align="left">openid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1966</td>
            <td align="left">gopher</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1985</td>
            <td align="left">ms-gamingoverlay</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-1997</td>
            <td align="left">z39.50</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2032</td>
            <td align="left">ms-secondary-screen-setup</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2038</td>
            <td align="left">fido</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2085</td>
            <td align="left">mumble</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2095</td>
            <td align="left">ms-settings-cloudstorage</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2106</td>
            <td align="left">imap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2152</td>
            <td align="left">ms-officeapp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2233</td>
            <td align="left">pwid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2236</td>
            <td align="left">drm</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2264</td>
            <td align="left">tag</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2369</td>
            <td align="left">feed</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2460</td>
            <td align="left">ipps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2463</td>
            <td align="left">ms-launchremotedesktop</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2484</td>
            <td align="left">xmlrpc.beeps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2492</td>
            <td align="left">jms</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2542</td>
            <td align="left">wpid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2669</td>
            <td align="left">barion</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2675</td>
            <td align="left">onenote</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2695</td>
            <td align="left">icon</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2769</td>
            <td align="left">message</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2800</td>
            <td align="left">ms-enrollment</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2804</td>
            <td align="left">bolo</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2817</td>
            <td align="left">diaspora</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2833</td>
            <td align="left">microsoft.windows.camera.picker</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2864</td>
            <td align="left">notes</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2866</td>
            <td align="left">amss</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-2873</td>
            <td align="left">tip</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3018</td>
            <td align="left">fm</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3042</td>
            <td align="left">rtmfp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3060</td>
            <td align="left">reload</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3111</td>
            <td align="left">pres</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3232</td>
            <td align="left">acd</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3362</td>
            <td align="left">prospero</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3364</td>
            <td align="left">geo</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3414</td>
            <td align="left">snmp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3483</td>
            <td align="left">iris.beep</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3510</td>
            <td align="left">maps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3575</td>
            <td align="left">content</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3618</td>
            <td align="left">pack</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3619</td>
            <td align="left">keyparc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3632</td>
            <td align="left">mongodb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3693</td>
            <td align="left">smb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3796</td>
            <td align="left">graph</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3818</td>
            <td align="left">filesystem</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3839</td>
            <td align="left">payment</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3840</td>
            <td align="left">ms-settings-bluetooth</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-3951</td>
            <td align="left">palm</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4014</td>
            <td align="left">at</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4027</td>
            <td align="left">hyper</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4043</td>
            <td align="left">microsoft.windows.camera</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4067</td>
            <td align="left">mvn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4098</td>
            <td align="left">mtqp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4130</td>
            <td align="left">jabber</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4275</td>
            <td align="left">mms</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4343</td>
            <td align="left">skype</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4351</td>
            <td align="left">oid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4420</td>
            <td align="left">dict</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4454</td>
            <td align="left">attachment</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4662</td>
            <td align="left">ocf</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4807</td>
            <td align="left">isostore</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4816</td>
            <td align="left">redis</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4862</td>
            <td align="left">ms-settings-privacy</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-4877</td>
            <td align="left">ms-settings-wifi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5004</td>
            <td align="left">v-event</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5020</td>
            <td align="left">com-eventbrite-attendee</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5039</td>
            <td align="left">ms-remotedesktop</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5105</td>
            <td align="left">teliaeid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5222</td>
            <td align="left">itms</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5234</td>
            <td align="left">fish</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5285</td>
            <td align="left">dtn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5298</td>
            <td align="left">vscode-insiders</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5304</td>
            <td align="left">tftp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5347</td>
            <td align="left">rtsp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5358</td>
            <td align="left">adiumxtra</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5464</td>
            <td align="left">smp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5470</td>
            <td align="left">ms-eyecontrolspeech</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5479</td>
            <td align="left">ms-settings-language</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5491</td>
            <td align="left">mqtts</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5595</td>
            <td align="left">wyciwyg</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5596</td>
            <td align="left">hcp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5619</td>
            <td align="left">go</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5673</td>
            <td align="left">rediss</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5683</td>
            <td align="left">ms-settings-cellular</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5743</td>
            <td align="left">ldaps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5803</td>
            <td align="left">dhttp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5843</td>
            <td align="left">z39.50s</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5886</td>
            <td align="left">bitcoincash</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-5960</td>
            <td align="left">ms-mobileplans</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6182</td>
            <td align="left">pttp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6208</td>
            <td align="left">facetime</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6289</td>
            <td align="left">gtalk</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6348</td>
            <td align="left">afp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6361</td>
            <td align="left">mss</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6426</td>
            <td align="left">ms-settings-notifications</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6448</td>
            <td align="left">psyc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6488</td>
            <td align="left">tv</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6514</td>
            <td align="left">wifi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6523</td>
            <td align="left">sarif</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6539</td>
            <td align="left">moz</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6659</td>
            <td align="left">ms-lockscreencomponent-config</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6716</td>
            <td align="left">cabal</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6734</td>
            <td align="left">ms-media-stream-id</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6780</td>
            <td align="left">mupdate</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6793</td>
            <td align="left">dis</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6804</td>
            <td align="left">nih</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6809</td>
            <td align="left">ms-help</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6909</td>
            <td align="left">soap.beep</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-6998</td>
            <td align="left">iotdisco</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7027</td>
            <td align="left">acr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7040</td>
            <td align="left">ms-newsandinterests</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7089</td>
            <td align="left">hxxp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7096</td>
            <td align="left">ms-settings-location</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7125</td>
            <td align="left">soap.beeps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7301</td>
            <td align="left">ipn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7309</td>
            <td align="left">nntp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7316</td>
            <td align="left">query</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7334</td>
            <td align="left">smtp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7335</td>
            <td align="left">ms-spd</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7400</td>
            <td align="left">ni</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7403</td>
            <td align="left">ms-excel</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7421</td>
            <td align="left">ms-settings-power</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7435</td>
            <td align="left">pop</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7447</td>
            <td align="left">session</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7582</td>
            <td align="left">ms-infopath</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7701</td>
            <td align="left">ms-word</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7715</td>
            <td align="left">web+ap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7791</td>
            <td align="left">steam</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-7995</td>
            <td align="left">cstr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8008</td>
            <td align="left">web3</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8064</td>
            <td align="left">videotex</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8069</td>
            <td align="left">nfs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8094</td>
            <td align="left">udp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8102</td>
            <td align="left">ed2k</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8138</td>
            <td align="left">ms-getoffice</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8203</td>
            <td align="left">sgn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8331</td>
            <td align="left">data</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8364</td>
            <td align="left">swidpath</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8385</td>
            <td align="left">fuchsia-pkg</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8395</td>
            <td align="left">ms-screensketch</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8426</td>
            <td align="left">hxxps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8487</td>
            <td align="left">unreal</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8555</td>
            <td align="left">ens</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8585</td>
            <td align="left">ms-settings-camera</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8619</td>
            <td align="left">stun</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8673</td>
            <td align="left">ms-stickers</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8734</td>
            <td align="left">lid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8775</td>
            <td align="left">spotify</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8860</td>
            <td align="left">starknet</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8890</td>
            <td align="left">ms-settings-emailandaccounts</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8907</td>
            <td align="left">market</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-8967</td>
            <td align="left">ms-powerpoint</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9001</td>
            <td align="left">rtsps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9064</td>
            <td align="left">p1</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9128</td>
            <td align="left">aw</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9132</td>
            <td align="left">mailserver</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9186</td>
            <td align="left">irc6</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9338</td>
            <td align="left">ms-settings-lock</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9339</td>
            <td align="left">hcap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9350</td>
            <td align="left">drop</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9419</td>
            <td align="left">icap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9437</td>
            <td align="left">xcon-userid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9457</td>
            <td align="left">leaptofrogans</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9461</td>
            <td align="left">ipfs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9479</td>
            <td align="left">bitcoin</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9555</td>
            <td align="left">apt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9605</td>
            <td align="left">ms-whiteboard-cmd</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9669</td>
            <td align="left">ssb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9725</td>
            <td align="left">aaas</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9734</td>
            <td align="left">ar</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9767</td>
            <td align="left">proxy</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9773</td>
            <td align="left">res</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9780</td>
            <td align="left">msrps</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9795</td>
            <td align="left">aim</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9826</td>
            <td align="left">tool</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9842</td>
            <td align="left">finger</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9900</td>
            <td align="left">turn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9901</td>
            <td align="left">num</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9903</td>
            <td align="left">svn</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9904</td>
            <td align="left">ut2004</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-9932</td>
            <td align="left">ms-visio</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10008</td>
            <td align="left">eid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10100</td>
            <td align="left">wss</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10103</td>
            <td align="left">gizmoproject</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10172</td>
            <td align="left">dlna-playsingle</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10224</td>
            <td align="left">swh</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10337</td>
            <td align="left">dat</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10348</td>
            <td align="left">cap</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10355</td>
            <td align="left">z39.50r</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10412</td>
            <td align="left">xcon</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10430</td>
            <td align="left">gitoid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10524</td>
            <td align="left">hydrazone</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10565</td>
            <td align="left">example</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10699</td>
            <td align="left">crid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10717</td>
            <td align="left">teamspeak</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10743</td>
            <td align="left">elsi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10769</td>
            <td align="left">dtmi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10840</td>
            <td align="left">ftp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10902</td>
            <td align="left">ms-drive-to</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10903</td>
            <td align="left">upt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-10911</td>
            <td align="left">appdata</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11039</td>
            <td align="left">callto</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11131</td>
            <td align="left">ms-remotedesktop-launch</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11139</td>
            <td align="left">dweb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11264</td>
            <td align="left">lastfm</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11307</td>
            <td align="left">xmlrpc.beep</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11342</td>
            <td align="left">ms-whiteboard</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11465</td>
            <td align="left">first-run-pen-experience</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11473</td>
            <td align="left">webcal</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11553</td>
            <td align="left">adt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11566</td>
            <td align="left">vemmi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11590</td>
            <td align="left">cvs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11629</td>
            <td align="left">taler</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11688</td>
            <td align="left">ms-inputapp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11864</td>
            <td align="left">git</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11893</td>
            <td align="left">irc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-11936</td>
            <td align="left">ms-settings-workplace</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12171</td>
            <td align="left">blob</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12173</td>
            <td align="left">modem</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12188</td>
            <td align="left">msnim</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12268</td>
            <td align="left">iris.lwz</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12302</td>
            <td align="left">ms-sttoverlay</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12321</td>
            <td align="left">lbry</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12334</td>
            <td align="left">rmi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12346</td>
            <td align="left">ms-restoretabcompanion</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12482</td>
            <td align="left">ms-useractivityset</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12485</td>
            <td align="left">dab</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12491</td>
            <td align="left">about</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12500</td>
            <td align="left">embedded</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12501</td>
            <td align="left">rtmp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12526</td>
            <td align="left">ircs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12558</td>
            <td align="left">mid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12573</td>
            <td align="left">sip</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12593</td>
            <td align="left">ipns</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12666</td>
            <td align="left">dvx</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12706</td>
            <td align="left">android</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12747</td>
            <td align="left">wtai</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12831</td>
            <td align="left">ms-search-repair</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12838</td>
            <td align="left">microsoft.windows.camera.multipicker</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12857</td>
            <td align="left">ms-settings-screenrotation</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12879</td>
            <td align="left">rtspu</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12914</td>
            <td align="left">ms-screenclip</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12943</td>
            <td align="left">aaa</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12954</td>
            <td align="left">xmpp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-12988</td>
            <td align="left">soldat</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13041</td>
            <td align="left">lorawan</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13054</td>
            <td align="left">beshare</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13077</td>
            <td align="left">sips</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13081</td>
            <td align="left">iris.xpc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13113</td>
            <td align="left">simpleledger</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13127</td>
            <td align="left">vsls</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13207</td>
            <td align="left">matrix</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13307</td>
            <td align="left">otpauth</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13336</td>
            <td align="left">cid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13352</td>
            <td align="left">service</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13417</td>
            <td align="left">h323</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13438</td>
            <td align="left">ms-settings-connectabledevices</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13452</td>
            <td align="left">payto</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13463</td>
            <td align="left">ms-settings-displays-topology</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13505</td>
            <td align="left">lvlt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13596</td>
            <td align="left">ms-walk-to</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13672</td>
            <td align="left">dns</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13730</td>
            <td align="left">quic-transport</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13762</td>
            <td align="left">paparazzi</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13766</td>
            <td align="left">ms-people</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13889</td>
            <td align="left">xri</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13894</td>
            <td align="left">onenote-cmd</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-13934</td>
            <td align="left">dav</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14003</td>
            <td align="left">content-type</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14068</td>
            <td align="left">sms</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14119</td>
            <td align="left">ms-publisher</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14197</td>
            <td align="left">xfire</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14250</td>
            <td align="left">secondlife</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14260</td>
            <td align="left">ark</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14301</td>
            <td align="left">iax</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14312</td>
            <td align="left">msrp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14475</td>
            <td align="left">swid</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14590</td>
            <td align="left">tn3270</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14596</td>
            <td align="left">ms-appinstaller</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14627</td>
            <td align="left">stuns</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14688</td>
            <td align="left">dpp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14701</td>
            <td align="left">ms-secondary-screen-controller</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14764</td>
            <td align="left">browserext</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14820</td>
            <td align="left">chrome</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-14878</td>
            <td align="left">pkcs11</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15066</td>
            <td align="left">dlna-playcontainer</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15155</td>
            <td align="left">spiffe</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15207</td>
            <td align="left">uuid-in-package</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15261</td>
            <td align="left">ms-settings-proximity</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15356</td>
            <td align="left">things</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15377</td>
            <td align="left">ms-gamebarservices</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15379</td>
            <td align="left">shc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15547</td>
            <td align="left">ipp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15552</td>
            <td align="left">mailto</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15558</td>
            <td align="left">ms-browser-extension</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15838</td>
            <td align="left">shttp (OBSOLETE)</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15842</td>
            <td align="left">acct</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15849</td>
            <td align="left">w3</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15869</td>
            <td align="left">wais</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15928</td>
            <td align="left">qb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-15947</td>
            <td align="left">ms-search</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16043</td>
            <td align="left">ms-settings-airplanemode</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16045</td>
            <td align="left">jar</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16069</td>
            <td align="left">tel</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16074</td>
            <td align="left">dntp</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16160</td>
            <td align="left">chrome-extension</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16193</td>
            <td align="left">cast</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16326</td>
            <td align="left">view-source</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16356</td>
            <td align="left">im</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16358</td>
            <td align="left">resource</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16378</td>
            <td align="left">ms-calculator</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16380</td>
            <td align="left">news</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16415</td>
            <td align="left">wcr</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16523</td>
            <td align="left">casts</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16689</td>
            <td align="left">ms-access</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16723</td>
            <td align="left">grd</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16750</td>
            <td align="left">rsync</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16773</td>
            <td align="left">lpa</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16850</td>
            <td align="left">afs</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16874</td>
            <td align="left">bb</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16884</td>
            <td align="left">ham</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16926</td>
            <td align="left">info</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-16972</td>
            <td align="left">ms-meetnow</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17117</td>
            <td align="left">ms-project</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17172</td>
            <td align="left">ethereum</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17225</td>
            <td align="left">thismessage</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17226</td>
            <td align="left">vnc</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17232</td>
            <td align="left">snews</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17245</td>
            <td align="left">sieve</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17269</td>
            <td align="left">feedready</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17271</td>
            <td align="left">mt</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17288</td>
            <td align="left">ws</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17338</td>
            <td align="left">ms-transit-to</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17346</td>
            <td align="left">ventrilo</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
          <tr>
            <td align="left">-17357</td>
            <td align="left">iris</td>
            <td align="left">[RFC-XXXX]</td>
          </tr>
        </tbody>
      </table>
      <t>The assignments from this table can be extracted from the XML form of
this document (when stored in a file "this.xml") into CSV form
<xref target="RFC4180"/> using this short Ruby program:</t>
      <sourcecode type="ruby"><![CDATA[
require 'rexml/document'; include REXML
XPath.each(Document.new(File.read("this.xml")),"//tr") {|row|
  puts XPath.each(row,"td").map{|d|d.text()}[0..1].join(",")}
]]></sourcecode>
    </section>
    <section anchor="the-small-print">
      <name>The Small Print</name>
      <t>This appendix lists a few corner cases of URI semantics that
implementers of CRIs need to be aware of, but that are not
representative of the normal operation of CRIs.</t>
      <ol spacing="normal" type="SP%d." group="SP"><li anchor="sp-initial-empty">
          <t>Initial (Lone/Leading) Empty Path Segments:</t>
        </li>
      </ol>
      <ul spacing="normal">
        <li>
          <t><em>Lone empty path segments:</em>
  As per <xref target="RFC3986"/>, <tt>s://x</tt> is distinct from <tt>s://x/</tt> -- i.e., a URI
  with an empty path (<tt>[]</tt> in CRI) is different from one with a lone
  empty path segment (<tt>[""]</tt>).
  However, in HTTP and CoAP, they are implicitly aliased (for CoAP, in
  item 8 of <xref section="6.4" sectionFormat="of" target="RFC7252"/>).
  As per item 7 of <xref section="6.5" sectionFormat="of" target="RFC7252"/>, recomposition of a URI
  without Uri-Path Options from the other URI-related CoAP Options
  produces <tt>s://x/</tt>, not <tt>s://x</tt> -- CoAP prefers the lone empty path
  segment form.
  Similarly, after discussing HTTP semantics, <xref section="6.2.3" sectionFormat="of" target="RFC3986"/> states:</t>
        </li>
      </ul>
      <blockquote>
        <t>In general, a URI that uses the generic syntax for authority with an
  empty path should be normalized to a path of "/".</t>
      </blockquote>
      <ul spacing="normal">
        <li>
          <t><em>Leading empty path segments without authority</em>:
  Somewhat related, note also that URIs and URI references that do not
  carry an authority cannot represent initial empty path segments
  (i.e., that are followed by further path segments): <tt>s://x//foo</tt>
  works, but in a <tt>s://foo</tt> URI or an (absolute-path) URI reference of
  the form <tt>//foo</tt> the double slash would be mis-parsed as leading in
  to an authority.</t>
        </li>
      </ul>
      <ol spacing="normal" type="SP%d." group="SP"><li anchor="sp-constraints">
          <t>Constraints (<xref target="constraints"/>) of CRIs/basic CRIs  </t>
          <t>
While most URIs in everyday use can be converted to CRIs and back to URIs
matching the input after syntax-based normalization of the URI,
these URIs illustrate the constraints by example:  </t>
          <ul spacing="normal">
            <li>
              <t><tt>https://host%ffname</tt>, <tt>https://example.com/x?data=%ff</tt>      </t>
              <t>
All URI components must, after percent decoding, be valid UTF-8 encoded text.
Bytes that are not valid UTF-8 show up, for example, in BitTorrent web seeds.
<!-- <https://www.bittorrent.org/beps/bep_0017.html>, not sure this warrants an informative reference -->
              </t>
            </li>
            <li>
              <t><tt>https://example.com/component%3bone;component%3btwo</tt>, <tt>http://example.com/component%3dequals</tt>      </t>
              <t>
While delimiters can be used in an escaped and unescaped form in URIs with generally distinct meanings,
basic CRIs (i.e., without percent-encoded text <xref target="pet"/>) only support one escapable delimiter character per component,
which is the delimiter by which the component is split up in the CRI.      </t>
              <t>
Note that the separators <tt>.</tt> (for authority parts), <tt>/</tt> (for paths), <tt>&amp;</tt> (for query parameters)
are special in that they are syntactic delimiters of their respective components in CRIs.
Thus, the following examples <em>are</em> convertible to basic CRIs:      </t>
              <t><tt>https://interior%2edot/</tt>      </t>
              <t><tt>https://example.com/path%2fcomponent/second-component</tt>      </t>
              <t><tt>https://example.com/x?ampersand=%26&amp;questionmark=?</tt></t>
            </li>
            <li>
              <t><tt>https://alice@example.com/</tt>      </t>
              <t>
The user information can be expressed in CRIs if the "userinfo"
feature is present.  The URI <tt>https://@example.com</tt> is
represented as <tt>[-4, [false, "", "example", "com"]]</tt>; the <tt>false</tt>
serves as a marker that the next element is the userinfo.      </t>
              <t>
The rules do not cater for unencoded ":" in userinfo, which is
commonly considered a deprecated inclusion of a literal password.</t>
            </li>
          </ul>
        </li>
      </ol>
    </section>
    <section anchor="edn-cri">
      <name>CBOR Extended Diagnostic Notation (EDN): The "cri" Extension</name>
      <t><xref target="I-D.ietf-cbor-edn-literals"/> more rigorously defines and further extends the CBOR Extended
Diagnostic Notation (EDN), as originally introduced in <xref section="8" sectionFormat="of" target="RFC8949"/> and extended in <xref section="G" sectionFormat="of" target="RFC8610"/>.
Among others, it provides an extension point for
"application-extension identifiers" that can be used to notate CBOR
data items in application-specific ways.</t>
      <t>The present document defines and registers (<xref target="cri-iana"/>) the
application-extension identifier "<tt>cri</tt>", which can be used to notate
an EDN literal for a CRI reference as defined in this document.</t>
      <t>The text of the literal is a URI Reference as per <xref target="RFC3986"/> or an IRI
Reference as per <xref target="RFC3987"/>.</t>
      <t>The value of the literal is a CRI reference that can be converted to
the text of the literal using the procedure of <xref target="cri-to-uri"/>.
Note that there may be more than one CRI reference that can be
converted to the URI/IRI reference given; implementations are expected
to favor the simplest variant available and make non-surprising
choices otherwise.</t>
      <t>As an example, the CBOR diagnostic notation</t>
      <sourcecode type="cbor-diag"><![CDATA[
cri'https://example.com/bottarga/shaved'
]]></sourcecode>
      <t>is equivalent to</t>
      <sourcecode type="cbor-diag"><![CDATA[
[-4, ["example", "com"], ["bottarga", "shaved"]]
]]></sourcecode>
      <t>See <xref target="cri-grammar"/> for an ABNF definition for the content of <tt>cri</tt> literals.</t>
      <section anchor="cri-grammar">
        <name>cri: ABNF Definition of URI Representation of a CRI</name>
        <t>The syntax of the content of <tt>cri</tt> literals can be described by the
ABNF for <tt>URI-reference</tt> in <xref section="4.1" sectionFormat="of" target="RFC3986"/>, as reproduced
in <xref target="abnf-grammar-cri"/>.
If the content is not ASCII only (i.e., for IRIs), first apply
<xref section="3.1" sectionFormat="of" target="RFC3987"/> and apply this grammar to the result.</t>
        <figure anchor="abnf-grammar-cri">
          <name>ABNF Definition of URI Representation of a CRI</name>
          <sourcecode type="abnf" name="cbor-edn-cri.abnf"><![CDATA[
app-string-cri = URI-reference
; ABNF from RFC 3986:

URI           = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

hier-part     = "//" authority path-abempty
                 / path-absolute
                 / path-rootless
                 / path-empty

URI-reference = URI / relative-ref

absolute-URI  = scheme ":" hier-part [ "?" query ]

relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

relative-part = "//" authority path-abempty
                 / path-absolute
                 / path-noscheme
                 / path-empty

scheme        = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )

authority     = [ userinfo "@" ] host [ ":" port ]
userinfo      = *( unreserved / pct-encoded / sub-delims / ":" )
host          = IP-literal / IPv4address / reg-name
port          = *DIGIT

IP-literal    = "[" ( IPv6address / IPvFuture  ) "]"

IPvFuture     = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" )

IPv6address   =                            6( h16 ":" ) ls32
                 /                       "::" 5( h16 ":" ) ls32
                 / [               h16 ] "::" 4( h16 ":" ) ls32
                 / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
                 / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
                 / [ *3( h16 ":" ) h16 ] "::"    h16 ":"   ls32
                 / [ *4( h16 ":" ) h16 ] "::"              ls32
                 / [ *5( h16 ":" ) h16 ] "::"              h16
                 / [ *6( h16 ":" ) h16 ] "::"

h16           = 1*4HEXDIG
ls32          = ( h16 ":" h16 ) / IPv4address
IPv4address   = dec-octet "." dec-octet "." dec-octet "." dec-octet
dec-octet     = DIGIT                 ; 0-9
                 / %x31-39 DIGIT         ; 10-99
                 / "1" 2DIGIT            ; 100-199
                 / "2" %x30-34 DIGIT     ; 200-249
                 / "25" %x30-35          ; 250-255

reg-name      = *( unreserved / pct-encoded / sub-delims )

path          = path-abempty    ; begins with "/" or is empty
                 / path-absolute   ; begins with "/" but not "//"
                 / path-noscheme   ; begins with a non-colon segment
                 / path-rootless   ; begins with a segment
                 / path-empty      ; zero characters

path-abempty  = *( "/" segment )
path-absolute = "/" [ segment-nz *( "/" segment ) ]
path-noscheme = segment-nz-nc *( "/" segment )
path-rootless = segment-nz *( "/" segment )
path-empty    = 0<pchar>

segment       = *pchar
segment-nz    = 1*pchar
segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
                 ; non-zero-length segment without any colon ":"

pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"

query         = *( pchar / "/" / "?" )

fragment      = *( pchar / "/" / "?" )

pct-encoded   = "%" HEXDIG HEXDIG

unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
reserved      = gen-delims / sub-delims
gen-delims    = ":" / "/" / "?" / "#" / "[" / "]" / "@"
sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
                 / "*" / "+" / "," / ";" / "="
]]></sourcecode>
        </figure>
      </section>
    </section>
    <section removeInRFC="true" anchor="change-log">
      <name>Change Log</name>
      <t>Changes from -09 to -14</t>
      <ul spacing="normal">
        <li>
          <t>Editorial changes; move some examples to <xref target="the-small-print"/>, break up
railroad diagram; mention commonalities with (and tiny difference
from) CoAP Options; mention failure of percent-encoding for dots in
host-name components</t>
        </li>
        <li>
          <t>Explicitly mention invalid case in <xref target="naked-rootless"/> (rootless CRIs without
authority that do not have a path component)</t>
        </li>
        <li>
          <t>Generalize <xref target="extending"/>, discuss PET (percent-encoded text) extension in more detail</t>
        </li>
        <li>
          <t>Add registry of URI scheme numbers (<xref target="sec-numbers"/>, <xref target="iana-considerations"/>)</t>
        </li>
        <li>
          <t>Add user information to the authority ("userinfo" feature)</t>
        </li>
        <li>
          <t><xref target="cddl"/>: Use separate rule for CRI, allow <tt>[]</tt> for query in CRI
Reference; generalize scheme numbers, add userinfo; add list of
additional requirements in prose (<xref target="prose"/>)</t>
        </li>
        <li>
          <t>Discuss <xref format="title" target="unprocessable"/> (<xref target="unprocessable"/>)</t>
        </li>
        <li>
          <t>Conversion to URI: Handle <tt>:</tt> in first pathname component of a
CRI-Reference (<xref target="colon"/>)</t>
        </li>
        <li>
          <t>Add Christian Amsüss as contributor</t>
        </li>
        <li>
          <t>Add CBOR EDN application-extension "<tt>cri</tt>" (see <xref target="edn-cri"/> and
<xref target="cri-iana"/>).</t>
        </li>
        <li>
          <t>Add Section on CoAP integration (and new CoAP Options Proxy-Cri and
Proxy-Scheme-Number).</t>
        </li>
      </ul>
      <t>Changes from -08 to -09</t>
      <ul spacing="normal">
        <li>
          <t>Identify more esoteric features with a CDDL ".feature".</t>
        </li>
        <li>
          <t>Clarify that well-formedness requires removing trailing nulls.</t>
        </li>
        <li>
          <t>Fragments can contain PET.</t>
        </li>
        <li>
          <t>Percent-encoded text in PET is treated as byte strings.</t>
        </li>
        <li>
          <t>URIs with an authority but a completely empty path (e.g.,
<tt>http://example.com</tt>): CRIs with an authority component no longer
always produce at least a slash in the path component.  </t>
          <t>
For generic schemes, the conversion of <tt>scheme://example.com</tt> to a
CRI is now possible
because CRI produces a URI with an authority not followed by a slash
following the updated rules of <xref target="cri-to-uri"/>.
Schemes like http and coap do not distinguish between the empty path
and the path containing a single slash when an authority is set (as
recommended in <xref target="RFC3986"/>).
For these schemes, that equivalence allows implementations to
convert the just-a-slash URI to a CRI with a zero length path array
(which, however, when converted back, does not produce a slash after
the authority).  </t>
          <t>
(Add an appendix "the small print" for more detailed discussion of
pesky corner cases like this.)</t>
        </li>
      </ul>
      <t>Changes from -07 to -08</t>
      <ul spacing="normal">
        <li>
          <t>Fix the encoding of NOAUTH-NOSLASH / NOAUTH-LEADINGSLASH</t>
        </li>
        <li>
          <t>Add URN and DID schemes, add example.</t>
        </li>
        <li>
          <t>Add PET</t>
        </li>
        <li>
          <t>Remove hopeless attempt to encode "remote trailing nulls" rule in
CDDL (which is not a transformation language).</t>
        </li>
      </ul>
      <t>Changes from -06 to -07</t>
      <ul spacing="normal">
        <li>
          <t>More explicitly discuss constraints (<xref target="constraints"/>), add examples (<xref target="sp-constraints"/>).</t>
        </li>
        <li>
          <t>Make CDDL more explicit about special simple values.</t>
        </li>
        <li>
          <t>Lots of gratuitous changes from XML2RFC redefinition of <tt>&lt;tt&gt;</tt>
semantics.</t>
        </li>
      </ul>
      <t>Changes from -05 to -06</t>
      <ul spacing="normal">
        <li>
          <t>rework authority:
          </t>
          <ul spacing="normal">
            <li>
              <t>split reg-names at dots;</t>
            </li>
            <li>
              <t>add optional zone identifiers <xref target="RFC6874"/> to IP addresses</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Changes from -04 to -05</t>
      <ul spacing="normal">
        <li>
          <t>Simplify CBOR structure.</t>
        </li>
        <li>
          <t>Add implementation status section.</t>
        </li>
      </ul>
      <t>Changes from -03 to -04:</t>
      <ul spacing="normal">
        <li>
          <t>Minor editorial improvements.</t>
        </li>
        <li>
          <t>Renamed path.type/path-type to discard.</t>
        </li>
        <li>
          <t>Renamed option to section, substructured into items.</t>
        </li>
        <li>
          <t>Simplified the table "resolution-variables".</t>
        </li>
        <li>
          <t>Use the CBOR structure inspired by Jim Schaad's proposals.</t>
        </li>
      </ul>
      <t>Changes from -02 to -03:</t>
      <ul spacing="normal">
        <li>
          <t>Expanded the set of supported schemes (#3).</t>
        </li>
        <li>
          <t>Specified creation, normalization and comparison (#9).</t>
        </li>
        <li>
          <t>Clarified the default value of the <tt>path.type</tt> option (#33).</t>
        </li>
        <li>
          <t>Removed the <tt>append-relation</tt> path.type option (#41).</t>
        </li>
        <li>
          <t>Renumbered the remaining path.types.</t>
        </li>
        <li>
          <t>Renumbered the option numbers.</t>
        </li>
        <li>
          <t>Restructured the document.</t>
        </li>
        <li>
          <t>Minor editorial improvements.</t>
        </li>
      </ul>
      <t>Changes from -01 to -02:</t>
      <ul spacing="normal">
        <li>
          <t>Changed the syntax of schemes to exclude upper case characters (#13).</t>
        </li>
        <li>
          <t>Minor editorial improvements (#34 #37).</t>
        </li>
      </ul>
      <t>Changes from -00 to -01:</t>
      <ul spacing="normal">
        <li>
          <t>None.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>CRIs were developed by <contact fullname="Klaus Hartke"/> for use in the Constrained
RESTful Application Language (CoRAL).
The current author team is completing this work with a view to achieve
good integration with the potential use cases, both inside and outside of CoRAL.</t>
      <t>Thanks to
<contact fullname="Christian Amsüss"/>,
<contact fullname="Thomas Fossati"/>,
<contact fullname="Ari Keränen"/>,
<contact fullname="Jim Schaad"/>,
<contact fullname="Dave Thaler"/>,
and
<contact fullname="Marco Tiloca"/>
for helpful comments and discussions that have shaped the
document.</t>
      <!--  LocalWords:  CRI normalizations dereferencing dereference CRIs
 -->
<!--  LocalWords:  untrusted subcomponent
 -->

</section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="K." surname="Hartke" fullname="Klaus Hartke">
        <organization>Ericsson</organization>
        <address>
          <postal>
            <street>Torshamnsgatan 23</street>
            <city>Stockholm</city>
            <code>16483</code>
            <country>Sweden</country>
          </postal>
          <email>klaus.hartke@ericsson.com</email>
        </address>
      </contact>
      <contact initials="C." surname="Amsüss" fullname="Christian Amsüss">
        <organization/>
        <address>
          <postal>
            <street>Hollandstr. 12/4</street>
            <city>Vienna</city>
            <code>1020</code>
            <country>Austria</country>
          </postal>
          <email>christian@amsuess.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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
07bUQRtIpBasefj/B/tIZVysTwEA

-->

</rfc>
