Let's make some examples. In CSS it is possible to make rule groups and declaration-blocks, which are easy to write and edit. In theory it is possible to make own XSL-fo files to several media groups, but it is much work to do so. Let's make an example. The main matter is to discuss how to express XSLT source and result tree transformation with rules, which fits well to the CSS common semantics.
Lets make element type names to represent source and result tree markup tags.
Inside brackets could be added some attributes. If source tree is described with location paths and not actual source elements, I can't understand, why result tree must describe with actual element and not just location paths. In my mind both source and result tree can be desrcibed only with location paths and patterns . XSLT has sorting system. Again elements are stiff and heavy to use, but not so much as in XLS-fo.