RFC2396bis, qualified, a nit

Ref:
[[
    hostname      = domainlabel [ qualified ]
    qualified     = *( "." domainlabel ) [ "." toplabel [ "." ] ]
    domainlabel   = alphanum [ 0*61( alphanum | "-" ) alphanum ]
    toplabel      = alpha    [ 0*61( alphanum | "-" ) alphanum ]
    alphanum      = ALPHA / DIGIT
]]

I think the syntax production 'qualified' is ambiguous (i.e. permits more 
than one parse tree for some valid values).

consider:

   .abc.def

is this
   "." <domainlabel> "." <toplabel>
or
   "." <domainlabel> "." <domainlabel>
?

I think the production could be written thus:
    qualified     = *( "." domainlabel ) [ "." toplabel "." ]

...

Looking at this raises another test case for consideration

   http://example.123./aaa/bbb#ccc

is this a relative URI or an invalid URI?  I think the syntax says it's 
relative.

#g


-------------------
Graham Klyne
<GK@NineByNine.org>

Received on Wednesday, 26 February 2003 19:14:37 UTC