> Looking through the URI syntax in detail, I became aware > of the following 'anomaly': parameters are not allowed > in the first segment of a relative URI (if it doesn't start > with a slash). The relevant rules are: > > relativeURI = ( net_path | abs_path | rel_path ) [ "?" query ] > > net_path = "//" authority [ abs_path ] > abs_path = "/" path_segments > rel_path = rel_segment [ abs_path ] > > rel_segment = 1*( unreserved | escaped | > ";" | "@" | "&" | "=" | "+" | "$" | "," ) > > path_segments = segment *( "/" segment ) > segment = *pchar *( ";" param ) > param = *pchar > pchar = unreserved | escaped | > ":" | "@" | "&" | "=" | "+" | "$" | "," > > So in "abc;def/ghi;jkl", 'jkl' is a parameter, but 'def' isn't. > On the other hand, in "/abc;def/ghi;jkl", both 'def' and 'jkl' > are parameters. > > Is this an error in the syntax, or can somebody explain this? No, but I agree that it is confusing. They are defined differently because rel_segment cannot be empty. Syntactically they are equivalent. I'll find a better way to write it. There was some debate over whether the notion of parameters should just be removed completely. ....RoyReceived on Friday, 11 October 2002 18:17:50 UTC
This archive was generated by hypermail 2.4.0 : Sunday, 10 October 2021 22:17:41 UTC