Yes, XSLT is a transform. But XSL-FO is a special XML notation for printed media (it also has aural components, but I don't know if they are implemented anywhere). It uses a model similar to CSS, but does not use CSS stylesheets. Instead all attributes are attached directly to XML elements. (Like Tailwind). There is inheritance, but that's all; there are no CSS selectors, no variables, no generated content, nothing, because why? All this can be done during transform. This is both a simpler and more powerful approach than CSS.

It doesn’t scale well to content that changes dynamically on the client side very well. Dynamic manipulation of the post transform XSL-FO is confusing and difficult, retransforming the whole document from source is too slow and loses state. This is a big part of why CSS won.

What the hell are you talking about

CSS and XSL-FO are entirely different concepts

> This is both a simpler and more powerful approach than CSS.

If it were true, everyone would have used this instead of CSS.