В. А. Капустин Содержание Формальные структуры текстовых документов 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
Основными структурными составляющими DocBook являются:
- Комплекты (set)
- Книги (book)
- Компоненты, которые подразделяют книгу на части
- Компоненты, которые подразделяют книгу или её разделы (части и т.п.) на главы («главоподобные» элементы)
- Компоненты, которые подразделяют главоподобные элементы на более мелкие составляющие (разделы, пункты и т.д.) – секции
- Метаинформация
- Блочные элементы
- Потоковые элементы
Остановимся на каждой категории составляющих DocBook.
Комплект
Элемент set используется на верхнем уровне иерархии документов DocBook. Этот элемент представляет комплект книг, будь то собрание сочинений, продолжающееся издание, комплект документации на космический корабль или на программный продукт.
Книга
Чаще всего для корневого элемента DocBook используется элемент book. Определение «книги», используемое DocBook, является очень общим и достаточно свободным. Невозможно строго навязать последовательность элементов, составляющих книгу – обеспечение поддержки всего разнообразия публикаций, для которых используется DocBook, и разнообразия национальных традиций организации материала в публикации при строгой последовательности элементов сделало бы модель содержания XML-документа DocBook крайне сложной. Вместо строгости DocBook дает вам достаточную свободу. Если вы хотите реализовать более строгий подход, вам придется написать свой настроечный слой DTD.
Книги DocBook состоят из смеси следующих компонентов:
- Посвящение (dedication).
Посвящение, как правило, расположено в начале книги.
- Навигационные компоненты.
Навигационных компонентов немного: toc (Tables of Contents – Содержание), lot (Lists of Titles – списки иллюстраций, таблиц, примеров и т.д.) и index – для указателей.
- Разделы
Раздел – верхний уровень иерархии книги. Разделы могут представлять собой либо части (part), либо т.н. справочные разделы (происходящие от формата руководств – man pages – Unix) – reference. Части содержат компоненты, а справочные разделы – элементы справки (refentry).
- Компоненты.
Компоненты представляют собой «главоподобные» составляющие книги или части книги (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. Метаинформация включает библиографическую информацию (автор, заглавие, издатель и т.д.), а также и другие метаданные, например, историю изменений, ключевые слова, термины для индексирования и пр.
Блочные элементы
Компоненты и секции непосредственно содержат блочные элементы. Грубо говоря, блочные элементы – это элементы уровня абзаца. Блочные элементы подразделяются на несколько категорий:
- списки
- замечания
- строко-ориентированные элементы
- разного рода аннотации
- таблицы
- иллюстрации
- примеры
- разные (около дюжины элементов)
На уровне абзаца принято выделять два класса элементов: блочные и потоковые. Со структурной точки зрения, различие базируется, в основном, на величине элемента, но проще описывать эти классы элементов с точки зрения их визуализации. Блочные элементы обычно визуализируются в виде абзаца (или более крупного визуального компонента) с отбивками перед и после него. Многие блочные элементы могут содержать другие блочные элементы. Многие блочные элементы также могут содержать символьные данные и потоковые элементы. Наиболее часто встречающиеся примеры блочных элементов (в скобках приведены не имена соответствующих элементов DocBook, а английские названия блочных элементов): абзац (paragraph), заметка на полях (sidebar), таблица, блочная цитата (block quotation). Потоковые элементы обычно не содержат отбивок. Для визуализации поточных элементов наиболее характерно изменение шрифта, но поточный элемент может совершенно не выделяться при визуализации. Потоковые элементы содержат символьные данные и, возможно, другие потоковые элементы, но никогда не содержат блочные элементы. Поточные элементы используются для разметки таких данных, как перекрёстные ссылки, имена файлов, код, опции, индексы (верхние и нижние), словарные термины и т.п.
Списки
DocBook содержит несколько видов списков:
- calloutlist
Список выносок (к графическим и другим вынесенным из контекста элементам).
- glosslist
Список словарных терминов и их определений. Используется тогда, когда важна семантика словаря (например, в документе присутствует словарь – glossary, – и из него есть ссылки на помещенную в список информацию). Если семантика списка терминов и определений не связана со словарём, то следует использовать variablelist.
- itemizedlist
Неупорядоченный (маркированный) список. Элемент имеет атрибуты, позволяющие управлять маркерами.
- orderedlist
Нумерованный список. Элемент имеет атрибуты, позволяющие управлять способом нумерации.
- segmentedlist
Повторяющийся набор именованных сущностей (не XML-сущностей). Пример: субъекты Российской Федерации и их столицы.
- simplelist
Список «без украшений». Такие списки могут быть потоковыми или визуализироваться в несколько столбцов.
- variablelist
Список терминов и их определений и описаний. Используется вне связи со словарем (элемент glossary). Все использованные списки могли бы быть описаны как variablelist.
Замечания (Admonitions)
DocBook содержит 5 видов замечаний: «обратите снимание» (caution), «важно» (important), «замечание» (note), «совет» (tip), и «предупреждение» (warning). Семантика замечаний не связана с их названиями. Все эти элементы имеют одну и ту же структуру: необязательный заголовок (title), за которым следуют элементы уровня абзаца.
Строко-ориентированные элементы
Строко-ориентированные элементы предназначены для передачи пробельного материала (включая переводы строк), содержащегося в символьных данных. DocBook не имеет аналога
(из HTML), так что DocBook не позволяет произвольно вставить разрыв строки в поток текста.
- 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 отсутствует.
FAQ
- qandaset
Список вопросов и ответов и аналогичные списки.
Потоковые элементы
DocBook предоставляет много различных потоковых элементов. На практике авторы используют не все, а только необходимые потоковые элементы, поскольку использование большого числа разнообразных потоковых элементов требует значительных затрат времени. При этом обычно размечаются не все отрезки текста, которые можно было разметить, а только те, разметка которых абсолютно необходима. В приводимом ниже списке потоковых элементов я сохраню их классификацию, приведенную в 7, при этом некоторые элементы попадают в несколько категорий. Приводимый мной список не является исчерпывающим, полный список потоковых элементов приведен в книге Н.Уолша 7.
Традиционные типографские потоковые элементы
Эти элементы предназначены для выделений, встречающихся в большинстве публикаций.
- abbrev
Аббревиатура, как правило, оканчивающаяся точкой.
- acronym
Сокращение, образованное из заглавных (или некоторых) букв фразы (или слова), например РФ – Российская Федерация.
- emphasis
Выделение.
- footnote
Сноска. Положение сноски в визуализованном документе (в нижней части страницы, в конце документа или другое) определяется стилевым файлом (например, XSLT).
На ту же сноску возможны ссылки из других мест документа. Для этого используется элемент footnoteref.
- phrase
Сегмент текста. Аналог span из HT ML.
- quote
Потоковая цитата.
- trademark
Упоминание торговой марки.
Перекрестные ссылки
Перекрестные ссылки позволяют разметить как явные (link), так неявные (glossterm) перекрестные ссылки. Неявные перекрестные ссылки могут быть сделаны явными в результате визуализации, если у соответствующих элементов присутствует атрибут linkend.
- anchor
Место в документе. Аналог в HTML.
- citerefentry
Ссылка на страницу справочного руководства.
- firstterm
Первое появление термина в документе.
- glossterm
Упоминание словарного термина.
- link
Внутренняя ссылка в документе.
- ulink
Внешняя ссылка (с использованием URL).
- xref
Ссылка на часть документа
Разметка
Потоковые элементы этой группы используются для особой обработки при выводе.
- foreignphrase
Слово или фраза на языке, отличном от основного языка документа.
- wordasword
Слово дословно.
- computeroutput
Данные, выводимые компьютером.
- markup
Разметка, которую нужно трактовать не как разметку, а как выводимый текст.
- prompt
Приглашение ввода данных.
- replaceable
То, что должно быть заменено пользователем, «местозаместитель» (например, в шаблоне).
- userinput
Текст, вводимый пользователем.
Математика
DocBook не предоставляет достаточно полного набора элементов для разметки произвольных математических выражений. Если необходимо, можно воспользоваться пространством имён MathML (приложение XML, позволяющее размечать математические тексты).
- inlineequation
Формула.
- subscript
Нижний индекс, как в H2O.
- superscript
Верхний индекс, как в x2 или U235.
Интерфейс пользователя
- accel
Горячая клавиша.
- guibutton
Текст на кнопке.
- guilabel
Подпись к элементу управления.
- guimenu
Название меню.
- guimenuitem
Текст позиции меню.
- keycap
Название клавиши, написанное на клавише.
- keycode
Код (как правило, числовой), генерируемый при нажатии клавиши.
- keysym
Символическое обозначение клавиши.
- menuchoice
Последовательность выборов из меню.
- mousebutton
Название кнопки мыши.
- shortcut
Комбинация горячих клавиш.
Языки программирования
Многие элементы разметки этой категории соответствуют английским названиям соответствующих конструкций распространенных языков программирования.
- classname
Имя класса в объектно-ориентированном языке программирования.
- constant
Константа.
- errorcode
Код ошибки.
- errorname
Название ошибки.
- errortype
Тип ошибки.
- function
Имя функции или процедуры.
- interface
Элемент графического интерфейса пользователя.
- literal
Литерал.
- msgtext
Текст сообщения.
- parameter
Значение или символическая ссылка на значение (передаваемое куда-то).
- property
Единица данных, связанная с какой-либо частью компьютерной системы.
- replaceable
То, что должно быть заменено пользователем, «местозаместитель» (например, в шаблоне).
- returnvalue
Значение, возвращаемое функцией.
- structfield
Поле структуры (член, свойство объекта).
- symbol
Имя, которое будет заменено на значение перед обработкой, идентификатор.
- token
Единица обрабатываемой информации, лексема.
- type
Тип данных.
- varname
Имя переменной.
Операционные системы
Эти потоковые элементы предназначены для идентификации компонентов операционной системы или среды.
- application
Название программы или комплекта программ.
- command
Команда операционной системы или оболочки.
- envar
Имя переменной среды окружения.
- filename
Имя файла.
- medialabel
Надпись на физическом носителе данных.
- msgtext
Текст сообщения.
- option
Опция, выбираемый параметр (например, в конфигурационном файле или в интерфейсе настройки).
- prompt
Приглашение ввода данных.
- systemitem
Фраза или термин, относящиеся к системе.
Потоковые элементы универсального технического применения
- application
Название программы или комплекта программ.
- database
База данных или её часть.
- email
Адрес электронной почты.
- filename
Имя файла.
- hardware
Текст, относящийся к физическому компоненту компьютерной системы.
- inlinegraphic
Ссылка на потоковое изображение.
- optional
Необязательная информация.