Re: Relative URLs, // and ;

Erik Guttman (eguttman@ns.incog.com)
Thu, 06 Feb 1997 16:25:11 -0800


Message-Id: <3.0.32.19970206155630.006b33c8@osmosys.incog.com>
Date: Thu, 06 Feb 1997 16:25:11 -0800
To: uri@bunyip.com
From: Erik Guttman <eguttman@ns.incog.com>
Subject: Re: Relative URLs, // and ;
Cc: Tim Berners-Lee <timbl@w3.org>


How could one express an attribute which has multiple values?
say we have:

//moremaps.com/us/ma/cambridge;features=roads<some syntax>schools<some
syntax>churches

Could the <some syntax> be a "+", say?

I am working on the Service Location Protocol (SLP).  
We associate attributes with services.  The services are 
identified using a service: URL scheme.  Since these 
attributes have multiple values and may be quite extensive 
in number and size we include a mechanism in SLP to register
and transfer them in replies outside of the URL. It may be
useful to include SLP attributes in the service: URL, 
for small numbers of reasonably sized attributes.

The discussion makes it clear that attributes can be used
quite effectively in URLs, but only discusses single valued
attributes.

Thanks,

Erik Guttman
Sun Microsystems

>> >Daniel LaLiberte wrote:

>> > How is ';' involved in relative URLs?

>Tim Berners-Lee wrote:
>
>Semicolons were introduced to allow elements to be specified by name rather
>than
>position, for spaces which were best seen as matrices rather than trees.
>In this case it is only sensible for relative URls which start with ";" to
>take a
>set of attribute values which are different.  This implies
>	1. attributes can only occur once (unless you have a syntax for removing a
>	   particular occurrence) and
>	2. a missed value is equivalent to an unspecified value
>	(so you can remove an occurrence by setting its value to empty)
>	3. attributes are unordered
>
>So relative to
>	//moremaps.com/us/ma/cambridge;scale=50000;roads=main
>or the equivalent
>	//moremaps.com/us/ma/cambridge;roads=main;scale=50000
>
>URI	;scale=25000
>gives	//moremaps.com/us/ma/cambridge;scale=25000;roads=main
>
>and	;roads
>gives	//moremaps.com/us/ma/cambridge;scale=50000
>
>and	;roads=
>gives	//moremaps.com/us/ma/cambridge;scale=50000;roads=
>
>and	;rivers=all
>gives	//moremaps.com/us/ma/cambridge;scale=50000;roads=main;rivers=all