Архітектура типізованої інформації Darwin (англ. Darwin Information Typing Architecture, DITA) — це заснована на XML технологія, що охоплює весь цикл розробки, випуску та доставки технічної інформації. Ця архітектура складена з набору принципів, що описують як створення модулів з «типізованою інформацією» на рівні окремих тем, так і використання цієї інформації, наприклад в онлайн-довідці або на вебпорталі технічної підтримки.
Принципи 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-ua" 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">Кінець English text</p>
<p xml:lang="ru-ru">Деякий російський текст</p>
</conbody>
Багаторазове використання контенту на рівні карти
Топик може бути увімкнений або виключений з певної картки документа. У кожній карті документа, один і той же топік може бути поміщений на різні рівні ієрархії та займати будь-яке місце в послідовності топіків. Якщо ряд топіків зустрічаються в одній і тій же послідовності й в одній і тій ієрархії, вони можуть бути об'єднані в міні-карту. Міні-карта може використовуватись як єдине ціле в інших картах. У різних картах міні-карта може знаходитися на різних рівнях ієрархії та займати будь-яке місце у послідовності топіків.
Топік-орієнтований підхід
- Документ подано як організовану колекцію окремих контекстно-незалежних топіків.
- Топік описує єдиний предмет.
- Кожен топік написаний таким чином, що дозволяє його використовувати в багатьох контекстах.
- У топіці може використовуватися умовний текст.
- Усі топіки зберігаються в окремому місці.
- Для публікації топіки збираються разом у картку документа. Карта визначає порядок та ієрархію документа.
- Залежно від типу інформації, яку описує топік, топік має певну внутрішню структуру.
Типізація інформації
- Concept — тип топіка для опису загальної інформації.
- Task — тип топіка для покрокового опису процедур.
- Reference — тип топіка для документування команд і налаштувань.
Відділення контенту від форматування
- Топик містить лише контент.
- Інформація про форматування елементів топіка зберігається в окремих файлах - шаблонах форматування.
- Один і той же контент може бути представлений безліччю способів шляхом накладання різних шаблонів.
- Форматування накладається на контент під час створення контенту та під час публікації.
Спеціалізація
Під спеціалізацією DITA розуміється механізм адаптації DITA для потреб. Можуть бути створені:
- Нові інформаційні типи.
- Нові домени.
- Нові атрибути
Джерела
- Darwin Information Typing Architecture (DITA) Version 1.3. Архів оригіналу за 12 травня 2021. Процитовано 1 листопада 2020.
- Darwin Information Typing Architecture (DITA) Version 1.2. Архів оригіналу за 18 липня 2012. Процитовано 10 жовтня 2012.
- OASIS Darwin Information Typing Architecture (DITA) TC. OASIS. Архів оригіналу за 23 березня 2021. Процитовано 5 жовтня 2012.