23
Расширенный язык Расширенный язык таблиц стилей и его таблиц стилей и его объекты объекты форматирования. форматирования. Презентацию подготовила Гайнетдинова Алсу, Презентацию подготовила Гайнетдинова Алсу, гр.950б гр.950б

Расширенный язык таблиц стилей и его объекты форматирования

  • Upload
    dezso

  • View
    48

  • Download
    0

Embed Size (px)

DESCRIPTION

Расширенный язык таблиц стилей и его объекты форматирования. Презентацию подготовила Гайнетдинова Алсу , гр.950б. - PowerPoint PPT Presentation

Citation preview

Page 1: Расширенный язык таблиц стилей и его объекты форматирования

Расширенный язык Расширенный язык таблиц стилей и его таблиц стилей и его

объекты объекты форматирования.форматирования.

Презентацию подготовила Гайнетдинова Алсу, Презентацию подготовила Гайнетдинова Алсу, гр.950бгр.950б

Page 2: Расширенный язык таблиц стилей и его объекты форматирования

Семейство технологий ХМСемейство технологий ХМLL включает в себя узел включает в себя узел стилей стилей XSLXSL, который предлагает широкие , который предлагает широкие возможности форматирования, реализованные возможности форматирования, реализованные в виде словаря в виде словаря XML. XSL –XML. XSL – это язык это язык преобразований и специализированный преобразований и специализированный диалект для описания объектов диалект для описания объектов форматирования.форматирования.

Рассмотрим следующие Рассмотрим следующие темытемы::

- - Отношение между Отношение между XSL, XSL-FO, XSLT.XSL, XSL-FO, XSLT.

- - Операционный процесс в Операционный процесс в XSL-FO.XSL-FO.

- - Использование интерпретатора Использование интерпретатора Apache.Apache.

- - Создание Создание PDFPDF-файлов на основе документов -файлов на основе документов XSL-FO.XSL-FO.

Page 3: Расширенный язык таблиц стилей и его объекты форматирования

XSL XSL состоит из состоит из XSLTXSLT, предназначенного для , предназначенного для определения преобразований, и определения преобразований, и XSL-FOXSL-FO, , предназначенного для предоставления инструкций.предназначенного для предоставления инструкций.

Создание и использование объектов Создание и использование объектов форматирования.форматирования.

Объекты форматирования XSL обычно получаются в результате преобразований документа XML,предназначенного для печати. Однако вы можете

создать код XSL-FO без преобразований документа, используя

толькосоответствующие синтаксис и семантику.Создание объектов форматирования вручную позволяет изучить синтаксис FO. Объект форматирования – это только один из аспектовмногоэтапного процесса, который позволяет изменитьдревовидную структуру исходного документа XML.Полученное после преобразований дерево уже содержит

Page 4: Расширенный язык таблиц стилей и его объекты форматирования

объекты форматирования. Таким образом, язык XSLT для получения объектов

форматирования выполняет преобразование древовидный

структуры документа XML к структуре, содержащий объекты

форматирования. XSLT можно представить как языкпрограммирования, который выражается с помощью

словаряXML и предназначен для преобразования древовидных

структурдокументов. XSL-FO – это просто еще один словарь XML,

в котором объекты представляют сведения, а также их

свойства, на экране или странице.

Page 5: Расширенный язык таблиц стилей и его объекты форматирования

Операционный Операционный XSL.XSL.• При преобразовании стилей для получения объектов При преобразовании стилей для получения объектов

форматирования используются следующие форматирования используются следующие компоненты:компоненты:

- Исходный документ Исходный документ XMLXML, который с точки зрения языка , который с точки зрения языка преобразований преобразований XSLTXSLT представляется как представляется как иерархическое дерево узловиерархическое дерево узлов

- Таблица стилей Таблица стилей XSLXSL, также древовидная структура, , также древовидная структура, заключает в себе семантику преобразований к заключает в себе семантику преобразований к объектам форматированияобъектам форматирования

- Обработчик Обработчик XSLTXSLT, который анализирует исходную , который анализирует исходную древовидную структуру и древовидную структуру древовидную структуру и древовидную структуру таблицей стилей в памяти для получения объектов таблицей стилей в памяти для получения объектов форматирования.форматирования.

- Древовидная структура Древовидная структура XSL-FOXSL-FO, полученная после , полученная после пробразований.пробразований.

- Один или несколько интерпретаторов объектов Один или несколько интерпретаторов объектов форматирования , которые считывают экземпляры форматирования , которые считывают экземпляры FOFO и и

Page 6: Расширенный язык таблиц стилей и его объекты форматирования

ттоо

представляют документы в соответствующем формате,представляют документы в соответствующем формате,таком как текст, таком как текст, PDF, PCL PDF, PCL или или MIFMIF.. Предположим, у вас есть документ Предположим, у вас есть документ XMLXML, который , который

хранится вхранится влокальной сети локальной сети intranet intranet и содержит сведения обо всех и содержит сведения обо всех правилах работы, принятых в вашей организации. Вам правилах работы, принятых в вашей организации. Вам необходимо периодически обрабатывать этот документ необходимо периодически обрабатывать этот документ

длядля создания руководства в формате создания руководства в формате PDF.PDF. Использование Использование формата формата PDFPDF позволяет распространять сведения среди позволяет распространять сведения среди клиентов, которые смогут посматривать их без клиентов, которые смогут посматривать их без использования исходного приложения. Кроме того, использования исходного приложения. Кроме того,

большаябольшая часть современных браузеров поддерживают печать часть современных браузеров поддерживают печать документов в формате документов в формате PDFPDF, распространяемых через , распространяемых через WebWeb,, используя специальные доп. модули.используя специальные доп. модули. Преобразования Преобразования XSL-FO XSL-FO предназначены для решения предназначены для решения подобных задач. Экземпляр документа подобных задач. Экземпляр документа XML (corp.xml) XML (corp.xml) ccодержит сведения о корпоративных политиках и другуюодержит сведения о корпоративных политиках и другую

Page 7: Расширенный язык таблиц стилей и его объекты форматирования

gg

информацию, с которыми связана таблица стилей информацию, с которыми связана таблица стилей XSL XSL (corp.xsl)(corp.xsl), ,

определяющая семантику объектов форматирования для определяющая семантику объектов форматирования для

размера текста заголовков, выделенных фраз, полей, и т.д. размера текста заголовков, выделенных фраз, полей, и т.д.

Средство Средство XSLTXSLT обрабатывает 2 этих документа обрабатывает 2 этих документа XML XML как как

объединенные исходные древовидные структуры, после чего объединенные исходные древовидные структуры, после чего

выдает результат преобразований в виде документа свыдает результат преобразований в виде документа сorp.foorp.fo. .

После этого интерпретатор После этого интерпретатор FOFO обрабатывает полученный обрабатывает полученный

результат , который представляет собой экземпляр результат , который представляет собой экземпляр XMLXML, для , для

преобразования объектов форматирования к выражениям, преобразования объектов форматирования к выражениям,

сохраняемым в виде файла сохраняемым в виде файла PDF (corp.pdf). PDF (corp.pdf). Это позволит вам Это позволит вам

рассылать электронные копии файла рассылать электронные копии файла PDFPDF всем сотрудникам, всем сотрудникам,

независимо от того, на каких платформах выполняются их независимо от того, на каких платформах выполняются их

клиент-приложения.клиент-приложения.

Пример:Пример:

Page 8: Расширенный язык таблиц стилей и его объекты форматирования
Page 9: Расширенный язык таблиц стилей и его объекты форматирования

Обработчик объектов форматирования Обработчик объектов форматирования Apache FOP.Apache FOP.

FOPFOP – это бесплатное – это бесплатное Java-Java-приложение, распространяемое приложение, распространяемое

через через Internet Internet организацией. Вы можите выбрать среди организацией. Вы можите выбрать среди

нескольких подобных обработчиков, включая следующие:нескольких подобных обработчиков, включая следующие:

- - Renderx XEP,Renderx XEP,написанный на написанный на Java Java коммерческий коммерческий обработчик обработчик XSL-DOXSL-DO

- Arbotext Epic E-Content Engine- Arbotext Epic E-Content Engine, коммерческий набор , коммерческий набор приложений, который обеспечивает поддержку приложений, который обеспечивает поддержку обработки объектов формтированияобработки объектов формтирования

- Подробный список обработчиков вы найдете на - Подробный список обработчиков вы найдете на WebWeb-узле -узле консорциума консорциума W3C.W3C.

FOP – FOP – это это JavaJava-приложение, которое считывает дерево -приложение, которое считывает дерево

объектов форматирования, после чего преобразует его в объектов форматирования, после чего преобразует его в

документе документе PDF.PDF. Его можно представлять и в нескольких Его можно представлять и в нескольких другихдругих

форматах, включая текстовый формат, форматах, включая текстовый формат, MIF, PCL, AWT, MIF, PCL, AWT, а а такжетакже

Page 10: Расширенный язык таблиц стилей и его объекты форматирования

вывод непосредственно на принтер.вывод непосредственно на принтер.

FOP FOP принимает деревья принимает деревья FOFO в виде документов в виде документов XML-XML-FOFO,которые,которые

раньше создавались с помощью текстового редактора или раньше создавались с помощью текстового редактора или

средства средства XSLTXSLT. . FOPFOP поддерживает и непосредственную поддерживает и непосредственную

передачу данных от синтаксических анализаторов передачу данных от синтаксических анализаторов SAXSAX и и DOMDOM

без предварительного сохранения в виде файла без предварительного сохранения в виде файла FO.FO.

Текущая версия Текущая версия FOPFOP включает в себя несколько включает в себя несколько

вспомогательных библиотек, к которым относятся вспомогательных библиотек, к которым относятся следующие:следующие:

- Синтаксический анализатор - Синтаксический анализатор XML Xerces-JXML Xerces-J, который , который поддерживает спецификации поддерживает спецификации SAX SAX ии DOM DOM..

- - XSLT-XSLT-обработчик обработчик Xalan.Xalan.

- SVG-- SVG-библиотека библиотека w3c.jar,w3c.jar, соответствующая кандидату в соответствующая кандидату в рекомендации консорциума рекомендации консорциума W3C SVG Candidate W3C SVG Candidate Recommendation.Recommendation.

- - Библиотека для работы с изображением Библиотека для работы с изображением Jimi Jimi от компаний от компаний Sun Microsystems.Sun Microsystems.

Page 11: Расширенный язык таблиц стилей и его объекты форматирования

Объекты форматирования.Объекты форматирования.

Page 12: Расширенный язык таблиц стилей и его объекты форматирования
Page 13: Расширенный язык таблиц стилей и его объекты форматирования
Page 14: Расширенный язык таблиц стилей и его объекты форматирования
Page 15: Расширенный язык таблиц стилей и его объекты форматирования
Page 16: Расширенный язык таблиц стилей и его объекты форматирования

Основная констукция объекта Основная констукция объекта форматирования.форматирования.

Предположим вам необходимо вам необходимо создать Предположим вам необходимо вам необходимо создать

простой документ простой документ PDFPDF, содержащий всего одну строку , содержащий всего одну строку текста,текста,

например только заголовок страницы (например только заголовок страницы (My MessageMy Message)) для для

системы управления сообщениями. Создайте файл системы управления сообщениями. Создайте файл FOFO, , послепосле

чего выберите формат чего выберите формат PDFPDF как формат вывода при как формат вывода при

использовании интерпретатора использовании интерпретатора FOP.FOP.

Вы должны помнить, что документ Вы должны помнить, что документ FOFO – это всего лишь – это всего лишь

экземпляр документа экземпляр документа XMLXML. Вы создадите его с помощью. Вы создадите его с помощью

простого текстового редактора (сохранив с расширением простого текстового редактора (сохранив с расширением

..fofo). Этого же прификса требует и приложение ). Этого же прификса требует и приложение FOPFOP..

Пространство имен Пространство имен FOFO объявляется в корневом элементе объявляется в корневом элементе

документа, который содержит все остальные объекты в документа, который содержит все остальные объекты в

документе.документе.

Page 17: Расширенный язык таблиц стилей и его объекты форматирования

Корневой элемент Корневой элемент XSL-FOXSL-FO всегда имеет следующий вид: всегда имеет следующий вид:

Если посмотреть несколько страниц настоящей книги, Если посмотреть несколько страниц настоящей книги, вы вы

поймете, что при верстке употребляются такие поймете, что при верстке употребляются такие понятия, как понятия, как

поля, размещение заголовков и остальных элементов поля, размещение заголовков и остальных элементов страницы.страницы.

В издательском деле все эти характеристики задаются В издательском деле все эти характеристики задаются в в

элементах, которые называются элементах, которые называются главными элементами главными элементами страницы. страницы.

Page 18: Расширенный язык таблиц стилей и его объекты форматирования

Каждая из областей страницы может содержать свою стилевую Каждая из областей страницы может содержать свою стилевую разметку, указанную с помощью соответствующих объектов разметку, указанную с помощью соответствующих объектов форматирования. Например, если вам необходимо, чтобы текст форматирования. Например, если вам необходимо, чтобы текст верхнего заголовка находился на расстоянии 5 см. от левого верхнего заголовка находился на расстоянии 5 см. от левого поля, вы можете просто добавить соответствующий атрибут к поля, вы можете просто добавить соответствующий атрибут к объекту форматирования: объекту форматирования: fofo::region-beforeregion-before. В данном случае . В данном случае элемент разметки будет выглядеть следующим образом:элемент разметки будет выглядеть следующим образом:

В В XSL-FOXSL-FO страницы документа группируются страницы документа группируются последовательности, последовательности,

каждая из которых начинается с новой страницы. Следует каждая из которых начинается с новой страницы. Следует запомнить, что последовательности задаются с помощью запомнить, что последовательности задаются с помощью элементов элементов fofo::page-sequencepage-sequence, самых важных элементов в случае , самых важных элементов в случае сложной разметки страницы. В первом документе вы будете сложной разметки страницы. В первом документе вы будете использовать элемент использовать элемент fofo::page-sequencepage-sequence для хранения текстовых для хранения текстовых данных. Он выглядит следующим образом:данных. Он выглядит следующим образом:

Page 19: Расширенный язык таблиц стилей и его объекты форматирования

Атрибуты шрифта.Атрибуты шрифта.Добавить сообщение, которое будет включать имя Добавить сообщение, которое будет включать имя

отправителя отправителя

и текст сообщения. Кроме того, добавить некоторые и текст сообщения. Кроме того, добавить некоторые атрибуты атрибуты

текста и шрифтов для применения стилей к текста и шрифтов для применения стилей к полученным полученным

результатам. Начнем с перемещения заголовка результатам. Начнем с перемещения заголовка страницы страницы My My

Message Message в центр, для чего воспользуемся атрибутом:в центр, для чего воспользуемся атрибутом:

Добавить необходимые атрибуты для того, чтобы текст Добавить необходимые атрибуты для того, чтобы текст

заголовка отображался шрифтом размером 28 пунктов, заголовка отображался шрифтом размером 28 пунктов, без без

засечек, полужирным начертанием, синим цветом:засечек, полужирным начертанием, синим цветом:

Page 20: Расширенный язык таблиц стилей и его объекты форматирования
Page 21: Расширенный язык таблиц стилей и его объекты форматирования

Результат Результат ::

Page 22: Расширенный язык таблиц стилей и его объекты форматирования

Стили элементов:Стили элементов:• Если вы хотите изменить стилевое форматирование Если вы хотите изменить стилевое форматирование

текстового фрагмента текстового фрагмента FromFrom: таким образом, чтобы он : таким образом, чтобы он отличался от остальной части строки, вам отличался от остальной части строки, вам необходимо выделить его в отдельный блок. Однако необходимо выделить его в отдельный блок. Однако это приведет к разделению 2 текстовых фрагментов с это приведет к разделению 2 текстовых фрагментов с помощью разделительной линии. помощью разделительной линии. XSL-FO XSL-FO предоставляет очень просто й способ разделения предоставляет очень просто й способ разделения внутренних стилей с помощью вложенных элементов. внутренних стилей с помощью вложенных элементов. Элемент Элемент fofo::inlineinline можно добавить к фрагменту текста, можно добавить к фрагменту текста, стиль которого должен отличаться от стиль которого должен отличаться от форматирования всей остальной части строки. форматирования всей остальной части строки. Например,если вы хотите, чтобы такие части вашего Например,если вы хотите, чтобы такие части вашего документа, как и документа, как и FromFrom: и : и MessageMessage:, отражались :, отражались полужирным курсивным начертанием, добавьте в полужирным курсивным начертанием, добавьте в документ след. строки:документ след. строки:

Page 23: Расширенный язык таблиц стилей и его объекты форматирования

Таблицы Таблицы XSL-FOXSL-FO..Таблицы в Таблицы в XSL-FO XSL-FO также состоят из строк и столбцов. также состоят из строк и столбцов.

Измените Измените текст сообщения таким образом, чтобы оно отображалось в текст сообщения таким образом, чтобы оно отображалось в таблице, содержащей 2 строки и 2 столбца.таблице, содержащей 2 строки и 2 столбца.

Спецификация требует, чтобы вы определили строки и Спецификация требует, чтобы вы определили строки и задали задали

элемент элемент fofo::table-columntable-column с атрибутом с атрибутом column-widhtcolumn-widht для для каждого каждого

столбца в таблице.Ширина левого столбца=2,5 см, столбца в таблице.Ширина левого столбца=2,5 см, правого=11,25 см:правого=11,25 см: