На уровне абзаца принято выделять два класса элементов: блочные и потоковые. Со структурной точки зрения, различие базируется, в основном, на величине элемента, но проще описывать эти классы элементов с точки зрения их визуализации. Блочные элементы обычно визуализируются в виде абзаца (или более крупного визуального компонента) с отбивками перед и после него. Многие блочные элементы могут содержать другие блочные элементы. Многие блочные элементы также могут содержать символьные данные и потоковые элементы. Наиболее часто встречающиеся примеры блочных элементов (в скобках приведены не имена соответствующих элементов DocBook, а английские названия блочных элементов): абзац (paragraph), заметка на полях (sidebar), таблица, блочная цитата (block quotation). Потоковые элементы обычно не содержат отбивок. Для визуализации поточных элементов наиболее характерно изменение шрифта, но поточный элемент может совершенно не выделяться при визуализации. Потоковые элементы содержат символьные данные и, возможно, другие потоковые элементы, но никогда не содержат блочные элементы. Поточные элементы используются для разметки таких данных, как перекрёстные ссылки, имена файлов, код, опции, индексы (верхние и нижние), словарные термины и т. п.
Списки
DocBook содержит несколько видов списков:
w calloutlist
Список выносок (к графическим и другим вынесенным из контекста элементам).
w glosslist
Список словарных терминов и их определений. Используется тогда, когда важна семантика словаря (например, в документе присутствует словарь – glossary, – и из него есть ссылки на помещенную в список информацию). Если семантика списка терминов и определений не связана со словарём, то следует использовать variablelist.
w itemizedlist
Неупорядоченный (маркированный) список. Элемент имеет атрибуты, позволяющие управлять маркерами.
w orderedlist
Нумерованный список. Элемент имеет атрибуты, позволяющие управлять способом нумерации.
w segmentedlist
Повторяющийся набор именованных сущностей (не XML-сущностей). Пример: субъекты Российской Федерации и их столицы.
w simplelist
Список «без украшений». Такие списки могут быть потоковыми или визуализироваться в несколько столбцов.
w variablelist
Список терминов и их определений и описаний. Используется вне связи со словарем (элемент glossary). Все использованные списки могли бы быть описаны как variablelist.
Замечания (Admonitions)
DocBook содержит 5 видов замечаний: «обратите снимание» (caution), «важно» (important), «замечание» (note), «совет» (tip), и «предупреждение» (warning). Семантика замечаний не связана с их названиями. Все эти элементы имеют одну и ту же структуру: необязательный заголовок (title), за которым следуют элементы уровня абзаца.
Строко-ориентированные элементы
Строко-ориентированные элементы предназначены для передачи пробельного материала (включая переводы строк), содержащегося в символьных данных. DocBook не имеет аналога <br> (из HTML), так что DocBook не позволяет произвольно вставить разрыв строки в поток текста.
w address
Предназначен для почтовых адресов (с учетом разбивки на строки для печати на конверте). Содержит дополнительные элементы для разметки имён и элементов адреса.
w literallayout
Строко-ориентированный элемент без определенной семантики.
w programlisting
Используется для исходного текста программ, фрагментов кода и подобных листингов
. Обычно выводится моноширинным шрифтом.
w screen
Используется для передачи моноширинного вывода. Часто применяется как универсальный строко-ориентированный элемент.
w screenshot
Обёртка для элемента graphic, предназначенная для описания изображений (части) экрана.
w synopsis
Предназначен для описаний функций (языков программирования) и команд (оболочек операционных систем и других приложений).
Примеры, иллюстрации и таблицы
w Примеры, иллюстрации и таблицы – часто используемые блочные элементы: example, informalexample, figure, informalfigure, table и informaltable.
Различие между «формальными» и «неформальными» элементами заключается в том, что формальные элементы имеют заглавия, а неформальные – нет.
Абзацы
w para, simpara и formalpara
Существует три вида абзацев. Простой абзац (simpara) не может содержать другие блочные элементы. Формальный абзац имеет заглавие.
Уравнения
w equation и informalequation
Уравнения. Для поточных уравнений (формул) используется inlineequation.
Графические элементы
w graphic, figure, mediaobject
Для поточных иллюстраций используются inlinegraphic и inlinemediaobject. В DocBook 5.0 graphic отсутствует.
FAQ
w qandaset
Список вопросов и ответов и аналогичные списки.
Потоковые элементы
DocBook предоставляет много различных потоковых элементов. На практике авторы используют не все, а только необходимые потоковые элементы, поскольку использование большого числа разнообразных потоковых элементов требует значительных затрат времени. При этом обычно размечаются не все отрезки текста, которые можно было разметить, а только те, разметка которых абсолютно необходима. В приводимом ниже списке потоковых элементов я сохраню их классификацию, приведенную в 1, при этом некоторые элементы попадают в несколько категорий. Приводимый мной список не является исчерпывающим, полный список потоковых элементов приведен в книге Н. Уолша 1.
Традиционные типографские потоковые элементы
Эти элементы предназначены для выделений, встречающихся в большинстве публикаций.
w abbrev
Аббревиатура, как правило, оканчивающаяся точкой.
w acronym
Сокращение, образованное из заглавных (или некоторых) букв фразы (или слова), например <acronym>РФ</acronym> – Российская Федерация.
w emphasis
Выделение.
w footnote
Сноска. Положение сноски в визуализованном документе (в нижней части страницы, в конце документа или другое) определяется стилевым файлом (например, XSLT).
На ту же сноску возможны ссылки из других мест документа. Для этого используется элемент footnoteref.
w phrase
Сегмент текста. Аналог span из HT ML.
w quote
Потоковая цитата.
w trademark
Упоминание торговой марки.
Перекрестные ссылки
Перекрестные ссылки позволяют разметить как явные (link), так неявные (glossterm) перекрестные ссылки. Неявные перекрестные ссылки могут быть сделаны явными в результате визуализации, если у соответствующих элементов присутствует атрибут linkend.
w anchor
Место в документе. Аналог <a name="..."> в HTML.
w citerefentry
Ссылка на страницу справочного руководства.
w firstterm
Первое появление термина в документе.
w glossterm
Упоминание словарного термина.
w link
Внутренняя ссылка в документе.
w ulink
Внешняя ссылка (с использованием URL).
w xref
Ссылка на часть документа
Разметка
Потоковые элементы этой группы используются для особой обработки при выводе.
w foreignphrase
Слово или фраза на языке, отличном от основного языка документа.
w wordasword
Слово дословно.
w computeroutput
Данные, выводимые компьютером.
w markup
Разметка, которую нужно трактовать не как разметку, а как выводимый текст.
w prompt
Приглашение ввода данных.
w replaceable
То, что должно быть заменено пользователем, «местозаместитель» (например, в шаблоне).
w userinput
Текст, вводимый пользователем.
Математика
DocBook не предоставляет достаточно полного набора элементов для разметки произвольных математических выражений. Если необходимо, можно воспользоваться пространством имён MathML (приложение XML, позволяющее размечать математические тексты).
w inlineequation
Формула.
w subscript
Нижний индекс, как в H2O.
w superscript
Верхний индекс, как в x2 или U235.
Интерфейс пользователя
w accel
Горячая клавиша.
w guibutton
Текст на кнопке.
w guilabel
Подпись к элементу управления.
w guimenu
Название меню.
w guimenuitem
Текст позиции меню.
w keycap
Название клавиши, написанное на клавише.
w keycode
Код (как правило, числовой), генерируемый при нажатии клавиши.
w keysym
Символическое обозначение клавиши.
w menuchoice
Последовательность выборов из меню.
w mousebutton
Название кнопки мыши.
w shortcut
Комбинация горячих клавиш.
Языки программирования
Многие элементы разметки этой категории соответствуют английским названиям соответствующих конструкций распространенных языков программирования.
w classname
Имя класса в объектно-ориентированном языке программирования.
w constant
Константа.
w errorcode
Код ошибки.
w errorname
Название ошибки.
w errortype
Тип ошибки.
w function
Имя функции или процедуры.
w interface
Элемент графического интерфейса пользователя.
w literal
Литерал.
w msgtext
Текст сообщения.
w parameter
Значение или символическая ссылка на значение (передаваемое куда-то).
w property
Единица данных, связанная с какой-либо частью компьютерной системы.
w replaceable
То, что должно быть заменено пользователем, «местозаместитель» (например, в шаблоне).
w returnvalue
Значение, возвращаемое функцией.
w structfield
Поле структуры (член, свойство объекта).
w symbol
Имя, которое будет заменено на значение перед обработкой, идентификатор.
w token
Единица обрабатываемой информации, лексема.
w type
Тип данных.
w varname
Имя переменной.
Операционные системы
Эти потоковые элементы предназначены для идентификации компонентов операционной системы или среды.
w application
Название программы или комплекта программ.
w command
Команда операционной системы или оболочки.
w envar
Имя переменной среды окружения.
w filename
Имя файла.
w medialabel
Надпись на физическом носителе данных.
w msgtext
Текст сообщения.
w option
Опция, выбираемый параметр (например, в конфигурационном файле или в интерфейсе настройки).
w prompt
Приглашение ввода данных.
w systemitem
Фраза или термин, относящиеся к системе.
Потоковые элементы универсального технического применения
w application
Название программы или комплекта программ.
w database
База данных или её часть.
w email
Адрес электронной почты.
w filename
Имя файла.
w hardware
Текст, относящийся к физическому компоненту компьютерной системы.
w inlinegraphic
Ссылка на потоковое изображение.
w optional
Необязательная информация.
Лекция 3. Компоненты книги
Рассмотрим некоторые составляющие книги более подробно.
Многие элементы (например, связанные с описанием персоны) могут использоваться в различных местах издания. Я рассмотрю такие элементы в том месте, в котором они встретятся впервые (например, информация об авторе – author – и другие элементы, связанные с разметкой информации о персоне, будут рассмотрены при знакомстве с элементом bookinfo).
Многие элементы имеют аналогичную модель содержания: в них используются символьные данные и некоторые потоковые элементы.
<Элемент>::=
(#PCDATA|link|olink|ulink|emphasis|trademark|replaceable|remark|
subscript|superscript|inlinegraphic|inlinemediaobject|indexterm)*
В качестве <Элемент> могут выступать составные части имени, названия организации, адреса и пр. Элементы с таким содержимым я буду называть «элементами с символьно-смешанным содержимым» (калька с имени соответствующей параметрической сущности, позволяющая отличить такой элемент от произвольного элемента XML со смешанным содержимым).
В DTD DocBook для содержимого таких элементов используется параметрическая сущность:
<!ENTITY % docinfo. char. mix
"#PCDATA
|%link. char. class;
|emphasis|trademark|replaceable
|%other. char. class;
|inlinegraphic|inlinemediaobject
|%ndxterm. class;
%local. docinfo. char. mix;"
>
Параметрическая сущность local. docinfo. char. mix по умолчанию содержит пустую строку. Назначение других параметрических сущностей очевидно: ссылки, комментарии и индексы (верхние и нижние), термины для построения указателей:
<!ENTITY % local. link. char. class "">
<!ENTITY % link. char. class
"link|olink|ulink %local. link. char. class;">
<!ENTITY % local. other. char. class "">
<!ENTITY % other. char. class
"remark|subscript|superscript %local. other. char. class;">
<!ENTITY % local. ndxterm. class "">
<!ENTITY % ndxterm. class
"indexterm %local. ndxterm. class;">
Общие характеристики элементов
Все элементы (как книги, так и комплекта, статьи и пр.) имеют некоторые общие характеристики, прежде всего, набор необязательных атрибутов, которые могут быть у каждого элемента, и т. н. ожидания обработки.
Ожидания обработки
Стандарт DocBook для каждого элемента определяет т. н. “Processing expectations” – «Ожидания обработки» – то, что следует ожидать от визуализации элемента. Эти ожидания обработки следует принимать во внимание при подготовке размеченных документов.
Общие атрибуты
Таких атрибутов 14:
Имя атрибута | Тип значения атрибута | Описание |
arch | CDATA | Используется для обозначения архитектуры компьютера, к которой относится элемент. Применяется в документации |
condition | CDATA | Для использования в конкретных приложениях – на усмотрение пользователя |
conformance | NMTOKENS | Указание на соответствие стандартам для того элемента, к которому атрибут относится. На усмотрение пользователя |
id | ID | Для некоторых элементов – обязательный. Уникальный идентификатор элементы в документе |
lang | CDATA | Двухсимвольное обозначение языка по ISO 639, за которым может следовать (через дефис) необязательное двухсимвольное обозначение страны по ISO 3166, напр., en-US. Используется тогда, когда необходимо изменить характеристики визуализации документа (правила переноса, кавычки и пр.). |
os | CDATA | Используется для обозначения операционной системы, к которой относится элемент. Применяется в документации |
remap | CDATA | Для связи с другими методами разметки. Должен содержать имя элемента или аналогичный по смыслу идентификатор объекта разметки, который соответствует данному элементу при другом методе разметки |
role | CDATA | Используется для классификации. Наборы ролей для различных групп элементов могут различаться |
revision | CDATA | Редакция. Номер редакции документа, к которой принадлежит элемент |
revisionflag | (Changed| | Статус редакции элемента. Следует использовать исключительно для пометки изменений статуса от одной редакции к другой; для управления версиями должна использоваться полноценная система управления версиями (CVS, Subversion или что-либо аналогичное) |
security | CDATA | Уровень допуска (секретность) |
userlevel | CDATA | Уровень опытности пользователя, для которого элемент предназначен |
vendor | CDATA | Поставщик оборудования или программного обеспечения, к оборудованию или программному обеспечению которого относится элемент |
xreflabel | CDATA | Имя для построения ссылок (аналог <a name="..."> в HTML) |
Все рассматриваемые мной элементы имеют необязательные атрибуты, не входящие в число общих. Ниже будут представлены не все эти атрибуты.
book
book ::=
((title, subtitle?,titleabbrev?)?,
bookinfo?,
(dedication|toc|lot|glossary|bibliography|preface|chapter|
reference|part|article|appendix|index|setindex|colophon)*)
Книга начинается с необязательной последовательности заглавия, подзаголовка и сокращенного заглавия. Последние два компонента в этой тройке могут отсутствовать. Далее идёт необязательная метаинформация (bookinfo), за которой следует собственно содержимое книги: смесь посвящений, оглавлений, различных словарей, указателей, списков литературы, справочной информации, частей и глав и даже концовки (colophon), обычно печатаемой на обратной стороне обложки. Дело автора навести в этом произволе порядок, придерживаясь определенной иерархии и последовательности разметки текста.
Ожидания обработки
Книга форматируется как блок. Этот блок обычно начинается с новой страницы (важно для комплекта); нумерация страниц в нём начинается с начала (важно для комплекта); для книги, возможно, генерируются обложка, титульные листы, оглавления, указатели и пр. Порядок основных компонентов книги должен соответствовать желательному порядку визуализации.
Атрибуты
Элемент book имеет три необязательных атрибута:
Имя атрибута | Тип значения атрибута | Описание |
fpi | CDATA | Формальный публичный идентификатор книги (в настоящее время в XML-версии DocBook не используется) |
label | CDATA | Метка может быть использована для целее визуализации. Например, третий том в комплекте мог бы иметь метку "Том 3". Используется тогда, когда система печатной подготовки не может самостоятельно сгенерировать аналог метки. Если атрибут label указан, то он должен иметь приоритет над теми аналогами метки, которые будут сгенерированы системой печатной подготовки |
status | CDATA | Состояние публикации (черновик, в работе, чистовой вариант и т. п.) |
title
Элемент title – заглавие – может использоваться не только в книге, но и примерно в сотне других элементов DocBook. Заглавие имеет смешанное содержимое: наряду с текстом (символьными данными) в элементе title могут быть использованы более сотни других элементов (потоковых: являющихся отсылочными, размечающими компоненты программного обеспечения, персон и пр.).
Ожидания обработки
Поскольку заглавие какого-то элемента может воспроизводиться во многих местах книги, то единственное требование – заглавие должно визуализироваться как блок. К сожалению (или к счастью) управлять разрывами строк в заглавии невозможно (именно потому, что одно и то же заглавие может появиться в нескольких местах визуализированной книги).
bookinfo
Элемент bookinfo, подобно многим элементам с суффиксом info, содержит метаинформацию. Он может включать около 70 других элементов, наиболее частыми из которых являются:
w legalnotice (заявление о юридических требованиях или обязательствах)
w различные варианты ключевых слов (предметные рубрики – subjectset, термины указателей – itermset, ключевые слова неконтролируемой лексики – keywordset)
w аннотация (abstract)
w автор или группа авторов (author или authorgroup)
w коллективный автор (corpauthor)
w библиографическая информация
w информация о конференции
w сведения о контракте
w информация об авторских правах
w сведения о дате и номере издания, об издателе
w сведения о продукте (оборудовании, программном обеспечении), к которым относится книга
Ожидания обработки
Не визуализируется.
Атрибуты
Имя атрибута | Тип значения атрибута | Описание |
contents | IDREFS | Список идентификаторов всех главоподобных элементов книги в том порядке, в котором они входят в книгу |
author
Информация об индивидуальном авторе:
Таким образом, элемент author состоит из двух частей. Сначала (строки 2–4) идёт либо элемент personname (содержащий только личную информацию о персоне, см. ниже), либо подробное описание персоны (смесь элементов, описывающих персону, в любом количестве и в любом порядке (см. ниже), – важно, чтобы хотя бы один элемент присутствовал). Затем (строка 5 правила) идёт необязательная смесь описательной информации о персоне (personblurb), электронных и почтовых адресов.
Ожидания обработки
Зависят от контекста: может быть потоковым элементом, блоком или не визуализироваться.
personname
Данные об имени персоны:
personname ::= ((honorific|firstname|surname|lineage|othername)+)
Ожидания обработки
Зависят от контекста: может быть потоковым элементом, блоком или не визуализироваться.
surname, firstname, othername
Фамилия, имя и т. н. «другие имена» (в русском языке сюда попадает отчество). Удивительным образом DocBook использует для этих элементов символьно-смешанное содержимое, позволяя в каждом из этих элементов использовать массу возможностей, а не только текст (символьное содержимое – #PCDATA, впрочем, наличие indexterm вполне естественно – для составления указателей):
firstname ::=
(#PCDATA|link|olink|ulink|emphasis|trademark|replaceable|remark|
subscript|superscript|inlinegraphic|inlinemediaobject|indexterm)*
Правила для surname и othername содержат точно такие же правые части.
Ожидания обработки
Потоковое форматирование (как правило).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


