На уровне абзаца принято выделять два класса элементов: блочные и потоковые. Со струк­турной точки зрения, различие базируется, в основном, на величине элемента, но про­ще описывать эти классы элементов с точки зрения их визуализации. Блочные эле­мен­ты обычно визуализируются в виде абзаца (или более крупного визуального ком­по­нен­та) с отбивками перед и после него. Многие блочные элементы могут содержать дру­гие блочные элементы. Многие блочные элементы также могут содержать символь­ные данные и потоковые элементы. Наиболее часто встречающиеся примеры блочных эле­мен­тов (в скобках приведены не имена соответствующих элементов 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 не имеет ана­лога <br> (из HTML), так что DocBook не позволяет произвольно вставить разрыв стро­ки в поток текста.

address

Предназначен для почтовых адресов (с учетом разбивки на строки для печати на конверте). Содержит дополнительные элементы для разметки имён и элементов адреса.

literallayout

Строко-ориентированный элемент без определенной семантики.

programlisting

Используется для исходного текста программ, фрагментов кода и подобных листингов
. Обычно выводится моноширинным шрифтом.

screen

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

screenshot

Обёртка для элемента graphic, предназначенная для описания изображений (части) экрана.

synopsis

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

Примеры, иллюстрации и таблицы

w  Примеры, иллюстрации и таблицы – часто используемые блочные элементы: 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 предоставляет много различных потоковых элементов. На практике авторы ис­пользуют не все, а только необходимые потоковые элементы, поскольку использование большого числа разнообразных потоковых элементов требует значительных затрат вре­ме­ни. При этом обычно размечаются не все отрезки текста, которые можно было разме­тить, а только те, разметка которых абсолютно необходима. В приводимом ниже списке по­то­ко­вых элементов я сохраню их классификацию, приведенную в 1, при этом некото­рые эле­менты попадают в несколько категорий. Приводимый мной список не является исчер­пывающим, полный список потоковых элементов приведен в книге Н. Уолша 1.

Традиционные типографские потоковые элементы

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

abbrev

Аббревиатура, как правило, оканчивающаяся точкой.

acronym

Сокращение, образованное из заглавных (или некоторых) букв фразы (или слова), например <acronym>РФ</acronym>&nbsp;&ndash;&nbsp;Российская Федерация.

emphasis

Выделение.

footnote

Сноска. Положение сноски в визуализованном документе (в нижней части стра­ни­цы, в конце документа или другое) определяется стилевым файлом (например, XSLT).

На ту же сноску возможны ссылки из других мест документа. Для этого исполь­зует­ся элемент footnoteref.

phrase

Сегмент текста. Аналог span из HT ML.

quote

Потоковая цитата.

trademark

Упоминание торговой марки.

Перекрестные ссылки

Перекрестные ссылки позволяют разметить как явные (link), так неявные (glossterm) пе­рекрестные ссылки. Неявные перекрестные ссылки могут быть сделаны явными в резуль­та­те визуализации, если у соответствующих элементов присутствует атрибут linkend.

anchor

Место в документе. Аналог <a name="..."> в 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

Необязательная информация.

Лекция 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|
Added|
Deleted|
Off)

Статус редакции элемента. Следует использовать исклю­чи­тельно для пометки изменений статуса от одной редак­ции к другой; для управления версиями должна исполь­зо­ваться полноценная система управления версиями (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 других элементов, наиболее частыми из кото­рых являются:

legalnotice (заявление о юридических требованиях или обязательствах)

w  различные варианты ключевых слов (предметные рубрики – subjectset, термины ука­за­телей – itermset, ключевые слова неконтролируемой лексики – keywordset)

w  аннотация (abstract)

w  автор или группа авторов (author или authorgroup)

коллективный автор (corpauthor)

библиографическая ин­формация

w  информация о конференции

w  сведения о контракте

w  информация об авторских правах

w  сведения о дате и номере издания, об издателе

w  сведения о продукте (оборудовании, программном обеспечении), к которым относится книга

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

Не визуализируется.

Атрибуты

Имя атрибута

Тип значения атрибута

Описание

contents

IDREFS

Список идентификаторов всех главоподобных элементов книги в том порядке, в котором они входят в книгу

author

Информация об индивидуальном авторе:

1 author ::=
2 ((personname|
3 (honorific|firstname|surname|lineage|othername|affiliation|
4 authorblurb|contrib)+),
5 (personblurb|email|address)*)

Таким образом, элемент 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