Darwin Information Typing Architecture

Z Wikipedii, wolnej encyklopedii
Darwin Information Typing Architecture
Rozszerzenia pliku

.xml,.html

Producent

OASIS

Data opracowania

czerwiec 2005

Ostatnia wersja

DITA 1.3

Otwarty format?

tak

Strona internetowa

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:

  • Darwin: standard bazuje na zasadach specjalizacji i dziedziczenia, które częściowo odpowiadają koncepcji adaptacji ewolucyjnej Karola Darwina,
  • Information Typing: każdy z topików[4] (ang. topic) ma określony główny cel i strukturę,
  • Architecture: DITA jest rozszerzalnym zestawem struktur.

Funkcje i ograniczenia[edytuj | edytuj kod]

Ponowne wykorzystanie treści[edytuj | edytuj kod]

Podstawą 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 informacji[edytuj | edytuj kod]

Najnowsza 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.

  • Task: typ przeznaczony dla procedury opisującej sposób wykonania zadania. Zawiera listę kroków (ang. steps), którą powinien śledzić użytkownik w celu osiągnięcia zamierzonego efektu. Kroki są zawarte w elemencie taskbody, który jest specjalizacją ogólnego elementu body. Element steps jest specjalizacją elementu listy uporządkowanej.
  • Concept: typ przeznaczony do tworzenia treści obiektywnych, z definicjami, zasadami i wytycznymi.
  • Reference: typ przeznaczony do opisu składni poleceń, instrukcji programowania, innych materiałów odniesienia. Zazwyczaj zawiera szczegółowy materiał merytoryczny.
  • Glossary Entry: typ przeznaczony do zdefiniowania pojedynczego znaczenia danego pojęcia. Ten typ może identyfikować pojęcie, podawać jego definicję oraz zawierać podstawowe informacje o terminologii, akronimy i ich rozwinięcia związane z głównym pojęciem.
  • Troubleshooting: typ opisujący stan, którego poprawy może oczekiwać użytkownik, oraz sugerowane środki zaradcze wraz z opisem przyczyn zajścia takiego stanu.

Mapy[edytuj | edytuj kod]

Mapa 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.

Metadane[edytuj | edytuj kod]

DITA 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 (.ditaval) służy do identyfikowania wartości, które mają być używane do przetwarzania warunkowego[8].

Specjalizacja[edytuj | edytuj kod]

DITA 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 orientation[edytuj | edytuj kod]

Treść 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 DITA[edytuj | edytuj kod]

Mapy 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 DITA[edytuj | edytuj kod]

DITA 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.

Lokalizacja[edytuj | edytuj kod]

DITA 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].

Historia[edytuj | edytuj kod]

Standard 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].

  • marzec 2001: przedstawienie przez IBM podstawowych plików składni DTD i XML Schema oraz publikacja materiałów wprowadzających
  • kwiecień 2004: utworzenie OASIS DITA Technical Committee[3]
  • luty 2005: umieszczenie przez IBM oryginalnego DITA Open Toolkit w systemie SourceForge; DITA-OT nie jest powiązany z OASIS DITA Technical Committee[16]
  • czerwiec 2005: zatwierdzenie DITA v1.0 jako standard OASIS
  • sierpień 2007: zatwierdzenie DITA V1.1 przez OASIS; wersja cechowała się:
    • specjalizacją w zakresie tworzenia zakładek
    • formalnym zdefiniowaniem składni DITAVAL służącej do filtrowania treści
  • grudzień 2010: zatwierdzenie DITA V1.2 przez OASIS; wersja cechowała się:
    • pośrednim łączeniem z kluczami
    • nowymi funkcjami ponownego wykorzystywania treści
    • rozszerzonym wsparciem słowników z uwzględnieniem akronimów
    • powstaniem nowych specjalizacji branżowcowych (szkolenia, maszyny)
    • nowym wsparciem dla kontrolowanych wartości i taksonomii
  • 17 grudnia 2015: zatwierdzenie DITA V1.3 przez OASIS; wersja cechuje się:
    • dostarczaniem specyfikacji z trzech paczkach: Base[17], Technical content[18] i All Inclusive (z nauką i szkoleniem)[19]
    • dodaniem nowego typu topiku (Troubleshooting)
    • możliwością używania klawiszy z o określonym zakresie (ang. scoped keys)
    • nowymi domenami wspierającymi MathML, równania i SVG
    • dodaniem składni Relax NG XML jako normatywnej dla DITA
  • 25 października 2016: zatwierdzenie przez OASIS DITA V1.3 Errata 01[20]
  • 19 czerwca 2018: zatwierdzenie przez OASIS DITA V1.3 Errata 02[21]

Próbki kodu[edytuj | edytuj kod]

Przykładowy plik Ditamap (spis treści)[edytuj | edytuj kod]

<?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)[edytuj | edytuj kod]

<?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)[edytuj | edytuj kod]

<?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[edytuj | edytuj kod]

Nazwa Zastosow Licencja oprogramowania
DITA Open Toolkit[22] Publikowanie Apache License
Oxygen XML Editor[23] Edytor Prawnie zastrzeżony
DITA XMLmind Converter[24] Publikowanie Licencja publiczna Mozilli
Nazwa Rodzaj Licencja oprogramowania

Przypisy[edytuj | edytuj kod]

  1. OASIS DITA Technical Committee, 1 Introduction to DITA 1.3 [online], docs.oasis-open.org [dostęp 2022-08-01] (ang.).
  2. DITA Version 1.2 Specification [online], docs.oasis-open.org [dostęp 2022-08-01].
  3. a b OASIS Darwin Information Typing Architecture (DITA) TC | OASIS [online], www.oasis-open.org [dostęp 2022-08-01].
  4. Agnieszka Cierpich, Zapożyczenia angielskie w polszczyźnie korporacyjnej, Katarzyna Stokłosa (red.), Wydawnictwo Naukowe Akademii Ignatianum w Krakowie, 2019, ISBN 978-83-7614-389-7.
  5. JoAnn T. Hackos, Introduction to DITA. A user guide to the Darwin Information Typing Architecture including DITA 1.2, wyd. 2nd ed, Denver: Comtech Services, 2011, ISBN 978-0-9778634-3-3, OCLC 777187317 [dostęp 2022-08-01].
  6. reltable [online], docs.oasis-open.org [dostęp 2022-08-01] (ang.).
  7. Metadata elements [online], docs.oasis-open.org [dostęp 2022-08-01] (ang.).
  8. DITAVAL elements [online], docs.oasis-open.org [dostęp 2022-08-01] (ang.).
  9. Michael Priestley, Amber Swope, DITA Maturity Model [online].
  10. a b Assessing DITA as a foundation for XML implementation [online], Scriptorium, 31 grudnia 2009 [dostęp 2022-08-01] (ang.).
  11. localization-atts attribute group [online], docs.oasis-open.org [dostęp 2022-08-01] (ang.).
  12. DITA-XLIFF Roundtrip for OT – Browse Files at SourceForge.net [online], sourceforge.net [dostęp 2022-08-01].
  13. DITA 1.2 Feature Article: Using XLIFF to Translate DITA Projects.
  14. Using XLIFF to Translate DITA Projects.
  15. DITA Version 1.3 Specification Errata 02 [online], docs.oasis-open.org [dostęp 2022-08-01].
  16. DITA vs. DITA-OT? [online], metadita.org [dostęp 2022-08-01].
  17. DITA Version 1.3 Specification [online], docs.oasis-open.org [dostęp 2022-08-01].
  18. DITA Version 1.3 Specification [online], docs.oasis-open.org [dostęp 2022-08-01].
  19. DITA Version 1.3 Specification [online], docs.oasis-open.org [dostęp 2022-08-01].
  20. Groups – DITA TC Meeting Minutes 29 March 2016 uploaded [online], lists.oasis-open.org [dostęp 2022-08-01].
  21. Groups – DITA TC Meeting Minutes 19 June 2018 uploaded [online], lists.oasis-open.org [dostęp 2022-08-01].
  22. DITA Open Toolkit.
  23. Oxygen XML Editor.
  24. XMLmind DITA Converter: XMLmind DITA Converter [online], www.xmlmind.com [dostęp 2022-08-01].