SlideShare a Scribd company logo
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 Parts
Daniel 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 2016
Embarcadero 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 Williams
jaxconf
 
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
Daniel McGhan
 
Odi ireland rittman
Odi ireland rittmanOdi ireland rittman
Odi ireland rittman
Pavankumartalla
 
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 Jitinau
LavaConConference
 
Pentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare RuleenginePentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare Ruleengine
uwe 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 REST
Sumit Sarkar
 
Domain Driven Design Tactical Patterns
Domain Driven Design Tactical PatternsDomain Driven Design Tactical Patterns
Domain Driven Design Tactical Patterns
Robert 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_latest
Dev Ganesh
 
uPortal 4 in Action
uPortal 4 in ActionuPortal 4 in Action
uPortal 4 in Action
Jim Helwig
 
HDF Tools Updates and Discussions
HDF Tools Updates and DiscussionsHDF Tools Updates and Discussions
HDF Tools Updates and Discussions
The HDF-EOS Tools and Information Center
 

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 Model
georgebina
 
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
SushruthNagaraj1
 
TWC 545 Presentation-DITA
TWC 545 Presentation-DITATWC 545 Presentation-DITA
TWC 545 Presentation-DITA
Linguistic Atlas Project
 
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 ModelSphere
modelspherepro
 
[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
Scott 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 Logging
Phil Wilkins
 
Large Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAPLarge Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAP
Youssef 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 GoldenGate
Michael 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 Authoring
Gunnar 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 Huber
Jahia 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 P6
p6academy
 
FluentD for end to end monitoring
FluentD for end to end monitoringFluentD for end to end monitoring
FluentD for end to end monitoring
Phil Wilkins
 
Oracle goldegate microservice
Oracle goldegate microserviceOracle goldegate microservice
Oracle goldegate microservice
Mojtaba Khandan
 
Hit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate MicroservicesHit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate Microservices
Bobby Curtis
 

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
 
Oracle goldegate microservice
Oracle goldegate microserviceOracle goldegate microservice
Oracle goldegate microservice
 
Hit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate MicroservicesHit Refresh with Oracle GoldenGate Microservices
Hit Refresh with Oracle GoldenGate Microservices
 

Recently uploaded

Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 

Recently uploaded (20)

Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 

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