1. DITA
101
Sarah O’Keefe (@sarahokeefe)
Scriptorium Publishing (@Scriptorium)
2. Sarah
O’Keefe
@sarahokeefe
❖ Founder and president, Scriptorium
Publishing, www.scriptorium.com
❖ Based in North Carolina
❖ Content strategy for tech comm
❖ Interested in collision of content,
publishing, and technology
3. Before
we
begin…
❖ Everyone is muted except for the
presenter
❖ Please ask your questions through the
Questions area in the webcast interface
❖ The presentation is being recorded;
attendees do not appear in the
recording
❖ #dita101 hashtag for Twitter
4. Agenda
❖ What is DITA?
❖ Key DITA concepts
❖ Typical scenarios for DITA
❖ Is DITA right for you?
5. What
is
DITA?
❖ Darwin Information Typing Architecture
❖ Darwin – because you can evolve new
elements from existing elements
❖ Information Typing – content is categorized as
task, reference, concept
❖ Architecture – includes components for reuse,
single sourcing, and generating output
❖ Developed by IBM, maintained by OASIS
6. Why
is
DITA
important?
Is
DITA
important?
❖ Structured authoring is creating content
with programmatic enforcement of the
required structure
❖ DITA is a specific way to do structured
authoring
❖ Many software vendors support DITA
7. What
is
DITA,
really?
❖ XML standard
❖ Built for topic-oriented authoring
❖ A way to work in XML without having to
design your own structure?
❖ A major buzzword in tech comm
❖ Cost-effective way to create, publish, reuse,
and exchange structured content
8. DITA
components
❖ Document type definitions (DTDs,
which define structure)
❖ Open Toolkit for generating output
❖ HTML, Eclipse help, CHM, and others
through XSL
❖ PDF through XSL-FO
❖ Documentation
19. DITA’s
challenges
❖ Automated formatting versus
hand-crafted pagination
❖ Narrative content
❖ High level of technical expertise
required
❖ New skills for authors
20. DITA
topic
(simplified)
<topic id=”seuss”>
<title>One tag, two tag</title>
<body>
<p>Red tag, blue tag</p>
<p>Black tag, blue tag, old tag, new tag</p>
<p>This one has a little car</p>
<p>This one has a little star</p>
<note>Say, what a lot of tags there are!</note>
</body>
</topic>
21. <?xml version="1.0"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN"
"topic.dtd">
<topic id="aardvark" audience="internal">
<title>Aardvark</title>
<body>
<p>Aardvarks eat mostly termites. </p>
<p>Do not accept the aardvarks' offer to help
deal with your termite problem. You will
<b>not</b> like the results.</p>
<note type="danger" id="nofeeding">Do not
feed animals snacks, scraps, or people
food.</note>
</body>
</topic>
22. <?xml version="1.0"?> I am XML.
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN"
"topic.dtd">
<topic id="aardvark" audience="internal">
<title>Aardvark</title>
<body>
<p>Aardvarks eat mostly termites. </p>
<p>Do not accept the aardvarks' offer to help
deal with your termite problem. You will
<b>not</b> like the results.</p>
<note type="danger" id="nofeeding">Do not
feed animals snacks, scraps, or people
food.</note>
</body>
</topic>
23. <?xml version="1.0"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN"
"topic.dtd"> I am a DITA topic.
<topic id="aardvark" audience="internal">
<title>Aardvark</title>
<body>
<p>Aardvarks eat mostly termites. </p>
<p>Do not accept the aardvarks' offer to help
deal with your termite problem. You will
<b>not</b> like the results.</p>
<note type="danger" id="nofeeding">Do not
feed animals snacks, scraps, or people
food.</note>
</body>
</topic>
24. <?xml version="1.0"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN"
"topic.dtd">
<topic id="aardvark" audience="internal">
<title>Aardvark</title>
<body>
<p>Aardvarks eat mostly termites. </p>
<p>Do not accept the aardvarks' offer to help
deal with your termite problem. You will
<b>not</b> like the results.</p>
<note type="danger" id="nofeeding">Do not
feed animals snacks, scraps, or people
food.</note>
</body>
</topic>
25. <?xml version="1.0"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN"
"topic.dtd">
<topic id="aardvark" audience="internal">
<title>Aardvark</title>
<body>
<p>Aardvarks eat mostly termites. </p>
<p>Do not accept the aardvarks' offer to help
deal with your termite problem. You will
<b>not</b> like the results.</p>
<note type="danger" id="nofeeding">Do not
feed animals snacks, scraps, or people
food.</note>
</body>
</topic>
26. <?xml version="1.0"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN"
"topic.dtd">
<topic id="aardvark" audience="internal">
<title>Aardvark</title>
<body>
<p>Aardvarks eat mostly termites. </p>
<p>Do not accept the aardvarks' offer to help
deal with your termite problem. You will
<b>not</b> like the results.</p>
<note type="danger" id="nofeeding">Do not
feed animals snacks, scraps, or people
food.</note>
</body>
</topic>
27. <?xml version="1.0"?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN"
"topic.dtd">
<topic id="aardvark" audience="internal">
<title>Aardvark</title>
<body>
<p>Aardvarks eat mostly termites. </p>
<p>Do not accept the aardvarks' offer to help
deal with your termite problem. You will
<b>not</b> like the results.</p>
<note type="danger" id="nofeeding">Do not
feed animals snacks, scraps, or people
food.</note>
</body>
</topic>
42. Named destination in Aardvark.xml
conrefs
<topic id="aardvark">
...
<note type="danger"
id="nofeeding">Do not feed
animals snacks, scraps, or
people food.
…
</topic>
Link in Baboon.xml
<topic id="baboon">
<title>Baboon</title>
<body>
<p>Baboons eat mostly fruit.</p>
<p>
<note conref="Aardvark.xml#aardvark/nofeeding"/>
</p>
</body>
</topic>
43. Named destination in Aardvark.xml
conrefs
<topic id="aardvark">
...
<note type="danger"
id="nofeeding">Do not feed
animals snacks, scraps, or
people food.
…
</topic>
Link in Baboon.xml
<topic id="baboon">
<title>Baboon</title>
<body>
<p>Baboons eat mostly fruit.</p>
<p>
<note conref="Aardvark.xml#aardvark/nofeeding"/>
</p>
</body>
</topic>
44. Named destination in Aardvark.xml
conrefs
<topic id="aardvark">
...
<note type="danger"
id="nofeeding">Do not feed
animals snacks, scraps, or
people food.
…
</topic>
Link in Baboon.xml
<topic id="baboon">
<title>Baboon</title>
<body>
<p>Baboons eat mostly fruit.</p>
<p>
<note conref="Aardvark.xml#aardvark/nofeeding"/>
</p>
</body>
</topic>
45. Specialization
❖ Lets you create additional elements
without breaking DITA Open Toolkit
processing.
❖ New element is a specialization of the
base element.
❖ This is what put the D in DITA.
50. Business
case
for
XML
❖ Content exchange
❖ Database publishing
❖ Reuse content/reduce duplication
❖ Automated formatting/publishing
❖ Compliance
51. Beyond
XML’s
business
case,
DITA
may…
❖ Reduce content modeling effort
❖ Make content truly portable
❖ Support content reuse
❖ Take advantage of software support
❖ Provide output options
❖ Reduce overall cost of implementation
55. Software
support
❖ DITA support found in many (most?)
XML authoring tools
❖ Some tools support only DITA and not
general XML
56. Provide
output
options
❖ XHTML, HTML Help, PDF, Eclipse,
DocBook, JavaHelp, troff, Word RTF
through DITA Open Toolkit
❖ Starting point for output
❖ Not suitable for production workflow
❖ Customization is difficult and
time-consuming
58. Yes
❖ DITA meets all requirements.
❖ A business partner or customer requires
DITA content.
❖ Single sourcing is a requirement.
❖ No existing content.
❖ Can be flexible with markup
requirements to make implementation
faster.
59. No.
❖ Content must conform to a specific
standard, such as S1000D.
❖ Content is and should remain narrative.
❖ Semantic requirements are industry-
specific, complex, and/or strict.
❖ No possibility of internal or external
support for technical challenges.
60. Maybe.
❖ DITA is not an exact match.
❖ Customization/specialization would be
required.