Upload
sperotech
View
4.657
Download
2
Embed Size (px)
DESCRIPTION
Read about the new exciting features of the DITA 1.2 specification which includes several additions, including a Learning and Training specialization, a Machine-industry specialization, new support for glossary entries and acronyms and abbreviations, and the ability to constrain the standard DITA information types. For technical communicators who need to use a sequence of steps in multiple tasks, DITA 1.2 now offers the ability to reference a range of elements. With the new "conref push" mechanism, technical communicators will be able to permit designated customers to "automatically insert" specific content into the source text upon processing, such as brand-related terminology or other content, all without changing the source. These are only a small part of the improvements in the 1.2 specification. Marc Speyer is an active contributor of the Oasis DITA Adoption Technical committee and therefore well positioned to present the why and how of these new features.
Citation preview
www.sperotech.com
DITA 1.2 Features
Marc Speyer, Sperotech
Email: [email protected]
Contributing member of the
OASIS DITA Adoption Technical Committee
1NLDITA 2010
www.sperotech.com
What is coming in DITA 1.2?
DITA 1.1 was generally themed by book enablement
DITA 1.2 is basically characterized as a major step in
overall features and reach into new communities of
use
2NLDITA 2010
www.sperotech.com
Extended vocabulary
New learning and training elements
New machine industry elements
New glossary elements for acronyms and
abbreviations
Meeting ISO/ANSI standards for hazard statements
Image scale-to-fit
3NLDITA 2010
www.sperotech.com
Learning and Training
Addresses the following challenges
How to find the context for developing and delivering the right
content to the right person at the right time
How to identify the learning goals and objectives?
Who and how many are the audiences?
How to pull together and integrate content from many
different sources and content providers?
How to enable customers and partners to add, integrate,
assemble, and deliver their own content?
Pain points: consistency, knowledge sharing,
simplification, content creation, assembly and delivery
NLDITA 2010 4
www.sperotech.com
DITA for Learning and Training
How DITA helps:
Reuse for Reusable Learning Objects (RLO)
Topic types as building blocks for learning objects
Domains to provide the mechanism for interactions and metadata
Maps to arrange learning topics into lessons, modules and courses
Specialization for learning-based topic types, domains and maps
NLDITA 2010 5
www.sperotech.com
Machinery Task topic
Developed using the DITA constraint mechanism, it
ads the following specific sections
Preliminary requirements to describe what the user needs
to know before starting the task
Closing requirements to conditions that must be fulfilled
after the successful completion of the current task
Procedural information for machines, machinery
equipment, assemblies and apparatus
NLDITA 2010 6
www.sperotech.com
New Glossary terms
Before DITA 1.2 just term and definition
In DITA 1.2 a <glossBody> element with glossary
sub-elements has been added that can used for:
Automated pop-up or expansion linking of terms in the
content to definitions in the glossary
Generation of a rich and comprehensive Glossary of Terms
for a printed document
Generation of a dynamic Glossary of Terms (perhaps
sortable and searchable) for an online document
Proper translation of terms into multiple languages
NLDITA 2010 7
www.sperotech.com
Hazard statements
Provided as a DITA domain
Used to provide information about product safety
hazards, consequences and avoidance strategies
Main element <hazardstatement> (based on the
regulations of ANSI Z535 and ISO 3864)
Message panel with type of hazard, consequences and how
to avoidance
A symbol that represent a hazard, a hazardous situation, a
result of not avoiding a hazard, or any combination of these
NLDITA 2010 8
www.sperotech.com
New/improved reuse features
Keys and Keyref
Conref ranges
Conref “push”
New ways to group topics for reuse in DITA maps
(mapgroup elements)
9NLDITA 2010
www.sperotech.com
Keys and Keyref
<map>
<topicref keys=”aKey” href=”aFile.dita”/>
... other key definitions ...
</map>
<map>
<mapref href=”keyMap.ditamap”/>
... topicrefs ...
<topicref keyref=”aKey”/>
... other topicrefs ...
</map>
10NLDITA 2010
www.sperotech.com
Conref ranges
In DITA 1.1 conref could only reference a single ID
DITA 1.2 introduces conrefend for referencing a range of elements with the conref mechanism
Similar restrictions as the single ID case apply, e.g.
Start and end type must be of the same type as the referencing element or they must be generalizable to the referencing element
Start and end element must have the same parent
ID of start and end element are not preserved
Note: In between elements do not have to match referencing element
NLDITA 2010 11
www.sperotech.com
Conref range example
NLDITA 2010 12
Source topic<topic id="x">
...
<body>
<ol>
<li id="apple">A</li>
<li id="bear">B</li>
<li id="cat">C</li>
<li id="dog">D</li>
<li id="eel">E</li>
</ol>
</body>
</topic>
Referencing topic<topic id=“y">
...
<body>
<ol>
<li>My own 1st item</li>
<li
conref="topic.dita#x/bear“
conrefend="topic.dita#x/dog“
/>
<li>And a final item</li>
</ol>
</body>
</topic>
www.sperotech.com
Conref range example
NLDITA 2010 13
Source topic<topic id="x">
...
<body>
<ol>
<li id="apple">A</li>
<li id="bear">B</li>
<li id="cat">C</li>
<li id="dog">D</li>
<li id="eel">E</li>
</ol>
</body>
</topic>
Referencing topic<topic id=“y">
...
<body>
<ol>
<li>My own 1st item</li>
<li
conref="topic.dita#x/bear“
conrefend="topic.dita#x/dog“
/>
<li>And a final item</li>
</ol>
</body>
</topic>
Resulting topic<topic id=“y">
...
<body>
<ol>
<li>My own 1st item</li>
<li>B</li>
<li id=“cat”>C</li>
<li>D</li>
<li>And a final item</li>
</ol>
</body>
</topic>
www.sperotech.com
Conref “push”
Until DITA 1.2 there was only a pull mechanism
Insert or replace content in DITA topics and maps
Three possible actions (through conaction attribute):
Replacing an element
Pushing content before an element
Pushing content after an element
Include pushing topic in ditamap with processing-role
attribute set to “resource-only” (not in TOC, non-
searchable and non-linkable)
NLDITA 2010 14
www.sperotech.com
Conref “pushreplace” example
NLDITA 2010 15
Source topic<task id="example“>
<title>Example topic</title>
<taskbody>
<steps>
<stepid="a">
<cmd>A</cmd>
</step>
<step id="b">
<cmd>B</cmd>
</step>
<stepid="c">
<cmd>C</cmd>
</step>
</steps>
</taskbody>
</task>
Pushing topic<task id="other">
...
<step
conaction="pushreplace"
conref="example.dita#example/b”
>
<cmd>Updated B</cmd>
</step>
...
</task>
www.sperotech.com
Conref “pushreplace” example
NLDITA 2010 16
Source topic<task id="example“>
<title>Example topic</title>
<taskbody>
<steps>
<stepid="a">
<cmd>A</cmd>
</step>
<step id="b">
<cmd>B</cmd>
</step>
<stepid="c">
<cmd>C</cmd>
</step>
</steps>
</taskbody>
</task>
Pushing topic<task id="other">
...
<step
conaction="pushreplace"
conref="example.dita#example/b”
>
<cmd>Updated B</cmd>
</step>
...
</task>
Resulting topic<task id="example">
<title>Example topic</title>
<taskbody>
<steps>
<step id="a">
<cmd>A</cmd>
</step>
<step id="b">
<cmd>Updated B</cmd>
</step>
<step id="c">
<cmd>C</cmd>
</step>
</steps>
</taskbody>
</task>
www.sperotech.com
Conref “pushbefore” example
NLDITA 2010 17
Source topic<task id="example">
<title>Example topic</title>
<taskbody>
<steps>
<stepid="a">
<cmd>A</cmd>
</step>
<step id="b">
<cmd>B</cmd>
</step>
<stepid="c">
<cmd>C</cmd>
</step>
</steps>
</taskbody>
</task>
Pushing topic<task id="other">
...
<step conaction="pushbefore">
<cmd>Do this before B</cmd>
</step>
<step conaction="mark"
conref="example.dita#example/b"
/>
...
</task>
1
2
www.sperotech.com
Conref “pushbefore” example
NLDITA 2010 18
Source topic<task id="example">
<title>Example topic</title>
<taskbody>
<steps>
<stepid="a">
<cmd>A</cmd>
</step>
<step id="b">
<cmd>B</cmd>
</step>
<stepid="c">
<cmd>C</cmd>
</step>
</steps>
</taskbody>
</task>
Pushing topic<task id="other">
...
<step conaction="pushbefore">
<cmd>Do this before B</cmd>
</step>
<step conaction="mark"
conref="example.dita#example/b"
/>
...
</task>
1
2
Resulting topic<task id="example">
<title>Example topic</title>
<taskbody>
<steps>
<step id="a">
<cmd>A</cmd>
</step>
<step>
<cmd>Do this before B</cmd>
</step>
<step id="b">
<cmd>B</cmd>
</step>
...
www.sperotech.com
Why conaction = “mark”?
To prevent invalid structure after pushing: the
pushing topic serves as a valid containing structure,
e.g. you cannot do this
NLDITA 2010 19
Pushing topic...
<fig id="other">
<title conaction="pushbefore">Extra figure title before</title>
<title conaction="mark "conref="example.dita#example/b"/>
</fig>
...
www.sperotech.com
Map groups
New elements:
<anchorref> - delimits a part of the map to be inserted at the
<anchor> location referenced by its @href attribute
The <anchor> element which was present before DITA 1.2 provides an
integration point into which another map can inserts its navigation
through the @anchorref attribute
<topicset> - defines a complete reuse unit within a map
Should be treated as an independent unit
<topicsetref> - references a <topicset> preserving its identity
Differs from conref-ing since that results in a transclusion
<mapref> - convenience element to reference a map (eq. to
<topicref> element with @format attribute set to “ditamap”
NLDITA 2010 20
www.sperotech.com
Flexibility for authors
General task model
Recursive (untitled) sections
Keywords in keywords
<text> element
21NLDITA 2010
www.sperotech.com
Facilitate consistency within teams
Constraints
Controlled values for metadata
Use the same specialized element in more contexts
(domain/topic integration)
22NLDITA 2010
www.sperotech.com
Defining a metadata scheme in
DITA 1.2<subjectScheme>
<enumerationdef>
<attributedef name=”platform”/>
<subjectdef keys=”os”>
<subjectdef keys=”aix”/>
<subjectdef keys=”linux”/>
<subjectdef keys=”zos”/>
</subjectdef>
</enumerationdef>
... other enumerations ...
</subjectScheme>
NLDITA 2010 23
attribute binding
category
values
www.sperotech.com
Constraints
Allows more constrained version of a schema without
the need to create a specialization
Types of constraints:
Restriction of content model or attributes for an element
Restriction of extension elements from a domain
Replacement of base elements by domain extensions
Still requires knowledge of schema (DTD/XSD) to
implement the constraint
NLDITA 2010 24
www.sperotech.com
Relaxation of inheritance
In DITA 1.1 topics could only be specialized from
a single topic and domains only from single domain
NLDITA 2010 25
Inheritance diagram Level
DITA generic
DITA core topic types& domains
User specialized
User topic
UI Software
User domain
common elements
concept, task, reference, …
User domain
root topic elements
User topic
www.sperotech.com
DITA 1.2 Relaxation of inheritance
restrictions
Topics can specialize from multiple topics and can also include
elements from domains
Domains can specialize from both domains and topics and can
also include elements from other domains
NLDITA 2010 26
Inheritance diagram DITA 1.2 Level Scope
base module
global
specializedtopic
module
local totopic
topic elements
domain elements
domain elements
domain elements
common elementsroot topic elements
domain elements
www.sperotech.com
Maintainability/Housekeeping
Catalog version numbers
Allows authors to control how to bind their documents to a
specific schema
An exact version in time (point release)
The latest available version within a major version
The latest version available regardless of major version
DITA Entity Resolution Catalog
27NLDITA 2010
www.sperotech.com
References
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita-adoption
Official website of the group that wants to educate the marketplace of the value of DITA
http://wiki.oasis-open.org/dita-adoptionFeature articles, explanations, and tools to promote the adoption of DITA
http://dita.xml.orgOnline community for the DITA Oasis standard
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita
Official website of group that maintains the DITA standard
NLDITA 2010 28
www.sperotech.com
Thank you
NLDITA 2010 29