Сравнение языков таблиц стилей
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( Апрель 2024 г. ) |
Каскадные таблицы стилей |
---|
Концепции |
Философия |
Инструменты |
Сравнения |
В вычислительной технике двумя основными языками таблиц стилей являются каскадные таблицы стилей (CSS) и расширяемый язык таблиц стилей (XSL). Хотя оба они называются языками таблиц стилей, у них совершенно разные цели и способы решения своих задач.
Каскадные таблицы стилей
[ редактировать ]CSS разработан для стилизации документа, структурированного на языке разметки , документов HTML и XML (включая XHTML и SVG ). Он был создан для этой цели. Код CSS не является синтаксисом XML и определяет информацию о стиле для различных элементов документа, который он стилизует.
Язык структурирования документа ( язык разметки ) является предварительным ограничением CSS. Язык разметки, такой как HTML и, в меньшей степени, XUL, может определять некоторые примитивные элементы для стилизации документа, например, выделение <emphasis> полужирным шрифтом. Сообщение CSS стилизует документ для «экранного мультимедиа» или «постраничного мультимедиа».
Экранные медиа, отображаемые в виде одной страницы (возможно, с гиперссылками), имеющей фиксированную ширину по горизонтали, но практически неограниченную высоту по вертикали. Прокрутка часто является предпочтительным методом просмотра частей экранного мультимедиа. В этом отличие от «постраничных носителей», которые имеют несколько страниц, каждая из которых имеет определенные фиксированные горизонтальные и вертикальные размеры. Оформление постраничного мультимедиа сопряжено с множеством сложностей, которых нет в экранных медиа. Поскольку CSS изначально был разработан для экранных медиа, в нем отсутствовали возможности постраничного отображения.
CSS версии 3.0 предоставляет новые функции, которые позволяют CSS более адекватно стилизовать документы для постраничного отображения.
Расширяемый язык таблиц стилей
[ редактировать ]XSL радикально изменился от своего первоначального дизайна до чего-то совершенно отличного от его первоначальной цели. Первоначальная идея XSL заключалась в создании языка стилей на основе XML, ориентированного на постраничное отображение мультимедиа. Механизм, который они использовали для выполнения этой задачи, заключался в разделении процесса на два отдельных этапа.
Сначала документ XML будет преобразован в промежуточную форму. Процесс выполнения этого преобразования будет регулироваться таблицей стилей XSL, определенной спецификацией XSL. Результатом этого преобразования будет документ XML на промежуточном языке, известном как XSL-FO (также определенный спецификацией XSL).
Однако в процессе разработки этапа преобразования стало понятно, что общий язык преобразования XML будет полезен не только для создания представления XML-документа. Таким образом, новая рабочая группа была отделена от рабочей группы XSL, и язык XSL Transformations (XSLT) стал чем-то, что считалось отдельным от информации о стиле документа XSL-FO. Даже это разделение было расширено, когда XPath стал отдельной спецификацией, хотя и по-прежнему сильно привязанной к XSLT.
Сочетание XSLT и XSL-FO создает мощный язык стилей, хотя и гораздо более сложный, чем CSS. XSLT — это полный по Тьюрингу язык, а CSS — нет; это демонстрирует степень мощи и гибкости, которой нет в CSS. Кроме того, XSLT способен создавать контент, например автоматически создавать оглавление только на основе глав книги, или удалять/выбирать контент, например создавать только глоссарий из книги. XSLT версии 1.0 с расширениями EXSLT или XSLT версии 2.0 также может создавать несколько документов, например разделять главы книги на отдельные страницы. Напротив, CSS может только выборочно удалять контент, не отображая его.
XSL-FO отличается от CSS тем, что документ XSL-FO стоит особняком. CSS изменяет прикрепленный к нему документ, в то время как документ XSL-FO (обычно результат преобразования XSLT исходного документа) содержит весь контент, который должен быть представлен в чисто презентационном формате. Он имеет широкий спектр опций в отношении форматирования страниц и более качественного набора текста. Но здесь не указаны сами страницы. Документ XSL-FO должен быть пропущен через утилиту процессора XSL-FO, которая генерирует окончательный постраничный носитель, подобно тому, как HTML+CSS должен пройти через веб-браузер для отображения в отформатированном состоянии.
Сложность XSL-FO представляет собой проблему, главным образом потому, что реализовать процессор FO очень сложно. Реализации CSS в веб-браузерах по-прежнему не полностью совместимы друг с другом, и написать процессор CSS гораздо проще, чем процессор FO. Однако для широко специфицированных постраничных носителей такая сложность в конечном итоге необходима для решения различных набора текста проблем .
См. также
[ редактировать ]Внешние ссылки
[ редактировать ]- Почему W3 создает 2 языка таблиц стилей? W статья
- Совместное использование CSS и XSL, статья W3
- Печать XML Почему CSS лучше XSL.
- Статья о SLT для преобразований и CSS для веб-презентации
- Блог команды MS XML CSS и XSL