Книга: XSLT
Преобразование документа в представление с форматирующими объектами
Преобразование документа в представление с форматирующими объектами
Для того чтобы преобразовать planets.xml
в документ, использующий форматирующие объекты, который я назвал planets.fo
, достаточно всего лишь применить таблицу стилей planetsPDF.xsl
. Это можно сделать при помощи техник XSLT, уже рассмотренных в этой главе.
Например, чтобы создать planets.fo
при помощи Xalan, в Windows сначала нужно установить classpath
:
C:>set classpath=c:xalanxalan-1_2_0_0binxalan.jar; c:xalanxalan-j_2_0_0binxerces.jar
Затем применить planetsPDF.xsl
к planets.xml
для генерации planets.fo
:
C:planets>java org.apache.xalan.xslt.Process -IN planets.xml -XSL planetsPDF.xsl -OUT planets.fo
Для задания форматирования документ planets.fo
использует форматирующие объекты XSL. Вот как выглядит файл planets.fo
(листинг 1.9):
Листинг 1.9. planets.fo
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master
margin-right="20mm" margin-left="20mm"
margin-bottom="10mm" margin-top="10mm"
page-width="300mm" page-height="400mm"
master-name="page">
<fo:region-body
margin-right="0mm" margin-left="0mm"
margin-bottom="10mm" margin-top="0mm"/>
<fo:region-after extent="10mm"/>
</fo:simple-page-master>
</fо:layout-master-set>
<fo:page-sequence master-name="page">
<fo:flow flow-name="xsl-region-body">
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt" font-weight="bold">
Name: Mercury
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Mass (Earth = 1): .0553
</fo-block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Day (Earth = 1): 58.65
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Radius (in miles): 1516
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Density (Earth = 1):.983
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Distance (million miles): 43.4
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt" font-weight="bold">
Name: Venus
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Mass (Earth = 1): .815
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Day (Earth = 1): 116.75
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font size="36pt">
Radius (in miles): 3716
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Density (Earth = 1): .943
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Distance (million miles): 66.8
</fo-block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt" font-weight="bold">
Name: Earth
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Mass (Earth = 1): 1
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Day (Earth = 1):
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Radius (in miles): 2107
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Density (Earth = 1):
</fo:block>
<fo:block
font-family="sans-serif" line-height="48pt"
font-size="36pt">
Distance (million miles): 128.4
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
Итак, мы успешно создали planets.fo
. Как нам теперь с его помощью создать форматированный файл PDF?
- XSL = XSLT + XSL-FO
- Краткая историческая справка
- Документы XML
- Как XML выглядит в браузере?
- XSLT-преобразования
- Что нужно для XSLT-преобразования
- Использование отдельных процессоров XSLT
- Преобразование документов XML при помощи браузеров
- Работа с XSLT и JavaScript в Internet Explorer
- XSLT-преобразования на web-серверах
- Преобразования из XML в XML
- Преобразования из XML в XHTML
- Ресурсы XSLT
- Форматирующие объекты XSL: XSL-FO
- Форматирование документа XML
- Таблица стилей XSLT
- Преобразование документа в представление с форматирующими объектами
- Создание форматированного документа
- Форматирование документа XML
- Практическая работа 53. Запуск Access. Работа с объектами базы данных
- Преобразование XML в реляционную базу данных
- 1.2.2. Комментарии и встроенная документация
- Преобразование строки в целое: stoi( )
- Создание корня документа:
- Как уменьшить размер документа Microsoft Word?
- Работа с документами в режиме оффлайн
- Использование информационной панели документа
- Использование панели задач Управление документами в приложениях Office 2007
- Публикация документа в библиотеке
- 4.2. Формализованное представление угроз ИБ от персонала