В. А. Капустин Содержание Формальные структуры текстовых документов 1 Курс лекций
Вид материала | Курс лекций |
- Курс лекций по дисциплине " основы компьютерных технологий" Часть I. Microsoft Word, 432.92kb.
- Сферы использования текстовых документов, 52.06kb.
- Курс, 1-й семестр лекции (51 час), экзамен практикум на ЭВМ (68 часов), зачет (с оценкой), 24.4kb.
- Календарный план курса учебных занятий по спецкурсу «Формальные языки моделирования, 61.45kb.
- Тема: Создание документов в текстовых редакторах, 13.54kb.
- Н. Э. Баумана Кафедра Компьютерные системы и сети Г. С. Иванова, Т. Н. Ничушкина Оформление, 109.65kb.
- Формальные и неформальные структуры, их роль в организации содержание, 304.91kb.
- Текстовые редакторы это программы для создания и редактирования текстовых документов, 263.8kb.
- Курс лекций Преподаватель Михайлов Н. Л. Рыбинск 2001, 562.19kb.
- Курс лекций Барнаул 2001 удк 621. 385 Хмелев В. Н., Обложкина А. Д. Материаловедение, 1417.04kb.
Тонкая настройка DocBook XSL
DocBook XSL, как уже говорилось, имеет большое количество настроек. Здесь мы рассмотрим только две из них: настройку языка и настройку оглавлений.
Указание языка
DocBook XSL содержит служебные текстовые строки для порождения элементов заголовков (например, «Глава») на 45 языках. Для применения необходимого языка соответствующий элемент должен иметь необходимое значение атрибута lang:
Но вместо этого можно использовать параметр DocBook XSL, управляющий локализацией порождаемого текста:
Замечание
Программный продукт Authentic компании Altova поставляется с устаревшим набором файлов DocBook XSL, не поддерживающим локализацию.
Управление оглавлениями
Для управления оглавлениями DocBook XSL использует параметр generate.toc. В отличие от большинства других параметров DocBook XSL, этот параметр является непустым элементом, например (значения по умолчанию):
appendix toc,title
article/appendix nop
article toc,title
book toc,title,figure,table,example,equation
chapter toc,title
part toc,title
preface toc,title
qandadiv toc
qandaset toc
reference toc,title
sect1 toc
sect2 toc
sect3 toc
sect4 toc
sect5 toc
section toc
set toc,title
Значение этого параметра – пары, разделённые пробельным материалом (ведущие пробелы не учитываются). Первый элемент пары – имя элемента, второй – список подпараметров, указывающий, какое именно оглавление будет сформировано для этого элемента (частный случай – никакого). В списке подпараметров возможно использование следующих значений:
- toc
Следует генерировать оглавление (из заглавий вложенных элементов)
- nop
Не генерировать оглавление
- title
Включать заглавие оглавления, например, «Содержание»
- figure,table,example,equation ...
Перечень элементов, для которых следует генерировать оглавление (указатель)
В качестве разделителя в списке подпараметров используется запятая, пробелы не допускаются.
Управление глубиной оглавления
Глубиной оглавления можно управлять при помощи параметра toc.section.depth:
выводит в оглавление книги только список глав и полностью подавляет оглавления в главах; положительные значения toc.section.depth определяют уровень вложенности секций, до которого заглавия секций включаются в оглавление. По умолчанию параметр toc.section.depth имеет значение 2., т.е. в оглавления выводятся заглавия двух верхних уровней секций.
Рассмотренный параметр управляет «абсолютной» глубиной используемых в оглавлениях заголовков. DocBook XSL позволяет использовать и другой параметр, toc.max.depth, управляющий «относительной» глубиной:
заставит XSLT-преобразование вывести во все оглавления заглавия (глав/секций) не более чем на два уровня вглубь.
Выборочное исключение заглавия элемента из оглавления
Для выборочного исключения заглавия элемента из оглавления используется атрибут role. Если, например, значение этого атрибута, равное 'NotInToc', должно означать, что заголовок соответствующей секции не должен попадать в оглавление, в XSLT-обёртку следует добавить правило:
которое фактически отключит порождение строки оглавления для секции с указанным значением атрибута role.
Оглавления секций
В приведённом на предыдущей странице параметре generate.toc по умолчанию секции всех уровней имеют оглавления. Однако рассмотрение реально сгенерированного вывода показывает, что секции оглавлений не имеют. Такое поведение связано с наличием ещё одного настроечного параметра – generate.section.toc.level, определяющего глубину вложенности секции, для которой будет создано оглавление. Оглавление также может отсутствовать из-за того, что включение необходимых заглавий подавлено параметром toc.section.depth.
Параметры generate.section.toc.level, toc.section.depth и toc.max.depth позволяют гибко управлять видимостью заголовков в оглавлениях. Их взаимодействие проще всего представить на следующих примерах:
Таблица 1
Управление глубиной оглавлений (generate.section.toc.level / toc.section.depth) –
абсолютный уровень включаемых секций
generate.section.toc.level | toc.section.depth | Оглавление секции включает: | |||
sect1 | sect2 | sect3 | sect4 | ||
1 | 2 | sect2 | Пусто | Пусто | Пусто |
3 | sect2 sect3 | Пусто | Пусто | Пусто | |
4 | sect2 sect3 sect4 | Пусто | Пусто | Пусто | |
2 | 2 | sect2 | Пусто | Пусто | Пусто |
3 | sect2 sect3 | sect3 | Пусто | Пусто | |
4 | sect2 sect3 sect4 | sect3 sect4 | Пусто | Пусто | |
3 | 2 | sect2 | Пусто | Пусто | Пусто |
3 | sect2 sect3 | sect3 | Пусто | Пусто | |
4 | sect2 sect3 sect4 | sect3 sect4 | sect4 | Пусто |
Таблица 1 построена в предположении, что параметр toc.max.depth имеет достаточно большое значение.
Таблица 2
Управление глубиной оглавлений (generate.section.toc.level / toc.max.depth) –
относительный уровень включаемых секций
generate.section.toc.level | toc.max.depth | Оглавление секции включает: | |||
sect1 | sect2 | sect3 | sect4 | ||
1 | 1 | sect2 | Пусто | Пусто | Пусто |
2 | sect2 sect3 | Пусто | Пусто | Пусто | |
3 | sect2 sect3 sect4 | Пусто | Пусто | Пусто | |
2 | 1 | sect2 | sect3 | Пусто | Пусто |
2 | sect2 sect3 | sect3 sect4 | Пусто | Пусто | |
3 | sect2 sect3 sect4 | sect3 sect4 sect5 | Пусто | Пусто | |
3 | 1 | sect2 | sect3 | sect4 | Пусто |
2 | sect2 sect3 | sect3 sect4 | sect4 sect5 | Пусто | |
3 | sect2 sect3 sect4 | sect3 sect4 sect5 | sect4 sect5 [sect6] | Пусто |
Таблица 2 построена в предположении, что параметр toc.section.depth имеет достаточно большое значение.