According to Wikipedia,
urn:<NID>:<NSS>
The leading urn: sequence is case-insensitive.
<NID>
is the namespace identifier, which determines the syntactic interpretation of<NSS>
, the namespace-specific string. The functional requirements for uniform resource names are described in RFC 1737.[5]
Source: http://en.wikipedia.org/wiki/Uniform_resource_name
And then it goes on to say that the experimental NID is prefixed X-
but then says:
RFC 6648 deprecates the use of "X-" notation for new ID names, but makes no recommendation on substituting existing "X-" names, and does not override existing specifications that require the use of "X-". [7]
So now what?
If I want to make-up a URN for some identifiers in a private system, how do I name them correctly?
My gut says that the x-
prefix doesn't gain anything because two developers could just as easily start using urn:x-foo
and it wouldn't be any different to if they'd just chosen urn:foo
, except perhaps that it'd be clear that it wasn't officially registered with IANA.
So we should just try and make up something unique and make best endeavors to check that it is. Right?