Comments on url-syntax-draft...

Ryan Moats (
Thu, 26 Dec 1996 08:50:59 -0600

Message-Id: <>
Date: Thu, 26 Dec 1996 08:50:59 -0600
From: Ryan Moats <>
To: Larry Masinter <>
Subject: Comments on url-syntax-draft... 


I've looked through your new draft especially with a view to
meshing with the URN syntax and I still have two major issues. 
Fortunately, I believe that a single solution will handle both.
I also have an editorial issue.  Once these are taken care of,
I believe that both drafts have been aligned on this issue.

1. Given the current URN spec, the "greedy" algorith in Appendix B
will pick up the urn scheme as "urn:<NID>".  For example the URN
urn:isbn:1-32456-78902-X will be parsed as being scheme "urn:isbn".

2. There is no general specification of structure for a URN NSS, it
is determined on a namespace by namespace basis.

I can see two solutions to item 1: (a) modify the scheme syntax
in Section 4.1 to include ":" or (b) add a section for URN handling
that states that a scheme including the "urn:" token should be
treated as an opaque URL because it is really a URN.  

I propose that option (b) be followed because the easiest solution
to item 2 is for the URL parser to declare a URN as an "opaque-URL"
and do no processing on it.  This would ensure that the NSS structure
doesn't confuse the URL parser.

I believe that an appendix for this would work the best, and I
add it below...

My editorial issue is that the section paragraph in section 1.1 is
potentially confusing.  There are requirements in the URL syntax that 
do not apply to the URN syntax.  I would prefer to see the following
paragraph in its place:

"This specification restricts its discussion to URLs.  URN syntax
is specified in [URN Syntax Ref].  URN and URL syntax have been
specified so that a URN may be used in any data field that might
otherwise hold a URL.   Details of how to handle a URN are provided
in Appendix X."

Ryan Moats

=======================Appendix on URN handling in a URL parser

Appendix X. URN Handling in URL parsers

URN syntax is specified in [URN Syntax Ref].  URNs include a leading
tag "urn:".  Thus, the "greedy" algorithm in
Appendix B will return a scheme that includes this tag.

In addition, URNs do not require any determinist strcuture to the
URN.  Rather, this is assigned on a namespace-by-namespace basis.

To enable a URL parser to handle a URN properly, 
A URL parser that detects a scheme that includes the "urn:" tag MUST
treat the URL as an opaque URL to be handed to a URN resolver for
further processing.