SlideShare ist ein Scribd-Unternehmen logo
1 von 22
DITA Open Toolkit Extensions

           IEn2012




                          www.sperotech.com
Table of contents
Who I am
The OT overview - what is it and how does it works
Adding your own custom processing
Conclusions
Q&A




                                                www.sperotech.com
Sperotech Background
Software and services company

Founded in 2009, located in Amsterdam

Specializes in solutions for ECM, CCM and user assistance
    Traditional manuals and online help
    Interactive (embedded) user guidance and support systems
    Authoring and publishing (workflow and collaboration based) solutions

Expertise (10+ years):
    SharePoint and OpenText Enterprise Content Management and Collaboration
    Design and implement information architectures
    Content processes and workflow
    XMetaL, Oxygen XML and FrameMaker authoring tools
    CSS, XSLT and XSL-FO stylesheets, DITA Open Toolkit customizations
    Develop and deliver end user trainings
    Legacy content migration
    User assistance RIA applications


                                                                                           3
                                                                              www.sperotech.com
WHAT IS THE OT AND HOW
DOES IT WORKS

                         www.sperotech.com
The DITA Open Toolkit
A set of Java-based, open source tools that provide
processing for DITA maps and topic content
Can be downloaded and installed for free on a
computer to get started with topic-based writing and
publishing




                                                             5
                                                www.sperotech.com
User Build Flow



Initialize build          Set properties            Import build files            Build target

    • Name                    • OT base directory       • Integrator build            • Call main build
    • Default target          • (any other                file to install plug-         with input,
    • Working directory         properties)               ins and extensions            output, and
                                                                                        transtype




                                                                                                          6
                                                                                           www.sperotech.com
Main Build Flow


Initialize build       Import build          Set class path         Transformation
                       files                 for
    • Name                • Initialization      • FO processing        • Parse transtype
    • Default target      • Preprocess          • DITA processing        argument to
    • Base directory      • General               engine                 call
                                                                         transformation
                          • Transform
                                                                         type build file
                            types




                                                                                       7
                                                                          www.sperotech.com
Build Initialization
1                   2

        Start
                        Initialize logger
     processing


3                   4
                           Initialize
    Configure URI
                         software tool
      resolver
                             usage

5                   6
                           Output
       Check
                        parameter info
     arguments
                         and warnings
                                Java pipeline
                                 ANT built-in




                                                             8
                                                www.sperotech.com
Main Build Flow


Initialize build       Import build          Set class path         Transformation
                       files                 for
    • Name                • Initialization      • FO processing        • Parse transtype
    • Default target      • Preprocess          • DITA processing        argument to
    • Base directory      • General               engine                 call
                                                                         transformation
                          • Transform
                                                                         type build file
                            types




                                                                                       9
                                                                          www.sperotech.com
Build Preprocess
1                        2                       3                       4
                              Generate list of        Debug and filter         Copy files to
     Start preprocess
                                  files                 input files           output folder



5                        6                       7                       8
         Content
                                  Content             Move metadata           Key references
     reference push
                             reference resolve         into topics               resolve
         resolve


9                        10                      11                      12
                                                      Pull <navtitle>
     Code reference           Map reference
                                                     and <topicmeta>          Process chunks
        resolve                 resolve
                                                         into map


13                       14                      15
                                                     Pull metadata for           Java pipeline
        Find and             Move related link
                                                     <link> and <xref>
    generate link info        info to topics                                         XSLT
                                                         into topic
                                                                                  ANT built-in




                                                                                                             10
                                                                                                 www.sperotech.com
Main Build Flow


Initialize build       Import build          Set class path         Transformation
                       files                 for
    • Name                • Initialization      • FO processing        • Parse transtype
    • Default target      • Preprocess          • DITA processing        argument to
    • Base directory      • General               engine                 call
                                                                         transformation
                          • Transform
                                                                         type build file
                            types




                                                                                      11
                                                                          www.sperotech.com
Transformation Type Build Flow



Initialize build      Set properties        Run build              Specific tasks
                                            targets
   • Name                • Transformation      • Initialization       • Files specific to
   • Default target        type                • Preprocess             output
                                               • Topic transform        deliverable




                                                                                       12
                                                                           www.sperotech.com
Supports multiple output formats
XHTML
PDF
Eclipse Help
HTML Help
JavaHelp
EPUB
MOBI
…

                                          13
                              www.sperotech.com
Pipeline processing
                           ANT
                 (Build file and scripts)
     •Input files and arguments
     •Output specifications




                                                                                       output


  OTJava                     XSLT                             Rendering
  Engine                                                       Engine




9/27/2010                                                                                             14
                         Introduction to the DITA Open Toolkit Customization Webinar      www.sperotech.com
dita2xhtml
1                      2


    Initialize build        Preprocess



3                      4
         Create            Copy revision
      index.html           flag image to
       from map              output dir

5                      6

    Copy CSS file to         Transform
      output dir           topics to xhtml

                                     XSLT
                                  ANT built-in




                                                             15
                                                 www.sperotech.com
ADDING YOUR OWN CUSTOM
PROCESSING

                     www.sperotech.com
plugin.xml
<plugin id=" ">
  <feature extension="❷" value="❸" type="❹"/>
  <require plugin="❺" importance="❻"/>
  <template file="❼"/>
</plugin>


- unique id of plugin                      Examples
- type of extension                        Add version info and processing before preprocessing
- value for the feature (type)             <plugin id="com.sample.myplugin"
                                             <feature
- type ("text" or "file")                      extension="package.support.version"
- name of plug-in it depends on; use "|"      value="1.2"
  to separate multiple plug-ins              />
- Set to "optional" to allow integration     <feature
  to continue of plug-in is missing           extension="depend.preprocess.post"
                                              value="myTargetAfterPreprocess"
- Name of the file that must be treated        type="text“
  as a template if plug-in has extension     />
  points                                   </plugin>



                                                                                                   17
                                                                                       www.sperotech.com
How to package a plug-in
doc       Documentation
dtd       Document Type Definitions
xsd       XML Schema files
xsl       XSL transformation files
Sample    Sample files


                                      www.sperotech.com
How to add your own XSLT
              processing
XSLT template files have an extension instruction
<dita:extension>
You plug in your XSLT processing through and
<xsl:import>
               Your XSLT
                                             transtype
                                                XSLT
 Plug-in
                                Plug-in     <xsl:import
 Feature
                transtype                   href="…"/>
extension                     Integration
              XSLT template

                Extension
                 element


                                                                      19
                                                          www.sperotech.com
Conclusions
Open Toolkit (OT) is a set of Java-based open source tools for
processing DITA Maps and Topics
The OT can be used to create different types of output
deliverables (transformation types)
Only proper way to extend the OT is through plugins
ANT scripts define and control the build flow
Most extensions (custom processing) are done through by
plugging in your own processing at extension points using ANT
and XSLT
Formatting is best done afterwards through formatting
instructions (CSS, XSL:FO)
Plug-ins must be packaged into a folder structure and installed
into the demo or plugins folder of the OT


                                                         www.sperotech.com
www.sperotech.com
Thank you
  Marc Speyer
  Mobile: +31 655 117 459
  Email: mspeyer@sperotech.com
  Website: www.sperotech.com
  Twitter: #sperotech

Leave your business card or send me an email for a white paper
on a tool to help you create DITA specializations.



                                                          www.sperotech.com

Weitere ähnliche Inhalte

Was ist angesagt?

AD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even EasierAD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even Easierpdhannan
 
Know Your Competitor - Oracle 10g Express Edition
Know Your Competitor - Oracle 10g Express EditionKnow Your Competitor - Oracle 10g Express Edition
Know Your Competitor - Oracle 10g Express EditionRonald Bradford
 
S313557 java ee_programming_model_explained_dochez
S313557 java ee_programming_model_explained_dochezS313557 java ee_programming_model_explained_dochez
S313557 java ee_programming_model_explained_dochezJerome Dochez
 
Contexts and Dependency Injection for the JavaEE platform
Contexts and Dependency Injection for the JavaEE platformContexts and Dependency Injection for the JavaEE platform
Contexts and Dependency Injection for the JavaEE platformBozhidar Bozhanov
 
Using Contexts & Dependency Injection in the Java EE 6 Platform
Using Contexts & Dependency Injection in the Java EE 6 PlatformUsing Contexts & Dependency Injection in the Java EE 6 Platform
Using Contexts & Dependency Injection in the Java EE 6 PlatformArun Gupta
 
Oracle10g new features
Oracle10g  new featuresOracle10g  new features
Oracle10g new featuresTanvi_Agrawal
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Mani Sarkar
 
Hibernate Interview Questions
Hibernate Interview QuestionsHibernate Interview Questions
Hibernate Interview QuestionsSyed Shahul
 
Workflow bis17
Workflow bis17Workflow bis17
Workflow bis17sakpob
 

Was ist angesagt? (10)

Ta3
Ta3Ta3
Ta3
 
AD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even EasierAD116 XPages Extension Library: Making Application Development Even Easier
AD116 XPages Extension Library: Making Application Development Even Easier
 
Know Your Competitor - Oracle 10g Express Edition
Know Your Competitor - Oracle 10g Express EditionKnow Your Competitor - Oracle 10g Express Edition
Know Your Competitor - Oracle 10g Express Edition
 
S313557 java ee_programming_model_explained_dochez
S313557 java ee_programming_model_explained_dochezS313557 java ee_programming_model_explained_dochez
S313557 java ee_programming_model_explained_dochez
 
Contexts and Dependency Injection for the JavaEE platform
Contexts and Dependency Injection for the JavaEE platformContexts and Dependency Injection for the JavaEE platform
Contexts and Dependency Injection for the JavaEE platform
 
Using Contexts & Dependency Injection in the Java EE 6 Platform
Using Contexts & Dependency Injection in the Java EE 6 PlatformUsing Contexts & Dependency Injection in the Java EE 6 Platform
Using Contexts & Dependency Injection in the Java EE 6 Platform
 
Oracle10g new features
Oracle10g  new featuresOracle10g  new features
Oracle10g new features
 
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
 
Hibernate Interview Questions
Hibernate Interview QuestionsHibernate Interview Questions
Hibernate Interview Questions
 
Workflow bis17
Workflow bis17Workflow bis17
Workflow bis17
 

Ähnlich wie Ien2012 DITA Open Toolkit Extension

Web Development with Python and Django
Web Development with Python and DjangoWeb Development with Python and Django
Web Development with Python and DjangoMichael Pirnat
 
Deployment Strategies: Managing Code, Content, and Configurations
Deployment Strategies: Managing Code, Content, and ConfigurationsDeployment Strategies: Managing Code, Content, and Configurations
Deployment Strategies: Managing Code, Content, and Configurationsnyccamp
 
HBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring BudgetHBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring BudgetCloudera, Inc.
 
Python - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguagePython - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguageTsungWei Hu
 
Configure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation WorkshopConfigure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation WorkshopNovell
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions Alfresco Software
 
C P Doc Rev Story
C P Doc Rev StoryC P Doc Rev Story
C P Doc Rev StoryCp Docrev
 
Hadoop engineering bo_f_final
Hadoop engineering bo_f_finalHadoop engineering bo_f_final
Hadoop engineering bo_f_finalRamya Sunil
 
VA Smalltalk Update
VA Smalltalk UpdateVA Smalltalk Update
VA Smalltalk UpdateESUG
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilRoopa Nadkarni
 
04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment WorkshopChuong Nguyen
 
Spring Roo 1.0.0 Technical Deep Dive
Spring Roo 1.0.0 Technical Deep DiveSpring Roo 1.0.0 Technical Deep Dive
Spring Roo 1.0.0 Technical Deep DiveBen Alex
 
1java Introduction
1java Introduction1java Introduction
1java IntroductionAdil Jafri
 

Ähnlich wie Ien2012 DITA Open Toolkit Extension (20)

Oracle Data Warehouse
Oracle Data WarehouseOracle Data Warehouse
Oracle Data Warehouse
 
Oracle Warehouse
Oracle WarehouseOracle Warehouse
Oracle Warehouse
 
Web Development with Python and Django
Web Development with Python and DjangoWeb Development with Python and Django
Web Development with Python and Django
 
Deployment Strategies: Managing Code, Content, and Configurations
Deployment Strategies: Managing Code, Content, and ConfigurationsDeployment Strategies: Managing Code, Content, and Configurations
Deployment Strategies: Managing Code, Content, and Configurations
 
HBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring BudgetHBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
HBaseCon 2012 | Building a Large Search Platform on a Shoestring Budget
 
Python - A Comprehensive Programming Language
Python - A Comprehensive Programming LanguagePython - A Comprehensive Programming Language
Python - A Comprehensive Programming Language
 
Configure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation WorkshopConfigure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation Workshop
 
Scale your Alfresco Solutions
Scale your Alfresco Solutions Scale your Alfresco Solutions
Scale your Alfresco Solutions
 
C P Doc Rev Story
C P Doc Rev StoryC P Doc Rev Story
C P Doc Rev Story
 
Hadoop engineering bo_f_final
Hadoop engineering bo_f_finalHadoop engineering bo_f_final
Hadoop engineering bo_f_final
 
Odi ireland rittman
Odi ireland rittmanOdi ireland rittman
Odi ireland rittman
 
Datastage Online Training
Datastage Online TrainingDatastage Online Training
Datastage Online Training
 
VA Smalltalk Update
VA Smalltalk UpdateVA Smalltalk Update
VA Smalltalk Update
 
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini PatilBest practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
 
04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop04.egovFrame Runtime Environment Workshop
04.egovFrame Runtime Environment Workshop
 
Spring Roo 1.0.0 Technical Deep Dive
Spring Roo 1.0.0 Technical Deep DiveSpring Roo 1.0.0 Technical Deep Dive
Spring Roo 1.0.0 Technical Deep Dive
 
Session 2
Session 2Session 2
Session 2
 
Session 2
Session 2Session 2
Session 2
 
Spring to Image
Spring to ImageSpring to Image
Spring to Image
 
1java Introduction
1java Introduction1java Introduction
1java Introduction
 

Kürzlich hochgeladen

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 

Kürzlich hochgeladen (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Ien2012 DITA Open Toolkit Extension

  • 1. DITA Open Toolkit Extensions IEn2012 www.sperotech.com
  • 2. Table of contents Who I am The OT overview - what is it and how does it works Adding your own custom processing Conclusions Q&A www.sperotech.com
  • 3. Sperotech Background Software and services company Founded in 2009, located in Amsterdam Specializes in solutions for ECM, CCM and user assistance Traditional manuals and online help Interactive (embedded) user guidance and support systems Authoring and publishing (workflow and collaboration based) solutions Expertise (10+ years): SharePoint and OpenText Enterprise Content Management and Collaboration Design and implement information architectures Content processes and workflow XMetaL, Oxygen XML and FrameMaker authoring tools CSS, XSLT and XSL-FO stylesheets, DITA Open Toolkit customizations Develop and deliver end user trainings Legacy content migration User assistance RIA applications 3 www.sperotech.com
  • 4. WHAT IS THE OT AND HOW DOES IT WORKS www.sperotech.com
  • 5. The DITA Open Toolkit A set of Java-based, open source tools that provide processing for DITA maps and topic content Can be downloaded and installed for free on a computer to get started with topic-based writing and publishing 5 www.sperotech.com
  • 6. User Build Flow Initialize build Set properties Import build files Build target • Name • OT base directory • Integrator build • Call main build • Default target • (any other file to install plug- with input, • Working directory properties) ins and extensions output, and transtype 6 www.sperotech.com
  • 7. Main Build Flow Initialize build Import build Set class path Transformation files for • Name • Initialization • FO processing • Parse transtype • Default target • Preprocess • DITA processing argument to • Base directory • General engine call transformation • Transform type build file types 7 www.sperotech.com
  • 8. Build Initialization 1 2 Start Initialize logger processing 3 4 Initialize Configure URI software tool resolver usage 5 6 Output Check parameter info arguments and warnings Java pipeline ANT built-in 8 www.sperotech.com
  • 9. Main Build Flow Initialize build Import build Set class path Transformation files for • Name • Initialization • FO processing • Parse transtype • Default target • Preprocess • DITA processing argument to • Base directory • General engine call transformation • Transform type build file types 9 www.sperotech.com
  • 10. Build Preprocess 1 2 3 4 Generate list of Debug and filter Copy files to Start preprocess files input files output folder 5 6 7 8 Content Content Move metadata Key references reference push reference resolve into topics resolve resolve 9 10 11 12 Pull <navtitle> Code reference Map reference and <topicmeta> Process chunks resolve resolve into map 13 14 15 Pull metadata for Java pipeline Find and Move related link <link> and <xref> generate link info info to topics XSLT into topic ANT built-in 10 www.sperotech.com
  • 11. Main Build Flow Initialize build Import build Set class path Transformation files for • Name • Initialization • FO processing • Parse transtype • Default target • Preprocess • DITA processing argument to • Base directory • General engine call transformation • Transform type build file types 11 www.sperotech.com
  • 12. Transformation Type Build Flow Initialize build Set properties Run build Specific tasks targets • Name • Transformation • Initialization • Files specific to • Default target type • Preprocess output • Topic transform deliverable 12 www.sperotech.com
  • 13. Supports multiple output formats XHTML PDF Eclipse Help HTML Help JavaHelp EPUB MOBI … 13 www.sperotech.com
  • 14. Pipeline processing ANT (Build file and scripts) •Input files and arguments •Output specifications output OTJava XSLT Rendering Engine Engine 9/27/2010 14 Introduction to the DITA Open Toolkit Customization Webinar www.sperotech.com
  • 15. dita2xhtml 1 2 Initialize build Preprocess 3 4 Create Copy revision index.html flag image to from map output dir 5 6 Copy CSS file to Transform output dir topics to xhtml XSLT ANT built-in 15 www.sperotech.com
  • 16. ADDING YOUR OWN CUSTOM PROCESSING www.sperotech.com
  • 17. plugin.xml <plugin id=" "> <feature extension="❷" value="❸" type="❹"/> <require plugin="❺" importance="❻"/> <template file="❼"/> </plugin> - unique id of plugin Examples - type of extension Add version info and processing before preprocessing - value for the feature (type) <plugin id="com.sample.myplugin" <feature - type ("text" or "file") extension="package.support.version" - name of plug-in it depends on; use "|" value="1.2" to separate multiple plug-ins /> - Set to "optional" to allow integration <feature to continue of plug-in is missing extension="depend.preprocess.post" value="myTargetAfterPreprocess" - Name of the file that must be treated type="text“ as a template if plug-in has extension /> points </plugin> 17 www.sperotech.com
  • 18. How to package a plug-in doc Documentation dtd Document Type Definitions xsd XML Schema files xsl XSL transformation files Sample Sample files www.sperotech.com
  • 19. How to add your own XSLT processing XSLT template files have an extension instruction <dita:extension> You plug in your XSLT processing through and <xsl:import> Your XSLT transtype XSLT Plug-in Plug-in <xsl:import Feature transtype href="…"/> extension Integration XSLT template Extension element 19 www.sperotech.com
  • 20. Conclusions Open Toolkit (OT) is a set of Java-based open source tools for processing DITA Maps and Topics The OT can be used to create different types of output deliverables (transformation types) Only proper way to extend the OT is through plugins ANT scripts define and control the build flow Most extensions (custom processing) are done through by plugging in your own processing at extension points using ANT and XSLT Formatting is best done afterwards through formatting instructions (CSS, XSL:FO) Plug-ins must be packaged into a folder structure and installed into the demo or plugins folder of the OT www.sperotech.com
  • 22. Thank you Marc Speyer Mobile: +31 655 117 459 Email: mspeyer@sperotech.com Website: www.sperotech.com Twitter: #sperotech Leave your business card or send me an email for a white paper on a tool to help you create DITA specializations. www.sperotech.com

Hinweis der Redaktion

  1. Conceptually the OT works as a pipeline processor with different steps(click) - Some steps involve the processing logic of OT&apos;s Java engine (click) - Some steps involve an XSLT processor(click) - For certain types of output a rendering engine is required(click) - The steps in the pipeline are chained by means of the Apache ANT tool using a build file and other helper scripts(click) - Each step in the pipeline gets its input files, input arguments and output specifications through ANT(click) – (next slide)