adding URL schemes in URI::URL v2.1

Andrew Wilcox (awilcox@world.std.com)
Mon, 10 Apr 1995 11:36:56 -0400


Tim Bunce <Tim.Bunce@ig.co.uk> writes:
> This version replaces the previous auto-loading scheme with something
> rather more sensible.

Looks good!

Couple comments.

>    URI::URL->class;        # get generic implementor
>    URI::URL->class($scheme);          # get scheme implementor
>    URI::URL->class($scheme, $class);  # set scheme implementor

Perhaps we should call this implementor() to be more specific?

> If a scheme is not specified in the URL it will use the scheme
> specified by the parent URL.

Note that this is the only point in the documentation that you use the
term "parent URL".  Since clone() always succeeds for 'new URI::URL
$other_url_obj', perhaps just saying "base URL" would be ok.

>    package MYURL::foo;              
>    @ISA = (URI::URL->class);	# inherit from generic scheme

I'd add an explanation here like: "URI::URL->class() will return the
name of the class that implements the generic scheme class which
parses typical URL's.  By storing the generic class name into @ISA as
shown above, you will make your new scheme class a subclass of the
generic class as well."

Thanks,

-Andrew