29
www.sperotech.com DITA 1.2 Features Marc Speyer, Sperotech Email: [email protected] Contributing member of the OASIS DITA Adoption Technical Committee 1 NLDITA 2010

New Features in DITA 1.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

Page 1: New Features in DITA 1.2

www.sperotech.com

DITA 1.2 Features

Marc Speyer, Sperotech

Email: [email protected]

Contributing member of the

OASIS DITA Adoption Technical Committee

1NLDITA 2010

Page 2: New Features in DITA 1.2

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

Page 3: New Features in DITA 1.2

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

Page 4: New Features in DITA 1.2

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

Page 5: New Features in DITA 1.2

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

Page 6: New Features in DITA 1.2

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

Page 7: New Features in DITA 1.2

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

Page 8: New Features in DITA 1.2

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

Page 9: New Features in DITA 1.2

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

Page 10: New Features in DITA 1.2

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

Page 11: New Features in DITA 1.2

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

Page 12: New Features in DITA 1.2

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>

Page 13: New Features in DITA 1.2

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>

Page 14: New Features in DITA 1.2

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

Page 15: New Features in DITA 1.2

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>

Page 16: New Features in DITA 1.2

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>

Page 17: New Features in DITA 1.2

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

Page 18: New Features in DITA 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>

...

Page 19: New Features in DITA 1.2

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>

...

Page 20: New Features in DITA 1.2

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

Page 21: New Features in DITA 1.2

www.sperotech.com

Flexibility for authors

General task model

Recursive (untitled) sections

Keywords in keywords

<text> element

21NLDITA 2010

Page 22: New Features in DITA 1.2

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

Page 23: New Features in DITA 1.2

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

Page 24: New Features in DITA 1.2

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

Page 25: New Features in DITA 1.2

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

Page 26: New Features in DITA 1.2

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

Page 27: New Features in DITA 1.2

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

Page 29: New Features in DITA 1.2

www.sperotech.com

Thank you

NLDITA 2010 29