RFC#2: Universal Resource Identifier Pasteboard Types

Rohit Khare (khare)
Fri, 10 Feb 1995 13:41:16 -0800


_____________________________________________________________________________
WebStep RFC #2: URI Pasteboard Format February 10, 1994 / Rohit Khare
_____________________________________________________________________________
DESCRIPTION

RFC #2 specifies the standard content and form for exchanging URLs and URIs
over OpenStep pasteboards.
_____________________________________________________________________________
RATIONALE

OpenStep relies extensively on the use of pasteboards for interapplication

data exhange (services, filters, cut/paste, drag-and-drop). While NeXT has
registered many common pasteboard types (RTF, PostScript, TIFF), it is not in
a position to sanction a standard exchange type for WWW references.
_____________________________________________________________________________
SPECIFICATION

The specification consists of three interrelated pasteboard types. Per

OpenStep conventions the "richest" form is presented first. Furthermore,

HTML pasteboard types may preempt all of these as a richer form still.

extern char * URIPboardType "WebStep Universal Resouce Identifier
1.0"

This is an IETF RFC1630-conformant URI. It must be prefixed by URL, per IETF

minutes (http://www.w3.org/hypertext/WWW/Addressing/URL/Minutes/9310.html#z5)
URIs MUST be properly hex-escaped for characters such as ' ', '~', and '/'
Mutiple URIs are to be separated by tab characters.

extern char * URITitlePboardType "WebStep URI Descriptive Title 1.0"

This is a descriptive title for the URI. It can come from a bookmark, from
the <TITLE> of a referenced HTML document, or the filename. The default
value is the URI itself, preferably _unescaped_ (human-readable).
Mutiple URI titles are to be separated by tab characters.

extern char * NXAsciiPboardType;

The payload of this datatype is what is exchanged witn non-WebStep-savvy apps
The most reasonable value for this is a copy of the escaped URI from the
URIPboardType. Mutiple URIs are to be separated by tab characters.

This information can also be manipulated as UNIX files. WebStep proposes to

register the .url filetype with NeXT to be used as:
URITitlePboardType.url, a file with the contents URIPboardType.

DISCUSSION ITEMS:
Should WebStep provide standard access tools? A W3URI object with

access methods and {read,write}{To,From}{Pasteboard,File}?


How can we accomodate lists of multiple URLs? Can we legally use the

tab-escaping sequence above (i.e. are tabs valid characters in URIs or
in descriptive titles)?

Should the .url file really be an NSDictionary with key/value pairs for
URIPboardType and URITitlePboardType?
_____________________________________________________________________________
CONFORMANCE TESTING

User-level testing includes:
* cut/paste and drag/drop exchange of URLs
* working with .url files
* included URL data must conform to
(http://www.w3.org/hypertext/WWW/Addressing/URL/URI_Overview.html)
_____________________________________________________________________________
EXAMPLE IMPLEMENTATIONS

eText will be conformant in its .92 release
OmniWeb uses different Pasteboard naming strings
SpiderWoman is unknown
Pages is unknown