- From: Abigail <abigail@tungsten.gn.iaf.nl>
- Date: Mon, 15 Apr 1996 21:01:21 +0200 (MET DST)
- To: www-style@w3.org
Scott E. Preece wrote: ++ ++ From: Hakon Lie <howcome@w3.org> ++ | ++ | Several CSS properties take URL values. Up to now, URLs have been ++ | identified with quotes. This works quite well for absolute links: ++ | ++ | BODY { background: "http://foo.com/png/marble" } ++ --- ++ ++ I would *strongly* urge that quotes have no special semantics beyond ++ grouping characters into a string - it's just too confusing. You *need* ++ to have a way of unambiguously indicating that a sequenec of characters ++ is a single value, regardless of its context, and that should be what ++ quotes mean. ++ ++ I'm pretty sure that's what the formal grammar says - that a ++ sequence of characters surrounded by quotes is a string. The quotes ++ should never be visible to the parser at all - the lexer should have ++ used them to turn the surrounded characters into a token of type string. I agree with Scott. Quotes should be used to group characters; nothing else. ++ --- ++ | Here are some suggestions for alternative schemes; ++ | ++ | BODY { background: [http://foo/bar] } ++ | BODY { background: url:http://foo/bar } ++ | BODY { background: href:red } ++ | BODY { background: url:red } ++ | BODY { background: url(red) } ++ | BODY { background: url(http://foo/bar) } Or: BODY { background: <URL:http://foo/bar> } It has the advantage that this notation is already in use; though I do not know if there is any formal status for it. ++ I'd slightly prefer url(...) over href(...). It generalizes naturally to ++ explicitly indicating other units. I would avoid using another colon, ++ just to make life easier for the parser. ++ ++ --- ++ | Also, should the identification be optional for absolute URLs?: ++ | ++ | BODY { background: http://foo/bar } ++ --- ++ ++ I guess I would require it wherever the syntax allows alternative units ++ that could be confused - that is, if you had a property whose value was ++ *always* a URL, it would be OK to omit it there, but it would be ++ required wheever the units alternatives left it open to interpretation. ++ While it's unlikely that the name of a color would be a string that ++ started "http:", it's quite possible that for some other property it ++ *would* be ambigous. For instance, if you had a "Footer" property, you ++ would have no way of knowing whether "http://..." was meant to be a ++ string that would be printed in the footer or meant to be a URL where ++ the actual footer contents would be found. Indeed, specially since an URL can have another scheme than http. For now, I can only think of using ftp in this context, but that can change in the future. Abigail -- <URL: http://www.edbo.com/abigail/> (Changed)
Received on Monday, 15 April 1996 15:01:29 UTC