- From: Etan Wexler <ewexler@stickdog.com>
- Date: Thu, 06 Oct 2005 01:46:05 -0400
- To: URI Interest Group <uri@w3.org>
Tim Kindberg wrote to the URI Interest Group’s mailing list
(<mailto:uri@w3.org>) on 23 September 2005 in “RFC 2822 email addresses
in tag URIs” (<mid:43340C98.8020404@hpl.hp.com>,
<http://www.w3.org/2002/02/mid/43340C98.8020404@hpl.hp.com>):
> I'm inclined to go for [the] 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.
Percent-encoding strikes me as a complication that moves “tag” URIs
outside of the target range of ease of use. Reconsider the employment of
percent-encoding or reconsider the target range of ease of use.
> 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.
All the principles are agreeable.
> 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:
In the “tag” specification, that word “should” will want to be the word
“must”.
The characters in the list must undergo percent-encoding only if said
characters appear in the <local-part> of the e-mail address.
> gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
Every e-mail address has a “commercial at” (U+0040) that separates the
<local-part> from the <domain>. Processors must transcribe this
“commercial at” literally when embedding an e-mail address in a “tag” URI.
> 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"
I argue for something even simpler. I would eliminate percent-encoding
and quoted strings, leaving only e-mail addresses that transcribe literally.
emailAddress = tag-local-part "@" DNSname
tag-local-part = 1*tag-atext *("." 1*tag-atext)
tag-atext = ALPHA / DIGIT /
"!" / "$" /
"&" / "'" /
"*" / "+" /
"-" / "=" /
"_" / "~"
So I basically return to Tim’s proposal dated 6 July 2005 (“email
address in a URI”, <mid:42CBAAE0.3060309@hpl.hp.com>,
<http://www.w3.org/mid/42CBAAE0.3060309@hpl.hp.com>). The specification
of the “tag” scheme will be stronger as a result of the discussion, I hope.
--
Etan Wexler.
Received on Thursday, 6 October 2005 05:42:07 UTC