A markup language, like HTML and less XUL, may define some primitive elements to style a document, for example
Screen media, displayed as a single page (possibly with hyperlinks), that has a fixed horizontal width but a virtually unlimited vertical height.
The original idea for XSL was to create an XML-based styling language directed toward paged display media.
The result of this transformation would be an XML document in an intermediate language, known as XSL-FO (also defined by the XSL specification).
The combination of XSLT and XSL-FO creates a powerful styling language, though much more complex than CSS.
It has a wide range of specification options with regard to paged formatting and higher-quality typesetting.
However, for richly specified paged media, such complexity is ultimately required in order to be able to solve various typesetting problems.