- From: Guillaume via GitHub <sysbot+gh@w3.org>
- Date: Fri, 21 Feb 2025 13:57:25 +0000
- To: public-css-archive@w3.org
In my opinion, the boolean expression multiplier should not be used like this, and is not even the best solution for expressing boolean conditions. The common point between boolean conditions, color component keywords, intrinsic size keywords, the nesting selector, is a context-sensitive production. `<test>` expands to a set of values that is *entirely* defined by the context, while `<calc-keyword>`, `<type-selector>`, `<subclass-selector>`, expand to a set of values that may be *extended* by the context. Basically, the boolean expression multiplier avoids repeating a bunch of productions with the same structure but different values. Besides, if you define `<math-function>` as an alternative to numeric types in color functions, it would be unclear if these numeric types can be replaced in other productions, unless you explicitly add `<math-function>` as an alternative, which seems unrealistic ^^ I [mentioned](https://github.com/w3c/csswg-drafts/issues/10457#issuecomment-2285407404) different solutions to express context-sensitive productions before. Here is another one using "type attributes": ``` <rgb() calc-keyword="<calc-keyword> | r | g | b"> <calc-size() calc-keyword="<calc-keyword> | min-content | max-content"> <boolean-exp test="<cq-test>"> ``` -- GitHub Notification of comment by cdoublev Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/11505#issuecomment-2674620925 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Friday, 21 February 2025 13:57:26 UTC