Формальные структуры текстовых документов

Курс лекций

Содержание

Лекция 1. Введение. 5

Формальная структура документа – зачем?. 5

Немного истории.. 5

Кратко о DocBook. 6

Кратко о TEI 6

DocBook. 7

Несколько вводных слов. 7

Элементы DocBook. 8

Лекция 2. Создание документов DocBook. 13

Кратко про разметку. 13

Элементы и атрибуты.. 13

Сущности.. 13

XML-документ. 14

XML-каталог. 14

Логические составляющие DocBook. 15

Комплект. 16

Книга. 16

Секции.. 16

Метаинформация. 17

Блочные элементы.. 17

Потоковые элементы.. 20

Лекция 3. Компоненты книги.. 26

Общие характеристики элементов. 27

Ожидания обработки.. 27

Общие атрибуты.. 27

book. 28

Ожидания обработки.. 28

Атрибуты.. 28

title. 29

Ожидания обработки.. 29

bookinfo. 29

Ожидания обработки.. 30

Атрибуты.. 30

author. 30

Ожидания обработки.. 30

personname. 30

Ожидания обработки.. 30

surname, firstname, othername. 30

Ожидания обработки.. 31

lineage. 31

honorific. 31

authorblurb, personblurb. 31

Ожидания обработки.. 31

affiliation. 31

Ожидания обработки.. 32

orgname. 32

Атрибуты.. 32

address. 32

Атрибуты.. 33

Лекция 4. Обработка документов DocBook с помощью стилевых файлов XSLT.. 34

Стандартный набор стилевых файлов. 34

Использование параметров DocBook XSL. 35

Настройка порождения HTML. 35

Подключение CSS к выходному HTML-документу. 36

Подавление локальных оглавлений средствами CSS. 37

Пользовательские классы.. 37

Управление нумерацией.. 37

Тонкая настройка DocBook XSL. 38

НЕ нашли? Не то? Что вы ищете?

Указание языка. 38

Управление оглавлениями.. 38

Лекция 5. TEI. 42

Ещё несколько слов про XML. 42

Условные разделы объявления типа документа. 42

Применение условных разделов объявления типа документа. 43

Версии TEI 44

Текущая стабильная версия. 44

TEI Light 44

Разрабатываемая версия. 44

TEI Light 45

Разметка основной части текста. 46

Разметка вводной части текста. 49

Разметка завершающей части текста. 51

Лекция 6. Структура основной части документа TEI. 53

Блочная структура текста. 53

Структура тела документа. 53

Раздел. 56

Другие элементы блочной структуры.. 58

Элементы, которые могут считаться блочными или потоковыми.. 58

Списки.. 58

Примечание. 58

Цитаты.. 58

Библиография. 58

Обозначение прямой речи.. 58

Элементы технической документации.. 58

Абзац.. 59

Общие атрибуты всех элементов. 59

Глобальные атрибуты.. 59

Связывание. 60

Интерпретация. 61

Microsoft Word. Все подобные средства позволяют смешивать визуальную разметку со структурной, что чрезвычайно затрудняет автоматизацию обработки так размеченных текстов. Другой наследник – TEX, который, в принципе, позволяет полностью отделить структурную разметку от визуальной и выделить в тексте любые структуры. Практика при­менения TEX, однако, далека от такого идеала.

В конце 60-х – начале 70-х годов XX века появились языки структурной разметки. Среди них выделяется SGML – Structured Generalized Markup Language – язык, который принци­пиально не связывает разметку с каким бы то ни было визуальным представлением текс­та, и который предназначен исключительно для выявления формальных структур в текс­те.

Однако лишь в начале 90-х годов XX века стали появляться приложения SGML, позво­ляющие размечать более или менее произвольные тексты. Дело в том, что наличие подхо­дящего языка разметки – лишь необходимое, но недостаточное условие для осуществле­ния разметки. Для того, чтобы структурная разметка, с одной стороны, была более содер­жа­тельна, чем просто выделение заголовков и абзацев, а, с другой стороны, была бы по­лез­на более чем для одного применения, необходимы выделение тех структур текста, ко­то­рые подлежат разметке и стандартизация обозначений для этих структур. Из множест­ва инициатив в настоящее время активно используются результаты двух: DocBook и TEI.

С появлением в конце прошлого века языка XML и DocBook, и TEI были перенесены в XML.

Кратко о DocBook

DocBook первоначально появился как приложение SGML для подготовки изданий изда­тель­ства O’Reilly, специализирующемся на компьютерной литературе. Подобные прило­жения существовали и продолжают существовать во многих издательствах, но DocBook ока­зался не слишком сложным и был с энтузиазмом воспринят компьютерным сооб­ще­с­т­вом, которое к тому времени искало замену форматтеру программной документации troff. Автор DocBook Норман Уолш проделал (и продолжает) огромную работу по вы­делению возможных формальных структур в околокомпьютерных текстах; многие из этих структур важны и для других типов текстов.

С 1998 г. и по настоящее время ответственность за DocBook несет Технический комитет DocBook (DocBook Technical Committee, http://www.oasis-open.org/docbook/) Организации по внедрению структурных информационных стандартов (Organization for the Advancement of Structured Information Standards – OASIS). Фактически, DocBook является международным стандартом. Текущей версией DocBook является 5.0.

DocBook в полном объеме содержит около 400 элементов и многие сотни атрибутов и при­меняется не только для подготовки компьютерной документации и книг по компь­ю­терной тематике, но в для других текстов. Имеются сокращенные варианты (DocBook Simplified, ~100 элементов).

DocBook ориентирована, прежде всего, именно на подготовку текста, а не на разметку уже существующего текста, в отличие от TEI, которая ориентирована на работу с существу­ю­щи­ми текстами.

Кратко о TEI

TEI – аббревиатура от Text Encoding Initiative. TEI поддерживают Association for Computers and the Humanities (Ассоциация по компьютерам и гуманитарным наукам), Association for Computational Linguistics (Ассоциация по вычислительной лингвистике) и Association for Literary and Linguistic Computing (Ассоциация по компьютерным технологиям в литературе и лингвистике). Финансирование осуществляют U. S. National Endowment for the Humanities (Американский Национальный фонд пожертвований на гуманитарные науки), Directorate General XIII of the Commission of the European Communities (XIII Управление комиссии Европейского сообщества), Andrew W. Mellon Foundation (Фонд Меллона) и Social Science and Humanities Research Council of Canada (Совет по социальным наукам и гуманитарным исследованиям Канады). Прин­ци­пы системы TEI опубликованы в мае 1994 года, после шести (!) лет разработки, в которую были вовлечены многие сотни ученых различных специальностей из разных стран мира.

В основу TEI должны были быть положены следующие принципы:

w  возможность получать в тексте эффекты, необходимые для исследовательской работы;

w  простота, ясность и конкретность;

w  несложность для использования без специализированного программного обеспечения;

w  возможность точного определения и эффективной обработки текстов;

w  возможность расширений, определяемых пользователем;

w  соответствие существующим и новым стандартам.

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

1.  общее ядро текстовых элементов легко выделяется;

2.  дополнительные специальные элементы и атрибуты можно легко добавить в текст (или удалить из него);

3.  имеется возможность нескольких представления (различной разметки) одной и той же функции;

4.  богатство разметки определяется пользователем, а набор минимальных необходимых условий очень невелик;

5.  доступна соответствующая документация по текстам и их разметке.

TEI включает сотни элементов. Имеется диалект TEI – TEI Light, – содержащий около сот­ни элементов, а также специализированные диалекты для прозы, стихотворных текстов, дра­матургии, словарей и пр.

DocBook

Несколько вводных слов

DocBook требует планирования структуры создаваемого текста. Хотя формально DocBook в состоянии обеспечивать разметку некоторых элементов бесструктурного текста, наибо­лее эффективно применение DocBook именно для текстов с предварительно продуман­ной структурой (это не значит, конечно, что эту структуру невозможно изменить в про­це­с­се работы над текстом). «Просто текст» (как в «Блокноте» или редакторах типа TextPad), также как и текст, подготавливаемый в текстовых процессорах типа Microsoft Word, также как и текст, подготавливаемый в виде HTML-страниц, вообще говоря, либо бесструк­тур­ны, либо (в случае Word/HTML) содержат смесь структурных и чисто оформительских ком­понентов. Отделение структуры от оформления в этих случаях требует существенных усилий (разработки стилей для всех структурных элементов). DocBook прин­ципиально абстрагируется от оформления и описывает только структуру текста.

В результате автор не должен думать об оформлении и может сосредоточиться на собст­венно тексте, а дизайнер – думать только об оформлении.

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

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

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

Решение и тех и других (технических и нетехнических) проблем облегчается при наличии соответствующих инструментов. Мы познакомимся с одним из них – Altova Authentic.

Элементы DocBook

DocBook – приложение XML. Это означает, что:

1.  существует DTD DocBook (для DocBook версий 4.* этого достаточно, для DocBook версий ≥5.0 применяется XML-схема),

2.  текст, подготовленный в формате DocBook, является XML-документом,

3.  этот XML-документ является не только правильно сформированным, но и правильным, т. е. структура его элементов соответствует DTD (и схеме).

Формально это означает, что изучение DocBook сводится к изучению сотен элементов, представленных в DTD DocBook. Фактически чаще всего применяются немногие из этих элементов, и поэтому можно начать изучение именно с них. Кроме того, элементы DocBook можно сгруппировать по характеру их использования. Именно с такой группи­ровки мы и начнем знакомство с ними.

Итак, по характеру использования элементы DocBook распадаются на две группы:

w  элементы иерархии

w  элементы прозы (информационного пула, как называет их Норман Уолш)

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

Элементы иерархии

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

set – набор книг («собрание сочинений)

book – книга

part – часть

reference – набор справочных записей, указатель

preface; chapter; appendix; bibliography; glossary – предисловие; глава; приложение; список публикаций; словарь терминов

article – статья

section, sect1...sect5, simplesect – раздел; подраздел уровня 1...5; раздел, не имеющий подразделов

refentry – элемент указателя

refsect1...refsect3 – разделы указателя

Затем рассмотрим примеры:

Книга

<!DOCTYPE book
PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www. oasis-open. org/docbook/xml/4.3/docbookx. dtd">
<book>
<bookinfo>
<title>An Example Book</title>
<author>
<firstname>Norman</firstname>
<surname>Walsh</surname>
</author>
<copyright>
<year>2004</year>
<holder>Sun Microsystems, Inc.</holder>
</copyright>
<contractnum>1234</contractnum>
<contractsponsor>Our Favorite Sponsor</contractsponsor>
</bookinfo>
<preface><title>Introduction</title>
<para>...</para>
</preface>
<chapter><title>The First Chapter</title>
<para>...</para>
</chapter>
<!-- ... -->
<appendix><title>An Appendix</title>
<para>...</para>
</appendix>
</book>

Статья

<!DOCTYPE article
PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www. oasis-open. org/docbook/xml/4.3/docbookx. dtd">
<article>
<articleinfo>
<title>An Example Article</title>
<author>
<firstname>Norman</firstname>
<surname>Walsh</surname>
</author>
<copyright>
<year>2004</year>
<holder>Sun Microsystems, Inc.</holder>
</copyright>
<confgroup>
<confdates>15 Nov - 19 Nov 2004</confdates>
<conftitle>XML 2004</conftitle>
</confgroup>
</articleinfo>
<section><title>A Section</title>
<para>...</para>
</section>
<appendix><title>An Appendix</title>
<para>...</para>
</appendix>
</article>

FAQ

<!DOCTYPE qandaset
PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www. oasis-open. org/docbook/xml/4.3/docbookx. dtd">
<qandaset>
<qandadiv><title>Sample Questions</title>
<qandaentry>
<question><label>Q1</label>
<para>Question para 1</para>
<para>Question para 2</para>
</question>
<answer><label>A1</label>
<para>Answer para 1</para>
<para>Answer para 2</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv><title>Imponderables</title>
<qandaentry>
<question>
<para>Why?</para>
</question>
<!-- Some questions have no answers -->
</qandaentry>
<qandaentry>
<question>
<para>Why did the chicken cross the road?</para>
</question>
<answer>
<para>To get to the other side</para>
</answer>
<answer>
<para>Some other silly reason I've forgotten.
</para>
</answer>
</qandaentry>
</qandadiv>
</qandaset>

Медиа-объекты

<!DOCTYPE mediaobject
PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www. oasis-open. org/docbook/xml/4.3/docbookx. dtd">
<mediaobject>
<imageobject>
<imagedata fileref="emc2.svg"/>
</imageobject>
<imageobject>
<imagedata fileref="emc2.eps" format="EPS"/>
</imageobject>
<imageobject>
<imagedata fileref="emc2.png" format="PNG"/>
</imageobject>
<imageobject>
<imagedata fileref="emc2.gif" format="GIF"/>
</imageobject>
<textobject>
<para>Energy is equal to mass times the speed of
light squared.</para>
</textobject>
<textobject>
<phrase>E=mc^2</phrase>
</textobject>
</mediaobject>

Описание функции

<!DOCTYPE funcsynopsis
PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www. oasis-open. org/docbook/xml/4.3/docbookx. dtd">
<funcsynopsis>
<funcsynopsisinfo>
#include &lt;pwd. h>
#include &lt;sys/types. h>
</funcsynopsisinfo>

<funcprototype>
<funcdef>struct passwd *<function>getpwnam</function></funcdef>
<paramdef>const char * <parameter>name</parameter></paramdef>
</funcprototype>

<funcprototype>
<funcdef>struct passwd *<function>getpwuid</function></funcdef>
<paramdef>uid_t <parameter>uid</parameter></paramdef>
</funcprototype>

</funcsynopsis>

Лекция 2.  Создание документов DocBook

Кратко про разметку

Документ DocBook – XML-документ3. Поэтому основными составляющими разметки яв­ляются элементы, атрибуты и сущности.

Элементы и атрибуты

Основными являются элементы, именно они передают структуру текстового доку­мента. DocBook использует, в основном, элементы-контей­не­ры (многие – со сме­шан­ным содержимым), однако для служебных целей (например, для создания указателей и закладок) используются пустые элементы. Многие элементы DocBook могут (но не обя­за­ны) содержать атрибуты. Атрибуты исполь­зуют­ся, как правило, для служебных целей (перекрестных ссылок, организации поиска или уточнения). Однако возможно ис­поль­зо­вание атрибутов для уточнения роль некоторых элементов, например при описании про­граммного обеспечения:

<systemitem role="emailaddr">

Сущности

Параметрические сущности в DocBook используются исключительно для тонкой наст­рой­ки и/или модификации DTD DocBook, поэтому здесь мы рассматривать их не будем, а рас­смотрим только использование общих (непараметрических) сущностей.

Если какой-то фрагмент встречается в тексте несколько раз, то удобно определить разби­ра­е­мую сущность (parsed entity) :

<!ENTITY dbd "документ DocBook">
<!ENTITY ora "O'Reilly &amp; Associates">

Ссылка на общую сущность состоит из амперсанда, имени сущности и точки с запятой: &dbd; в документе DocBook будет заменено на «документ DocBook». Для русского языка применение сущностей не всегда оправдано. Обратите внимание на то, что вторая из объ­явленных сущностей содержит ссылку на другую сущность (&amp;). Это обычное явление и оно вполне приемлемо.

Документ DocBook может быть разделен на несколько физических фрагментов (файлов), в этом случае целесообразно использовать внешние разбираемые сущности:

<!ENTITY ch01 SYSTEM "ch01.ent">
<!ENTITY ch02 SYSTEM "ch02.ent">
<!ENTITY ch03 SYSTEM "ch03.ent">
<!ENTITY ch04 SYSTEM "ch04.ent">

При таком подходе основной документ содержит только ссылки на эти сущности:

<book>
&ch01;
&ch02;
&ch03;
&ch04;
</book>

Неразбираемые сущности (unparsed entities) используются в DocBook для представ­ле­ния графических элементов. Пусть, например, изображение дерева находится в файле tree. jpg. Тогда для описания этого факта используется неразбираемая сущность:

<!ENTITY tree SYSTEM "tree. jpg" NDATA JPG>

В объявлении неразбираемой сущности используется ключевое слово NDATA (non-parsed data) и указание на MIME-тип нетекстовых данных (JPG). Неразбираемую сущность в XML можно использовать исключительно как значение атрибута. В DocBook – это атрибут entityref некоторых элементов, прежде всего, элемента graphic:

<graphic entityref="tree"/>

XML-документ

Документ DocBook – XML-документ. Он должен быть не только правильно сформирован­ным, но и правильным относительно DocBook DTD. Это, частности, означает, что доку­мент DocBook обязан содержать пролог, который, в свою очередь, должен содержать объ­явление XML и объявление типа документа:

<?xml version='1.0'?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www. oasis-open. org/docbook/xml/4.2/docbookx. dtd">

Документ DocBook часто содержит внутреннее ограничение, объявляющее сущности:

<?xml version='1.0'?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www. oasis-open. org/docbook/xml/4.2/docbookx. dtd"
[
<!ENTITY ch01 SYSTEM "ch01.ent">
<!ENTITY ch02 SYSTEM "ch02.ent">
<!ENTITY ch03 SYSTEM "ch03.ent">
<!ENTITY ch04 SYSTEM "ch04.ent">

<!ENTITY dbd "документ DocBook">
<!ENTITY ora "O'Reilly &amp; Associates">
]>

<book>
&ch01;
&ch02;
&ch03;
&ch04;
</book>

Следует не забывать, что внутреннее ограничение всегда обрабатывается первым, и все объ­явления во внутреннем ограничении имеют приоритет над объявлениями (сущнос­тей, элементов и атрибутов), содержащимися во внешних ограничениях.

XML-каталог

Использование публичных идентификаторов ставит вопрос доступа к соответствующим ресурсам. Так, DocBook DTD, упомянутое в предыдущем примере, при отсутствии дос­ту­па к Интернету может оказаться недоступной, и многие инструменты, предназначенные для работы с DocBook, откажутся это делать. Да и при наличии доступа к Интернету пе­ре­качивание 31 файла объемом около 400 Кбайт каждый раз, когда потребуется верифи­кация структуры документа DocBook, не обеспечивает комфортности работы даже при скорости соединения 100 Mbps. Есть два решения этой проблемы.

Наиболее простой способ – скачать DocBook DTD и временно изменить системную часть публичного идентификатора (URL), указав путь к этому DTD в локальной файловой сис­теме:

<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"D:\--DEPOT\DocBook\DTD\docbookx. dtd">

Формально такой способ некорректен – URL должен соответствовать официальному месту хранения DTD. Можно полностью заменить публичный идентификатор на сис­тем­ный:

<!DOCTYPE book SYSTEM "D:\--DEPOT\DocBook\DTD\docbookx. dtd">

В обоих случаях получающиеся XML-документы невозможно опубли­ко­вать – при их раз­мещении для публичного доступа путь к DocBook DTD, конечно, будет другим. Перед пуб­ликацией таких XML-документов необходимо изменить URL в объяв­лении типа доку­мента на стандартный. Это, конечно, затрудняет сопровождение доку­мен­тов DocBook, од­нако может оказаться единственно возможным подходом, если при­ложение, с которым вы работаете, не поддерживает XML-каталог.

Наиболее правильный способ обеспечить для DTD DocBook ссылку на локальный ресурс – использовать XML-каталог. XML-каталог позволяет указать локальный URL для публич­ного идентификатора и, тем самым, избежать медленной подгрузки DTD с сайта OASIS. Впрочем, некоторые инструменты (вроде Altova Authentic, который мы будем исполь­зо­вать), даже в случае использования правильно настроенного каталога обращаются к офи­ци­альному расположению DTD.

Логические составляющие DocBook

Основными структурными составляющими DocBook являются:

w  Комплекты (set)

w  Книги (book)

w  Компоненты, которые подразделяют книгу на части

w  Компоненты, которые подразделяют книгу или её разделы (части и т. п.) на главы («главоподобные» элементы)

w  Компоненты, которые подразделяют главоподобные элементы на более мелкие составляющие (разделы, пункты и т. д.) – секции

w  Метаинформация

w  Блочные элементы

w  Потоковые элементы

Остановимся на каждой категории составляющих DocBook.

Комплект

Элемент set используется на верхнем уровне иерархии документов DocBook. Этот эле­мент представляет комплект книг, будь то собрание сочинений, продолжающееся из­да­ние, комплект до­ку­ментации на космический корабль или на программный продукт.

Книга

Чаще всего для корневого элемента DocBook используется элемент book. Определение «книги», используемое DocBook, является очень общим и достаточно свободным. Не­воз­можно строго навязать последовательность элементов, составляющих книгу – обеспече­ние поддержки всего разно­обра­зия публикаций, для которых используется DocBook, и разнообразия национальных тра­диций организации материала в публикации при стро­гой последовательности элементов сделало бы модель содержания XML-документа DocBook крайне сложной. Вместо строгости DocBook дает вам достаточную свободу. Если вы хотите ре­ализовать более строгий подход, вам придется написать свой настроечный слой DTD.

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

w  Посвящение (dedication).

Посвящение, как правило, расположено в начале книги.

w  Навигационные компоненты.

Навигационных компонентов немного: toc (Tables of Contents – Содержание), lot (Lists of Titles – списки иллюстраций, таблиц, примеров и т. д.) и index – для указателей.

w  Разделы

Раздел – верхний уровень иерархии книги. Разделы могут представлять собой либо части (part), либо т. н. справочные разделы (происходящие от формата руководств – man pages – Unix) – reference. Части содержат компоненты, а справочные разделы – элементы справки (refentry).

w  Компоненты.

Компоненты представляют собой «главоподобные» составляющие книги или части книги (book или part). В основном, это предисловие (preface), глава (chapter), приложение (appendix), словарь (glossary), указатель (index), и список литературы (bibliography). В состав компонентов может входить статья (article) и некоторые другие элементы (навигационные компоненты). Компоненты обычно содержат бло­ч­ные элементы и/или секции, а также могут содержать навигационные компо­ненты и элемен­ты справки.

Секции

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

sect1 ... sect5

Эти элементы используются чаще всего. Они должны быть правильно вложены: sect2 может встречаться только внутри sect1, sect3 – внутри sect2 и т. д. Разре­шено использовать только пять уровней вложенности. Преимущество использова­ния секций с явным указанием уровня вложенности в возможности независимой ав­томатической нумерации секций при их визуализации (например, section1 нуме­руется с использованием римских цифр, section2 – с использованием арабских цифр, а section3 – с использованием букв). Реализация подобных решений для элемента section, допускающего произвольный уровень вложенности, гораздо сложнее.

section

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

simplesect

Это «финальная» секция. Она может появляться на любом уровне вложенности, но сама не может содержать никакой секционирующий элемент.

bridgehead

«Предмостное укрепление» – служит для размещения заголовка секции без соз­да­ния собственно секции (заголовок без содержимого).

refsect1 ... refsect3

Эти секционирующие элементы могут появляться только в элементе справки – refentry. В справке допускается только три уровня вложенности секций.

glossdiv, bibliodiv и indexdiv

Словари, списки литературы и индексы могут содержать только один уровень сек­ци­онирования. Эти элементы не допускают вложенности.

Метаинформация

Большинство элементов на уровне секций и выше могут содержать «обёртку» для метаин­формации. Как правило, имя элемента такой обёртки образуется как конкатенация имени соответствующего элемента (set, book, ... sect5) и слова info: setinfo, bookinfo, sect5info. Метаинформация включает библиографическую информацию (ав­тор, заглавие, издатель и т. д.), а также и другие метаданные, например, историю измене­ний, ключевые слова, термины для индексирования и пр.

Блочные элементы

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

w  списки

w  замечания

w  строко-ориентированные элементы

w  разного рода аннотации

w  таблицы

w  иллюстрации

w  примеры

w  разные (около дюжины элементов)

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6