DITA
Орган стандартизации OASIS
Создан 2001
Последняя версия
Официальный сайт oasis-open.org/co… (англ.)

Darwin Information Typing Architecture (DITA) — приложение XML, предназначенное для автоматизации сборки документов из разрозненных фрагментов, оформленных согласно соответствующим DTD, и их публикации в различных форматах. Определяет набор типов документов для создания и организации тематической информации, а также набор механизмов для комбинирования, расширения и ограничения типов документов[3]. Это открытый стандарт[4], который определён и поддерживается Техническим комитетом OASIS DITA[5].

Принципы DITA

Архитектура типизированной информации Darwin (Darwin Information Typing Architecture, DITA) — это основанная на XML технология, охватывающая весь цикл разработки, выпуска и доставки технической информации. Эта архитектура составлена из набора принципов, описывающих как создание модулей с «типизированной информацией» на уровне отдельных тем, так и использование этой информации, например в онлайн-справке или на веб-портале технической поддержки.

Основными элементами DITA — кирпичиками, из которых строится архитектура разбитой по темам информации, — являются определения типов XML-документа (DTD), а именно, «DTD-тем». Несмотря на это, основополагающим принципом в архитектуре DITA является её расширяемость; DTD-тем, как и любые схемы на их основе, — это лишь конкретные реализации принципов этой архитектуры.

Принцип единого источника в DITA

DITA поддерживает принцип единого источника посредством:

  • возможности многократно использовать контент;
  • профилирования и фильтрации контента;
  • публикации во множество форматов из одного источника.

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

  • Контент внутри топика.
  • Топик в целом.
  • Карта документа.

DITA позволяет профилировать контент с помощью атрибутов. Фильтрация контента осуществляется с помощью фильтров, определяемых в формате *.ditaval.

Контент может быть опубликован во множество форматов, включая XHTML, PDF, ODT, Eclipse Help, HTML Help, JavaHelp, RTF, DocBook, Troff.

Многократное использование контента на уровне топика

Профилирование контента — разметка различных вариаций одного и того же контента и определение в каких случаях должна применяться каждая из вариаций. Например, один и тот же контент может иметь различные вариации для разных клиентов или для разных версий продуктов. Условный контент — различные вариации контента. При публикации остаётся одна или несколько вариаций, релевантных для данного случая, все остальные вариации отфильтровываются. Условный контент помечается с помощью атрибутов. Атрибуты могут быть определены у любого элемента. Основные атрибуты для профилирования контента:

  • audience;
  • platform;
  • product;
  • xml: lang.

Новые атрибуты могут быть добавлены через механизмы специализации DTD.

Фильтрация условного контента при публикации происходит с помощью фильтров, определяемых в формате *.ditaval. Файлы *.ditaval состоят из:

  • Пар атрибут-значение.
  • Действия (скрыть или показать) для каждой пары атрибут-значение, например:
<?xml version="1.0" encoding="UTF-8"?>
<val>
  <prop att="audience" val="p" action="exclude"/>
  <prop att="audience" val="a" action="include"/>
  <prop att="xml:lang" val="ru-ru" action="include"/>
  <prop att="xml:lang" val="en-us" action="exclude"/>
</val>

При применении фильтра все элементы, в которых задан атрибут audience="p" будут исключены, а элементы, с атрибутом audience="a", будут включены.

Для получения различных результатов, в зависимости от того, какой контент должен быть отфильтрован, может поддерживаться несколько фильтров. Пример использования в dita-разметке:

<?xml version="1.0" encoding="UTF-8"?>
<conbody>
   <p xml:lang="en-us">Some English text</p>
   <p xml:lang="ru-ru">Некоторый русский текст</p>
</conbody>

Многократное использование контента на уровне карты

Топик может быть включён или исключён из определённой карты документа. В каждой карте документа, один и тот же топик может быть помещён на разные уровни иерархии и занимать любое место в последовательности топиков. Если ряд топиков встречаются в одной и той же последовательности и в одной и той же иерархии, они могут быть объединены в мини-карту. Мини-карта может использоваться как единое целое в других картах. В разных картах мини-карта может находиться на разных уровнях иерархии и занимать любое место в последовательности топиков.

Топик-ориентированный подход

  • Документ представлен как организованная коллекция отдельных контекстно-независимых топиков.
  • Топик описывает один единственный предмет.
  • Каждый топик написан таким образом, который позволяет его использовать во множестве контекстов.
  • В топике может использоваться условный текст.
  • Все топики хранятся в отдельном месте.
  • Для публикации топики собираются вместе в карту документа. Карта определяет порядок и иерархию документа.
  • В зависимости от типа информации, которую описывает топик, топик имеет определённую внутреннюю структуру.

Типизация информации

  • Concept — тип топика для описания общей информации.
  • Task — тип топика для пошагового описания процедур.
  • Reference — тип топика для документирования команд и настроек.

Отделение контента от форматирования

  • Топик содержит только контент.
  • Информация о форматировании элементов топика хранится в отдельных файлах — шаблонах форматирования.
  • Один и тот же контент может быть представлен множеством способов, путём наложения разных шаблонов.
  • Форматирование накладывается на контент во время создания контента, а также во время публикации.

Специализация

Под специализацией DITA понимается механизм адаптации DITA для конкретных нужд. Могут быть созданы:

  • Новые информационные типы.
  • Новые домены.
  • Новые атрибуты.

Примечания

  1. https://docs.oasis-open.org/dita/dita/v1.3/os/part3-all-inclusive/dita-v1.3-os-part3-all-inclusive.html
  2. https://www.oasis-open.org/news/announcements/dita-v1-3-oasis-standard-published/
  3. Darwin Information Typing Architecture (DITA) Version 1.3. Дата обращения: 1 ноября 2020. Архивировано 12 мая 2021 года.
  4. Darwin Information Typing Architecture (DITA) Version 1.2. Дата обращения: 10 октября 2012. Архивировано 18 июля 2012 года.
  5. OASIS Darwin Information Typing Architecture (DITA) TC. OASIS. Дата обращения: 5 октября 2012. Архивировано 23 марта 2021 года.

Ссылки