- From: Romain Menke via GitHub <sysbot+gh@w3.org>
- Date: Tue, 03 Jan 2023 22:04:37 +0000
- To: public-css-archive@w3.org
romainmenke has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-syntax-3] Consume an ident-like token algorithm differs for function tokens that start with `url` == https://www.w3.org/TR/css-syntax-3/#consume-ident-like-token 1. If string’s value is an [ASCII case-insensitive](https://infra.spec.whatwg.org/#ascii-case-insensitive) match for "url", and the [next input code point](https://www.w3.org/TR/css-syntax-3/#next-input-code-point) is U+0028 LEFT PARENTHESIS ((), consume it 2. While the next two input code points are [whitespace](https://www.w3.org/TR/css-syntax-3/#whitespace), consume the next input code point. 3. If the next one or two input code points are U+0022 QUOTATION MARK ("), U+0027 APOSTROPHE ('), or whitespace followed by U+0022 QUOTATION MARK (") or U+0027 APOSTROPHE ('), then create a [<function-token>](https://www.w3.org/TR/css-syntax-3/#typedef-function-token) with its value set to string and return it. This algorithm indicates that whitespace characters are consumed and "attributed" to the function token. For example two spaces before `"foo"` : ``` url( "foo") ``` Follow this algorithm this tokenizes as : ``` ['function-token', 'url( ', 0, 4, { value: 'url' }], ['whitespace-token', ' ', 5, 5, undefined], ['string-token', '"foo"', 6, 10, { value: 'foo' }], [')-token', ')', 11, 11, undefined], ['EOF-token', '', -1, -1, undefined], ``` While any other function name tokenizes as : ``` ['function-token', 'not-url(', 0, 7, { value: 'not-url' }], ['whitespace-token', ' ', 8, 9, undefined], ['string-token', '"foo"', 10, 14, { value: 'foo' }], [')-token', ')', 15, 15, undefined], ['EOF-token', '', -1, -1, undefined], ``` The raw values of the function tokens are : - `'url( '` (notice the trailing space) - `'not-url('` _Sorry for the technical notation, when I tried to write it differently it became more ambiguous_ ------ First of all I am unsure if I read the specification correctly. I don't know if I am tokenizing these correctly or if I have a bug. I don't think it affects parsing because the meaningful values are not affected by consuming whitespace in this way. Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8280 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 3 January 2023 22:04:39 UTC