SlideShare a Scribd company logo
1 of 42
Download to read offline
DITA Glass
Perceive everything as DITA
Radu Coravu
@radu_coravu
radu_coravu@oxygenxml.com
George Bina
@georgebina
george@oxygenxml.com
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Radu
George
Overview
● API documentation example
● Generalize to other formats
● DITA Glass idea
– URLs and DITA Glass URLs
● DITA Glass prototype implementation
● DITA Glass in action
– Excel, CSV, Google Sheets, HTML, MarkDown,
JavaDoc, XML Schema to DITA
– XML to SVG
● Conclusions and Q&A George and Radu
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Let's start with an example
Given:
● A Java SDK
● Java comments within the source
● Javadoc generated documentation
Requirements
● Provide an SDK API tutorial in DITA
The API tutorial should include reference
information for available classes, methods, etc.
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Java source
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
JavaDoc
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Possible solutions
● Refer to a published version of the Javadoc
documentation through an external link
● Duplicate information like parameter
descriptions in your DITA documentation
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
The DITA Glass solution
Point to a Java file using a special URL, as if it
was a DITA topic
Bring that virtual DITA topic into a map possibly
as a resource only topic and refer to parts of it
whenever you need information from the Java
source
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Many information formats
● XML based formats
● DITA, DocBook, custom XML schema
● Source embedded API documentation
● Javadoc, Doxygen
● HTML
● Markdown
● Office formats
● Spreadsheets, documents, presentations
● PDF
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Information Silos
● Marketing
● Development
● Technical
documentation
● Website content
● etc.
Source: http://en.wikipedia.org/wiki/Silo
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Problems with information silos
● Duplicate information
– Increased maintenance cost
– Inconsistent data
● Difficult to combine information from multiple
sources into a single publication
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
One solution
Breaking down the information silos!
Unified information model
(maybe DITA)
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Reality
This does not really work, at least not over night!
Slow down factors:
– volume and time of converting the content
– people skills – they need to learn new technologies/tools
– tools need to be updated to support the unified format
– complexity of the unified format
This may not be the right solution
What can we do in this permanent transition phase?
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
DITA
Map
Javadoc to DITA
Excel to DITA
DITA Glass solution:
dynamic content conversion through URLs
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
URLs
URL = Universal Resource Locator
Any document can be accessed though a URL
URL encodes information about the document
http://user:password@www.example.com/path/to/file.ext?param1=val1&param2=val2
● Access protocol
● Access credentials
● Location
● Resource path
● Processing parameters
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
A reference to a DITA topic
<topicref format="dita" href="URL" />
file:/path/to/file.dita
http://server/cgi?file=file.dita
DITA XML https://server/path/to/file.dita
ftp://server/path/to/file.dita
zip:URL!/path/to/file.dita
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
A reference to a virtual DITA topic
encoded as a Java file
convert:/processor=xslt;ss=urn:processors:javaToTopic.xsl/
processor=java;jars=urn:processors:jars;ccn=j.to.xml.JavaToXML!/
urn:files:java/WSEditorBase.java
URL scheme Java-XML to DITA XSLT-based conversion
Java source to Java-XML
Target Java file
Map
Java to DITA
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
A reference to a virtual DITA topic
encoded as an Excel file
convert:/processor=xslt;ss=urn:processors:excel2d.xsl/
processor=excel;sn=sample!/urn:files:sample.xls
URL scheme XML to DITA XSLT-based conversion
Excel to XML conversion Target Excel file
Map
Excel to DITA
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
DITA Glass
Moving from concept to implementation
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Processors pipeline -read only
P1P2...P(n)
Original contentConverted content
Support “convert:” URLs:
convert:/pipelineStepN/.../pipelineStep1!/targetContentURL
Custom URL Handler which converts content via a pipeline
of stages
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Processors pipeline – read/write
● A processor only converts one way
● But a pipeline can also contain reversed
processors which output content
● So you can potentially edit content in one
format and save in another
convert:/reversePipeline1/…/reversePipelineM/
pipelineStepN/.../pipelineStep1!/targetContentURL
P1P2...P(n)
RP1 RP2 ... RP(m)
Target fileEdited file
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
XML Catalogs
Define aliases for different conversions and resource collections
convert:/processor=xslt;ss=urn:processors:excel2d.xsl/
processor=excel;sn=sample!/urn:files:sample.xls
excel2dita:/urn:files:sample.xls
<rewriteURI uriStartString="excel2dita:/"
rewritePrefix="convert:/processor=xslt;ss=urn:processors:excel2d.xsl/processor=excel;sn=sample!/">
<rewriteURI uriStartString="urn:processors:" rewritePrefix="processors/"/>
<rewriteURI uriStartString="urn:files:" rewritePrefix="resources/"/>
file://path/to/.../resources/sample.xls
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Implemented processors
● Excel to XML
● JSON to XML
● HTML to XHTML
● XSLT/XQuery
● Javascript
● Java
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Examples of third-party formats
Plain HTML
Custom XML
Markdown
Excel
Comma separated values (CSV)
Documentation embedded directly in code}
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Excel to DITA
● Excel to XML
● XML to DITA Topic
<topicref href="convert:/proc=xslt;ss=excel2d.xsl/proc=excel;sn=sample!/urn:files/sample.xls"/>
<topicref href="excel2dita:/urn:files/sample.xls"/>
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Potential Benefits:
● Dynamically create DITA tables from
spreadsheet tables
● Various table column computations are
automatically done in Excel.
● Single source content
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
HTML to DITA
● HTML to XHTML
● XHTML to DITA
<topicref href="convert:/proc=xslt;ss=h2d.xsl/proc=xhtml!/urn:files/care.html" format="dita"/>
<topicref href="html2dita:/urn:files/care.html" format="dita"/>
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Potential Benefits:
● Use online tools to gather content
● Use existing content published by some other
entity
● Single source content
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
MarkDown to DITA
● MarkDown to HTML
● HTML to XHTML
● XHTML to DITA
<topicref href="convert:/proc=xslt;ss=h2d.xsl/proc=xhtml/proc=js;js=converter.js..!/../sample.md"/>
<topicref href="md2dita:/urn:files/sample.md"/>
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Potential Benefits:
● Gather API-related input from developers
● Single source content
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
XML Schema to DITA
● Preserve annotations
● Show content model
<topicref href="convert:/processor=xslt;ss=urn:proc:xsdToTopic.xsl!/urn:files/personal.xsd"/>
<topicref href="xsd2dita:/urn:files/personal.xsd"/>
<element name="name">
<annotation>
<documentation>Specifies the person
family and given
name.</documentation>
</annotation>
<complexType>
<all>
<element ref="p:family"/>
<element ref="p:given"/>
</all>
</complexType>
</element>
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Potential Benefits:
● Integrate basic XML Schema documentation in
DITA-based project.
● Single source content
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Javadoc to DITA
● Javadoc HTML to XHTML
● XHTML to DITA
<topicref
href="convert:/proc=xslt;ss=urn:proc:jdToTopic.xsl/proc=xhtml/!/urn:files:ButtonEditor.html"/>
<topicref href="javadoc2dita:/urn:files:ButtonEditor.html"/>
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Potential Benefits:
● Publish DITA conversion of Javadoc to PDF
● Single source content
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Java to DITA
● Java to XML
● XHTML to DITA
<topicref
href="convert:/processor=xslt;ss=urn:processors:javaToTopic.xsl/processor=java;jars=urn:proc
essors:jars;ccn=j.to.xml.JavaToXML!/urn:files:WSAuthorEditorPage.java"/>
<topicref href="javadoc2dita:/urn:files:WSAuthorEditorPage.java"/>
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Dynamic reports in DITA
● Excel to XML
● XML to SVG
● SVG referred in DITA topic
<image href="convert:/proc=xslt;ss=sales.xsl/proc=excel;sn=sample!/../sales.xml"/>
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Potential Benefits:
● Publish graphs which dynamically change in
time
● Single source content
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
CSV to DITA (and back...)
● CSV (Comma separated values) to DITA
● DITA to CSV
<topicref href="convert:/rprocessor=xslt;ss=urn:processors:dita2csv.xsl/
processor=xslt;ss=urn:processors:csvtext2dita.xsl/processor=wrap
!/urn:files:sample.csv" format="dita"/>
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Potential Benefits:
● Convert database exports to DITA tables
● Edit DITA tables and update CSV content
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Related work
Processor support for different DITA topicref
format values
Implemented in the pre-processing stage of the
publishing engine (DITA-OT)
<topicref href="sample.md" format="markdown"/>
DITA Open Toolkit pre-processing stage which
receives the stream of content as MarkDown
and converts it on the fly to DITA
http://jelovirt.github.io/2015/02/06/dita-markdown.html
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Presentation samples
https://github.com/oxygenxml/dita-glass
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Conclusions
● DITA Glass can seamlessly bring together
different formats in a single DITA publication
● Simple, yet very powerful – just refer a resource
thought a URL
● A generic approach, not limited to DITA - see
the XML data to SVG graphics example
● Available as part of oXygen 17
Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved.
DITA GlassDITA Glass
Thank you
Questions?
radu_coravu@oxygenxml.com
@radu_coravu
george@oxygenxml.com
@georgebina
http://www.oxygenxml.com

More Related Content

What's hot

Dynamic Actions, the Hard Parts
Dynamic Actions, the Hard PartsDynamic Actions, the Hard Parts
Dynamic Actions, the Hard PartsDaniel McGhan
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Embarcadero Technologies
 
Creating Data Driven Web Apps with BIRT - Michael Williams
Creating Data Driven Web Apps with BIRT - Michael WilliamsCreating Data Driven Web Apps with BIRT - Michael Williams
Creating Data Driven Web Apps with BIRT - Michael Williamsjaxconf
 
Module 2: Adding JavaScript to APEX Apps
Module 2: Adding JavaScript to APEX AppsModule 2: Adding JavaScript to APEX Apps
Module 2: Adding JavaScript to APEX AppsDaniel McGhan
 
Session 2.4 virtual construction (v-con) and top braid cde – a linked data/...
Session 2.4   virtual construction (v-con) and top braid cde – a linked data/...Session 2.4   virtual construction (v-con) and top braid cde – a linked data/...
Session 2.4 virtual construction (v-con) and top braid cde – a linked data/...semanticsconference
 
When DITA meets Markdown | Alex Jitinau
When DITA meets Markdown | Alex JitinauWhen DITA meets Markdown | Alex Jitinau
When DITA meets Markdown | Alex JitinauLavaConConference
 
Pentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare RuleenginePentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare Ruleengineuwe geercken
 
Hybrid Data Pipeline for SQL and REST
Hybrid Data Pipeline for SQL and RESTHybrid Data Pipeline for SQL and REST
Hybrid Data Pipeline for SQL and RESTSumit Sarkar
 
Domain Driven Design Tactical Patterns
Domain Driven Design Tactical PatternsDomain Driven Design Tactical Patterns
Domain Driven Design Tactical PatternsRobert Alexe
 
20121024 smw con_fall_michael_erdmann_agile_knowledge_management_with_smw+
20121024 smw con_fall_michael_erdmann_agile_knowledge_management_with_smw+20121024 smw con_fall_michael_erdmann_agile_knowledge_management_with_smw+
20121024 smw con_fall_michael_erdmann_agile_knowledge_management_with_smw+DIQA Projektmanagement GmbH
 
Ganesh_Elangovan_5_yrs_exp_latest
Ganesh_Elangovan_5_yrs_exp_latestGanesh_Elangovan_5_yrs_exp_latest
Ganesh_Elangovan_5_yrs_exp_latestDev Ganesh
 
uPortal 4 in Action
uPortal 4 in ActionuPortal 4 in Action
uPortal 4 in ActionJim Helwig
 

What's hot (14)

Dynamic Actions, the Hard Parts
Dynamic Actions, the Hard PartsDynamic Actions, the Hard Parts
Dynamic Actions, the Hard Parts
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016
 
Creating Data Driven Web Apps with BIRT - Michael Williams
Creating Data Driven Web Apps with BIRT - Michael WilliamsCreating Data Driven Web Apps with BIRT - Michael Williams
Creating Data Driven Web Apps with BIRT - Michael Williams
 
Module 2: Adding JavaScript to APEX Apps
Module 2: Adding JavaScript to APEX AppsModule 2: Adding JavaScript to APEX Apps
Module 2: Adding JavaScript to APEX Apps
 
Odi ireland rittman
Odi ireland rittmanOdi ireland rittman
Odi ireland rittman
 
Session 2.4 virtual construction (v-con) and top braid cde – a linked data/...
Session 2.4   virtual construction (v-con) and top braid cde – a linked data/...Session 2.4   virtual construction (v-con) and top braid cde – a linked data/...
Session 2.4 virtual construction (v-con) and top braid cde – a linked data/...
 
When DITA meets Markdown | Alex Jitinau
When DITA meets Markdown | Alex JitinauWhen DITA meets Markdown | Alex Jitinau
When DITA meets Markdown | Alex Jitinau
 
Pentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare RuleenginePentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare Ruleengine
 
Hybrid Data Pipeline for SQL and REST
Hybrid Data Pipeline for SQL and RESTHybrid Data Pipeline for SQL and REST
Hybrid Data Pipeline for SQL and REST
 
Domain Driven Design Tactical Patterns
Domain Driven Design Tactical PatternsDomain Driven Design Tactical Patterns
Domain Driven Design Tactical Patterns
 
20121024 smw con_fall_michael_erdmann_agile_knowledge_management_with_smw+
20121024 smw con_fall_michael_erdmann_agile_knowledge_management_with_smw+20121024 smw con_fall_michael_erdmann_agile_knowledge_management_with_smw+
20121024 smw con_fall_michael_erdmann_agile_knowledge_management_with_smw+
 
Ganesh_Elangovan_5_yrs_exp_latest
Ganesh_Elangovan_5_yrs_exp_latestGanesh_Elangovan_5_yrs_exp_latest
Ganesh_Elangovan_5_yrs_exp_latest
 
uPortal 4 in Action
uPortal 4 in ActionuPortal 4 in Action
uPortal 4 in Action
 
HDF Tools Updates and Discussions
HDF Tools Updates and DiscussionsHDF Tools Updates and Discussions
HDF Tools Updates and Discussions
 

Similar to DITA Glass

Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...Information Development World
 
The Dynamic Information Model
The Dynamic Information ModelThe Dynamic Information Model
The Dynamic Information Modelgeorgebina
 
SODA Framework Projects 25 Sep 2022 v1.pptx
SODA Framework Projects 25 Sep 2022 v1.pptxSODA Framework Projects 25 Sep 2022 v1.pptx
SODA Framework Projects 25 Sep 2022 v1.pptxSushruthNagaraj1
 
Collaborative environment with data science notebook
Collaborative environment with data science notebook Collaborative environment with data science notebook
Collaborative environment with data science notebook Moon Soo Lee
 
Oracle Plug-in For Open ModelSphere
Oracle Plug-in For Open ModelSphereOracle Plug-in For Open ModelSphere
Oracle Plug-in For Open ModelSpheremodelspherepro
 
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why'sScott Abel
 
Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingPhil Wilkins
 
Large Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAPLarge Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAPYoussef Bennani
 
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e... Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...VMware Tanzu
 
Building a Stock Prediction system with Machine Learning using Geode, SpringX...
Building a Stock Prediction system with Machine Learning using Geode, SpringX...Building a Stock Prediction system with Machine Learning using Geode, SpringX...
Building a Stock Prediction system with Machine Learning using Geode, SpringX...William Markito Oliveira
 
Continuous Data Replication into Cloud Storage with Oracle GoldenGate
Continuous Data Replication into Cloud Storage with Oracle GoldenGateContinuous Data Replication into Cloud Storage with Oracle GoldenGate
Continuous Data Replication into Cloud Storage with Oracle GoldenGateMichael Rainey
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...SAP Cloud Platform
 
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Phil Wilkins
 
Buzzword at Work - An Agile Approach to Spezialized DITA-based Authoring
Buzzword at Work - An Agile Approach to Spezialized DITA-based AuthoringBuzzword at Work - An Agile Approach to Spezialized DITA-based Authoring
Buzzword at Work - An Agile Approach to Spezialized DITA-based AuthoringGunnar Krause
 
Learn how to go headless with Jahia DX by Serge Huber
Learn how to go headless with Jahia DX by Serge HuberLearn how to go headless with Jahia DX by Serge Huber
Learn how to go headless with Jahia DX by Serge HuberJahia Solutions Group
 
Utilizing BI 11g Reporting To Get The Most Out of P6
Utilizing BI 11g Reporting To Get The Most Out of P6Utilizing BI 11g Reporting To Get The Most Out of P6
Utilizing BI 11g Reporting To Get The Most Out of P6p6academy
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoringPhil Wilkins
 
Hit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate MicroservicesHit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate MicroservicesBobby Curtis
 
Oracle goldegate microservice
Oracle goldegate microserviceOracle goldegate microservice
Oracle goldegate microserviceMojtaba Khandan
 

Similar to DITA Glass (20)

Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
Single-Source Publishing Across Multiple Formats with George Bina and Radu Co...
 
The Dynamic Information Model
The Dynamic Information ModelThe Dynamic Information Model
The Dynamic Information Model
 
SODA Framework Projects 25 Sep 2022 v1.pptx
SODA Framework Projects 25 Sep 2022 v1.pptxSODA Framework Projects 25 Sep 2022 v1.pptx
SODA Framework Projects 25 Sep 2022 v1.pptx
 
TWC 545 Presentation-DITA
TWC 545 Presentation-DITATWC 545 Presentation-DITA
TWC 545 Presentation-DITA
 
Collaborative environment with data science notebook
Collaborative environment with data science notebook Collaborative environment with data science notebook
Collaborative environment with data science notebook
 
Oracle Plug-in For Open ModelSphere
Oracle Plug-in For Open ModelSphereOracle Plug-in For Open ModelSphere
Oracle Plug-in For Open ModelSphere
 
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
[Case Study] - Nuclear Power, DITA and FrameMaker: The How's and Why's
 
Is 12 Factor App Right About Logging
Is 12 Factor App Right About LoggingIs 12 Factor App Right About Logging
Is 12 Factor App Right About Logging
 
Large Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAPLarge Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAP
 
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e... Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 
Building a Stock Prediction system with Machine Learning using Geode, SpringX...
Building a Stock Prediction system with Machine Learning using Geode, SpringX...Building a Stock Prediction system with Machine Learning using Geode, SpringX...
Building a Stock Prediction system with Machine Learning using Geode, SpringX...
 
Continuous Data Replication into Cloud Storage with Oracle GoldenGate
Continuous Data Replication into Cloud Storage with Oracle GoldenGateContinuous Data Replication into Cloud Storage with Oracle GoldenGate
Continuous Data Replication into Cloud Storage with Oracle GoldenGate
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
 
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
Fluentd – Making Logging Easy & Effective in a Multi-cloud & Hybrid Environme...
 
Buzzword at Work - An Agile Approach to Spezialized DITA-based Authoring
Buzzword at Work - An Agile Approach to Spezialized DITA-based AuthoringBuzzword at Work - An Agile Approach to Spezialized DITA-based Authoring
Buzzword at Work - An Agile Approach to Spezialized DITA-based Authoring
 
Learn how to go headless with Jahia DX by Serge Huber
Learn how to go headless with Jahia DX by Serge HuberLearn how to go headless with Jahia DX by Serge Huber
Learn how to go headless with Jahia DX by Serge Huber
 
Utilizing BI 11g Reporting To Get The Most Out of P6
Utilizing BI 11g Reporting To Get The Most Out of P6Utilizing BI 11g Reporting To Get The Most Out of P6
Utilizing BI 11g Reporting To Get The Most Out of P6
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
 
Hit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate MicroservicesHit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate Microservices
 
Oracle goldegate microservice
Oracle goldegate microserviceOracle goldegate microservice
Oracle goldegate microservice
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
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
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 

DITA Glass

  • 1. DITA Glass Perceive everything as DITA Radu Coravu @radu_coravu radu_coravu@oxygenxml.com George Bina @georgebina george@oxygenxml.com
  • 2. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Radu George Overview ● API documentation example ● Generalize to other formats ● DITA Glass idea – URLs and DITA Glass URLs ● DITA Glass prototype implementation ● DITA Glass in action – Excel, CSV, Google Sheets, HTML, MarkDown, JavaDoc, XML Schema to DITA – XML to SVG ● Conclusions and Q&A George and Radu
  • 3. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Let's start with an example Given: ● A Java SDK ● Java comments within the source ● Javadoc generated documentation Requirements ● Provide an SDK API tutorial in DITA The API tutorial should include reference information for available classes, methods, etc.
  • 4. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Java source
  • 5. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass JavaDoc
  • 6. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Possible solutions ● Refer to a published version of the Javadoc documentation through an external link ● Duplicate information like parameter descriptions in your DITA documentation
  • 7. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass The DITA Glass solution Point to a Java file using a special URL, as if it was a DITA topic Bring that virtual DITA topic into a map possibly as a resource only topic and refer to parts of it whenever you need information from the Java source
  • 8. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Many information formats ● XML based formats ● DITA, DocBook, custom XML schema ● Source embedded API documentation ● Javadoc, Doxygen ● HTML ● Markdown ● Office formats ● Spreadsheets, documents, presentations ● PDF
  • 9. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Information Silos ● Marketing ● Development ● Technical documentation ● Website content ● etc. Source: http://en.wikipedia.org/wiki/Silo
  • 10. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Problems with information silos ● Duplicate information – Increased maintenance cost – Inconsistent data ● Difficult to combine information from multiple sources into a single publication
  • 11. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass One solution Breaking down the information silos! Unified information model (maybe DITA)
  • 12. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Reality This does not really work, at least not over night! Slow down factors: – volume and time of converting the content – people skills – they need to learn new technologies/tools – tools need to be updated to support the unified format – complexity of the unified format This may not be the right solution What can we do in this permanent transition phase?
  • 13. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass DITA Map Javadoc to DITA Excel to DITA DITA Glass solution: dynamic content conversion through URLs
  • 14. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass URLs URL = Universal Resource Locator Any document can be accessed though a URL URL encodes information about the document http://user:password@www.example.com/path/to/file.ext?param1=val1&param2=val2 ● Access protocol ● Access credentials ● Location ● Resource path ● Processing parameters
  • 15. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass A reference to a DITA topic <topicref format="dita" href="URL" /> file:/path/to/file.dita http://server/cgi?file=file.dita DITA XML https://server/path/to/file.dita ftp://server/path/to/file.dita zip:URL!/path/to/file.dita
  • 16. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass A reference to a virtual DITA topic encoded as a Java file convert:/processor=xslt;ss=urn:processors:javaToTopic.xsl/ processor=java;jars=urn:processors:jars;ccn=j.to.xml.JavaToXML!/ urn:files:java/WSEditorBase.java URL scheme Java-XML to DITA XSLT-based conversion Java source to Java-XML Target Java file Map Java to DITA
  • 17. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass A reference to a virtual DITA topic encoded as an Excel file convert:/processor=xslt;ss=urn:processors:excel2d.xsl/ processor=excel;sn=sample!/urn:files:sample.xls URL scheme XML to DITA XSLT-based conversion Excel to XML conversion Target Excel file Map Excel to DITA
  • 18. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass DITA Glass Moving from concept to implementation
  • 19. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Processors pipeline -read only P1P2...P(n) Original contentConverted content Support “convert:” URLs: convert:/pipelineStepN/.../pipelineStep1!/targetContentURL Custom URL Handler which converts content via a pipeline of stages
  • 20. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Processors pipeline – read/write ● A processor only converts one way ● But a pipeline can also contain reversed processors which output content ● So you can potentially edit content in one format and save in another convert:/reversePipeline1/…/reversePipelineM/ pipelineStepN/.../pipelineStep1!/targetContentURL P1P2...P(n) RP1 RP2 ... RP(m) Target fileEdited file
  • 21. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass XML Catalogs Define aliases for different conversions and resource collections convert:/processor=xslt;ss=urn:processors:excel2d.xsl/ processor=excel;sn=sample!/urn:files:sample.xls excel2dita:/urn:files:sample.xls <rewriteURI uriStartString="excel2dita:/" rewritePrefix="convert:/processor=xslt;ss=urn:processors:excel2d.xsl/processor=excel;sn=sample!/"> <rewriteURI uriStartString="urn:processors:" rewritePrefix="processors/"/> <rewriteURI uriStartString="urn:files:" rewritePrefix="resources/"/> file://path/to/.../resources/sample.xls
  • 22. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Implemented processors ● Excel to XML ● JSON to XML ● HTML to XHTML ● XSLT/XQuery ● Javascript ● Java
  • 23. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Examples of third-party formats Plain HTML Custom XML Markdown Excel Comma separated values (CSV) Documentation embedded directly in code}
  • 24. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Excel to DITA ● Excel to XML ● XML to DITA Topic <topicref href="convert:/proc=xslt;ss=excel2d.xsl/proc=excel;sn=sample!/urn:files/sample.xls"/> <topicref href="excel2dita:/urn:files/sample.xls"/>
  • 25. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Potential Benefits: ● Dynamically create DITA tables from spreadsheet tables ● Various table column computations are automatically done in Excel. ● Single source content
  • 26. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass HTML to DITA ● HTML to XHTML ● XHTML to DITA <topicref href="convert:/proc=xslt;ss=h2d.xsl/proc=xhtml!/urn:files/care.html" format="dita"/> <topicref href="html2dita:/urn:files/care.html" format="dita"/>
  • 27. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Potential Benefits: ● Use online tools to gather content ● Use existing content published by some other entity ● Single source content
  • 28. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass MarkDown to DITA ● MarkDown to HTML ● HTML to XHTML ● XHTML to DITA <topicref href="convert:/proc=xslt;ss=h2d.xsl/proc=xhtml/proc=js;js=converter.js..!/../sample.md"/> <topicref href="md2dita:/urn:files/sample.md"/>
  • 29. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Potential Benefits: ● Gather API-related input from developers ● Single source content
  • 30. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass XML Schema to DITA ● Preserve annotations ● Show content model <topicref href="convert:/processor=xslt;ss=urn:proc:xsdToTopic.xsl!/urn:files/personal.xsd"/> <topicref href="xsd2dita:/urn:files/personal.xsd"/> <element name="name"> <annotation> <documentation>Specifies the person family and given name.</documentation> </annotation> <complexType> <all> <element ref="p:family"/> <element ref="p:given"/> </all> </complexType> </element>
  • 31. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Potential Benefits: ● Integrate basic XML Schema documentation in DITA-based project. ● Single source content
  • 32. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Javadoc to DITA ● Javadoc HTML to XHTML ● XHTML to DITA <topicref href="convert:/proc=xslt;ss=urn:proc:jdToTopic.xsl/proc=xhtml/!/urn:files:ButtonEditor.html"/> <topicref href="javadoc2dita:/urn:files:ButtonEditor.html"/>
  • 33. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Potential Benefits: ● Publish DITA conversion of Javadoc to PDF ● Single source content
  • 34. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Java to DITA ● Java to XML ● XHTML to DITA <topicref href="convert:/processor=xslt;ss=urn:processors:javaToTopic.xsl/processor=java;jars=urn:proc essors:jars;ccn=j.to.xml.JavaToXML!/urn:files:WSAuthorEditorPage.java"/> <topicref href="javadoc2dita:/urn:files:WSAuthorEditorPage.java"/>
  • 35. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Dynamic reports in DITA ● Excel to XML ● XML to SVG ● SVG referred in DITA topic <image href="convert:/proc=xslt;ss=sales.xsl/proc=excel;sn=sample!/../sales.xml"/>
  • 36. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Potential Benefits: ● Publish graphs which dynamically change in time ● Single source content
  • 37. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass CSV to DITA (and back...) ● CSV (Comma separated values) to DITA ● DITA to CSV <topicref href="convert:/rprocessor=xslt;ss=urn:processors:dita2csv.xsl/ processor=xslt;ss=urn:processors:csvtext2dita.xsl/processor=wrap !/urn:files:sample.csv" format="dita"/>
  • 38. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Potential Benefits: ● Convert database exports to DITA tables ● Edit DITA tables and update CSV content
  • 39. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Related work Processor support for different DITA topicref format values Implemented in the pre-processing stage of the publishing engine (DITA-OT) <topicref href="sample.md" format="markdown"/> DITA Open Toolkit pre-processing stage which receives the stream of content as MarkDown and converts it on the fly to DITA http://jelovirt.github.io/2015/02/06/dita-markdown.html
  • 40. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Presentation samples https://github.com/oxygenxml/dita-glass
  • 41. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Conclusions ● DITA Glass can seamlessly bring together different formats in a single DITA publication ● Simple, yet very powerful – just refer a resource thought a URL ● A generic approach, not limited to DITA - see the XML data to SVG graphics example ● Available as part of oXygen 17
  • 42. Copyright @ Syncro Soft, 2015. All rights reserved.Copyright @ Syncro Soft, 2015. All rights reserved. DITA GlassDITA Glass Thank you Questions? radu_coravu@oxygenxml.com @radu_coravu george@oxygenxml.com @georgebina http://www.oxygenxml.com