Re: NUMBER vs <number>

On Mon, May 21, 2012 at 10:20 AM, Bert Bos <bert@w3.org> wrote:
> On Sunday 06 May 2012 23:17:39 fantasai wrote:
>
>>    - RESOLVED: include sign in NUMBER, PERCENTAGE, DIMENSION tokens
>> in 2.1
>
> I think there is an error in the minutes here (And I know I was taking
> minutes at that time: Sorry for confusing tokens and types. :-( )
>
> The issue was about whether comments and spaces are allowed after the
> sign in property values that are defined as <number>, <length> or
> <percentage>, i.e.:
>
>    margin: -22em
> vs
>    margin: -/*negative*/22em
>
> (It is not about whether signs are allowed; they already are.) css3-
> values says that the sign must *immediately* precede the digits, but
> CSS 2.1 omits that word. We concluded that 2.1 should be changed.
>
> So the actual edit to CSS 2.1 is easy, I think: just add that word
> "immediately" that css3-values already has. It goes into section 4.3.1.
>
> I'm not sure if this counts as a change or a clarification. For now,
> I've marked it as a change in the errata[1].
>
> [1] http://www.w3.org/Style/css2-updates/REC-CSS2-20110607-
> errata.html#s.4.3.1

No, that is not what the issue was about.  The resolution as recorded
in the minutes is correct.  We want to change the definition of the
NUMBER, PERCENTAGE, and DIMENSION tokens so that they include the sign
in their production.

The minutes make it pretty clear that this is what was intended:

> Tab: Tokenizer doesn't have a token for NUMBER with preceding + or -
> Tab: This leads to errors and complications in CSS grammars
> Tab: Making a token for it should have no other effect than disallowing
>      comments between + and the number.
> Tab: Then we can in the future talk about number tokens without having to
>      talk about +/- every time as well.
> Arron: There are no test for this yet, I think.
> Arron: No, there aren't any tests for this.
> <dbaron> the change tab is talking about making is including the + or -
>          sign in the NUMBER, PERCENTAGE, and DIMENSION tokens

The necessary edits are:

- num [0-9]+|[0-9]*\.[0-9]+
+ num [-+]?([0-9]+|[0-9]*\.[0-9]+)

The rest of 2.1 is fine as far as I know.  We just need to make some
V&U edits to match up with this.

~TJ

Received on Monday, 21 May 2012 20:18:54 UTC