SlideShare a Scribd company logo
XML to PDF-
преобразования
http://ProductivityBlog.com.ua
О чем пойдет речь
▪Спецификация XSL:FO
▪Демонстрация: пример использования
▪Демонстрация: форматирование элементов
▪Демонстрация: Визуальное XML to PDF
преобразование со StyleVision
Файлы и инструменты
Файлы практических работ в файле
XSLT_4.zip в папке Practice
XMLSpy, StyleVision из пакета
ALTOVA MissionKit
Спецификация XSL:FO
▪ XSL:FO
▪ fo:root
▪ Регионы файла
▪ Таблицы
XSL:FO
▪ XSL-FO
(eXtensible Stylesheet Language Formatting Objects) –
рекомендованный W3C язык разметки типографских
макетов и предпечатных материалов
▪ Работает подобно XML to XML и XML to HTML
▪ FOP (Formatting Objects Processor) генерирует вывод
для печати, обычно PDF
CSS3 Paged Media Module – новый стандарт форматирования
документов. Т.е. с 2013, CSS3 предлагается как замена XSL-FO
XSL:FO
fo:root
▪ FO-файлы – это
XML-файлы
▪ <?xml version="1.0"
encoding="UTF-8"?>
▪ fo:root –
корневой элемент
▪ fo:layout-master-set
▪ fo:simple-page-master
Регионы файла
▪ Шаблон страницы состоит из регионов
▪ хедер – Region Before
▪ футер – Region After
▪ основная часть – Region Body
▪ fo:page-sequence задает порядок элементов
▪ fo:static-content и fo:flow для вывода текста
▪ fo:block – прямоугольная область, которая
будет содержать текст
fo:table
▪ fo:table-and-caption (с fo:caption) или fo:table
▪ Очень похоже на HTML
▪ fo:table-column
▪ fo:table-header
▪ fo:table-footer
▪ fo:table-body
▪ fo:table-row
▪ fo:table-cell
Демонстрация –
пример использования
▪Создадим новый FO-файл в XMLSpy
▪Изменим содержимое файла
Готовый файл можно найти в папке Chapter4transformations
Подробнее об
XSL-файлах для FO
▪ Комбинация XSLT
и XSL:FO
▪ <?xml version="1.0"
encoding="UTF-8"?>
Цель работы
Создать PDF-документ
со словами из «Гамлета»
(акт 1, сцена 1),
распределенными по
действующим лицам
(выделенными цветом)
Демонстрация –
cоздание XSL-файла
▪ Создадим XSL-файл (Generic XSL/XSLT Transformation)
▪ Добавим данные из файла Hamlet-1-1.xml
▪ Добавим необходимые теги
Готовый файл можно найти в папке Chapter4transformations
Демонстрация –
cоздание XSL-файла
▪ Добавим необходимые теги
▪ Сохраним файл под именем xml2pdf2.xsl
Готовый файл можно найти в папке Chapter4transformations
Демонстрация – преобразование
и сохранение файла
▪ Запустим преобразование. Результат – FO-файл
▪ Преобразуем в PDF с просмотром результата
Готовый файл можно найти в папке Chapter4transformations
Форматирование элементов
▪ fo-page-sequence
▪ fo-static-content – хедеры и футеры
▪ fo:flow – тело
▪ fo:leader – горизонтальная линия
▪ fo:page-number – понятно из названия
▪ fo-layout-master-set с атрибутом font – настройки шрифта для
всего документа
▪ fo-block с атрибутом border-style – говорит сам за себя
Демонстрация –
добавление форматирования
Готовый файл можно найти в папке Chapter4transformations
▪ Сохраним файл под именем xml2pdf3.xsl
▪ Преобразуем в PDF с просмотром
результата
Демонстрация – добавление таблиц
Готовый файл можно найти в папке Chapter4transformations
▪ Сохраним файл под именем xml2pdf4.xsl
▪ Преобразуем в PDF с просмотром результата
Визуальное XML to PDF
преобразование со StyleVision
▪ Добавление данных
▪ Форматирование
▪ Столбцы и колонтитулы
▪ Сохранение результатов
Цель работы
Воссоздать файл,
созданный в XMLSpy
визуально, в StyleVision
Демонстрация – добавляем данные
▪ Откроем StyleVision
▪ Создадим новый дизайн из Hamlet-1-1.xml, удалить контент
▪ Раскроем PLAY, ACT и SCENE в Schema Tree
▪ Перетащим и создадим контент для
▪ ACTTITLE
▪ SCENETITLE (между закрывающими тегами TITLE и ACT)
▪ Поместим курсор между закрывающими тегами TITLE и SCENE
▪ Добавим динамическую таблицу на основе элемента SPEECH
▪ Выберем строки SPEAKER и LINE
▪ Просмотрим результат на вкладке PDF
Готовый файл можно найти в папке Chapter4transformations
Демонстрация – форматирование
▪ Форматируем заголовки как заголовки 3 и 4 уровня
▪ Редактируем заголовки столбцов таблицы
▪ Устанавливаем для таблицы шрифт 9pt Times
▪ Cтавим ENTER после контента в столбце LINES
▪ Устанавливаем для строки заголовков таблицы цвет #B893FF
▪ Устанавливаем ширину первого столбца в 30%
▪ Настраиваем цвет фона строки тела таблицы на основе значения поля SPEAKER
▪ Смотрим результат на вкладке PDF
Готовый файл можно найти в папке Chapter4transformations
Демонстрация – таблицы
▪ В свойствах документа
▪ В стилях установим шрифт 20pt Arial и table>border-collapse>collapse
▪ В свойствах
▪ 2 столбца, расстояние между ними 0.5in
▪ Верхнее и нижнее поля по 1in, левое и правое, хедера и футера – по 0.5in
▪ Добавим хедер с PLAY>TITLE, удалим Title:, строку с линией и столбец с
номером страницы
▪ Добавим нечетный футер, удалим первый столбец, а второй сделаем шириной
100%, номер страницы – слева
▪ Сделаем такой же четный футер, но номер страницы - справа
Готовый файл можно найти в папке Chapter4transformations
Демонстрация –
сохранение результатов
▪ Cохраним файл как xml2pdf5.sps
▪ Cгенерируем PDF и RTF-файлы
▪ Сохраним сгенерированные файлы как Output5.pdf(rtf)
Готовый файл можно найти в папке Chapter4transformations
Если осталось время…
добавление
разметки и линий
1 2 3 4
Подводим итоги
▪ Мы узнали как выполнить
XML to PDF-преобразование
▪ Изучили возможности по
формированию печатного документа
▪ Использовали XMLSpy и StyleVision
▪ С 2013 – уже не актуально, CSS3
предлагается как замена XSL-FO!
Вопросы
и ответы

More Related Content

Similar to XSLT -4

Perl6 Pod Extend
Perl6 Pod ExtendPerl6 Pod Extend
Perl6 Pod Extendzagru
 
PowerPoint шаблон: Фитнес и спорт
PowerPoint шаблон: Фитнес и спортPowerPoint шаблон: Фитнес и спорт
PowerPoint шаблон: Фитнес и спортSlidestore
 
Верстка_Лекция1
Верстка_Лекция1Верстка_Лекция1
Верстка_Лекция1itc73
 
Верстка_Лекция_1
Верстка_Лекция_1Верстка_Лекция_1
Верстка_Лекция_1itc73
 
Верстка_Лекция_1
Верстка_Лекция_1Верстка_Лекция_1
Верстка_Лекция_1itc73
 

Similar to XSLT -4 (9)

XSLT - 1
XSLT - 1XSLT - 1
XSLT - 1
 
XSLT - 3
XSLT - 3XSLT - 3
XSLT - 3
 
Проект
ПроектПроект
Проект
 
Perl6 Pod Extend
Perl6 Pod ExtendPerl6 Pod Extend
Perl6 Pod Extend
 
XSLT - 6
XSLT - 6XSLT - 6
XSLT - 6
 
PowerPoint шаблон: Фитнес и спорт
PowerPoint шаблон: Фитнес и спортPowerPoint шаблон: Фитнес и спорт
PowerPoint шаблон: Фитнес и спорт
 
Верстка_Лекция1
Верстка_Лекция1Верстка_Лекция1
Верстка_Лекция1
 
Верстка_Лекция_1
Верстка_Лекция_1Верстка_Лекция_1
Верстка_Лекция_1
 
Верстка_Лекция_1
Верстка_Лекция_1Верстка_Лекция_1
Верстка_Лекция_1
 

More from Alexander Babich

Актуальні курси з мого арсеналу (Бабич О.В.)
Актуальні курси з мого арсеналу (Бабич О.В.)Актуальні курси з мого арсеналу (Бабич О.В.)
Актуальні курси з мого арсеналу (Бабич О.В.)Alexander Babich
 
M365: Word, Excel, PowerPoint...
M365: Word, Excel, PowerPoint...M365: Word, Excel, PowerPoint...
M365: Word, Excel, PowerPoint...Alexander Babich
 
M365: Інші сервіси та застосунки
M365: Інші сервіси та застосункиM365: Інші сервіси та застосунки
M365: Інші сервіси та застосункиAlexander Babich
 
M365: Завершення
M365: ЗавершенняM365: Завершення
M365: ЗавершенняAlexander Babich
 
M365: рекомендації
M365: рекомендаціїM365: рекомендації
M365: рекомендаціїAlexander Babich
 
M365: Огляд платформи Microsoft365
M365: Огляд платформи Microsoft365M365: Огляд платформи Microsoft365
M365: Огляд платформи Microsoft365Alexander Babich
 
M365: Роздаткові матеріали
M365: Роздаткові матеріалиM365: Роздаткові матеріали
M365: Роздаткові матеріалиAlexander Babich
 
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptxMeet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptxAlexander Babich
 
Ви обрали професію програміста
Ви обрали професію програмістаВи обрали професію програміста
Ви обрали професію програмістаAlexander Babich
 
Змішане навчання в ППФК
Змішане навчання в ППФКЗмішане навчання в ППФК
Змішане навчання в ППФКAlexander Babich
 
Формування професійних інтересів студентів
Формування професійних інтересів студентівФормування професійних інтересів студентів
Формування професійних інтересів студентівAlexander Babich
 
День відкритих дверей' 2021
День відкритих дверей' 2021День відкритих дверей' 2021
День відкритих дверей' 2021Alexander Babich
 
06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure06. Обучение и сертификация по Azure
06. Обучение и сертификация по AzureAlexander Babich
 
05.Внедрение Azure
05.Внедрение Azure05.Внедрение Azure
05.Внедрение AzureAlexander Babich
 
04.Службы Azure - подробнее
04.Службы Azure - подробнее04.Службы Azure - подробнее
04.Службы Azure - подробнееAlexander Babich
 
03.Сколько стоит облако
03.Сколько стоит облако03.Сколько стоит облако
03.Сколько стоит облакоAlexander Babich
 

More from Alexander Babich (20)

Актуальні курси з мого арсеналу (Бабич О.В.)
Актуальні курси з мого арсеналу (Бабич О.В.)Актуальні курси з мого арсеналу (Бабич О.В.)
Актуальні курси з мого арсеналу (Бабич О.В.)
 
M365: Word, Excel, PowerPoint...
M365: Word, Excel, PowerPoint...M365: Word, Excel, PowerPoint...
M365: Word, Excel, PowerPoint...
 
M365: Інші сервіси та застосунки
M365: Інші сервіси та застосункиM365: Інші сервіси та застосунки
M365: Інші сервіси та застосунки
 
M365: OneDrive
M365: OneDriveM365: OneDrive
M365: OneDrive
 
M365: Завершення
M365: ЗавершенняM365: Завершення
M365: Завершення
 
M365: SharePoint
M365: SharePointM365: SharePoint
M365: SharePoint
 
M365: рекомендації
M365: рекомендаціїM365: рекомендації
M365: рекомендації
 
M365: Огляд платформи Microsoft365
M365: Огляд платформи Microsoft365M365: Огляд платформи Microsoft365
M365: Огляд платформи Microsoft365
 
M365: Вступ
M365: ВступM365: Вступ
M365: Вступ
 
M365: Роздаткові матеріали
M365: Роздаткові матеріалиM365: Роздаткові матеріали
M365: Роздаткові матеріали
 
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptxMeet&Code - VR, метавсесвіт та криптовалюти (1).pptx
Meet&Code - VR, метавсесвіт та криптовалюти (1).pptx
 
Ви обрали професію програміста
Ви обрали професію програмістаВи обрали професію програміста
Ви обрали професію програміста
 
Змішане навчання в ППФК
Змішане навчання в ППФКЗмішане навчання в ППФК
Змішане навчання в ППФК
 
Формування професійних інтересів студентів
Формування професійних інтересів студентівФормування професійних інтересів студентів
Формування професійних інтересів студентів
 
День відкритих дверей' 2021
День відкритих дверей' 2021День відкритих дверей' 2021
День відкритих дверей' 2021
 
Спробуйте Python
Спробуйте PythonСпробуйте Python
Спробуйте Python
 
06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure06. Обучение и сертификация по Azure
06. Обучение и сертификация по Azure
 
05.Внедрение Azure
05.Внедрение Azure05.Внедрение Azure
05.Внедрение Azure
 
04.Службы Azure - подробнее
04.Службы Azure - подробнее04.Службы Azure - подробнее
04.Службы Azure - подробнее
 
03.Сколько стоит облако
03.Сколько стоит облако03.Сколько стоит облако
03.Сколько стоит облако
 

XSLT -4

  • 2. О чем пойдет речь ▪Спецификация XSL:FO ▪Демонстрация: пример использования ▪Демонстрация: форматирование элементов ▪Демонстрация: Визуальное XML to PDF преобразование со StyleVision
  • 3. Файлы и инструменты Файлы практических работ в файле XSLT_4.zip в папке Practice XMLSpy, StyleVision из пакета ALTOVA MissionKit
  • 4. Спецификация XSL:FO ▪ XSL:FO ▪ fo:root ▪ Регионы файла ▪ Таблицы
  • 5. XSL:FO ▪ XSL-FO (eXtensible Stylesheet Language Formatting Objects) – рекомендованный W3C язык разметки типографских макетов и предпечатных материалов ▪ Работает подобно XML to XML и XML to HTML ▪ FOP (Formatting Objects Processor) генерирует вывод для печати, обычно PDF CSS3 Paged Media Module – новый стандарт форматирования документов. Т.е. с 2013, CSS3 предлагается как замена XSL-FO
  • 7. fo:root ▪ FO-файлы – это XML-файлы ▪ <?xml version="1.0" encoding="UTF-8"?> ▪ fo:root – корневой элемент ▪ fo:layout-master-set ▪ fo:simple-page-master
  • 8. Регионы файла ▪ Шаблон страницы состоит из регионов ▪ хедер – Region Before ▪ футер – Region After ▪ основная часть – Region Body ▪ fo:page-sequence задает порядок элементов ▪ fo:static-content и fo:flow для вывода текста ▪ fo:block – прямоугольная область, которая будет содержать текст
  • 9. fo:table ▪ fo:table-and-caption (с fo:caption) или fo:table ▪ Очень похоже на HTML ▪ fo:table-column ▪ fo:table-header ▪ fo:table-footer ▪ fo:table-body ▪ fo:table-row ▪ fo:table-cell
  • 10.
  • 11. Демонстрация – пример использования ▪Создадим новый FO-файл в XMLSpy ▪Изменим содержимое файла Готовый файл можно найти в папке Chapter4transformations
  • 12. Подробнее об XSL-файлах для FO ▪ Комбинация XSLT и XSL:FO ▪ <?xml version="1.0" encoding="UTF-8"?>
  • 13. Цель работы Создать PDF-документ со словами из «Гамлета» (акт 1, сцена 1), распределенными по действующим лицам (выделенными цветом)
  • 14. Демонстрация – cоздание XSL-файла ▪ Создадим XSL-файл (Generic XSL/XSLT Transformation) ▪ Добавим данные из файла Hamlet-1-1.xml ▪ Добавим необходимые теги Готовый файл можно найти в папке Chapter4transformations
  • 15. Демонстрация – cоздание XSL-файла ▪ Добавим необходимые теги ▪ Сохраним файл под именем xml2pdf2.xsl Готовый файл можно найти в папке Chapter4transformations
  • 16. Демонстрация – преобразование и сохранение файла ▪ Запустим преобразование. Результат – FO-файл ▪ Преобразуем в PDF с просмотром результата Готовый файл можно найти в папке Chapter4transformations
  • 17. Форматирование элементов ▪ fo-page-sequence ▪ fo-static-content – хедеры и футеры ▪ fo:flow – тело ▪ fo:leader – горизонтальная линия ▪ fo:page-number – понятно из названия ▪ fo-layout-master-set с атрибутом font – настройки шрифта для всего документа ▪ fo-block с атрибутом border-style – говорит сам за себя
  • 18. Демонстрация – добавление форматирования Готовый файл можно найти в папке Chapter4transformations ▪ Сохраним файл под именем xml2pdf3.xsl ▪ Преобразуем в PDF с просмотром результата
  • 19. Демонстрация – добавление таблиц Готовый файл можно найти в папке Chapter4transformations ▪ Сохраним файл под именем xml2pdf4.xsl ▪ Преобразуем в PDF с просмотром результата
  • 20. Визуальное XML to PDF преобразование со StyleVision ▪ Добавление данных ▪ Форматирование ▪ Столбцы и колонтитулы ▪ Сохранение результатов
  • 21. Цель работы Воссоздать файл, созданный в XMLSpy визуально, в StyleVision
  • 22. Демонстрация – добавляем данные ▪ Откроем StyleVision ▪ Создадим новый дизайн из Hamlet-1-1.xml, удалить контент ▪ Раскроем PLAY, ACT и SCENE в Schema Tree ▪ Перетащим и создадим контент для ▪ ACTTITLE ▪ SCENETITLE (между закрывающими тегами TITLE и ACT) ▪ Поместим курсор между закрывающими тегами TITLE и SCENE ▪ Добавим динамическую таблицу на основе элемента SPEECH ▪ Выберем строки SPEAKER и LINE ▪ Просмотрим результат на вкладке PDF Готовый файл можно найти в папке Chapter4transformations
  • 23. Демонстрация – форматирование ▪ Форматируем заголовки как заголовки 3 и 4 уровня ▪ Редактируем заголовки столбцов таблицы ▪ Устанавливаем для таблицы шрифт 9pt Times ▪ Cтавим ENTER после контента в столбце LINES ▪ Устанавливаем для строки заголовков таблицы цвет #B893FF ▪ Устанавливаем ширину первого столбца в 30% ▪ Настраиваем цвет фона строки тела таблицы на основе значения поля SPEAKER ▪ Смотрим результат на вкладке PDF Готовый файл можно найти в папке Chapter4transformations
  • 24. Демонстрация – таблицы ▪ В свойствах документа ▪ В стилях установим шрифт 20pt Arial и table>border-collapse>collapse ▪ В свойствах ▪ 2 столбца, расстояние между ними 0.5in ▪ Верхнее и нижнее поля по 1in, левое и правое, хедера и футера – по 0.5in ▪ Добавим хедер с PLAY>TITLE, удалим Title:, строку с линией и столбец с номером страницы ▪ Добавим нечетный футер, удалим первый столбец, а второй сделаем шириной 100%, номер страницы – слева ▪ Сделаем такой же четный футер, но номер страницы - справа Готовый файл можно найти в папке Chapter4transformations
  • 25. Демонстрация – сохранение результатов ▪ Cохраним файл как xml2pdf5.sps ▪ Cгенерируем PDF и RTF-файлы ▪ Сохраним сгенерированные файлы как Output5.pdf(rtf) Готовый файл можно найти в папке Chapter4transformations
  • 27. Подводим итоги ▪ Мы узнали как выполнить XML to PDF-преобразование ▪ Изучили возможности по формированию печатного документа ▪ Использовали XMLSpy и StyleVision ▪ С 2013 – уже не актуально, CSS3 предлагается как замена XSL-FO!

Editor's Notes

  1. The correct way to declare an XSL style sheet according to the W3C XSLT Recommendation is: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> or: <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  2. The correct way to declare an XSL style sheet according to the W3C XSLT Recommendation is: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> or: <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. The correct way to declare an XSL style sheet according to the W3C XSLT Recommendation is: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> or: <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  4. Не получилось с условным форматированием строк!!!
  5. В RTF тоже отлично видны колонтитулы!!!