DITA

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Цитата из статьи «Введение в архитектуру типизированной информации Darwin»:

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

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

Принципы DITA[править | править вики-текст]

Принцип единого источника в 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 для конкретных нужд. Могут быть созданы:

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

Ссылки[править | править вики-текст]