As recently as 2002 the IETF was recommending in RFC 3406 that we should use x-
prefixes for URN namespaces we didn't want to register, e.g. urn:x-acme:foobar
. Now that the IETF has deprecated the x-
prefix in RFC 6648, how are we supposed to construct URNs for namespaces we don't intend to register?
As an aside, I note that RFC 6648 specifically mentions URNs: "In almost all application protocols that make use of protocol parameters (including ... URNs ...), the name space is not limited or constrained in any way, so there is no need to assign a block of names for private use or experimental purposes." I find this an odd thing to say, as RFC 3406 claims, "The space of URN namespaces is managed. I.e., not all syntactically correct URN namespaces (per the URN syntax definition) are valid URN namespaces."
So what is best to use for custom but unregistered URN namespaces? Can I just drop the x-
and use, for my example company Acme, a URN such as urn:acme:foobar
?