Darwin Information Typing Architecture
Darwin Information Typing Architecture (DITA) – otwarty standard określający zestaw typów dokumentów wykorzystywanych do tworzenia i porządkowania informacji w podejściu topic-based authoring, a także narzędzia do łączenia, rozszerzania i ograniczania typów dokumentów[1]. Jest to otwarty standard[2] definiowany i utrzymywany przez OASIS DITA Technical Committee[3]. Nazwa standardu została utworzona poprzez połączenie następujących komponentów:
Funkcje i ograniczeniaPonowne wykorzystanie treściPodstawą do ponownego wykorzystywania utworzonych treści są topiki[5], które mogą być używane wielokrotnie w obszarze wielu publikacji. Fragmenty treści zawarte w topikach mogą być ponownie używane dzięki użyciu odniesień (ang. content references) z wykorzystaniem transkluzji. Typowanie informacjiNajnowsza wersja DITA (DITA 1.3) obejmuje następujące rodzaje topików: Task (pol. zadanie), Concept (pol. pojęcie), Reference (pol. odniesienie), Glossary Entry (pol. wpis do słownika) i Troubleshooting (pol. rozwiązywanie problemów). Każdy z tych pięciu typów jest bardziej wyspecjalizowanym rodzajem bardziej ogólnego topiku, który zawiera elementy tytułu, prologu do metadanych i treści. Element treści zawiera elementy akapitu, tabeli i listy, podobnie jak w HTML.
MapyMapa DITA to kontener na topiki wykorzystywane do przekształcenia zbioru treści w publikację. Określa kolejność i strukturę topików. Mapa może zawierać tabele relacji (ang. relationship tables, reltables), które definiują hiperłącza między topikami[6]. Mapy mogą być zagnieżdżane, mogą również odwoływać się do innych map, topików i zawierać różne typy treści oraz metadane. MetadaneDITA zawiera obszerne elementy i atrybuty metadanych na poziomie tematu i elementów[7]. Tekst warunkowy umożliwia filtrowanie lub stylizowanie treści w zależności atrybutów odbiorców, platformy, produktu i innych właściwości. Profil przetwarzania warunkowego ( SpecjalizacjaDITA umożliwia dodawanie nowych elementów i atrybutów poprzez specjalizację podstawowych elementów i atrybutów DITA. Dzięki specjalizacji DITA może dostosowywać nowe typy tematów, typy elementów i atrybuty zgodnie z potrzebami określonych branż lub firm. Specjalizacje DITA dla określonych branż, takich jak przemysł półprzewodników, są standaryzowane przez komitety techniczne lub podkomitety OASIS. Część organizacji korzystających z DITA tworzy własne specjalizacje. Możliwość rozszerzania DITA pozwala organizacjom na specjalizację DITA poprzez zdefiniowanie określonych struktur informacji przy zachowaniu możliwości używania standardowych narzędzi do pracy z nimi. Możliwość zdefiniowania architektury informacji charakterystycznej dla danej firmy umożliwia używanie DITA do wzbogacania treści o istotne dla firmy metadane oraz do egzekwowania określonych wewnętrznie zasad dotyczących struktury dokumentów[9]. Topic orientationTreść DITA jest tworzona jako topiki, z których każdy jest osobnym plikiem XML. Na ogół każdy topik opisuje określony temat w jednym celu, na przykład topik typu Concept zawierający omówienie lub topik typu Procedure wyjaśniający sposób wykonania zadania[10]. Treść powinna mieć strukturę przypominającą strukturę pliku, w którym jest zawarta[10]. Tworzenie treści w DITAMapy DITA oraz dokumenty topików są plikami XML. Podobnie jak w przypadku HTML, wszystkie obrazy, pliki wideo lub inne pliki, które muszą pojawić się w pliku wynikowym, są umieszczane przez odniesienie. Do tworzenia treści DITA można użyć dowolnego edytora XML lub edytora tekstu w zależności od poziomu wsparcia wymaganego podczas tworzenia. Narzędzia wspierające tworzenie treści dostępne w wyspecjalizowanych edytorach obejmują renderowanie podglądu WYSIWYG, sprawdzanie poprawności i integrację z procesorem DITA, takim jak DITA-OT lub ditac. Publikowanie treści stworzonych w DITADITA została zaprojektowana jako architektura end-to-end. Oprócz wskazania, które elementy, atrybuty i reguły są częścią języka DITA, specyfikacja DITA zawiera zasady publikowania treści w formacie HTML, pomocy online, druku, content delivery platform i innych formatach. Przykładowo specyfikacja DITA wskazuje, że jeśli atrybut conref elementu A zawiera ścieżkę do elementu B, zawartość elementu B zostanie wyświetlona w lokalizacji elementu A. Narzędzia do publikowania zgodne ze standardem DITA, znane jako procesory DITA, muszą obsługiwać atrybut conref zgodnie z określonym zachowaniem. Istnieją również reguły przetwarzania innych zaawansowanych funkcji, takich jak tekst warunkowy, znaczniki indeksu i linki między topikami. Aplikacje, które przekształcają treści DITA na inne formaty i spełniają wymagania specyfikacji DITA dotyczące interpretacji znaczników DITA, są znane jako procesory DITA. LokalizacjaDITA zapewnia obsługę tłumaczenia za pośrednictwem grupy atrybutów lokalizacji. Atrybuty elementu można ustawić tak, aby wskazać, czy zawartość elementu powinna zostać przetłumaczona. Istnieje możliwość określenia języka danego elementu, kierunku pisania, filtrowanie indeksu i niektóre terminy wstrzykiwane podczas publikowania do docelowego formatu[11]. Projekt DITA można przekonwertować do pliku XLIFF i z powrotem do oryginalnych map i topików za pomocą narzędzia DITA-XLIFF Roundtrip Tool dla DITA-OT[12][13] i narzędzi do tłumaczenia wspomaganego komputerowo, np. Fluenta DITA Translation Manager implementującego workflow tłumaczenia sugerowany w artykule „Using XLIFF to Translate DITA Projects” opublikowanym przez DITA Adoption TC w OASIS[14]. HistoriaStandard DITA jest utrzymywany przez OASIS. Najnowsza (aktualna) wersja to 1.3, zatwierdzona w grudniu 2015. Dokument z erratą dla DITA 1.3 został zatwierdzony w czerwcu 2018[15].
Próbki koduPrzykładowy plik Ditamap (spis treści)<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd">
<map id="map" xml:lang="en">
<topicref format="dita" href="sample.dita" navtitle="Sample" type="topic"/>
</map>
Witaj świecie (topik DTD)<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic xml:lang="en" id="sample">
<title>Sample</title>
<body>
<p>Hello World!</p>
</body>
</topic>
Przykładowy plik.ditaval (do warunkowania tekstu)<?xml version="1.0" encoding="utf-8"?>
<val>
<prop att="audience" val="novice" action="include" />
<prop att="audience" val="expert" action="exclude" />
</val>
Przykład tekstu warunkowego: <p>
This is information useful for all audiences.
</p>
<p audience="novice">
This is information useful for a novice audience.
</p>
<p audience="expert">
This is information useful for an expert audience.
</p>
Realizacje
Przypisy
|