Сравнение языков таблиц стилей

редактировать

В вычислениях двумя основными языками таблиц стилей являются Каскадный стиль Таблицы (CSS) и Extensible Stylesheet Language (XSL). Хотя оба они называются языками таблиц стилей, у них очень разные цели и способы решения своих задач.

Содержание
  • 1 Каскадные таблицы стилей
  • 2 Расширяемый язык таблиц стилей
  • 3 См. Также
  • 4 Внешние ссылки
Каскадные таблицы стилей

CSS разработан для стилизации документа, структурированы в документах на языке разметки , HTML и XML (включая XHTML и SVG ). Он был создан для этого. Код CSS не является синтаксисом XML и определяет информацию о стиле для различных элементов документа, который он стилизует.

Язык для структурирования документа (язык разметки ) является предварительным ограничением для CSS. Язык разметки, такой как HTML и реже XUL, может определять некоторые примитивные элементы для стилизации документа, например для выделения жирным шрифтом. CSS post стилизует документ как «экранный носитель» или «страничный носитель».

Экранный носитель, отображаемый как одна страница (возможно, с гиперссылками), которая имеет фиксированную ширину по горизонтали, но практически неограниченную высоту по вертикали. Прокрутка часто является методом выбора для просмотра частей экрана. В этом отличие от «страничного носителя», который состоит из нескольких страниц, каждая из которых имеет определенные фиксированные горизонтальные и вертикальные размеры. Чтобы стилизовать мультимедийные данные с постраничным отображением, требуется множество сложностей, которые не выполняются при отображении мультимедийных данных. Поскольку CSS изначально был разработан для экранных носителей, его постраничные возможности отсутствовали.

CSS версии 3.0 предоставляет новые функции, которые позволяют CSS более адекватно стилизовать документы для постраничного отображения.

Extensible Stylesheet Language

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. Однако для мультимедийных материалов с богатой разбивкой на страницы такая сложность в конечном итоге требуется для того, чтобы иметь возможность решать различные проблемы наборного текста.

См. Также
Внешние ссылки
Последняя правка сделана 2021-05-15 08:05:27
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте