Wednesday, March 19, 2008

Using DITA for Conditional Text

"I attended a web seminar of Using DITA for Conditional Text from Just System recently. The following are what I have learned."

Before I start, I want to give some background information about DITA and conditional text.

What is DITA?

DITA stands for Darwin Information Typing Architecture. It is an XML-based architecture for authoring, producing, and delivering technical information. DITA is an XML vocabulary for creating structured content, availabe as DTDs and schemas. DITA divides content into small, self-contained topics that can be reused in different deliverables.
DITA specifies three topics:

  • Task
  • Concept
  • Reference
A task topic describes procedures about how to accomplish a task.
Concept topics provide background information about the task to help users understand what the task is.
Reference topics are used for describing regular features of a subject or product.

What is conditional text?

Conditional text is a function used in many desktop publishing and Help Authoring tools that displays information under certain conditions. For example, you can hide all the graphics for HTML format to reduce files size and show them in the PDF file.

Synonyms for conditional text:
  • conditional attributes
  • conditional processing
  • profiling
  • versioning
  • effectivity
  • filtered reuse
  • "select-atts" attributes
  • conditional build tags

How to Use DITA for Conditional Text?

DITA has specific attributes that can then be used for filtering, flagging, search, and indexing and these attributes can be used for conditional processing. These built-in attributes are:

  • audience
  • platform
  • product
  • otherprops
  • rev (for flagging only)

There are three types of content reuse in DITA:

Requirements
DITA Solution
multiple similar deliverablesflag some content as conditional
piece of content used in many different contextsinclude in different topics using content reference
topic used in many different deliverablesinclude it in different deliverables through DITA maps
  • multiple similar deliverables -> flag some content as conditional
  • piece of content used in many different contexts -> include in different topics using content reference
  • topic used in many different deliverables -> include it in different deliverables through DITA maps


What does conditional text markup look like?
A paragraph that is not conditional:

  • <p>Press Ctrl+S. </p>

A paragraph that applies to Windows platform only:

  • <p platform="windows">Press Ctrl+S. </p>
  • <p platform="windows">Press Command+S. </p>

How to get conditional text out of deliverable?

When creating output, DITA Open Toolkit processes content to show or hide conditional text. DITA Open Toolkit is a free and open-sourced collection of scripts that transforms DITA content into deliverable formats like HTML or PDF. The Toolkit is not a software product and can not be used independently. It needs to be installed or integrated into a XML editor.
XMetal Author Enterprise which includes the integration of DITA Open Toolkit allows users to create conditional text.



"I am wondering, is there any other XML editor that supports DITA conditional text as well? Or if I installed DITA Open Toolkit to my XML editor (such as FrameMaker), will it support conditional text? I will follow up my research with these questions later."

No comments: