Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МУ ОффС и УРП

.pdf
Скачиваний:
21
Добавлен:
15.04.2015
Размер:
295.75 Кб
Скачать

турных и оформительских компонентов. Отделение структуры от элементов оформления в этих случаях требует существенных усилий (разработки стилей для всех структурных элементов).

DocBook принципиально абстрагируется от оформления и описывает только структуру текста, что позволяет автору сосредоточиться на собственно тексте, а дизайнеру – разрабатывать только оформление.

У такого подхода есть оборотная сторона – он приводит как к непростым техническим проблемам, так и к проблемам нетехническим.

Технические проблемы включают прежде всего необходимость (как правило) нетривиальной обработки текста, размеченного для получения текста оформленного. Вторая техническая проблема касается, в основном, именно документации и связана с управлением текстами. Дело в том, что различные компоненты документации часто используют одни и те же фрагменты текста. Обеспечения включения требуемого фрагмента текста с соблюдением структуры всего текста может стать непростой задачей.

Нетехнические проблемы связаны с необходимостью изменения подхода авторов к тексту. Планирование, написание текста в жестких рамках разработанной структуры, написание текста с целью его повторного использования в различных, более широких контекстах требуют от авторов выработки новых подходов к работе с текстом.

Элементы DocBook

Элементы DocBook можно сгруппировать по характеру их использования:

¾элементы иерархии;

¾элементы прозы.

Элементы иерархии определяют общую, наиболее грубую структуру текста. Элементы прозы определяют локальные структуры: списки, выделения (собственно выделения, замечания и т.п.), цитаты, примеры, уравнения, рисунки и др.

Структура документа

Книги DocBook состоят из смеси следующих компонентов:

¾посвящение (dedication), которое, как правило, расположено в начале книги;

¾навигационные компоненты:

¾toc (Tables of Contents) – содержание;

¾lot (Lists of Titles) – списки иллюстраций, таблиц,

примеров;

¾ index – указатели;

19

¾разделы – верхний уровень иерархии книги, которые могут представлять собой либо части (part), либо так-называемые справочные разделы (reference). Части содержат компоненты, а справочные разделы – элементы справки (refentry);

¾компоненты, представляющие собой «главоподобные» составляющие книги или части книги (book или part):

¾предисловие (preface);

¾глава (chapter);

¾приложение (appendix);

¾словарь (glossary);

¾указатель (index);

¾список литературы (bibliography).

В состав компонентов могут входить статья (article) и некоторые другие элементы (навигационные компоненты). Компоненты обычно содержат блочные элементы и/или секции, а также могут содержать навигационные компоненты и элементы справки;

¾ секции, подразделяющие главоподобные элементы на более мелкие составляющие (разделы, пункты и т.д.). В DocBook есть несколько видов секционирующих элементов:

¾ sect1 ... sect5, реализуют уровни вложенности. Эти элементы должны быть правильно скомпонованы: sect2 может встречаться только внутри sect1, sect3 – внутри sect2 и т.д. Разрешено использовать только пять уровней вложенности;

¾ section - альтернатива секциям с нумерованным уровнем. Элементы section могут иметь любой уровень вложенности;

¾ simplesect - «финальная» секция, может использоваться в любом уровне вложенности, но сама не может содержать никакой секционирующий элемент;

¾ title – заглавие. Заглавие имеет смешанное содержимое: наряду с текстом (символьными данными) в элементе title могут быть использованы и другие элементы (ссылочные, размечающие компоненты программного обеспечения и прочее);

¾ author - информация об индивидуальном авторе Компоненты и секции непосредственно содержат блочные эле-

менты. Блочные элементы – это элементы уровня абзаца. Блочные элементы подразделяются на несколько категорий:

¾списки;

¾замечания;

¾строкоориентированные элементы;

¾разного рода аннотации;

20

¾таблицы;

¾иллюстрации;

¾примеры.

Списки подразделяются на несколько видов:

¾calloutlist - список выносок (к графическим и другим вынесенным из контекста элементам);

¾glosslist - список словарных терминов и их определений. Используется тогда, когда важна семантика словаря (например, в документе присутствует словарь – glossary – и из него есть ссылки на

помещенную в список информацию). Если семантика списка терминов и определений не связана со словарём, то следует использовать variablelist;

¾itemizedlist - неупорядоченный (маркированный) список. Элемент имеет атрибуты, позволяющие управлять маркерами;

¾orderedlist - нумерованный список. Элемент имеет атрибуты, позволяющие управлять способом нумерации;

¾segmentedlist - повторяющийся набор именованных сущностей (не XML-сущностей), например, субъекты Российской Федерации и их столицы;

¾simplelist - список «без украшений». Такие списки могут быть потоковыми или визуализироваться в несколько столбцов;

¾variablelist - список терминов и их определений и описаний. Используется вне связи со словарем (элемент glossary). Все использованные списки могли бы быть описаны как variablelist.

DocBook содержит 5 видов замечаний (Admonitions):

¾«обратите внимание» (caution);

¾«важно» (important);

¾«замечание» (note);

¾«совет» (tip);

¾«предупреждение» (warning).

Семантика замечаний не связана с их названиями. Все эти элементы имеют одну и ту же структуру: необязательный заголовок (title), за которым следуют элементы уровня абзаца.

Строкоориентированные элементы предназначены для передачи пробельного материала (включая переводы строк), содержащегося в символьных данных. DocBook не позволяет произвольно вставить разрыв строки в поток текста. Можно выделить следующие строко-о- риентированные элементы:

21

¾address - предназначен для почтовых адресов (с учетом разбивки на строки для печати на конверте), содержит дополнительные элементы для разметки имён и элементов адреса;

¾literallayout – строкоориентированный элемент без определенной семантики;

¾programlisting - используется для исходного текста программ, фрагментов кода и подобных листингов;

¾screen - используется для передачи выровненного по щирине вывода. Часто применяется как универсальный строкоориентированный элемент;

¾screenshot - обертка для элемента graphic, предназначенная для описания изображений (части) экрана;

¾synopsis - предназначен для описаний функций (языков программирования) и команд (оболочек операционных систем и других приложений).

Примеры, иллюстрации и таблицы – часто используемые блочные элементы: example, informalexample, figure, informalfigure, table и informaltable.

Различие между «формальными» и «неформальными» элементами заключается в том, что формальные элементы имеют заглавия, а неформальные – нет.

Существует три вида абзацев (para, simpara и formalpara). Простой абзац (simpara) не может содержать другие блочные элементы. Формальный абзац имеет заглавие.

Уравнения описываются с помощью элементов equation и informalequation. Для поточных уравнений (формул) используется inlineequation.

Графические элементы описываются элементами graphic, figure, mediaobject. Для поточных иллюстраций используются inlinegraphic и inlinemediaobject. В DocBook 5.0 элемент graphic отсутствует.

Список вопросов и ответов и аналогичные списки задаются с помощью qandaset.

3. Практическая часть

В результате выполнения лабораторной работы должен быть сформирован файл отчёта о текущей лабораторной работе в формате DocBook.

Документ должен включать:

22

¾титульный лист с указанием темы отчёта, информацией о бригаде, датой создания;

¾содержание, построенное с помощью одного из приведённых выше вариантов списка;

¾теоретическую и практическую части с подпунктами (разделы и секции).

В отчёте необходимо использовать замечания, строкоориентированные элементы, элементы уровня абзацев.

4. Контрольные вопросы

1.Перечислите основные преимущества формата DocBook.

2.Из каких компонентов должен состоять документ?

3.Зачем нужен тег title?

4.Какие виды списков влючает DocBook?

5.Какие элементы работы с абзацами вы знаете?

6.Для чего предназначены строкоориентированные элементы?

23

Лабораторная работа № 4 DocBook. Создание составных документов.

Генерация выходных документов

1. Цель работы

Получение навыков формирования документов, включающие другие документы, изучение основ генерации выходного документа формата HTML.

2. Теоретическая часть Структура составного документа

Элементы Docbook можно разделить:

на структурные:

книги;

разделы;

секции;

блочные;

различные списки;

параграфы;

строчные;

метаэлементы;

вспомогательные метаэлементы, «атрибутирующие»

элементы.

Все эти элементы должны содержаться в метаэлементе info. Вложенность структурных элементов наглядно представлена на

следующей диаграмме (см. рисунок).

Диаграмма вложенности структурных элементов.

Самый верхний элемент docBook - set. Он может включать две или более связанных book, которые могут содержать ссылки (xref, link) друг на друга (например, комплект документации по программно-

24

му продукту, включающему «техническое задание», «руководство пользователя», «руководство системного администратора» и «руководство программиста»).

Книга - book - наиболее распространенный корневой элемент. Рart - раздел уровня выше чем глава chapter.

Справочник reference - набор справочных статей.

Статья общего вида - article (конкретный тип статьи специфицируется с помощью атрибутов).

Глава (верхнего уровня) – chapter обязательно должна встраиваться между book и section.

Разделы можно неограниченно и гибко вкладывать друг в друга с помощью section либо использовать вложение элементов-разделов фиксированных уровней: sect1 / sect2 / sect3 / sect4 / sect5.

Терминальный (листовой) раздел simplesect обозначает раздел, который не должен попадать в содержание (toc).

Использование структурных элементов:

book (книга):

<book>

I<абзацы или главы>

</book>

chapter (глава):

<chapter id = "метка">

заголовок, за которым следуют абзацы или разделы

уровня N+1

</chapter>

Использование блочных элементов

Списки в DocBook бывают следующих видов:

itemizedlist — маркированный

<itemizedlist>

<listitem>

Первый элемент списка </listitem>

<listitem>

Второй элемент списка </listitem>

...

</itemizedlist>

orderedlist — нумерованный

<enumeratedlist>

<listitem>

25

Первый пункт </listitem> <listitem> Второй пункт </listitem>

...

</enumeratedlist>

variablelist — список переменных или определений

<variablelist>

<varlistentry>

<term>первый термин </term> <listitem>

первое определение </listitem> </varlistentry> <varlistentry>

<term>второй термин</term> <listitem>

второе определение </listitem> </varlistentry>

...

</variablelist>

Пункт списка оформляется тэгом listitem, термин или переменная в variablelist — тэгом term.

Использование таблиц

Корневые тэги таблицы DocBook:

table — таблица, включаемая в автоматически генерируемый список таблиц;

informaltable — таблица без названия и не включаемая в список таблиц.

Тэги, формирующие содержимое таблицы:

thead — шапка;

tbody — тело;

tfoot — подвал;

row — строка;

entry — ячейка;

26

entrytbl — вложенная таблица.

Использование иллюстраций

Для вставки в текст изображений в DocBook есть два способа:

graphic — простой, но не гибкий;

mediaobject — более сложный, позволяет автору предоставлять несколько альтернативных форматов изображения.

Графику можно вставлять непосредственно внутрь раздела или абзаца, но предпочтительнее — в один из следующих тэгов:

figure — иллюстрация, включаемая в автоматически генерируемый список иллюстраций;

informalfigure — иллюстрация без названия и не попадающая в список иллюстрация;

screenshot — графическая копия экрана компьютера.

Если требуется, чтобы текст обтекал изображение, используются тэги:

inlinegraphic — упрощенный вариант

<para>Вызывается из пункта меню <literal>Правка/Добавить</literal>, или на панели инструментов кнопка

<inlinegraphic entityref="insert.gif"></inlinegraphic>, или клавиша <literal>shift+F4</literal>;

inlinemediaobject — универсальный вариант.

Пример структуры входного документа

<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1//EN"

"/usr/share/sgml/db41xml/docbookx.dtd" []>

 

<book>

 

<bookinfo>

 

<title> Руководство пользователя DocBook</title>

 

<chapter id = "chapter-introduction">

(1)

<title>Заголовок главы </title>

 

<para>

(2)

Это глава содержит краткое введение в DocBook.

 

</para>

 

<sect1 id = "section1 ">

(3)

<title>S1</title>

 

27

<para>

Раздел содержит обзор структуры документа. </para>

</sect1>

</chapter>

<chapter id = "commands"> <title>Команды</title>

<sect1 id = "section2-interactive-commands"> <title>Команды диалогового режима</title> <para>

</para>

<sect2 id = "section3-interactive-commands-argument-

less">

<title>Команды, не требующие аргументов</title <para>

</para>

</sect2>

</sect1>

</chapter>

</book>

Секция chapter (1) указывает на то, что это отдельная глава документа.

Тэг para (2) предназначен для выделения нового параграфа и является одной из самых распространенных конструкций.

Секция sect1 (3). Секции sect1 .. sect5 предназначены для структурирования документа в виде дерева подразделов. Номер указывает на уровень в дереве иерархии.

Типовые преобразования

XSL (eXtensible Stylesheet Language) — расширяемый язык таблиц стилей.

С помощью XSL можно трансформировать XML-документ в любой формат.

На самом деле XSL состоит из трех языков:

XSLT - язык преобразований XML в другие типы документов или в другие XML-документы;

XPath - язык определения частей и путей к элементам XML, создан для использования языком XSLT;

XSL Formatting Objects - язык определения показа XML.

Форматирование - процесс преобразования результата XSL-преобразования в форму, удобную для читателя или слушателя.

28