Расширение имени файла | .dbk,.xml |
---|---|
Тип интернет-носителя | application / docbook + xml |
Разработано | OASIS |
Тип формата | язык разметки |
Расширен с | SGML, XML |
Standard | 5.1 (ноябрь 2016 г.),. 4.5 (октябрь 2006 г.) |
Открытый формат ? | Да |
DocBook - это семантический язык разметки для технической документации. Первоначально он предназначался для написания технических документов, связанных с компьютерным оборудованием и программным обеспечением, но его можно использовать для любого другого вида документации.
В качестве семантического языка DocBook позволяет пользователям создавать содержимое документа в презентационно-нейтральная форма, фиксирующая логическую структуру содержания; этот контент затем может быть опубликован в различных форматах, включая HTML, XHTML, EPUB, PDF, справочные страницы и HTML Help, не требуя от пользователей вносить какие-либо изменения в источник. Другими словами, когда документ написан в формате DocBook, его можно легко переносить в другие форматы, а не переписывать.
DocBook - это язык XML. В текущей версии (5.x) язык DocBook формально определяется схемой RELAX NG со встроенными правилами Schematron. (Существуют также версии схемы W3C XML Schema + Schematron и Document Type Definition (DTD), но они считаются нестандартными.)
Как На семантическом языке документы DocBook описывают не то, как «выглядит» их содержимое, а скорее значение этого содержимого. Например, вместо того, чтобы объяснять, как аннотация статьи может быть визуально отформатирован, DocBook просто говорит, что конкретный раздел является аннотацией. Инструмент или приложение для внешней обработки должны решить, где на странице должен находиться реферат и как он должен выглядеть, и следует ли его вообще включать в окончательный результат.
DocBook предоставляет огромное количество тегов семантических элементов. Они делятся на три большие категории: структурные, блочные и встроенные.
Структурные теги определяют широкие характеристики их содержимого. Например, элемент book
указывает, что его дочерние элементы представляют части книги. Сюда входят заголовок, главы, глоссарии, приложения и так далее. Структурные теги DocBook включают, но не ограничиваются:
set
: названная коллекция из одной или нескольких книг
или статей
, может быть вложена в другие наборыкнига
: названная коллекция из глав
, статей
и / или частей
с дополнительными глоссариями, приложениями и т. Д.часть
: Названная коллекция из одной или нескольких глав
- может быть вложена с другими частями и может иметь специальный вводный текстarticle
: Названная ненумерованная коллекция блоков уровня elementschapter
: названная пронумерованная коллекция элементов уровня блока - главы не требуют явных номеров, номер главы - это количество элементов предыдущей главы в XML-документе плюс 1приложение
: Содержит текст, который представляет собой приложение посвящение
: текст представляет собой посвящение содержащегося в нем структурного элементаСтруктурные элементы могут содержать другие структурные элементы. Структурные элементы - единственные разрешенные элементы верхнего уровня в документе DocBook.
Теги уровня блока - это такие элементы, как абзацы, списки и т. Д. Не все эти элементы могут непосредственно содержать текст. Последовательные элементы уровня блока визуализируются один за другим. После в этом случае может отличаться в зависимости от языка. На большинстве западных языков слово «после» означает следующее: абзацы текста печатаются по странице. Системы письма других языков могут иметь разную направленность ; например, в японском языке абзацы часто печатаются в нисходящих столбцах, причем столбцы идут справа налево, поэтому «после» в этом случае будет слева. Семантика DocBook полностью нейтральна для такого рода языковых концепций.
Теги встроенного уровня - это такие элементы, как выделение, гиперссылки и т. Д. Они переносят текст внутри элемента уровня блока. Эти элементы не вызывают разрыв текста при отображении в формате абзаца, но обычно они заставляют обработчик документов применять к вложенному тексту какую-то особую типографскую обработку, изменяя шрифт, размер или аналогичные атрибуты. (Спецификация DocBook действительно говорит, что ожидает другого типографского оформления, но не предлагает конкретных требований относительно того, что это может быть.) То есть процессору DocBook не нужно преобразовывать тег focus
курсивом. Процессор DocBook на основе чтения может увеличить размер слов, или процессор на основе текста может использовать полужирный шрифт вместо курсива.
Очень простая книга Глава 1 Привет, мир! Я надеюсь, что ваш день протекает великолепно !Глава 2 И снова здравствуйте, мир!
Семантически этот документ представляет собой «книгу» с «заголовком», которая содержит две «главы», каждая со своими собственными «заголовками». Эти «главы» содержат «абзацы», в которых есть текст. Разметка на английском языке хорошо читается.
Более подробно, корневой элемент документа - это книга
. Все элементы DocBook находятся в пространстве имен XML, поэтому корневой элемент имеет атрибут xmlns для установки текущего пространства имен. Кроме того, корневой элемент документа DocBook должен иметь версию, указывающую версию формата, на котором основан документ.
(XML-документы могут включать элементы из нескольких пространств имен одновременно. Для простоты пример это не иллюстрирует.)
A элемент book
должен содержать title
или info
элемент, содержащий title
. Это должно быть до любых дочерних структурных элементов. После заголовка идут структурные дочерние элементы, в данном случае два элемента chapter
. Каждый из них должен иметь заголовок
. Они содержат блочные элементы para
, которые могут содержать произвольный текст и другие встроенные элементы, такие как выделение
во втором абзаце первой главы.
Правила формально определены в XML-схеме DocBook . Соответствующие инструменты программирования могут проверять XML-документ (DocBook или другой) на соответствие его соответствующей схеме, чтобы определить, не соответствует ли (и где) документ этой схеме. Инструменты редактирования XML также могут использовать информацию схемы, чтобы в первую очередь избежать создания несоответствующих документов.
Поскольку DocBook - это XML, документы можно создавать и редактировать с помощью любого текстового редактора. Выделенный также является функциональным редактором DocBook. DocBook предоставляет файлы схемы для популярных языков схем XML, поэтому любой редактор XML, который может обеспечить завершение содержимого на основе схемы, может сделать это для DocBook. Многие или WYSIWYG имеют возможность редактировать DocBook как текстовый процессор.
Поскольку DocBook соответствует четко определенной схеме XML, документы можно проверять и обрабатывать с помощью любого инструмента или языка программирования, которые включает поддержку XML.
DocBook зародился в 1991 году в дискуссионных группах на Usenet и со временем стал совместным проектом HAL Computer Systems и O ' Reilly Associates и в конечном итоге породила свою собственную организацию по техническому обслуживанию (Davenport Group), прежде чем перейти в 1998 году в консорциум SGML Open, который впоследствии стал OASIS. DocBook в настоящее время поддерживается Техническим комитетом DocBook в OASIS.
DocBook доступен в формах SGML и XML, как DTD. Доступны формы RELAX NG и W3C XML Schema версии XML. Начиная с DocBook 5, версия RELAX NG является «нормативной» формой, из которой создаются другие форматы.
DocBook изначально начинался как приложение SGML, но было разработано эквивалентное приложение XML, которое теперь заменило приложение SGML в большинстве случаев. (Начиная с версии 4 SGML DTD, XML DTD продолжал использовать эту схему нумерации версий.) Изначально DocBook использовала ключевая группа компаний-разработчиков программного обеспечения, поскольку их представители участвовали в его первоначальной разработке. В конце концов, однако, DocBook был принят сообществом открытого исходного кода, где он стал стандартом для создания документации для многих проектов, включая FreeBSD, KDE, GNOME desktop. документация, справочные материалы по GTK+ API, документация по ядру Linux и работа Linux Documentation Project.
До DocBook 5 DocBook определялся нормативно с помощью определения типа документа (DTD). Поскольку DocBook изначально создавался как приложение SGML, DTD был единственным доступным языком схемы. Форматы DocBook 4.x могут быть SGML или XML, но версия XML не имеет собственного пространства имен.
Форматы DocBook 4.x должны были жить в рамках ограничений, определяемых DTD. Наиболее существенным ограничением было то, что имя элемента однозначно определяет его возможное содержимое. То есть элемент с именем info
должен содержать одинаковую информацию независимо от того, где он находится в файле DocBook. Таким образом, в DocBook 4.x существует много видов информационных элементов: bookinfo
, chapterinfo
и т. Д. У каждого из них немного разная модель контента, но они разделяют часть своего контента. модель. Кроме того, они повторяют контекстную информацию. Элемент info
книги таков, потому что он является прямым потомком книги; его не нужно называть специально для человеческого читателя. Однако, поскольку формат был определен DTD, он должен был иметь соответствующее название. Корневой элемент не имеет или не нуждается в версии, поскольку версия встроена в объявление DTD в верхней части документа до DocBook 5.
Документы DocBook 4.x несовместимы с DocBook 5, но могут быть преобразованы в документы DocBook 5 с помощью таблицы стилей XSLT. Один (db4-upgrade.xsl
) предоставляется как часть пакета схемы и спецификации DocBook 5.
Файлы DocBook используются для подготовки файлы вывода в большом количестве форматов. Почти всегда это достигается с помощью таблиц стилей DocBook XSL. Это таблицы стилей XSLT, которые преобразуют документы DocBook в несколько форматов (HTML, XSL-FO для последующего преобразования в PDF и т. Д..). Эти таблицы стилей могут быть достаточно сложными для создания оглавлений, глоссариев и указателей. Они могут контролировать выбор определенных обозначенных частей главного документа для создания различных версий одного и того же документа (например, «учебное пособие» или «краткое справочное руководство», где каждая из них состоит из подмножества материала). Пользователи могут написать свои собственные настраиваемые таблицы стилей или даже полноценную программу для преобразования DocBook в соответствующий выходной формат, как того требуют их потребности.
Норман Уолш и команда разработчиков проекта DocBook поддерживают ключевое приложение для создания вывода из исходных документов DocBook: набор таблиц стилей XSL (а также устаревший набор DSSSL таблиц стилей), которые могут создавать высококачественный HTML и печатать (FO /PDF ) вывод, а также вывод в других форматах, включая RTF, справочные страницы и справка HTML.
- это формат вывода HTML с фрагментами в таблицах стилей DocBook XSL, который был представлен в версии 1.76.1. Документация для веб-справки также предоставляет пример веб-справки и является частью дистрибутива DocBook XSL.
Основными функциями являются полностью основанная на CSS разметка страницы, поиск по справочной информации и оглавление в виде сворачиваемого дерева. Поиск имеет основание, выделение совпадений, явную оценку страниц и стандартный многоязычный токенизатор . Поиск и оглавление находятся на панели, которая отображается как набор фреймов , но фактически реализована с помощью тегов div и файлов cookie (так что это прогрессивно).
DocBook предлагает большое количество функций, которые могут оказаться непосильными для нового пользователя. Для тех, кто хочет удобство DocBook без крутой кривой обучения, был разработан Simplified DocBook. Это небольшая часть DocBook, предназначенная для отдельных документов, таких как статьи или официальные документы (т. Е. «Книги» не поддерживаются). Упрощенный DocBook DTD в настоящее время находится в версии 1.1.
Норман Уолш - главный автор книги DocBook: The Definitive Guide, официальной документации DocBook. Эта книга доступна в Интернете по адресу GFDL, а также доступна в печатном виде.