230 likes | 410 Views
Расширенный язык таблиц стилей и его объекты форматирования. Презентацию подготовила Гайнетдинова Алсу , гр.950б.
E N D
Расширенный язык таблиц стилей и его объекты форматирования. Презентацию подготовила ГайнетдиноваАлсу, гр.950б
Семейство технологий ХМL включает в себя узел стилей XSL, который предлагает широкие возможности форматирования, реализованные в виде словаря XML. XSL – это язык преобразований и специализированный диалект для описания объектов форматирования. Рассмотрим следующие темы: - Отношение между XSL, XSL-FO, XSLT. - Операционный процесс в XSL-FO. - Использование интерпретатора Apache. - Создание PDF-файлов на основе документов XSL-FO.
XSL состоит из XSLT, предназначенного для определения преобразований, и XSL-FO, предназначенного для предоставления инструкций. Создание и использование объектов форматирования. Объекты форматирования XSLобычно получаются в результате преобразований документа XML, предназначенного для печати. Однако вы можете создать код XSL-FO без преобразований документа, используя только соответствующие синтаксис и семантику. Создание объектов форматирования вручную позволяет изучить синтаксис FO. Объект форматирования – это только один из аспектов многоэтапного процесса, который позволяет изменить древовидную структуру исходного документа XML. Полученное после преобразований дерево уже содержит
объекты форматирования. Таким образом, язык XSLT для получения объектов форматирования выполняет преобразование древовидный структуры документа XML к структуре, содержащий объекты форматирования. XSLT можно представить как язык программирования, который выражается с помощью словаря XML и предназначен для преобразования древовидных структур документов. XSL-FO – это просто еще один словарь XML, в котором объекты представляют сведения, а также их свойства, на экране или странице.
Операционный XSL. • При преобразовании стилей для получения объектов форматирования используются следующие компоненты: • Исходный документ XML, который с точки зрения языка преобразований XSLT представляется как иерархическое дерево узлов • Таблица стилей XSL, также древовидная структура, заключает в себе семантику преобразований к объектам форматирования • Обработчик XSLT, который анализирует исходную древовидную структуру и древовидную структуру таблицей стилей в памяти для получения объектов форматирования. • Древовидная структура XSL-FO, полученная после пробразований. • Один или несколько интерпретаторов объектов форматирования , которые считывают экземпляры FO и
то представляют документы в соответствующем формате, таком как текст, PDF, PCL или MIF. Предположим, у вас есть документ XML, который хранится в локальной сети intranet и содержит сведения обо всех правилах работы, принятых в вашей организации. Вам необходимо периодически обрабатывать этот документ для создания руководства в формате PDF. Использование формата PDF позволяет распространять сведения среди клиентов, которые смогут посматривать их без использования исходного приложения. Кроме того, большая часть современных браузеров поддерживают печать документов в формате PDF, распространяемых через Web, используя специальные доп. модули. Преобразования XSL-FO предназначены для решения подобных задач. Экземпляр документа XML (corp.xml) cодержит сведения о корпоративных политиках и другую
g информацию, с которыми связана таблица стилей XSL (corp.xsl), определяющая семантику объектов форматирования для размера текста заголовков, выделенных фраз, полей, и т.д. Средство XSLT обрабатывает 2 этих документа XML как объединенные исходные древовидные структуры, после чего выдает результат преобразований в виде документа сorp.fo. После этого интерпретатор FO обрабатывает полученный результат , который представляет собой экземпляр XML, для преобразования объектов форматирования к выражениям, сохраняемым в виде файла PDF (corp.pdf). Это позволит вам рассылать электронные копии файла PDF всем сотрудникам, независимо от того, на каких платформах выполняются их клиент-приложения. Пример:
Обработчик объектов форматирования Apache FOP. FOP – это бесплатное Java-приложение, распространяемое через Internet организацией. Вы можите выбрать среди нескольких подобных обработчиков, включая следующие: - Renderx XEP,написанный на Java коммерческий обработчик XSL-DO - Arbotext Epic E-Content Engine, коммерческий набор приложений, который обеспечивает поддержку обработки объектов формтирования - Подробный список обработчиков вы найдете на Web-узле консорциума W3C. FOP – это Java-приложение, которое считывает дерево объектов форматирования, после чего преобразует его в документе PDF. Его можно представлять и в нескольких других форматах, включая текстовый формат, MIF, PCL, AWT, а также
вывод непосредственно на принтер. FOP принимает деревья FO в виде документов XML-FO,которые раньше создавались с помощью текстового редактора или средства XSLT. FOP поддерживает и непосредственную передачу данных от синтаксических анализаторов SAX и DOM без предварительного сохранения в виде файла FO. Текущая версия FOP включает в себя несколько вспомогательных библиотек, к которым относятся следующие: - Синтаксический анализатор XML Xerces-J, который поддерживает спецификации SAX и DOM. - XSLT-обработчик Xalan. - SVG-библиотека w3c.jar, соответствующая кандидату в рекомендации консорциума W3C SVG Candidate Recommendation. - Библиотека для работы с изображением Jimi от компаний Sun Microsystems.
Основная констукция объекта форматирования. Предположим вам необходимо вам необходимо создать простой документ PDF, содержащий всего одну строку текста, например только заголовок страницы (My Message)для системы управления сообщениями. Создайте файл FO, после чего выберите формат PDF как формат вывода при использовании интерпретатора FOP. Вы должны помнить, что документ FO – это всего лишь экземпляр документа XML. Вы создадите его с помощью простого текстового редактора (сохранив с расширением .fo). Этого же прификса требует и приложение FOP. Пространство имен FO объявляется в корневом элементе документа, который содержит все остальные объекты в документе.
Корневой элемент XSL-FO всегда имеет следующий вид: Если посмотреть несколько страниц настоящей книги, вы поймете, что при верстке употребляются такие понятия, как поля, размещение заголовков и остальных элементов страницы. В издательском деле все эти характеристики задаются в элементах, которые называются главными элементами страницы.
Каждая из областей страницы может содержать свою стилевую разметку, указанную с помощью соответствующих объектов форматирования. Например, если вам необходимо, чтобы текст верхнего заголовка находился на расстоянии 5 см. от левого поля, вы можете просто добавить соответствующий атрибут к объекту форматирования: fo:region-before. В данном случае элемент разметки будет выглядеть следующим образом: В XSL-FO страницы документа группируются последовательности, каждая из которых начинается с новой страницы. Следует запомнить, что последовательности задаются с помощью элементов fo:page-sequence, самых важных элементов в случае сложной разметки страницы. В первом документе вы будете использовать элемент fo:page-sequence для хранения текстовых данных. Он выглядит следующим образом:
Атрибуты шрифта. Добавить сообщение, которое будет включать имя отправителя и текст сообщения. Кроме того, добавить некоторые атрибуты текста и шрифтов для применения стилей к полученным результатам. Начнем с перемещения заголовка страницы My Message в центр, для чего воспользуемся атрибутом: Добавить необходимые атрибуты для того, чтобы текст заголовка отображался шрифтом размером 28 пунктов, без засечек, полужирным начертанием, синим цветом:
Стили элементов: • Если вы хотите изменить стилевое форматирование текстового фрагмента From: таким образом, чтобы он отличался от остальной части строки, вам необходимо выделить его в отдельный блок. Однако это приведет к разделению 2 текстовых фрагментов с помощью разделительной линии. XSL-FO предоставляет очень просто й способ разделения внутренних стилей с помощью вложенных элементов. Элемент fo:inline можно добавить к фрагменту текста, стиль которого должен отличаться от форматирования всей остальной части строки. Например,если вы хотите, чтобы такие части вашего документа, как и From: и Message:, отражались полужирным курсивным начертанием, добавьте в документ след. строки:
Таблицы XSL-FO. Таблицы в XSL-FO также состоят из строк и столбцов. Измените текст сообщения таким образом, чтобы оно отображалось в таблице, содержащей 2 строки и 2 столбца. Спецификация требует, чтобы вы определили строки и задали элемент fo:table-column с атрибутом column-widht для каждого столбца в таблице.Ширина левого столбца=2,5 см, правого=11,25 см: