Re: Proprietary identifier names

Bert Bos wrote to <www-style> on 20 February 2003 in "Re: Proprietary
identifier names" (<mid:15957.6795.914180.739582@lanalana.inria.fr>):

>The latest proposal (unfortunately still not published) is to use
>
>   1. a hyphen or an underscore, followed by
>   2. the (possibly abbreviated) name of your company,
>   3. another hyphen or underscore, and
>   4. the property name
>
>E.g., "-moz-border-radius" if you are Mozilla or "-wap-accesskey" if
>you are OMA :-)
>
> Those extensions are meant for local use, they should ideally not be
> passed over the public Web [...]

The public use of proprietary identifiers, once coined, is inevitable. And
public use is likely to be widespread, I would say, given the prevalence of
such user agents as Microsoft Office and Mozilla's Gecko.

> The initial hyphen is guaranteed never to clash with any official CSS
> property, because indeed in the official grammar, an identifier cannot
> start with a hyphen.

There, the problem has been stated quite simply. Any conformant
implementation, upon finding a bare initial hyphen-minus where a property
name should be, must conclude that the entity at hand is not a Cascading
Style Sheet. Since the error recovery for this situation is unspecified,
interoperability goes out the window.

> We thought that somebody who needed a proprietary
> property would not have much problem with also using a proprietary
> tokenizer (the modification is tiny), but apparently it does pose a
> problem for some implementations, so we added the underscore
> convention. The underscore is a legal initial character, but part of
> the proposal is that the CSS WG promises never to use it for any
> official property.

Sorry, but that still doesn't work for CSS1 user agents, and won't work
until a CSS1.1 specification with a revised syntax is conceived, revised,
finalized, released, and implemented.

Could the Working Group promise never to use a trailing hyphen-minus in
identifiers? Then we could construct identifiers of the following form
'vnd-construct-'. This form is legal within all CSS syntaxes to date.

Or does the Working Group seriously propose that a trailing hyphen-minus in
identifiers may at some point be part of W3C specifications?

So, Christian, my advice to you is based both on my uptight observance of
the published syntaxes and on your stated desire to maintain compatibility
with existing XML+CSS user agents. If you want to use a bare hyphen-minus,
put it at the end of the identifier. If you want to use an initial
hyphen-minus, escape it, as in '\-vnd-construct'.



--
Etan Wexler <mailto:ewexler@stickdog.com>

Received on Saturday, 22 February 2003 01:01:07 UTC