Subject: [urn] 2141bis questions - (6) NID syntax for informal namespaces

From: John C Klensin <[email-masked]>
Date: Thu, 25 Dec 2014 01:09:45 -0500

Section 6.2 specifies the syntax of NIDs for Informal
Namespaces, but it lacks specificity in one area, which is
whether numbers with leading zeros are permitted and, if they
are, whether NIDs with leading zeros are considered equivalent
to those with the same numeric values with the leading zeros
removed.  I suggest we pick one of two options and document it
more or less as described below.

By the way, the syntax of an NID for an informal namespace is
not the syntax of the namespace.    Equally important, the
syntax snippet isn't ABNF, ABNF is not referenced, and there is
no production for "<number>".  Those are editorial issues that
will have to be fixed in any event.

Option 1: Leading zeros forbidden.  Remove the present format
snippet and replace

Old: 

	Thus the syntax of an informal namespace is:
	
	       "urn-" <number>

New: 
	The syntax for the NID of an informal namespace is:
	
       InformalNamespaceNID = "urn-" Digit19 [ *Digit09]
       Digit19 = "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8" /
"9"
       Digit09 = "0" / Digit19

Option 2: Leading zeros forbidden but equivalent to the NID if
they are 
stripped.  

Add, after the sentence starting "The only restrictions..." (and
after fixing "syntax of an informal namespace" and "<number>"),
something like:

While IANA may choose to assign NIDs with leading zeros
following "urn-", a URN containing, for example, an NID of
"urn-007" would not be equivalent  under the matching rules of
this specification and RFC 3986 to one containing and NID of
"urn-7" so IANA should use care to avoid creating confusion.

I think Option 1 is probably easier and simpler.  A hypothetic
third option in which an NID with leading zeros in the number is
equivalent to one with them stripped leads, I think, to madness
despite its numerical obviousness.

  john