Subject: [urn] draft-ietf-urnbis-rfc2141bis-urn-08 mostly okay, except "basic Latin"

From: Sean Leonard <[email-masked]>
Date: Sat, 10 Jan 2015 23:57:36 -0800

"For the record" I looked closely at 
draft-ietf-urnbis-rfc2141bis-urn-08, as well as the past few months' 
comments. Overall it looks okay. I would quibble with some word choices 
but with the comments already posted, it looks like it is on the right 
track.

The only thing that concerns me is the term "basic Latin" in Section 3.2.:

    In order to make URNs as stable and persistent as possible when
    protocols evolve and the environment around them changes, namespaces
    SHOULD NOT allow characters outside the basic Latin repertoire unless
    the nature of the particular namespace makes such characters
    necessary.

I believe that this is supposed to mean the "C0 Controls and Basic 
Latin" block in the Unicode Standard, which is exactly equivalent to 
US-ASCII (both in character set, and when encoded in UTF-8). See, e.g., 
<http://en.wikipedia.org/wiki/Basic_Latin_%28Unicode_block%29> and 
<http://www.unicode.org/Public/6.2.0/charts/CodeCharts.pdf>.

I believe that this paragraph is blessing the entire range U+0000 - 
U+007F, not just the characters in the RFC 3986 repertoire.

However, the term "basic Latin" is not defined in the draft-08 text, and 
could easily be misread to refer to:

a) basic Latin (i.e, characters used to teach Latin in grade school, 
monasteries, seminaries, etc.);
b) basic Latin characters (i.e., characters used in certain 
well-populated countries in Western Europe, therefore including U+00A0 - 
U+00FF, but possibly excluding the C0 and C1 ranges U+0000 - U+001F and 
U+0080 - U+009F); or
c) only the range U+0020 - U+007E.

At a minimum, this range needs to be clarified.

At medium-scope, I do not see the point of that paragraph in Section 
3.2. Basically it says "don't use non-US-ASCII, unless you have to". 
Okay...but...is this actionable? If you are encoding digits, using the 
unreserved set of characters is obvious. If you are encoding 
sub-namespaces (e.g., urn:ietf:rfc), the "sub-namespace name" will be 
fixed by the spec. I suggest excising the paragraph.

At broad-scope, it appears that the UTF-8/Unicode assumption in urn: 
URIs is softened in this draft, compared to RFC 2141. Maybe I missed 
something awhile back, but why is that? I thought that all URNs are 
UTF-8/Unicode, and that made everything nice and consistent.

Sean

---

From: Julian Reschke <[email-masked]>
Date: Wed, 14 Jan 2015 07:45:05 +0100

On 2015-01-11 08:57, Sean Leonard wrote:
> ...
> ...

I thought URNs are RFC3986-URIs, in which case they are limited to the 
characters allowed per RFC 3986. Am I missing something here?

Best regards, Julian