SlideShare a Scribd company logo
1 of 24
Taking Cross References to the Next Level: 
Reltables for Non‐Topic Elements 
Adding non-topic-element 
indirection to DITA. 
Eliot Kimber 
Contrext, LLC 
DITA Europe 2014 
11/24/2014 Contrext, LLC 1
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
Agenda 
• The Requirement: Use relatables to relate 
non-topic elements to each other 
• Limitations in key-based addressing: topics 
only 
• Solution 
• Demonstration 
11/24/2014 Contrext, LLC 3
REQUIREMENT: USE RELTABLES 
FOR NON-TOPIC ELEMENTS 
11/24/2014 Contrext, LLC 4
Reltables: Imposed Links 
• Relatables link topics to other topics or non- 
DITA resources 
– “extended links” in Xlink terminology 
– “stand-off” or “external” links more generally 
• Avoids embedded cross references 
• Can define arbitrary link types 
• Defined in maps using topicrefs 
• Very sophisticated linking feature of DITA 
11/24/2014 Contrext, LLC 5
Requirement: Link Non-Topic 
Elements Using Reltables 
• E.g., 
– Associate figures with task steps 
– Associate empty marker elements with cross-reference 
targets 
– Link assessment questions to related or 
supporting content 
• No way to do this in DITA through DITA 1.3 
using DITA-defined facilities 
11/24/2014 Contrext, LLC 6
LIMITATIONS IN DITA 
INDIRECT ADDRESSING 
11/24/2014 Contrext, LLC 7
Relatables Only Link to Topics 
• Reltables only use topicrefs to define the link 
ends: 
<reltable> 
<relrow> 
<relcell> 
<topicref keyref=“topic-01”/> 
</relcell> 
<relcell> 
<topicref keyref=“topic-02”/> 
</relcell> 
</relrow> 
</reltable> 
11/24/2014 Contrext, LLC 8
Topicrefs Can Only Address Topics 
• The semantic of <topicref> is to address 
topics, maps, or non-DITA resources. 
• And nothing else: 
– “References to DITA content cannot be below the 
topic level: that is, you cannot reference individual 
elements inside a topic.” —@href attribute 
description for <topicref> reference entry, DITA 
1.2 specification. 
11/24/2014 Contrext, LLC 9
Keys Provide Indirect Addressing 
for Topics 
• Keys provide indirect addressing to topics, 
maps, non-DITA resources 
– That is, the things you can point to with topicrefs 
• Keys are essential for re-use of content 
– Decouple references to resources from location of 
those resources 
– Allows different key bindings in different maps 
11/24/2014 Contrext, LLC 10
No Indirection for Non-Topic 
Elements 
• Can use keys to crossref and conref to non-topic 
elements: 
– <xref keyref=“topic-01/fig-01”/> 
• This is a reference to the element with ID “fig-01” 
in the topic bound to the key “topic-01”, e.g.: 
<topic id=“topicid”> 
<title>Topic One</title> 
<body> 
<fig id=“fig-01”>…</fig> 
</body> 
</topic> 
11/24/2014 Contrext, LLC 11
Implication for Non-Topic Elements 
• The key reference “topic-01/fig-01” requires 
that all topics bound to the key “topic-01” 
have an element with the ID “fig-01” 
• There is no way to say “for this topic bound to 
key ‘topic-01’, treat element with ID “Xabcd” 
as though it was “fig-01” 
• This lack of non-topic-element indirection was 
a considered decision by the TC 
11/24/2014 Contrext, LLC 12
Implication for Reltables 
• No DITA-defined way to have reltables that 
relate non-topic elements to each other 
11/24/2014 Contrext, LLC 13
THE SOLUTION 
11/24/2014 Contrext, LLC 14
If Topicrefs Only Point to Topics… 
• Use topics as the indirectors 
• Define a topic type whose only non-metadata 
content is a specialized crossref 
• Semantic of the topic is “nothing to see here, 
continue on to the crossref target” 
• Specialized crossref makes it clear that the 
intent is indirection 
• Fallback behavior is a topic with a navigable 
cross reference 
11/24/2014 Contrext, LLC 15
Indirector Topic Type 
• Specializes <topic> 
• Allows only <indirectElementRef> and <data> 
in its body element 
• No shortdesc or abstract or nested topics or 
related links 
• Normal prolog 
11/24/2014 Contrext, LLC 16
Sample Indirector Topic 
<indirector id="none"> 
<title>Indirector to 
topic-01/fig-01</title> 
<indirectorBody> 
<indirectElementRef 
keyref="topic-01/fig-01” 
/> 
</indirectorBody> 
</indirector> 
11/24/2014 Contrext, LLC 17
indirectorSet Topic Type 
• Convenience for managing multiple 
indirectors in a single XML file 
• Title, prolog, zero or more <indirector> topics 
• Does not affect the interpretation of 
contained indirectors 
11/24/2014 Contrext, LLC 18
Reltable-Based XRefs 
• New domain: indirector-d 
• Defines one element: <indirect-xref-anchor> 
– Specialization of topic/ph 
– Takes an @id and allows only optional <data> 
within content 
• When it’s the anchor of a reltable entry, result 
should be xrefs to the other ends of the 
relationships 
11/24/2014 Contrext, LLC 19
PROCESSING 
IMPLEMENTATION 
11/24/2014 Contrext, LLC 20
Reltable-based XRefs 
• Extend related links preprocessing 
• Generate literal xref elements for each link 
end related to an <xref-anchor> via relatable 
rows. 
• Probably need options for how to label the 
xrefs, surrounding text, etc. 
11/24/2014 Contrext, LLC 21
MapLinks Preprocess Step 
• The preprocess step maplinks processes the 
resolved map 
• Generates links to be added to topics (related 
links) 
• Could be overridden to also handle indirectors 
• The move-links Java code puts the links into 
topics 
– Could be extended to also put generated cross 
references into topics. 
• The topicpull step also updates links in topics, but 
uses XSLT 
11/24/2014 Contrext, LLC 22
DEMO 
• Let’s see if it works… 
11/24/2014 Contrext, LLC 23
Resources 
• Full paper: http://www.dita-community. 
org/paper-dita-keys-as-public-anchor- 
ids/dita-keys-as-public-ids.html 
• DITA Open Toolkit: https://dita-ot.github.io 
• DITA Community Resources GitHub project: 
http://www.dita-community.org 
• Me: ekimber@contrext.com, 
http://contrext.com 
11/24/2014 Contrext, LLC 24

More Related Content

Similar to Taking Cross References to the Next Level: Reltables for Non-Topic Elements

Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for KeysManaging Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for Keysdclsocialmedia
 
What's New in DITA 1.3 (Tekom, Nov 2014)
What's New in DITA 1.3 (Tekom, Nov 2014)What's New in DITA 1.3 (Tekom, Nov 2014)
What's New in DITA 1.3 (Tekom, Nov 2014)Contrext Solutions
 
No Ki Magic: Managing Complex DITA Hyperdocuments
No Ki Magic: Managing Complex DITA HyperdocumentsNo Ki Magic: Managing Complex DITA Hyperdocuments
No Ki Magic: Managing Complex DITA HyperdocumentsContrext Solutions
 
DITA 1.3: What's New and Different
DITA 1.3: What's New and DifferentDITA 1.3: What's New and Different
DITA 1.3: What's New and Differentdclsocialmedia
 
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse?
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse? TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse?
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse? IXIASOFT
 
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key References
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key ReferencesKi, Qi, Key: The Way of DITA Harmony With Keys and Key References
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key ReferencesContrext Solutions
 
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for KeysManaging Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for KeysContrext Solutions
 
The Evolution of DITAs
The Evolution of DITAsThe Evolution of DITAs
The Evolution of DITAsIXIASOFT
 
Optimizing Content Reuse with DITA - LavaCon Webinar with Keith Schengili-Rob...
Optimizing Content Reuse with DITA - LavaCon Webinar with Keith Schengili-Rob...Optimizing Content Reuse with DITA - LavaCon Webinar with Keith Schengili-Rob...
Optimizing Content Reuse with DITA - LavaCon Webinar with Keith Schengili-Rob...IXIASOFT
 
11.5.14 Presentation Slides, “Fedora 4.0 in Action at Penn State and Stanford”
11.5.14 Presentation Slides, “Fedora 4.0 in Action at Penn State and Stanford”11.5.14 Presentation Slides, “Fedora 4.0 in Action at Penn State and Stanford”
11.5.14 Presentation Slides, “Fedora 4.0 in Action at Penn State and Stanford”DuraSpace
 
DITA 1.3: What's New and Different
DITA 1.3: What's New and DifferentDITA 1.3: What's New and Different
DITA 1.3: What's New and DifferentContrext Solutions
 
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITACan I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITAContrext Solutions
 
RELAX NG to DTD and XSD Using the Open Toolkit
RELAX NG to DTD and XSD Using the Open ToolkitRELAX NG to DTD and XSD Using the Open Toolkit
RELAX NG to DTD and XSD Using the Open ToolkitContrext Solutions
 
EA User Group Brussels 2017 - Traceability in Practice
EA User Group Brussels 2017 - Traceability in PracticeEA User Group Brussels 2017 - Traceability in Practice
EA User Group Brussels 2017 - Traceability in PracticeDiVetro
 
Hakkarinen.OR2016.Enhancing_Citation-only_Repositories.Final
Hakkarinen.OR2016.Enhancing_Citation-only_Repositories.FinalHakkarinen.OR2016.Enhancing_Citation-only_Repositories.Final
Hakkarinen.OR2016.Enhancing_Citation-only_Repositories.FinalMark Hakkarinen
 
IWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologiesIWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologiesIWMW
 
Linked Data Best Practices and BibFrame
Linked Data Best Practices and BibFrameLinked Data Best Practices and BibFrame
Linked Data Best Practices and BibFrameRobert Sanderson
 
ASP.NET Core Demos Part 2
ASP.NET Core Demos Part 2ASP.NET Core Demos Part 2
ASP.NET Core Demos Part 2Erik Noren
 
Content Registration - Crossref LIVE Hannover
Content Registration - Crossref LIVE HannoverContent Registration - Crossref LIVE Hannover
Content Registration - Crossref LIVE HannoverCrossref
 

Similar to Taking Cross References to the Next Level: Reltables for Non-Topic Elements (20)

Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for KeysManaging Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
 
What's New in DITA 1.3 (Tekom, Nov 2014)
What's New in DITA 1.3 (Tekom, Nov 2014)What's New in DITA 1.3 (Tekom, Nov 2014)
What's New in DITA 1.3 (Tekom, Nov 2014)
 
No Ki Magic: Managing Complex DITA Hyperdocuments
No Ki Magic: Managing Complex DITA HyperdocumentsNo Ki Magic: Managing Complex DITA Hyperdocuments
No Ki Magic: Managing Complex DITA Hyperdocuments
 
DITA 1.3: What's New and Different
DITA 1.3: What's New and DifferentDITA 1.3: What's New and Different
DITA 1.3: What's New and Different
 
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse?
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse? TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse?
TC Dojo Open Session: Are You Getting the Most Out of DITA Content Reuse?
 
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key References
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key ReferencesKi, Qi, Key: The Way of DITA Harmony With Keys and Key References
Ki, Qi, Key: The Way of DITA Harmony With Keys and Key References
 
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for KeysManaging Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
Managing Deliverable-Specific Link Anchors: New Suggested Best Practice for Keys
 
The Evolution of DITAs
The Evolution of DITAsThe Evolution of DITAs
The Evolution of DITAs
 
Optimizing Content Reuse with DITA - LavaCon Webinar with Keith Schengili-Rob...
Optimizing Content Reuse with DITA - LavaCon Webinar with Keith Schengili-Rob...Optimizing Content Reuse with DITA - LavaCon Webinar with Keith Schengili-Rob...
Optimizing Content Reuse with DITA - LavaCon Webinar with Keith Schengili-Rob...
 
11.5.14 Presentation Slides, “Fedora 4.0 in Action at Penn State and Stanford”
11.5.14 Presentation Slides, “Fedora 4.0 in Action at Penn State and Stanford”11.5.14 Presentation Slides, “Fedora 4.0 in Action at Penn State and Stanford”
11.5.14 Presentation Slides, “Fedora 4.0 in Action at Penn State and Stanford”
 
DITA 1.3: What's New and Different
DITA 1.3: What's New and DifferentDITA 1.3: What's New and Different
DITA 1.3: What's New and Different
 
Linked Data Competency Index : Mapping the field for teachers and learners
 Linked Data Competency Index : Mapping the field for teachers and learners Linked Data Competency Index : Mapping the field for teachers and learners
Linked Data Competency Index : Mapping the field for teachers and learners
 
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITACan I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
 
RELAX NG to DTD and XSD Using the Open Toolkit
RELAX NG to DTD and XSD Using the Open ToolkitRELAX NG to DTD and XSD Using the Open Toolkit
RELAX NG to DTD and XSD Using the Open Toolkit
 
EA User Group Brussels 2017 - Traceability in Practice
EA User Group Brussels 2017 - Traceability in PracticeEA User Group Brussels 2017 - Traceability in Practice
EA User Group Brussels 2017 - Traceability in Practice
 
Hakkarinen.OR2016.Enhancing_Citation-only_Repositories.Final
Hakkarinen.OR2016.Enhancing_Citation-only_Repositories.FinalHakkarinen.OR2016.Enhancing_Citation-only_Repositories.Final
Hakkarinen.OR2016.Enhancing_Citation-only_Repositories.Final
 
IWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologiesIWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologies
 
Linked Data Best Practices and BibFrame
Linked Data Best Practices and BibFrameLinked Data Best Practices and BibFrame
Linked Data Best Practices and BibFrame
 
ASP.NET Core Demos Part 2
ASP.NET Core Demos Part 2ASP.NET Core Demos Part 2
ASP.NET Core Demos Part 2
 
Content Registration - Crossref LIVE Hannover
Content Registration - Crossref LIVE HannoverContent Registration - Crossref LIVE Hannover
Content Registration - Crossref LIVE Hannover
 

More from Contrext Solutions

Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals ...
Stupid DITA Tricks:After-The-Fact Specialization: Treating Aircraft Manuals ...Stupid DITA Tricks:After-The-Fact Specialization: Treating Aircraft Manuals ...
Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals ...Contrext Solutions
 
Loose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for PaginationLoose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for PaginationContrext Solutions
 
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for Free
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for FreeDefinition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for Free
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for FreeContrext Solutions
 
Twisted XSL Tricks: Column Switching for FOP
Twisted XSL Tricks: Column Switching for FOPTwisted XSL Tricks: Column Switching for FOP
Twisted XSL Tricks: Column Switching for FOPContrext Solutions
 
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITACan I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITAContrext Solutions
 
Content Management on Zero Budget: DITA for Small Teams
Content Management on Zero Budget: DITA for Small TeamsContent Management on Zero Budget: DITA for Small Teams
Content Management on Zero Budget: DITA for Small TeamsContrext Solutions
 
Using CSS Paging to Render DITA Documents
Using CSS Paging to Render DITA DocumentsUsing CSS Paging to Render DITA Documents
Using CSS Paging to Render DITA DocumentsContrext Solutions
 
Locale-Aware Sorting and Text Handling in the Open Toolkit
Locale-Aware Sorting and Text Handling in the Open ToolkitLocale-Aware Sorting and Text Handling in the Open Toolkit
Locale-Aware Sorting and Text Handling in the Open ToolkitContrext Solutions
 
DITA for Small Teams Workshop (Tekom 2017)
DITA for Small Teams Workshop (Tekom 2017)DITA for Small Teams Workshop (Tekom 2017)
DITA for Small Teams Workshop (Tekom 2017)Contrext Solutions
 
XSLT Magic Tricks with DITA and FrameMaker
XSLT Magic Tricks with DITA and FrameMakerXSLT Magic Tricks with DITA and FrameMaker
XSLT Magic Tricks with DITA and FrameMakerContrext Solutions
 
FrameMaker and the DITA Open Toolkit
FrameMaker and the DITA Open ToolkitFrameMaker and the DITA Open Toolkit
FrameMaker and the DITA Open ToolkitContrext Solutions
 
RELAX NG and DITA: An Almost Perfect Match
RELAX NG and DITA: An Almost Perfect MatchRELAX NG and DITA: An Almost Perfect Match
RELAX NG and DITA: An Almost Perfect MatchContrext Solutions
 
Managing Multiple Open Toolkit Configurations Using git Lightning Talk
Managing Multiple Open Toolkit Configurations Using git Lightning TalkManaging Multiple Open Toolkit Configurations Using git Lightning Talk
Managing Multiple Open Toolkit Configurations Using git Lightning TalkContrext Solutions
 
DITA OT Day 2015 Lightning Talk On The DITA Community Project
DITA OT Day 2015 Lightning Talk On The DITA Community ProjectDITA OT Day 2015 Lightning Talk On The DITA Community Project
DITA OT Day 2015 Lightning Talk On The DITA Community ProjectContrext Solutions
 
Poster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITAPoster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITAContrext Solutions
 
Dita cross-deliverable-addressing-poster
Dita cross-deliverable-addressing-posterDita cross-deliverable-addressing-poster
Dita cross-deliverable-addressing-posterContrext Solutions
 
General Architecture for Generation of Slide Presentations
General Architecture for Generation of Slide PresentationsGeneral Architecture for Generation of Slide Presentations
General Architecture for Generation of Slide PresentationsContrext Solutions
 

More from Contrext Solutions (20)

Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals ...
Stupid DITA Tricks:After-The-Fact Specialization: Treating Aircraft Manuals ...Stupid DITA Tricks:After-The-Fact Specialization: Treating Aircraft Manuals ...
Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals ...
 
Loose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for PaginationLoose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
Loose Leaf Publishing Using Antenna House Formatter and CSS for Pagination
 
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for Free
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for FreeDefinition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for Free
Definition of the DITA Glossary: Or How to Get Some Cool Glossary Tools for Free
 
Twisted XSL Tricks: Column Switching for FOP
Twisted XSL Tricks: Column Switching for FOPTwisted XSL Tricks: Column Switching for FOP
Twisted XSL Tricks: Column Switching for FOP
 
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITACan I Have a Word: Managing Shared Glossaries and References to Terms With DITA
Can I Have a Word: Managing Shared Glossaries and References to Terms With DITA
 
Content Management on Zero Budget: DITA for Small Teams
Content Management on Zero Budget: DITA for Small TeamsContent Management on Zero Budget: DITA for Small Teams
Content Management on Zero Budget: DITA for Small Teams
 
Using CSS Paging to Render DITA Documents
Using CSS Paging to Render DITA DocumentsUsing CSS Paging to Render DITA Documents
Using CSS Paging to Render DITA Documents
 
Locale-Aware Sorting and Text Handling in the Open Toolkit
Locale-Aware Sorting and Text Handling in the Open ToolkitLocale-Aware Sorting and Text Handling in the Open Toolkit
Locale-Aware Sorting and Text Handling in the Open Toolkit
 
DITA for Small Teams Workshop (Tekom 2017)
DITA for Small Teams Workshop (Tekom 2017)DITA for Small Teams Workshop (Tekom 2017)
DITA for Small Teams Workshop (Tekom 2017)
 
XSLT Magic Tricks with DITA and FrameMaker
XSLT Magic Tricks with DITA and FrameMakerXSLT Magic Tricks with DITA and FrameMaker
XSLT Magic Tricks with DITA and FrameMaker
 
FrameMaker and the DITA Open Toolkit
FrameMaker and the DITA Open ToolkitFrameMaker and the DITA Open Toolkit
FrameMaker and the DITA Open Toolkit
 
RELAX NG and DITA: An Almost Perfect Match
RELAX NG and DITA: An Almost Perfect MatchRELAX NG and DITA: An Almost Perfect Match
RELAX NG and DITA: An Almost Perfect Match
 
Managing Multiple Open Toolkit Configurations Using git Lightning Talk
Managing Multiple Open Toolkit Configurations Using git Lightning TalkManaging Multiple Open Toolkit Configurations Using git Lightning Talk
Managing Multiple Open Toolkit Configurations Using git Lightning Talk
 
DITA OT Day 2015 Lightning Talk On The DITA Community Project
DITA OT Day 2015 Lightning Talk On The DITA Community ProjectDITA OT Day 2015 Lightning Talk On The DITA Community Project
DITA OT Day 2015 Lightning Talk On The DITA Community Project
 
Why Is DITA So Hard?
Why Is DITA So Hard?Why Is DITA So Hard?
Why Is DITA So Hard?
 
Poster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITAPoster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITA
 
DITA for Small Teams
DITA for Small TeamsDITA for Small Teams
DITA for Small Teams
 
Dita cross-deliverable-addressing-poster
Dita cross-deliverable-addressing-posterDita cross-deliverable-addressing-poster
Dita cross-deliverable-addressing-poster
 
Wek cross-publication-linking
Wek cross-publication-linkingWek cross-publication-linking
Wek cross-publication-linking
 
General Architecture for Generation of Slide Presentations
General Architecture for Generation of Slide PresentationsGeneral Architecture for Generation of Slide Presentations
General Architecture for Generation of Slide Presentations
 

Recently uploaded

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 

Recently uploaded (20)

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 

Taking Cross References to the Next Level: Reltables for Non-Topic Elements

  • 1. Taking Cross References to the Next Level: Reltables for Non‐Topic Elements Adding non-topic-element indirection to DITA. Eliot Kimber Contrext, LLC DITA Europe 2014 11/24/2014 Contrext, LLC 1
  • 2. 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
  • 3. Agenda • The Requirement: Use relatables to relate non-topic elements to each other • Limitations in key-based addressing: topics only • Solution • Demonstration 11/24/2014 Contrext, LLC 3
  • 4. REQUIREMENT: USE RELTABLES FOR NON-TOPIC ELEMENTS 11/24/2014 Contrext, LLC 4
  • 5. Reltables: Imposed Links • Relatables link topics to other topics or non- DITA resources – “extended links” in Xlink terminology – “stand-off” or “external” links more generally • Avoids embedded cross references • Can define arbitrary link types • Defined in maps using topicrefs • Very sophisticated linking feature of DITA 11/24/2014 Contrext, LLC 5
  • 6. Requirement: Link Non-Topic Elements Using Reltables • E.g., – Associate figures with task steps – Associate empty marker elements with cross-reference targets – Link assessment questions to related or supporting content • No way to do this in DITA through DITA 1.3 using DITA-defined facilities 11/24/2014 Contrext, LLC 6
  • 7. LIMITATIONS IN DITA INDIRECT ADDRESSING 11/24/2014 Contrext, LLC 7
  • 8. Relatables Only Link to Topics • Reltables only use topicrefs to define the link ends: <reltable> <relrow> <relcell> <topicref keyref=“topic-01”/> </relcell> <relcell> <topicref keyref=“topic-02”/> </relcell> </relrow> </reltable> 11/24/2014 Contrext, LLC 8
  • 9. Topicrefs Can Only Address Topics • The semantic of <topicref> is to address topics, maps, or non-DITA resources. • And nothing else: – “References to DITA content cannot be below the topic level: that is, you cannot reference individual elements inside a topic.” —@href attribute description for <topicref> reference entry, DITA 1.2 specification. 11/24/2014 Contrext, LLC 9
  • 10. Keys Provide Indirect Addressing for Topics • Keys provide indirect addressing to topics, maps, non-DITA resources – That is, the things you can point to with topicrefs • Keys are essential for re-use of content – Decouple references to resources from location of those resources – Allows different key bindings in different maps 11/24/2014 Contrext, LLC 10
  • 11. No Indirection for Non-Topic Elements • Can use keys to crossref and conref to non-topic elements: – <xref keyref=“topic-01/fig-01”/> • This is a reference to the element with ID “fig-01” in the topic bound to the key “topic-01”, e.g.: <topic id=“topicid”> <title>Topic One</title> <body> <fig id=“fig-01”>…</fig> </body> </topic> 11/24/2014 Contrext, LLC 11
  • 12. Implication for Non-Topic Elements • The key reference “topic-01/fig-01” requires that all topics bound to the key “topic-01” have an element with the ID “fig-01” • There is no way to say “for this topic bound to key ‘topic-01’, treat element with ID “Xabcd” as though it was “fig-01” • This lack of non-topic-element indirection was a considered decision by the TC 11/24/2014 Contrext, LLC 12
  • 13. Implication for Reltables • No DITA-defined way to have reltables that relate non-topic elements to each other 11/24/2014 Contrext, LLC 13
  • 14. THE SOLUTION 11/24/2014 Contrext, LLC 14
  • 15. If Topicrefs Only Point to Topics… • Use topics as the indirectors • Define a topic type whose only non-metadata content is a specialized crossref • Semantic of the topic is “nothing to see here, continue on to the crossref target” • Specialized crossref makes it clear that the intent is indirection • Fallback behavior is a topic with a navigable cross reference 11/24/2014 Contrext, LLC 15
  • 16. Indirector Topic Type • Specializes <topic> • Allows only <indirectElementRef> and <data> in its body element • No shortdesc or abstract or nested topics or related links • Normal prolog 11/24/2014 Contrext, LLC 16
  • 17. Sample Indirector Topic <indirector id="none"> <title>Indirector to topic-01/fig-01</title> <indirectorBody> <indirectElementRef keyref="topic-01/fig-01” /> </indirectorBody> </indirector> 11/24/2014 Contrext, LLC 17
  • 18. indirectorSet Topic Type • Convenience for managing multiple indirectors in a single XML file • Title, prolog, zero or more <indirector> topics • Does not affect the interpretation of contained indirectors 11/24/2014 Contrext, LLC 18
  • 19. Reltable-Based XRefs • New domain: indirector-d • Defines one element: <indirect-xref-anchor> – Specialization of topic/ph – Takes an @id and allows only optional <data> within content • When it’s the anchor of a reltable entry, result should be xrefs to the other ends of the relationships 11/24/2014 Contrext, LLC 19
  • 21. Reltable-based XRefs • Extend related links preprocessing • Generate literal xref elements for each link end related to an <xref-anchor> via relatable rows. • Probably need options for how to label the xrefs, surrounding text, etc. 11/24/2014 Contrext, LLC 21
  • 22. MapLinks Preprocess Step • The preprocess step maplinks processes the resolved map • Generates links to be added to topics (related links) • Could be overridden to also handle indirectors • The move-links Java code puts the links into topics – Could be extended to also put generated cross references into topics. • The topicpull step also updates links in topics, but uses XSLT 11/24/2014 Contrext, LLC 22
  • 23. DEMO • Let’s see if it works… 11/24/2014 Contrext, LLC 23
  • 24. Resources • Full paper: http://www.dita-community. org/paper-dita-keys-as-public-anchor- ids/dita-keys-as-public-ids.html • DITA Open Toolkit: https://dita-ot.github.io • DITA Community Resources GitHub project: http://www.dita-community.org • Me: ekimber@contrext.com, http://contrext.com 11/24/2014 Contrext, LLC 24