- From: Dale R. Worley <worley@ariadne.com>
- Date: Mon, 08 Dec 2025 21:54:46 -0500
- To: Kent Watsen <kent+ietf@watsen.net>
- Cc: tbray@textuality.com, mjethanandani@gmail.com, ietfa@btconnect.com, art@ietf.org, uri@w3.org, uri-review@ietf.org, mt@lowentropy.net
Kent Watsen <kent+ietf@watsen.net> writes:
> True, the original intent was to be 1-1 with RFC 3986. But since this
> discussion has concluded that is not possible, we're now looking to
> see what structured format is possible, and then the text in the I-D
> will be updated to match.
But referring to my earlier message, I don't think the proposed module
has that problem. Maybe I've overlooked something in the discussion.
Or maybe I've overlooked that the module has "host" as being mandatory,
which for URIs it certainly isn't.
The overall syntax of (absolute) URIs is
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
hier-part = "//" authority path-abempty
/ path-absolute
/ path-rootless
/ path-empty
so if you know the scheme, the authority (which may be empty), the path
(which may be path-abempty, path-absolute, path-rootless, or
path-empty), the query (which may be empty or absent), and the fragment
(which may be empty or missing), you know the URI.
Looking at all this a little more carefully, it seems that the module
needs to be adjusted:
- "userinfo" needs to be optional, because an *absent* userinfo is
different from an *empty* userinfo. (The latter has an "@".)
- ditto for "query"
- ditto for "fragment"
- "authority" needs to be optional within "uri"
With those fixes, it seems to me that the module matches RFC 3986. But
maybe I'm wrong and someone can give an example that proves it.
Dale
Received on Tuesday, 9 December 2025 02:54:59 UTC