Почему W3C рекомендует два различных языка стилей? Какой вы должны использовать? В общем, правило можно выразить очень кратко:

Используйте CSS, если можете, и XSL, если обязаны.

Причина в том, что CSS гораздо проще в использовании, проще в изучении, а значит проще и дешевле для поддержки. Для CSS есть визуальные редакторы, и в целом инструментов больше для CSS, чем для XSL. Но простота CSS означает, что они имеют ограничения. Некоторые вещи вы не можете делать с CSS или только лишь с CSS. Тогда требуется XSL, или, по крайней мере, преобразование XSL.

Где же используется XSL? Во всем, что требует преобразования. Например, у вас есть список, и вы хотите, чтобы он отображался в лексикографическом порядке, или чтобы одни слова заменялись другими, или чтобы пустые элементы заменялись текстом. CSS могут генерировать текст, но только в отдельных случаях — например, нумеровать заголовки.

Диаграмма, показывающая роль XSL и CSS в обработке документов HTML и XML

Эта диаграмма показывает роль XSL и CSS. Документы XML могут обрабатываться тремя различными способами: (1) если документу не нужно преобразований, используйте CSS. Иначе используйте XSL-T, язык преобразований XSL, тем или иным образом: либо (2) генерируйте стилевые свойства вместе с модифицированным текстом, используя XSL-FO (объекты форматирования XSL), либо (3) генерируйте новый документ XML или HTML и предоставьте для него таблицу стилей CSS.

Дополнительная информация: