Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Darwin Information Typing Architecture
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|XML data model for topic-based authoring and publishing}} {{Infobox technology standard | title = DITA | long_name =Darwin Information Typing Architecture | native_name = | native_name_lang = | image = | caption = | status = Published | year_started = | version =DITA 1.3<br/>Part0:Overview<br/>Part1:Base Edition<br/>Part2:Technical Content Edition<br/>Part3:All-Inclusive Edition | version_date ={{Start date and age|2018|6|19}} | preview = | preview_date = | organization = [[OASIS (organization)|OASIS]] | committee = [https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita DITA TC] | base_standards =[[XML]], [[HTML]] | related_standards = | abbreviation = DITA | domain = Information Typing | license = | website = {{URL|https://dita-lang.org/}} |first_published={{Start date and age|2005|6}} |authors= |series= |editors=Robert D. Anderson, Kristen James Eberlein }} The '''Darwin Information Typing Architecture''' ('''DITA''') specification defines a set of document types for authoring and organizing topic-oriented information, as well as a set of mechanisms for combining, extending, and constraining document types.<ref name=dita1.3>{{cite web|title=Darwin Information Typing Architecture (DITA) Version 1.3|url=http://docs.oasis-open.org/dita/dita/v1.3/errata02/os/complete/part0-overview/introduction/dita-release-overview.html#ditaspec|access-date=1 November 2020}}</ref> It is an open standard<ref name=dita1.2>{{cite web|title=Darwin Information Typing Architecture (DITA) Version 1.2|url=http://docs.oasis-open.org/dita/v1.2/os/spec/DITA1.2-spec.html|access-date=10 October 2012}}</ref> that is defined and maintained by the [[OASIS (organization)|OASIS]] DITA Technical Committee.<ref>{{cite web|title=OASIS Darwin Information Typing Architecture (DITA) TC|url=https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita|publisher=OASIS|access-date=5 October 2012}}</ref> The name derives from the following components: * Darwin: it uses the principles of specialization and [[Inheritance (object-oriented programming)|inheritance]], which is in some ways analogous to the naturalist [[Charles Darwin]]'s concept of evolutionary adaptation, * Information Typing: which means each topic has a defined primary objective (procedure, glossary entry, troubleshooting information) and structure, * Architecture: DITA is an extensible set of structures.<ref name="ibm dita faq">{{cite web|title=Frequently Asked Questions about the Darwin Information Typing Architecture|url=http://www.ibm.com/developerworks/xml/library/x-dita3/index.html#N210|publisher=IBM Corporation|access-date=10 October 2012}}</ref> ==Features and limitations== ===Content reuse=== [[Topic-based authoring|Topics]] are the foundation for content reuse,<ref>{{Cite book|last=Hackos|first=JoAnn|title=Introduction to DITA Second Edition: A User Guide to the Darwin Information Typing Architecture Including DITA 1.2|publisher=Comtech Services, Inc.|year=2011|isbn=978-0-9778634-3-3|location=Colorado|pages=235β239}}</ref> and can be reused across multiple publications. Fragments of content within topics can be reused through the use of content references (''conref'' or ''conkeyref''), a [[transclusion]] mechanism.<ref name="ibm intro">{{cite web|title=Introduction to the Darwin Information Typing Architecture|url=http://www.ibm.com/developerworks/xml/library/x-dita1/|publisher=IBM Corporation|access-date=10 October 2012}}</ref> ===Information typing === The latest version of DITA (DITA 1.3) includes five specialized topic types: ''Task'', ''Concept'', ''Reference'', ''Glossary Entry'', and ''Troubleshooting''. Each of these five topic types is a specialization of a generic ''Topic'' type, which contains a title element, a prolog element for metadata, and a body element. The body element contains paragraph, table, and list elements, similar to [[HTML]]. * A ''Task'' topic is intended for a procedure that describes how to accomplish a task. It lists a series of steps that users follow to produce an intended outcome. The steps are contained in a taskbody element, which is a specialization of the generic body element. The steps element is a specialization of an ordered list element. * ''Concept'' information is more objective, containing definitions, rules, and guidelines. * A ''Reference'' topic is for topics that describe command syntax, programming instructions, and other reference material, and usually contains detailed, factual material. * A ''Glossary Entry'' topic is used for defining a single sense of a given term. In addition to identifying the term and providing a definition, this topic type might also have basic terminology information, along with any acronyms or acronym expansions that may apply to the term. * The ''Troubleshooting'' topic describes a condition that the reader may want to correct, followed by one or more descriptions of its cause and suggested remedies. ===Maps=== A DITA map is a container for topics used to transform a collection of content into a publication. It gives the topics sequence and structure. A map can include relationship tables (reltables) that define hyperlinks between topics.<ref>{{cite web|title=reltable|url=http://docs.oasis-open.org/dita/v1.1/CS01/langspec/langref/reltable.html|publisher=OASIS|access-date=22 October 2012}}</ref> Maps can be nested: they can reference topics or other maps, and can contain a variety of content types and metadata. ===Metadata=== DITA includes extensive [[metadata]] elements and attributes, both at topic level and within elements.<ref>{{cite web|title=Metadata elements|url=http://docs.oasis-open.org/dita/v1.2/os/spec/common/metadata_elements.html#metadata_elements|publisher=OASIS|access-date=22 October 2012}}</ref> [[Conditional text]] allows filtering or styling content based on attributes for audience, platform, product, and other properties. The conditional processing profile ({{mono|.ditaval}} file) is used to identify which values are to be used for conditional processing.<ref>{{cite web|title=ditaval|url=http://docs.oasis-open.org/dita/v1.2/os/spec/common/about-ditaval.html#ditaval|publisher=OASIS|access-date=22 October 2012}}</ref> ===Specialization=== DITA allows adding new elements and attributes through specialization of base DITA elements and attributes. Through specialization, DITA can accommodate new topic types, element types, and attributes as needed for specific industries or companies. Specializations of DITA for specific industries, such as the [[semiconductor]] industry, are standardized through [[OASIS (organization)|OASIS]] technical committees or subcommittees. Many organizations using DITA also develop their own specializations. The extensibility of DITA permits organizations to specialize DITA by defining specific information structures and still use standard tools to work with them. The ability to define company-specific information architectures enables companies to use DITA to enrich content with metadata that is meaningful to them, and to enforce company-specific rules on document structure.<ref name="ibm intro"/> ===Topic orientation=== {{Main|Topic-based authoring}} DITA content is created as topics, each an individual XML file. Typically, each topic covers a specific subject with a singular purpose, for example, a conceptual topic that provides an overview, or a procedural topic that explains how to accomplish a task.<ref>{{cite web|author1=Priestly, Michael |author2=Swope, Amber|title=The DITA Maturity Model Whitepaper|url=http://na.justsystems.com/files/Whitepaper-DITA_MM.pdf|publisher=IBM Corp and JustSystems|access-date=22 October 2012}}</ref> Content should be structured to resemble the file structure in which it is contained.<ref>{{cite web|url=https://www.scriptorium.com/2009/12/assessing-dita-as-a-foundation-for-xml-implementation/|title=Assessing DITA as a foundation for XML implementation|year=2009|publisher=Scriptorium Publishing Services, Inc|access-date=2019-02-12}}</ref><ref>{{cite web|url=http://rockley.com/2007/10/16/structure-dita-and-content-other-than-technical-documentation/|title=Structure, DITA, and content other than technical documentation β¦|date=October 16, 2007|publisher=The Rockley Group|access-date=2009-07-29|archive-date=2020-08-11|archive-url=https://web.archive.org/web/20200811194755/http://rockley.com/2007/10/16/structure-dita-and-content-other-than-technical-documentation/|url-status=dead}}</ref><ref>{{cite web|url=http://writepoint.com/blog/?p=1011 |title=Survey on DITA Challenges |date=January 18, 2010 |publisher=WritePoint Ltd. |access-date=2010-01-21 |url-status=dead |archive-url=https://web.archive.org/web/20141023104917/http://www.writepoint.com/blog/?p=1011 |archive-date=2014-10-23 }}</ref> ==Creating content in DITA== DITA map and topic documents are [[XML]] files. As with [[HTML]], any images, video files, or other files that must appear in the output are inserted via reference. Any [[XML editor]] or even [[text editor]] can be used to write DITA content, depending on the level of support required while authoring. Aids to authoring featured in specialized editors include [[WYSIWYG]] preview rendering, [[XML validation|validation]], and integration with a DITA processor, like [[DITA-OT]] or [https://www.xmlmind.com/ditac/ ditac]. ==Publishing content written in DITA== DITA is designed as an end-to-end architecture. In addition to indicating what elements, attributes, and rules are part of the DITA language, the DITA specification includes rules for publishing DITA content in HTML, online Help, print, [[Content delivery platform|Content Delivery Platform]] and other formats. For example, the DITA specification indicates that if the ''conref '' attribute of element ''A'' contains a path to element ''B'', the contents of element ''B'' will display in the location of element ''A''. DITA-compliant publishing solutions, known as DITA processors, must handle the ''conref'' attribute according to the specified behaviour. Rules also exist for processing other rich features such as [[conditional text]], index markers, and topic-to-topic links. Applications that transform DITA content into other formats, and meet the DITA specification's requirements for interpreting DITA markup, are known as ''DITA processors''. ===Localization=== DITA provides support for [[translation]] via the localisation attribute group. Element attributes can be set to indicate whether the content of the element should be translated. The language of the element content can be specified, as can the [[Left to right#Directionality|writing direction]], the index filtering and some terms that are injected when publishing to the final format.<ref>{{cite web|title=localization-atts attribute group|url=http://docs.oasis-open.org/dita/v1.2/os/spec/common/localization-atts.html|publisher=OASIS|access-date=15 October 2012}}</ref> A DITA project can be converted to an [[XLIFF]] file and back into its original maps and topics, using the DITA-XLIFF Roundtrip Tool for DITA-OT<ref>{{cite web|last=Schnabel|first=Bryan|title=DITA-XLIFF Roundtrip for OT|url=http://sourceforge.net/projects/ditaxliff/files/|access-date=15 October 2012}}</ref><ref>[http://www.oasis-open.org/committees/download.php/48340/DITA12XLIFFArticle.pdf DITA 1.2 Feature Article: Using XLIFF to Translate DITA Projects]</ref> and [[computer-assisted translation]] (CAT) tools, like [[Swordfish Translation Editor]] or [https://www.maxprograms.com/products/fluenta.html Fluenta DITA Translation Manager], a tool designed to implement the translation workflow suggested by the article "Using XLIFF to Translate DITA Projects" published by the DITA Adoption TC at OASIS.<ref>[https://www.oasis-open.org/committees/download.php/48340/DITA12XLIFFArticle.pdf Using XLIFF to Translate DITA Projects]</ref> ==History== {{Prose|section|date=June 2017}} The DITA standard is maintained by OASIS. The latest (current) version is 1.3, approved December 2015. An errata document for DITA 1.3 was approved in June 2018.<ref>{{cite web|url=https://docs.oasis-open.org/dita/dita/v1.3/errata02/os/dita-v1.3-errata02-os.html|title=OASIS DITA 1.3 Errata 02|year=2018|publisher=OASIS Open|access-date=26 January 2022}}</ref> * March 2001 Introduction by [[IBM]] of the core [[Document Type Definition|DTD]] and [[XML Schema (W3C)|XML Schema]] grammar files and introductory material<ref>{{cite web|url=https://www.ibm.com/developerworks/library/x-dita1|title=Original DITA article from IBM|year=2001|publisher=IBM|access-date=15 March 2018}}/</ref> * April 2004 OASIS DITA Technical Committee formed<ref>{{cite web|url=https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita|title=OASIS DITA Technical Committee|year=2004|publisher=OASIS Open|access-date=15 March 2018}}</ref> * February 2005 [[IBM]] contributes the original DITA Open Toolkit project to SourceForge; though regularly confused with the DITA standard, [[DITA-OT]] is not affiliated with the OASIS DITA Technical Committee<ref>{{cite web|url=http://metadita.org/toolkit/ditaversusditaot.html|title=DITA versus DITA-OT|year=2016|publisher=Robert D. Anderson, DITA-OT developer and DITA Specification editor|access-date=15 March 2018}}</ref> * June 2005 DITA v1.0 approved as an OASIS standard * August 2007 DITA V1.1 is approved by OASIS; major features include: ** Bookmap specialization ** Formal definition of DITAVAL syntax for content filtering * December 2010 DITA V1.2 is approved by OASIS; major features include: ** Indirect linking with keys ** New content reuse features ** Enhanced glossary support, including acronyms ** New industry specializations (Training, Machinery) ** New support for controlled values / taxonomies (Subject Scheme specialization) * 17 December 2015, DITA V1.3 is approved by OASIS; major features include: ** Specification now delivered in three packages: Base,<ref>{{cite web|url=http://docs.oasis-open.org/dita/dita/v1.3/dita-v1.3-part1-base.html|title=DITA 1.3 Base Package|year=2015|publisher=OASIS Open|access-date=15 March 2018}}</ref> Technical content,<ref>{{cite web|url=http://docs.oasis-open.org/dita/dita/v1.3/dita-v1.3-part2-tech-content.html|title=DITA 1.3 Technical Content Package|year=2015|publisher=OASIS Open|access-date=15 March 2018}}</ref> and All Inclusive (with Learning and Training)<ref>{{cite web|url=http://docs.oasis-open.org/dita/dita/v1.3/dita-v1.3-part3-all-inclusive.html|title=DITA 1.3 All Inclusive Package|year=2015|publisher=OASIS Open|access-date=15 March 2018}}</ref> ** New troubleshooting topic type ** Ability to use scoped keys ** New domains to support MathML, equations, and SVG ** Adds Relax NG XML syntax as the normative grammar for DITA * 25 October 2016, DITA V1.3 Errata 01 is approved by OASIS<ref>{{cite web |title=Voting History for Approved Errata 01 |url=https://lists.oasis-open.org/archives/dita/201610/msg00093.html |access-date=26 January 2022}}</ref> * 19 June 2018, DITA V1.3 Errata 02 is approved by OASIS<ref>{{cite web |title=Voting History for Approved Errata 02 |url=https://lists.oasis-open.org/archives/dita/201806/msg00044.html |access-date=26 January 2022}}</ref> ==Code samples== === Ditamap file (table of contents) sample === <syntaxhighlight lang="xml"> <?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> </syntaxhighlight> === Hello World (topic DTD) === <syntaxhighlight lang="xml"> <?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> </syntaxhighlight> === .ditaval file sample (for conditionalizing text) === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="utf-8"?> <val> <prop att="audience" val="novice" action="include" /> <prop att="audience" val="expert" action="exclude" /> </val> </syntaxhighlight> Example of conditionalized text: <syntaxhighlight lang="xml"> <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> </syntaxhighlight> == Implementations == {| class="wikitable sortable" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center;" |- style="background: #ececec" ! Name ! Type ! [[Software license]] |- ! [[DITA Open Toolkit]]<ref>[[DITA Open Toolkit]]</ref> | Publishing | [[Apache License]] |- ! [[Oxygen XML Editor]]<ref>[[Oxygen XML Editor]]</ref> | Editor | [[Proprietary_software|Proprietary]] |- ! XMLmind DITA Converter<ref>{{cite web |title=What is XMLmind DITA Converter? |url=https://www.xmlmind.com/ditac/ |publisher=XMLmind Software |access-date=26 January 2022}}</ref> | Publishing | [[Mozilla Public License]] |- ! Name ! Type ! [[Software license]] |} ==See also== * [[Comparison of document markup languages]] * [[List of document markup languages]] ==References== {{Reflist|30em}} ==External links== * {{Official website|http://www.oasis-open.org|OASIS Consortium official website}} * [http://docs.oasis-open.org/dita/dita/v1.3/dita-v1.3-part3-all-inclusive.html DITA 1.3 specifications] * {{Official website|http://www.dita-ot.org/|DITA Open Toolkit official website}} {{OASIS Standards}} {{Document markup languages}} {{Authority control}} [[Category:Document-centric XML-based standards]] [[Category:Markup languages]] [[Category:Technical communication]] [[Category:XML]] [[Category:XML-based standards]] [[Category:Open formats]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Cite web
(
edit
)
Template:Document markup languages
(
edit
)
Template:Infobox technology standard
(
edit
)
Template:Main
(
edit
)
Template:Mono
(
edit
)
Template:OASIS Standards
(
edit
)
Template:Official website
(
edit
)
Template:Prose
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)