What's new in DITA 1.3? The new features in DITA 1.3 and how you might use them 11/24/2014 Contrext, LLC 1 Eliot Kimber Contrext, LLC Tekom 2014
Jul 08, 2015
What's new in DITA 1.3?
The new features in DITA 1.3 and how you might use them
11/24/2014 Contrext, LLC 1
Eliot KimberContrext, LLC
Tekom 2014
About the Author
• Independent consultant focusing on DITA analysis, design, and implementation
• Doing SGML and XML for cough 30 years cough• Founding member of the DITA Technical Committee• Founding member of the XML Working Group• Co-editor of HyTime standard (ISO/IEC 10744)• Primary developer and founder of the DITA for
Publishers project• Author of DITA for Practitioners, Vol 1 (XML Press)• More DITA 1.3 accepted proposals than any other TC
member
11/24/2014 Contrext, LLC 2
DITA VERSION 1.3 ACTIVITY
11/24/2014 Contrext, LLC 3
DITA 1.3 Status
• DITA 1.3 features are frozen as of May 2014
• Thorough internal review of 1.3 draft specification spring 2014
• Public draft of final 1.3 specification for OASIS final approval process available soon
• Approval targeted for mid 2015
• Implementation in Open Toolkit under way (OT 2.x, DITA Community organization)
11/24/2014 Contrext, LLC 4
What Can I Do Today?
• New vocabulary immediately usable– Map and topic types and new domains are normal DITA
specializations– DITA 1.3 vocabulary packaged as OT plugin for convenience– Spec is stable—markup design unlikely to change between
now and final approval– OT 2.x is 1.3 support release. Many 1.3 features already
implemented– Most vocabulary also supported by OT 1.x plugins
• New architecture can be implemented as preprocessing for DITA 1.2 processors
11/24/2014 Contrext, LLC 5
Reminder: Always Backward
Compatible
• All DITA 1.x versions must be backwards compatible with earler 1.x versions
• DITA 1.3 completely backwards compatible
– All DITA 1.0, 1.1, 1.2 documents are valid 1.3 documents
– Behavior of documents should be the same
11/24/2014 Contrext, LLC 6
QUICK OVERVIEW OF NEW
DITA 1.3 FEATURES
11/24/2014 Contrext, LLC 7
Lots of New Vocabulary
• MathML and SVG integrations• Troubleshooting: new topic type, note type, task elements• UX window display details map element and <revisionid> attributes• Release management metadata• Learning and training enhancements• @deliveryTarget conditional attribute• <line-through> and <overline> in highlight domain• New <div> base element type• Elements for tagging XML markup• New <sort-as> element• New table attributes for layout control and accessibility• @cascade to control metadata propagation in maps• More…
11/24/2014 Contrext, LLC 8
Architectural Enhancements
• Scoped keys– Same key reference can resolve to different topics or
text in different parts of a map– Enables cross-deliverable linking
• Branch filtering– Apply different filtering rules to different parts of a
map– Automates replication of map branches for different
sets of conditions
• “this topic” fragment identifier: “#./fig-01”• Cross-deliverable links
11/24/2014 Contrext, LLC 9
Not Even Talking About
• RELAX NG as master vocabulary grammar format
• Many small-but-important enhancements to base content models
• Specialization enhancments (use structural types as though they were domains)
• Specification improvements
• Stuff we considered but didn’t put in for various reasons
11/24/2014 Contrext, LLC 10
ARCHITECTURAL ENHANCEMENT:
SCOPED KEYS
11/24/2014 Contrext, LLC 11
Scoped Key Use Cases
• Multi-product or multi-language publications– Each product or language is a different scope– Different text or topics or images for same key in
different product or language context
• Combine separate publications into a single publication– Each publication is a separate key scope and defines
its own keys– No interference between keys defined in each
publication
• Break single publication into multiple linked publications (cross-deliverable linking)
11/24/2014 Contrext, LLC 12
DITA 1.2 Keys
• Indirect addressing for topics:– Assign keys to topics within maps– Refer to keys in topics– Keys resolve through map– Same key can resolve to different topics in different maps– Essential for re-use
• In 1.2, keys are global within a given publication (root map)– Every reference to a key must resolve to the same topic or
text– Limits creation of multi-product or multi-language
publications
11/24/2014 Contrext, LLC 13
DITA 1.3: Key Scopes
• Named scopes within maps
• Unqualified key references resolve to key in current scope
• Key references can be qualified with scope names: scope1.key-
one, scope2.key-one
• Higher maps can override keys defined in scopes
• Same key referenced in different scopes can resolve to different topics
• Same topic used in different scopes within same map can link to different targets
• Applies to conref, xref, topicref, etc.
• Enables cross-deliverable linking
11/24/2014 Contrext, LLC 14
ARCHITECTURAL ENHANCEMENT:
BRANCH FILTERING
11/24/2014 Contrext, LLC 16
Branch Filtering Use Cases
• Multi-platform publications:– <chapter keyref=“installation”>
<ditavalref keyref=“ditaval-osx”/>
<ditavalref keyref=“ditaval-win”/>
<ditavalref keyref=“ditaval-lin”/>
<topicref keyref=“inst-overview”/>
…
</chapter>
• Multi-audience publications
• Multi-product publications
11/24/2014 Contrext, LLC 17
DITA 1.2 Filtering
• Filtering conditions apply only to whole publication
• No way to have different conditions applied to different parts of a map
• Can lead to complex and hard-to-manage conditions
11/24/2014 Contrext, LLC 18
DITA 1.3: Branch Filtering
• Point to DITAVAL files from within topicrefs
• DITAVAL applies to that branch of the map
• For a single branch, can have multiple DITAVAL references– Each DITAVAL produces a new copy of the branch
filtered according to that DITAVAL
– Avoids need to maintain copies of map branches with only different filtering
• Can control how names in duplicated branches are constructed
11/24/2014 Contrext, LLC 19
NEW VOCABULARY
11/24/2014 Contrext, LLC 20
SVG Integration
• Inline SVG graphics
– <svg-container>
• Can pull in SVG from non-DITA XML files
– <svgref>
11/24/2014 Contrext, LLC 21
MathML Integration
• MathML domain:– <mathml> element contains <m:math>– Can link to <m:math> elements in non-DITA XML files:
<mathmlref>
• Equation domain:– Elements for identifying semantic equations:
• <equation-inline>, <equation-block>, <equation-figure>
– Can control equation numbering• <equation-number>
– Can have alternate forms of the equation: MathML, image, etc.
11/24/2014 Contrext, LLC 22
Troubleshooting Support
• New topic type: troubleshooting
– Provides problem/cause/solution structures
• New elements for use within tasks:
– <steptroubleshooting>, <tasktroubleshooting>
– Clearly identifies troubleshooting-specific information
• New “trouble” note type for highlighting troubleshooting-related notes
11/24/2014 Contrext, LLC 23
UX Window Control
• Specifically for online help• Within maps:
– Define size and position details of windodws to use for showing online help
– <ux-window name=“win-01”width=“400” height=“600” >
• Within topics:– Reference named windows from <resourceid> elements in
topics – <resourceid appname=“myapp”
appid=“control-123”ux-windowref=“win-01”/>
11/24/2014 Contrext, LLC 24
Release Management Metadata
• Metadata for maps and topics
– <change-historylist>
– <change-item>
• Lets you capture details about a specific change to the map or topic:
– Who, what, when, why
– References to issue-tracker issues
• Can be extended with additional metadata
11/24/2014 Contrext, LLC 25
Learning and Training
Enhancements
• New learingObjectMap and learningGroupMap map types
• New learning2 domain for interactions (assessments):– Allows block elements in questions, answers, and
feedback
– Same semantics and question types as DITA 1.2 learning domain
– Can be used with 1.2 learning domain
11/24/2014 Contrext, LLC 26
@deliveryTarget Conditional
Attribute
• Lets you have deliverable-specific content:
– PDF, EPUB, HTML, online help, etc.
• Specialization of @props
• Includes sample subject scheme map that defines a set of typical values
• Can use any values you want
11/24/2014 Contrext, LLC 27
Highlight Domain Enhancements
• New element types:
– <line-through>
– <overline>
• Completes the set of line-based highlighting (underline, overline, line-through)
• Note: Can use existing @status=“deleted” to indicate deletions
11/24/2014 Contrext, LLC 28
XML Markup Tagging
• XML domain
• Elements for tagging mentions of XML elements, attributes, etc.
• Useful for documenting XML vocabularies
• Used by the DITA 1.3 spec
• XML domain specializes “markup domain”
– General elements for indentifying any kind of markup-related names: <markupname>
11/24/2014 Contrext, LLC 29
New <div> Base Element Type
• Like DITA 1.2 <sectiondiv>
• Can go in body or section
• Specialization base for learning2 elements
• No semantic other than containment
11/24/2014 Contrext, LLC 30
SUMMARY
11/24/2014 Contrext, LLC 31
Reuse Support Features Nearly
Complete
• Scoped keys and branch filtering satisfy most of the reuse requirements not met in DITA 1.2
• “This topic” fragment identifier makes links within conrefs work properly
• Branch filtering makes multi-product or multi-language or multi-audience publications possible
• Cross-deliverable linking allows flexibility in packaging of content into deliverables
11/24/2014 Contrext, LLC 32
Vocabulary: Key Requirements,
Relevant Standards
• Integration of MathML and SVG aligns DITA with HTML5 and EPUB3
• Troubleshooting and release management markup addresses important Technical Communication requirements
• Learning2 domain makes question and answer markup useable for typical Publishing use cases
• UX enhancements important for online help delivery
11/24/2014 Contrext, LLC 33
In Short
• DITA 1.3 fills in important feature holes left in DITA 1.2
• Iterative improvement in vocabulary• No changes to existing semantics, processing
rules, etc.• Key scopes and branch filtering critical for
authors but challenging for CCMS and authoring tool vendors
• Highlights importance of Information Architect role within writing teams
11/24/2014 Contrext, LLC 34
Resources
• OASIS DITA Technical Committee: https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita
• OASIS DITA Adoption Technical Committee: https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dita-adoption
• Kris Eberlein’s DITA 1.3 Overview: http://dita.xml.org/sites/dita.xml.org/files/overview-of-dita-1.3.pdf
• DITA Open Toolkit: https://dita-ot.github.io• DITA Community Resources GitHub project:
http://www.dita-community.org• Me: [email protected], http://contrext.com
11/24/2014 Contrext, LLC 35