Руководство по структуре расширяемого языка преобразования таблиц стилей, «Extensible Stylesheet Language Transformations Recommendation, было опубликовано консорциумом W3C в ноябре 1999 года. В настоящее время создается рабочий проект этого языка - «Extensible Stylesheet Language Working Draft*, основная часть которого посвящена методу форматирования XSL-объектов - XSL Formatting Objects (XSL-FO).
Цель данного проекта - добиться совместимости языка каскадных таблиц стилей с XML-документами в Web, а также дополнить язык функцией планировки документа, которая позволит применять XML-документы не только для Web, но и для печати. Решается эта задача полным разделением компонентов содержания и представления.
При использовании XSLT-процессора, снабженного соответствующей таблицей стилей, исходный вид XML-документа преобразуется. В результате получается отображаемый документ или результирующее дерево. Аналогичный процесс происходит при работе с форматирующими объектами XSL-FO, когда они включаются в выходную древовидную структуру с помощью преобразований XSLT.
Второй шаг называется процессом форматирования (formatting) и выполняется специальной программой - XSL-конструктором формата (formatter). В данном контексте применение термина XSL подразумевает комбинацию XSLT и объектов XSL-FO, включенных в выходное дерево.
Вот как данный процесс описывается в последнем рабочем проекте консорциума: «Форматирование разрешается включением семантики форматирования в результирующее дерево. Семантика форматирования выражается в каталоге классов форматирующих объектов. Узлы результирующего дерева представляют собой форматирующие объекты. Классы форматирующих объектов обозначают типографические абстракции, например страницу, раздел, таблицу и т.д. Точная настройка изображения этих абстрактных данных производится с помощью свойств форматирования: отступов, межсимвольных интервалов и пробелов между словами, проверкой правильности переносов (разбивки слов на слоги), отслеживания висячих строк. В структуре XSL классы форматирующих объектов и свойства форматирования предоставляют словарь определений для описания представления документа».
Это означает, что форматирующая программа будет получать информацию из узлов результирующего дерева, которые играют роль форматирующих объектов, обеспечивающих представление XML-документа. Более точная, детализированная настройка представления отображаемого документа обеспечивается свойствами форматирования. В принципе программа форматирования сможет вывести документ как на традиционные Web-браузеры ПК, так и на браузеры мобильных устройств и принтеры.
Как правило, узлы результирующего дерева являются элементами пространства имен форматирующих объектов. Каждый форматирующий объект представляет собой некоторую часть спецификации вывода, например планировку и стиль. В рабочем проекте процесс форматирования представлен следующим образом: «Форматирование состоит в построении дерева геометрических областей, которое называется деревом областей. Геометрические области размещаются последовательно на одной или нескольких страницах (браузер обычно использует одну страницу). Каждая геометрическая область имеет координаты для расположения на странице, а также спецификацию того, что в ней будет находиться. Спецификация может содержать фон, заполнение и границы. Например, форматирование единственного символа представляет собой создание геометрической области, достаточной для размещения символа, который применяется для его визуального отображения, а также символа, отображаемого в геометрической области. Допустима вложенность областей. Например, символ можно поместить внутри строки, блока или страницы».
Не зная принципов построения узлов дерева вывода XSLT, трудно понять идею дерева геометрических областей. Зачастую узлы геометрических областей удобно показывать на макете выходной страницы как пустые области.
Примечание Рабочий проект XSL-FO занимает около пятисот страниц, поэтому в данной главе представлен только краткий обзор методов форматирования XSL-объектов. Полное описание проекта можно получить, обратившись по адресу http://www.w3.org/TR/2000/ WD-xsl-20000327.
В настоящее время Web-браузеры не поддерживают данный механизм, поскольку работа над рекомендацией XSL-FO еще не завершена.
Опубликовал vovan666
April 08 2013 14:58:11 ·
0 Комментариев ·
3861 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.