Message-Id: <32C290D3.790B@ds.internic.net> Date: Thu, 26 Dec 1996 08:50:59 -0600 From: Ryan Moats <email@example.com> To: Larry Masinter <firstname.lastname@example.org> Cc: email@example.com, firstname.lastname@example.org Subject: Comments on url-syntax-draft... Larry- 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.