Стивен Холзнер - XSLT

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "XSLT"
Описание и краткое содержание "XSLT" читать бесплатно онлайн.
Эта книга посвящена XSLT — мощным и удобным системам преобразования документов. В ней не только рассматривается весь синтаксис XSLT, от основ до специальных аспектов, но и подробно излагаются современные способы использования XSLT.
Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.
Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике
Mass (Earth = 1):
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="PLANET/DAY">
<fo:block
font-size="36pt" line-height="48pt"
font-family="sans-serif">
Day (Earth = 1):
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="PLANET/RADIUS">
<fo:block
font-size="36pt" line-height="48pt"
font-family="sans-serif">
Radius (in miles):
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="PLANET/DENSITY">
<fo:block
font-size="36pt" line-height="48pt"
font-family="sans-serif">
Density (Earth = 1):
<xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="PLANET/DISTANCE">
<fo:block
font-size="36pt" line-height="48pt"
font-family="sans-serif">
Distance (million miles):
<xsl:apply-templates/>
</fo:block>
</xsl:template>
</xsl:stylesheet>
Преобразование документа в представление с форматирующими объектами
Для того чтобы преобразовать planets.xml в документ, использующий форматирующие объекты, который я назвал planets.fo, достаточно всего лишь применить таблицу стилей planetsPDF.xsl. Это можно сделать при помощи техник XSLT, уже рассмотренных в этой главе.
Например, чтобы создать planets.fo при помощи Xalan, в Windows сначала нужно установить classpath:
C:\>set classpath=c:\xalan\xalan-1_2_0_0\bin\xalan.jar; c:\xalan\xalan-j_2_0_0\bin\xerces.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?
Создание форматированного документа
Чтобы обработать planets.fo и создать форматированный (formatted) документ, я воспользуюсь процессором FOP Джеймса Таубера (James Tauber), который был подарен им проекту Apache XML Project.
Главная страница процессора — http://xml.apache.org/fop; в настоящий момент FOP можно загрузить с http://xml.apache.org/fop/download.html. Пакет FOP, включая документацию, поставляется в формате zip, поэтому сначала его нужно распаковать FOP реализован как JAR-файл Java, fop.jar, здесь я буду использовать FOP версии 0.15.
FOP можно запустить из командной строки, используя класс Java, на момент написания книги называвшийся org.apache.fop.apps.CommandLine. Нужно предоставить разборщик XML — я буду использовать разборщик Xerces на Java в файле xerces.jar (он поставляется вместе с Xalan). Давайте рассмотрим, как в Windows, используя Java, при помощи FOP преобразовать planets.fo в planets.pdf: в данном случае я указываю переменной classpath ключом -ср включить файл xerces.jar, а также два необходимых JAR-файла, входящих в состав загружаемого пакета FOP — fop.jar и w3c.jar. (В этом примере предполагается, что все файлы fop.jar, xerces.jar и w3c.jar расположены в каталоге C:\planets; если это не так, укажите полные пути к ним.)
C:\planets>java -ср fop.jar:xerces.jar:w3c.jar org.apache.fop apps.CommandLine planets.fo planets.pdf
Получившийся файл, planets.pdf, можно просмотреть в средстве чтения файлов PDF Adobe Acrobat Reader, как изображено на рис. 1.8. (Acrobat PDF Reader можно бесплатно загрузить с www.adobe.com/products/acrobat/readermain.html.) Документ planets.xml изображен на рисунке отформатированным в соответствии с таблицей стилей planetsPDF.xsl.
Рис. 1.8. Документ PDF, созданный при помощи форматирующих объектов
Формат PDF — хороший формат для вывода форматирующих объектов, хотя он и обладает рядом ограничений — например, он не способен обрабатывать динамические таблицы, которые могут разворачиваться или сворачиваться по щелчку мыши, или интерактивные многоадресные ссылки (а ведь и те, и другие входят в спецификацию форматирующих объектов). Хотя в основных браузерах XSL-FO поддерживается довольно слабо, ожидается, что в будущем ситуация изменится, и браузеры будут поддерживать XSL-FO.
На этом я завершаю наш обзор. Далее в книге мы рассмотрим все вышеперечисленные темы по XSLT, а также вы познакомитесь с введением в XSL-FO. Теперь самое время начать подробно изучать XSLT, — прямо со следующей главы.
Глава 2
Создание и применение таблиц стилей
В предыдущей главе был представлен обзор XSLT. В этой главе мы начинаем детальную работу с ним. Мы собираемся научиться рассматривать документы в терминах XSLT, структурировать таблицу стилей XSLT и встраивать в документы таблицы стилей, В этой главе будет дано введение в шаблоны таблиц стилей, которые образуют основу таблиц стилей XSLT. Шаблоны реализуют фактические правила, которые вам требуется применить к данным; более подробно мы рассмотрим их в следующей главе.
Глава открывается систематическим рассмотрением таблиц стилей, и, несомненно, начинать следует с представления документа XML с точки зрения таблицы стилей.
Деревья и узлы
При работе с XSLT следует перестать мыслить в терминах документов и начать — в терминах деревьев. Дерево представляет данные в документе в виде множества узлов — элементы, атрибуты, комментарии и т.д. трактуются как узлы — в иерархии, и в XSLT структура дерева соответствует рекомендации XPath W3C (www.w3.org/TR/xpath). В данной главе мы рассмотрим деревья и узлы концептуально, а в главах 3 и 4 я дам формальное введение в XPath и его связь с XSLT. Выражения XPath, записываемые в терминах деревьев и узлов, используются для поиска данных в XML-документах.
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "XSLT"
Книги похожие на "XSLT" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "Стивен Холзнер - XSLT"
Отзывы читателей о книге "XSLT", комментарии и мнения людей о произведении.