Стивен Холзнер - XSLT
- Название:XSLT
- Автор:
- Жанр:
- Издательство:Питер
- Год:2002
- Город:Санкт-Петербург
- ISBN:5-94723-271-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Холзнер - XSLT краткое содержание
Эта книга посвящена XSLT — мощным и удобным системам преобразования документов. В ней не только рассматривается весь синтаксис XSLT, от основ до специальных аспектов, но и подробно излагаются современные способы использования XSLT.
Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.
Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике
XSLT - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Для создания текста сносок применяется элемент . При работе с процессором fop вы должны самостоятельно добавлять фактический номер сноски в верхнем индексе — такой, как 1 или 2. Вот как это выглядит в footnotes.fo
, где для создания верхнего индекса я установил свойство vertical-align
встроенного элемента в «super»:
This:
footnote
1
.
.
.
Чтобы создать текст сноски, появляющийся внизу страницы, нужно применить элемент внутри элемента . Сам процессор fop не нумерует сноски, поэтому за добавление номеров сносок отвечаете вы:
This
footnote
1
1. Here's the first footnote's text.
refers to text at the bottom of this page.
Этот код на XSL-FO создает и первый текст со сносками на рис. 12.4, и сам текст первых сносок, показанный на рис. 12.5.
Создание ссылок:
Еще одним мощным средством XSL-FO является возможность использовать ссылки от документа к документу. В данный момент эта возможность поддерживается в процессоре fop при помощи элемента XSL-FO , который действует во многом похоже на обычную гиперссылку. С элементом можно применять следующие свойства:
• общие свойства доступа: source-document
, role
;
• общие звуковые свойства: azimuth
, cue-after
, cue-before
, elevation
, pause-after
, pause-before
, pitch
, pitch-range
, play-during
, richness
, speak
, speak-header
, speak-numeral
, speak-punctuation
, speech-rate
, stress
, voice-family
, volume
;
• общие свойства границ, заполнения и заднего фона: background-attachment
, background-color
, background-image
, background-repeat
, background-position-horizontal
, background-position-vertical
, border-before-color
, border-before-style
, border-before-width
, border-after-color
, border-after-style
, border-after-width
, border-start-color
, border-start-style
, border-start-width
, border-end-color
, border-end-style
, border-end-width
, border-top-color
, border-top-style
, border-top-width
, border-bottom-color
, border-bottom-style
, border-bottom-width
, border-left-color
, border-left-style
, border-left-width
, border-right-color
, border-right-style
, border-right-width
, padding-before
, padding-after
, padding-start
, padding-end
, padding-top
, padding-bottom
, padding-left
, padding-right
;
• общие встроенные свойства встроенных полей: space-end
, space-start
;
• общие свойства относительного расположения: top
, right
, bottom
, left
, relative-position
;
• alignment-adjust
;
• alignment-baseline
;
• baseline-shift
;
• destination-placement-offset
;
• dominant-baseline
;
• external-destination
;
• id
;
• indicate-destination
;
• internal-destination
;
• keep-together
;
• keep-with-next
;
• keep-with-previous
;
• line-height
;
• line-height-shift-adjustment
;
• show-destination
;
• target-processing-context
;
• target-presentation-context
;
• target-stylesheet
.
Следующий пример, links.fo
(листинг 12.6), содержит ссылку на документ PDF, созданный ранее в этой главе, graphics.pdf
.
margin-bottom="10mm" margin-top="10mm" page-width="300mm"
page-height="400mm" master-name="page">
margin-bottom="10mm" margin-top="0mm"/>
font-size="36pt" text-align="center">
Using Links
If you'd like to see some images, click
here
.
Документ PDF, созданный на основе links.fo
, показан на рис. 12.6. Заметьте, что я явно подчеркнул ссылку, чтобы она была больше похожа на гиперссылку. Когда в Adobe Acrobat вы помещаете указатель мыши над ссылкой, он меняет свою форму и становится в точности такой формы, которую Internet Explorer использует для гиперссылок, как показано на рис. 12.6. При щелчке на ссылке Acrobat переходит на graphics.pdf
(который для работы примера нужно поместить в тот же каталог, что и links.pdf
), отображая этот новый документ.

Рис. 12.6.Поддержка ссылок в XSL-FO
В данном случае создать ссылку очень просто — достаточно установить свойство external-destination
элемента в «graphics.pdf»:
If you'd like to see some images, click
.
.
.
.
Теперь осталось только добавить подчеркнутый текст, чтобы пользователь мог щелкнуть по нему и перейти к новому документу. Конечно, не обязательно выделять текст подчеркиванием; но иначе ничто не будет указывать на то, что текст является ссылкой, — за исключением указателя мыши, который изменит форму при перемещении над текстом. Подчеркнутый текст можно добавить следующим образом:
If you'd like to see some images, click
here
.
Пока в XSL-FO реализованы только обычные ссылки (basic link), как показано в примере. Но если вы знакомы со спецификациями XML для XPointer и XLink, вам следует ожидать в будущем значительного развития в этой области.
Создание колонок
При помощи XSL-FO можно разбить текст на колонки. Создать колонки несложно, нужно только воспользоваться свойствами column-count
и column-gap
элемента и предоставить все остальное процессору XSL-FO.
Давайте рассмотрим пример, columns.fo
. Чтобы разбить текст на две колонки с расстоянием в четверть дюйма между ними, я установил свойство column-count
в «2», а свойство column-gap
в «0.25in»:
margin-bottom="10mm" margin-top="10mm" page-width="300mm"
page-height="400mm" master-name="page">
column-count="2" column-gap="0.25in"/>
.
.
.
Теперь осталось только вывести в этих колонках какой-либо текст; заметьте, что я также создаю заголовок при помощи элемента , о котором будет еще сказано в следующем разделе (листинг 12.7).
margin-bottom="10mm" margin-top="10mm" page-width="300mm"
page-height="400mm" master-name="page">
column-count="2" column-gap="0.25in"/>
font-family="sans-serif" line-height="48pt">
Creating Columns
space-after="15pt">
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
Интервал:
Закладка: