Comments on "Generic URN Syntax"

Roy Fielding (fielding@beach.w3.org)
Sun, 09 Jul 1995 20:52:11 -0400


Message-Id: <199507100052.UAA14951@beach.w3.org>
To: uri@bunyip.com
Subject: Comments on "Generic URN Syntax"
Date: Sun, 09 Jul 1995 20:52:11 -0400
From: Roy Fielding <fielding@beach.w3.org>

Here are my comments on <draft-ietf-uri-urn-syntax-00>.  I have made
some of these comments during the meetings (and several times on this list),
they were not addressed to specific changes for the draft.

Abstract:  
The phrase "This syntax is basically the same as the URN syntax
described in RFC 1630." is not only incorrect, but also inappropriate
for a standards-track document.

Introduction:
"The minimum set of requirements for URNs are described in [URNR]."
Regardless of the title, these are recommendations, not requirements.

2. Syntax

"SchemeID" should be just "scheme".

The entire paragraph beginning with "When URNs appear in free text ..."
and ending with " must be wrapped in this fashion." should be deleted
or moved to an appendix.  "must" must be replaced with "should".

"... SchemeID fields are case insensitive."  The scheme must consist
only of lower case letters, "+", "-", or "." characters.

2.1 SchemeIDs
  ... SchemeIDs starting with the characters "x-" are reserved for
  experimental purposes. Because all URN schemes are currently
  experimental, all URN SchemeIDs should begin with "x-" until the
  schemes are approved by the IETF URI Working Group.

NO! That is not how rational systems are developed.  "x-" should only
be used when there is no intention (yet) to standardize a scheme.  The
document should only say 'IANA will never register any scheme name
beginning with "x-"'  Use of "x-" is to prevent standardization conflicts,
not to separate "registered" from "unregistered".

2.2 ElementIDs

   ... The ":" (hex 3A) character is not reserved, but its semantics of
   seperating fields should not be casually ignored.

I object to this change of syntax (and I made the same objection to
Mitra's draft).  When a syntactical element is needed to represent
hierarchy, the "/" character is what should be used.  The examples
should be

   <URN: dns-2:physics.bigstate.edu/thesis12>
   <URN: wlnk:physics.bigstate.edu/thesis12>

On the other hand, you may want to give a more realistic example, like

   <URN: path:/edu/bigstate/physics/thesis12>

as a comparison.

 ....Roy T. Fielding  Department of ICS, University of California, Irvine USA
                      Visiting Scholar, MIT/LCS + World-Wide Web Consortium
                      (fielding@w3.org)                (fielding@ics.uci.edu)