Re: Proposal: Generalized Cascading Sheets

On 28/07/2015 15:30, Lea Verou wrote:

> - Tab’s Cascading Attribute Sheets proposal https://lists.w3.org/Archives/Public/public-webapps/2012JulSep/0508.html
> - CartoCSS, discussed in the NYC F2F https://www.mapbox.com/tilemill/docs/manual/carto/
> - Ulysses Style Sheets http://www.ulyssesapp.com/styles/ulss-reference/artists.html
> - Metapolator Cascading Properties Sheets https://github.com/metapolator/metapolator/wiki/cascading-properties-sheets
> - SVG’s flavor of CSS could be considered one such language
> - Many text editors use a CSS-like syntax for styling themes, e.g. http://wiki.macrabbit.com/SyntaxThemes/
> - Cascading Tree Sheets, research project http://edwardbenson.com/papers/www2013-cascading-tree-sheets.pdf
> - Daniel’s ancient STTS proposal http://www.w3.org/TR/NOTE-STTS3
> - I’ve been in the middle of several discussions about more such languages (both in the industry/standards world, as well as in academia), though not all have produced something I can publicly link to.
> 
> I’m sure you can add even more to this list. It’s indisputable that CSS’ syntax is a familiar and fairly intuitive way to declaratively apply a set of properties to an existing structure [1], and this is something that is needed in way more cases than just styling.

This is an impressive list. And this is one of the reasons why we
renamed CSS Selectors to Selectors so long ago.

IMHO, Houdini is not just about opening the CSS black box and allowing
fast prototyping. It's also, as I see it, about the future of Web
Standards.

I think the CSS general syntax, because of its high readability and
rather flat learning curve, will reach territories beyond styling in the
near-term future. One of the areas the CSS syntax does not cover yet,
despite of my "ancient STTS proposal" quoted above, is simple tree
transformations. XSLT has always been a super-powerful but also super-
complex technology and I think it's only a question of time before a
replacement language based on the CSS syntax appears. We have almost
everything we need for it, if you except a selection mechanism for
non-element nodes that is already under discussion in www-style
(even if there is some rather strong resistance to it).
Once that becomes available, a Selector will be able to represent not
only any condition on a document tree, but also fragments of any
document tree. Then it'll be up to our imagination only to create
"properties" that modify or "filter" a tree.

So my opinion is that another real-life major technology will appear
in the coming years and that one will be based on the CSS syntax. In
that light, Houdini is crucial and a cornerstone of the future of the
Web. We need to provide access to the CSS lexer and parser and we need
to make them grok properties and values that are outside of the current
CSS space. Furthermore, some of the new CSS-like languages will be
cascading just like CSS, and authors will inevitably ask us to be able
to merge CSS and these languages, just for the sake of maintainability.
It's not, in my opinion, a question of "if" but only a question of
"when".

I think we should be ready for that so +1 to all what Lea said. I even
think the W3C should start a WG about a CSS-like replacement for XSLT.
It's highly time.

</Daniel>

Received on Thursday, 30 July 2015 08:29:26 UTC