Книга: XSLT
Форматирование документа XML
Форматирование документа XML
Для форматирования planets.xml
в planets.pdf
мы можем воспользоваться форматирующими объектами XSL-FO, представленными в главе 12. Например, вот как мы можем отобразить название первой планеты, Меркурия, при помощи форматирующих объектов XSL-FO flow
и block
:
<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">
Mercury
</fo:block>
.
.
.
Однако создание всего документа целиком при помощи форматирующих объектов XSL — непростая задача, за исключением коротких документов. W3C предвидел эти трудности, и это одна из главных причин, по которой консорциумом был представлен язык преобразований, XSLT. В частности, можно создать таблицу стилей и при помощи XSLT преобразовать XML-документ так, чтобы он использовал форматирующие объекты XSL.
На практике преобразования практически всегда выполняются при помощи таблиц стилей, и именно так мы поступим в главах 11 и 12. Все, что вам нужно сделать, это предоставить таблицу стилей XSLT, при помощи которой можно преобразовать ваш документ с использованием форматирующих объектов. При таком способе всю работу берет на себя процессор XSLT, преобразуя документ из представления, с которым вам удобно работать, в представление с форматирующими объектами, которое затем можно вставить в программу, способную обрабатывать форматирующие объекты и отображать форматированный результат.
Чтобы пояснить все вышесказанное, ниже приведен пример работы с XML-документом, с которым мы уже встречались в этой главе, planets.xml
:
<?xml version="1.0"?>
<PLANETS>
<PLANET>
<NAME>Mercury</NAME>
<MASS UNITS="(Earth = 1)">.0553</MASS>
<DAY UNITS="days">58.65</DAY>
<RADIUS UNITS="miles">1516</RADIUS>
<DENSITY UNITS="(Earth = 1)">.983</DENSITY>
<DISTANCE UNITS="million miles">43.4</DISTANCE><!--B перигелии-->
</PLANET>
<PLANET>
<NAME>Venus</NAME>
<MASS UNITS="(Earth = 1)">.815</MASS>
<DAY UNITS="days">116.75</DAY>
<RADIUS UNITS="miles">3716</RADIUS>
<DENSITY UNITS="(Earth = 1)">.943</DENSITY>
<DISTANCE UNITS="million miles">66.8</DISTANCE><!--B перигелии-->
</PLANET>
<PLANET>
<NAME>Earth</NAME>
<MASS UNITS="(Earth = 1)">1</MASS>
<DAY UNITS="days">1</DAY>
<RADIUS UNITS="miles">2107</RADIUS>
<DENSITY UNITS="(Earth = 1)">1</DENSITY>
<DISTANCE UNITS="million miles">128.4</DISTANCE><!--B перигелии-->
</PLANET>
</PLANETS>
В этом примере я воспользуюсь таблицей стилей XSLT — мы посмотрим, как ее создавать, в главе 11 — для преобразования planets.xml
так, чтобы он использовал форматирующие объекты. Затем при помощи процессора FOP я преобразую новый документ в файл PDF. Мы также посмотрим, как форматированный документ выглядит в Adobe Acrobat.
- 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
- Преобразование документа в представление с форматирующими объектами
- Создание форматированного документа
- Создание корня документа:
- Форматирование XSL
- Преобразование документа в представление с форматирующими объектами
- Как XML выглядит в браузере?
- Тестирование Web-сервиса XML с помощью WebDev.WebServer.exe
- Преобразование XML в реляционную базу данных
- 1.2.2. Комментарии и встроенная документация
- Как уменьшить размер документа Microsoft Word?
- Работа с документами в режиме оффлайн
- Использование информационной панели документа
- Использование панели задач Управление документами в приложениях Office 2007