SlideShare a Scribd company logo
1 of 21
Stupid DITA Tricks:
After-The-Fact Specialization
Treating Aircraft Manuals as DITA
Eliot Kimber
Contrext
DITA Europe 2018
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 (dita4publishers.org)
• Author of DITA for Practitioners, Vol 1 (XML Press)
DITA Europe 2018
Agenda
• What did we need to do?
• How did we do it?
• Was it a good idea?
DITA Europe 2018
CLIENT CHALLENGE:
LOCALIZING AIRCRAFT
MANUALS
DITA Europe 2018
The Problem
• Get XML from suppliers
• XML is different from each supplier
• XML is not DITA
• Want to manage it as though it were DITA
– Take advantage of DITA tools: CMS, localization,
publishing
– Provide consistent authoring environment
DITA Europe 2018
The Project
• Presales proof of concept
• Demonstrate feasibility of using DITA tools to
manage non-DITA source from two different
suppliers
• Required functionality
– Authoring in XML
– Translation workflow support
– Production of PDF for use by airline
– Version management (updates from suppliers)
DITA Europe 2018
DITA to the Rescue?
• DITA tools provide strong out-of-the-box
support for localization at reasonable cost
• We know any number of DITA CMS products
could support client's management,
authoring, and translation requirements
• Can we apply DITA in this case?
DITA Europe 2018
Challenge: Enable Management
and Translation at Lowest Cost
• If the content was DITA out-of-the-box tools
will do what's needed
• Content is not DITA, does not appear to map
easily to DITA
• Airline authors want one system for working
with both Boeing and Airbus MELs
• How to do it?
DITA Europe 2018
WHAT DID WE DO?
DITA Europe 2018
The Experiment:
Retroactive Specialization
• Using the markup as provided, add @class
attributes to make it look like a DITA
specialization
• Using XSLT add minimum needed to make it
work as DITA with DITA tools
– Topic IDs
– Keys
– Etc.
DITA Europe 2018
Retroactive Specialization
• Add @class and other DITA-required
attributes to existing declarations
• Find closest match but don’t worry too much
about semantics or other DITA rules
• Make heavy use of <div>
DITA Europe 2018
Retroactive Specialization
Declaration Example
DITA Europe 2018
<!-- DITA class attribute mappings -->
<!ENTITY % dita-univ-atts-mod SYSTEM "dita-univ-atts.dtd">%dita-univ-atts-mod;
<!ATTLIST description
class CDATA "- topic/topic opsproc_exch/description "
xmlns:ditaarch CDATA #FIXED "http://dita.oasis-open.org/architecture/2005/"
ditaarch:DITAArchVersion CDATA #FIXED "1.3"
domains CDATA "(topic topic) (topic ops-exch-d)"
id ID #IMPLIED
>
<!ATTLIST descitem
%dita-univ-atts;
class CDATA "- topic/div opsproc_exch/descitem " >
<!ATTLIST example
%dita-univ-atts;
class CDATA "- topic/fig opsproc_exch/example " >
<!ATTLIST descbody
%dita-univ-atts;
class CDATA "- topic/body opsproc_exch/descbody " >
<!ATTLIST item
%dita-univ-atts;
class CDATA "- topic/li opsproc_exch/item " >
Transform to DITA
• Must adjust the source to make it into working
DITA
• Goal: Do as little as possible
• Will need the reverse transform
DITA Europe 2018
Transformation Tasks
• Generate DITA maps
• Assign keys to topics
• Ensure all topics have IDs
• Add wrapper elements where required by
DITA (e.g., topic bodies, <dlentry>, etc.)
• Make links into keyrefs
DITA Europe 2018
Let's Look At Some Code
DITA Europe 2018
WAS IT A GOOD IDEA?
DITA Europe 2018
Did It Work?
DITA Europe 2018
• Yes: As far as we were able to test it
• Achieved:
– Added DITA declarations to DTDs
– Implemented transform to DITA
– Import into CMS as DITA
– PDF generation using Open Toolkit
• Conclusion:
– Approach is sound
Was it A Good Idea?
• I think so
• Other alternatives very expensive:
– Buy and maintain supplier's CMS offerings
– Build ground-up CMS specific to supplier
vocabularies
– Build from-scratch authoring and publishing tools
• Result is not "pure DITA" but who cares?
DITA Europe 2018
Costs of the Approach
• Requires some amount of transform to and
from original source XML
• Transforms need to be maintained over time
• DITA CMS will still require some amount of
customization
• Publishing tools will require customization
DITA Europe 2018
Questions?
DITA Europe 2018
Resources
• Minimum equipment list description:
http://nata.aero/data/files/committee_mtgm
emos/bestpracticemineqlistbp.pdf
DITA Europe 2018

More Related Content

Similar to Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals as DITA

Using Markdown and Lightweight DITA in a Collaborative Environment
Using Markdown and Lightweight DITA in a Collaborative EnvironmentUsing Markdown and Lightweight DITA in a Collaborative Environment
Using Markdown and Lightweight DITA in a Collaborative EnvironmentIXIASOFT
 
DITA on a Shoe String
DITA on a Shoe StringDITA on a Shoe String
DITA on a Shoe StringStan Doherty
 
The Evolution of DITAs
The Evolution of DITAsThe Evolution of DITAs
The Evolution of DITAsIXIASOFT
 
10 Million Dita Topics Can't Be Wrong
10 Million Dita Topics Can't Be Wrong10 Million Dita Topics Can't Be Wrong
10 Million Dita Topics Can't Be WrongIXIASOFT
 
A Brief Look at DITA in Current Technical Communication Practices_SIGDOC 2017
A Brief Look at DITA in Current Technical Communication Practices_SIGDOC 2017A Brief Look at DITA in Current Technical Communication Practices_SIGDOC 2017
A Brief Look at DITA in Current Technical Communication Practices_SIGDOC 2017IXIASOFT
 
Mathematical content in documentation (DITA Europe 2008)
Mathematical content in documentation (DITA Europe 2008)Mathematical content in documentation (DITA Europe 2008)
Mathematical content in documentation (DITA Europe 2008)Lois Patterson
 
Is DITA Right for You? - STC Summit 2017
Is DITA Right for You? - STC Summit 2017Is DITA Right for You? - STC Summit 2017
Is DITA Right for You? - STC Summit 2017IXIASOFT
 
Localization and DITA: What you Need to Know - LocWorld32
Localization and DITA: What you Need to Know - LocWorld32Localization and DITA: What you Need to Know - LocWorld32
Localization and DITA: What you Need to Know - LocWorld32IXIASOFT
 
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...IXIASOFT
 
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...Jack Molisani
 
DITA and Metadata on an Enterprise Scale
DITA and Metadata on an Enterprise ScaleDITA and Metadata on an Enterprise Scale
DITA and Metadata on an Enterprise ScaleKristen Eberlein
 
Keith Schengili-Roberts - The Rise of SME within Technical Communications
Keith Schengili-Roberts - The Rise of SME within Technical CommunicationsKeith Schengili-Roberts - The Rise of SME within Technical Communications
Keith Schengili-Roberts - The Rise of SME within Technical CommunicationsLavaConConference
 
Drupal cho doanh nghiệp - cắt giảm tổng chi phí sở hữu phần mềm
Drupal cho doanh nghiệp - cắt giảm tổng chi phí sở hữu phần mềmDrupal cho doanh nghiệp - cắt giảm tổng chi phí sở hữu phần mềm
Drupal cho doanh nghiệp - cắt giảm tổng chi phí sở hữu phần mềmAiTi Education
 
Drupal enterprise solutions reduce total cost of ownership (tco)
Drupal enterprise solutions  reduce total cost of ownership (tco)Drupal enterprise solutions  reduce total cost of ownership (tco)
Drupal enterprise solutions reduce total cost of ownership (tco)Tom T
 
Lean and Collaborative Content - Workshop
Lean and Collaborative Content - WorkshopLean and Collaborative Content - Workshop
Lean and Collaborative Content - WorkshopIXIASOFT
 
4D Pubs - Distributed Dynamic Document Dsplay
4D Pubs - Distributed Dynamic Document Dsplay4D Pubs - Distributed Dynamic Document Dsplay
4D Pubs - Distributed Dynamic Document DsplayChris Despopoulos
 

Similar to Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals as DITA (20)

Why Is DITA So Hard?
Why Is DITA So Hard?Why Is DITA So Hard?
Why Is DITA So Hard?
 
Using Markdown and Lightweight DITA in a Collaborative Environment
Using Markdown and Lightweight DITA in a Collaborative EnvironmentUsing Markdown and Lightweight DITA in a Collaborative Environment
Using Markdown and Lightweight DITA in a Collaborative Environment
 
DITA Interoperability
DITA InteroperabilityDITA Interoperability
DITA Interoperability
 
DITA on a Shoe String
DITA on a Shoe StringDITA on a Shoe String
DITA on a Shoe String
 
The Evolution of DITAs
The Evolution of DITAsThe Evolution of DITAs
The Evolution of DITAs
 
10 Million Dita Topics Can't Be Wrong
10 Million Dita Topics Can't Be Wrong10 Million Dita Topics Can't Be Wrong
10 Million Dita Topics Can't Be Wrong
 
A Brief Look at DITA in Current Technical Communication Practices_SIGDOC 2017
A Brief Look at DITA in Current Technical Communication Practices_SIGDOC 2017A Brief Look at DITA in Current Technical Communication Practices_SIGDOC 2017
A Brief Look at DITA in Current Technical Communication Practices_SIGDOC 2017
 
Mathematical content in documentation (DITA Europe 2008)
Mathematical content in documentation (DITA Europe 2008)Mathematical content in documentation (DITA Europe 2008)
Mathematical content in documentation (DITA Europe 2008)
 
Is DITA Right for You? - STC Summit 2017
Is DITA Right for You? - STC Summit 2017Is DITA Right for You? - STC Summit 2017
Is DITA Right for You? - STC Summit 2017
 
DITA for Small Teams
DITA for Small TeamsDITA for Small Teams
DITA for Small Teams
 
Localization and DITA: What you Need to Know - LocWorld32
Localization and DITA: What you Need to Know - LocWorld32Localization and DITA: What you Need to Know - LocWorld32
Localization and DITA: What you Need to Know - LocWorld32
 
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...
Improve your Chances for Documentation Success with DITA and a CCMS LavaCon L...
 
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...
Keith Schengili-Roberts: Improve Your Chances for Documentation Success with ...
 
DITA and Metadata on an Enterprise Scale
DITA and Metadata on an Enterprise ScaleDITA and Metadata on an Enterprise Scale
DITA and Metadata on an Enterprise Scale
 
Keith Schengili-Roberts - The Rise of SME within Technical Communications
Keith Schengili-Roberts - The Rise of SME within Technical CommunicationsKeith Schengili-Roberts - The Rise of SME within Technical Communications
Keith Schengili-Roberts - The Rise of SME within Technical Communications
 
Drupal cho doanh nghiệp - cắt giảm tổng chi phí sở hữu phần mềm
Drupal cho doanh nghiệp - cắt giảm tổng chi phí sở hữu phần mềmDrupal cho doanh nghiệp - cắt giảm tổng chi phí sở hữu phần mềm
Drupal cho doanh nghiệp - cắt giảm tổng chi phí sở hữu phần mềm
 
Drupal enterprise solutions reduce total cost of ownership (tco)
Drupal enterprise solutions  reduce total cost of ownership (tco)Drupal enterprise solutions  reduce total cost of ownership (tco)
Drupal enterprise solutions reduce total cost of ownership (tco)
 
Lean and Collaborative Content - Workshop
Lean and Collaborative Content - WorkshopLean and Collaborative Content - Workshop
Lean and Collaborative Content - Workshop
 
4D Pubs - Distributed Dynamic Document Dsplay
4D Pubs - Distributed Dynamic Document Dsplay4D Pubs - Distributed Dynamic Document Dsplay
4D Pubs - Distributed Dynamic Document Dsplay
 
TWC 545 Presentation-DITA
TWC 545 Presentation-DITATWC 545 Presentation-DITA
TWC 545 Presentation-DITA
 

More from 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
 
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
 
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
 
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
 
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
 
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
 
DITA Reuse Challenges and Response
DITA Reuse Challenges and ResponseDITA Reuse Challenges and Response
DITA Reuse Challenges and ResponseContrext 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
 
They Worked Before, What Happened? Understanding DITA Cross-Book Links
They Worked Before, What Happened? Understanding DITA Cross-Book Links They Worked Before, What Happened? Understanding DITA Cross-Book Links
They Worked Before, What Happened? Understanding DITA Cross-Book Links 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
 
Poster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITAPoster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITAContrext 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
 
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
 

More from Contrext Solutions (20)

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
 
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
 
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
 
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)
 
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
 
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
 
DITA Reuse Challenges and Response
DITA Reuse Challenges and ResponseDITA Reuse Challenges and Response
DITA Reuse Challenges and Response
 
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
 
They Worked Before, What Happened? Understanding DITA Cross-Book Links
They Worked Before, What Happened? Understanding DITA Cross-Book Links They Worked Before, What Happened? Understanding DITA Cross-Book Links
They Worked Before, What Happened? Understanding DITA Cross-Book Links
 
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
 
Poster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITAPoster: Cross-Document Linking in DITA
Poster: Cross-Document Linking in DITA
 
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)
 

Recently uploaded

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

Stupid DITA Tricks: After-The-Fact Specialization: Treating Aircraft Manuals as DITA

  • 1. Stupid DITA Tricks: After-The-Fact Specialization Treating Aircraft Manuals as DITA Eliot Kimber Contrext DITA Europe 2018
  • 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 (dita4publishers.org) • Author of DITA for Practitioners, Vol 1 (XML Press) DITA Europe 2018
  • 3. Agenda • What did we need to do? • How did we do it? • Was it a good idea? DITA Europe 2018
  • 5. The Problem • Get XML from suppliers • XML is different from each supplier • XML is not DITA • Want to manage it as though it were DITA – Take advantage of DITA tools: CMS, localization, publishing – Provide consistent authoring environment DITA Europe 2018
  • 6. The Project • Presales proof of concept • Demonstrate feasibility of using DITA tools to manage non-DITA source from two different suppliers • Required functionality – Authoring in XML – Translation workflow support – Production of PDF for use by airline – Version management (updates from suppliers) DITA Europe 2018
  • 7. DITA to the Rescue? • DITA tools provide strong out-of-the-box support for localization at reasonable cost • We know any number of DITA CMS products could support client's management, authoring, and translation requirements • Can we apply DITA in this case? DITA Europe 2018
  • 8. Challenge: Enable Management and Translation at Lowest Cost • If the content was DITA out-of-the-box tools will do what's needed • Content is not DITA, does not appear to map easily to DITA • Airline authors want one system for working with both Boeing and Airbus MELs • How to do it? DITA Europe 2018
  • 9. WHAT DID WE DO? DITA Europe 2018
  • 10. The Experiment: Retroactive Specialization • Using the markup as provided, add @class attributes to make it look like a DITA specialization • Using XSLT add minimum needed to make it work as DITA with DITA tools – Topic IDs – Keys – Etc. DITA Europe 2018
  • 11. Retroactive Specialization • Add @class and other DITA-required attributes to existing declarations • Find closest match but don’t worry too much about semantics or other DITA rules • Make heavy use of <div> DITA Europe 2018
  • 12. Retroactive Specialization Declaration Example DITA Europe 2018 <!-- DITA class attribute mappings --> <!ENTITY % dita-univ-atts-mod SYSTEM "dita-univ-atts.dtd">%dita-univ-atts-mod; <!ATTLIST description class CDATA "- topic/topic opsproc_exch/description " xmlns:ditaarch CDATA #FIXED "http://dita.oasis-open.org/architecture/2005/" ditaarch:DITAArchVersion CDATA #FIXED "1.3" domains CDATA "(topic topic) (topic ops-exch-d)" id ID #IMPLIED > <!ATTLIST descitem %dita-univ-atts; class CDATA "- topic/div opsproc_exch/descitem " > <!ATTLIST example %dita-univ-atts; class CDATA "- topic/fig opsproc_exch/example " > <!ATTLIST descbody %dita-univ-atts; class CDATA "- topic/body opsproc_exch/descbody " > <!ATTLIST item %dita-univ-atts; class CDATA "- topic/li opsproc_exch/item " >
  • 13. Transform to DITA • Must adjust the source to make it into working DITA • Goal: Do as little as possible • Will need the reverse transform DITA Europe 2018
  • 14. Transformation Tasks • Generate DITA maps • Assign keys to topics • Ensure all topics have IDs • Add wrapper elements where required by DITA (e.g., topic bodies, <dlentry>, etc.) • Make links into keyrefs DITA Europe 2018
  • 15. Let's Look At Some Code DITA Europe 2018
  • 16. WAS IT A GOOD IDEA? DITA Europe 2018
  • 17. Did It Work? DITA Europe 2018 • Yes: As far as we were able to test it • Achieved: – Added DITA declarations to DTDs – Implemented transform to DITA – Import into CMS as DITA – PDF generation using Open Toolkit • Conclusion: – Approach is sound
  • 18. Was it A Good Idea? • I think so • Other alternatives very expensive: – Buy and maintain supplier's CMS offerings – Build ground-up CMS specific to supplier vocabularies – Build from-scratch authoring and publishing tools • Result is not "pure DITA" but who cares? DITA Europe 2018
  • 19. Costs of the Approach • Requires some amount of transform to and from original source XML • Transforms need to be maintained over time • DITA CMS will still require some amount of customization • Publishing tools will require customization DITA Europe 2018
  • 21. Resources • Minimum equipment list description: http://nata.aero/data/files/committee_mtgm emos/bestpracticemineqlistbp.pdf DITA Europe 2018