- From: Tim Kindberg <timothy@hpl.hp.com>
- Date: Fri, 23 Sep 2005 15:09:28 +0100
- To: uri@w3.org
- CC: Tim Kindberg <timothy@hpl.hp.com>, sandro hawke <sandro@w3.org>
Dear URI community,
I've been overloaded and only just managed to return to the problem of
updating the tag URI specification to accommodate RFC 2822, the most
recent standard for email addresses. I had some great input from Etan
Wexler and Frank Ellerman a while back. Following that, I'm inclined to
go for Frank's simpler approach: take a subset of RFC 2822 email
addresses that users could be expected to read & manipulate by hand and
brain (following the 'tag' philosophy), and simply %-encode certain of
their characters.
Principle 1: only allow relatively simple, human-legible/tractable email
address to be embedded in tags. So only allow printing characters (%20 -
%7E). NB only whitespace character is " " (which has to be quoted in
RFC2822-land). No folding, no control characters.
Principle 2: disallow obsolete constructs.
Principle 3: disallow comments -- no value in a tag but lots of
potential for confusion.
In addition, the following characters should not appear literally as
part of an email address in a tag; they must be %-encoded (ONCE) from
the original email address:
gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
sub-delims-used-in-tag-syntax = ","
percent = "%"
non-uri-characters = "<", ">", "^", "`", "{", "|", "}"
The above gives me the following syntax, bsed on similar terms in RFC 2822:
emailAddress = tag-local-part "@" DNSname
tag-local-part = tag-dot-atom-text / tag-no-fold-quote
tag-dot-atom-text = 1*tag-atext *("." 1*tag-atext)
tag-atext = ALPHA / DIGIT /
"!" / "%23" /
"$" / "%25" /
"&" / "'" /
"*" / "+" /
"-" / "%2F" /
"=" / "%3F" /
"%5E" / "_" /
"%60" / "%7B" /
"%7C" / "%7D" /
"~"
tag-no-fold-quote = "%22" *(tag-qtext / tag-quoted-pair) "%22"
tag-quoted-pair = "%5C" tag-qptext
tag-qtext = tag-atext / "(" /
")" / "%2C" /
"." / "%3A" /
";" / "%3C" /
"%3E" / "%40" /
"%5B" / "%5D" /
tag-qptext = tag-qtext / "%20" / "%5C" / "%22"
(The defn of DNSname in
http://www.ietf.org/internet-drafts/draft-kindberg-tag-uri-07.txt
remains intact.)
A final comment: there are several ways to write a given email address,
e.g. timothy@hpl.hp.com = "\timothy"@hpl.hp.com = TIMothy@hpl.hp.com.
Tags containing those different forms are distinct. We leave that to the
users.
As always, the community's comments would be appreciated.
Cheers,
Tim.
--
Tim Kindberg
hewlett-packard laboratories
filton road
stoke gifford
bristol bs34 8qz
uk
purl.org/net/TimKindberg
timothy@hpl.hp.com
voice +44 (0)117 312 9920
fax +44 (0)117 312 8003
Received on Friday, 23 September 2005 14:10:14 UTC