SlideShare una empresa de Scribd logo
1 de 13
Implementing MathML
With DITA XML
Reuven Weiser, Suite Solutions
About Me

•   Background in Computer Science and Education
•   Experience in several computer companies over the past decade
    • Web applications
    • Server- and Client-side applications
•   Early member of the Suite Solutions team
    • PDF and HTML style sheet projects
    • Project Management
    • CMS integration
    • On-site and online training seminars
About Suite Solutions

Our Vision: Enable companies to engage their customers by providing
quick access to relevant information
•Help companies get it right the first time
   • XML-based Authoring/Publishing Solutions
   • Enterprise Intelligent Dynamic Content
•Consultancy, Systems Integration, Application Development
•Cross-Industry Expertise
   • High Tech, Aerospace & Defense
   • Healthcare, Discrete Manufacturing
•Blue Chip Customer Base
•Hundreds of Person Years of Experience on Staff
Main Topics

•   What is MathML and why should you use it?
•   Authoring MathML
•   Publishing MathML
    • DTD Specializations
    • Publishing to PDF
    • Publishing to HTML
What is MathML?

•   Mathematical Markup Language (MathML) is an application of XML
    for describing mathematical notations and capturing both its structure
    and content. It aims at integrating mathematical formulae into World
    Wide Web pages and other documents. It is a recommendation of the
    W3C math working group.
•   MathML is not intended to be written or edited directly by humans.
                           (Wikipedia, http://en.wikipedia.org/wiki/MathML)
The “Old Way” - Graphics

•   Requires a separate equation editing program to create equations and a
    separate graphics program to capture them
•   Maintained as a separate file in your CMS
•   To modify the equation, you must:
    • Locate the original equation resource
    • Edit
    • Recreate the graphic
    • Recommit the graphic to your CMS
The “New Way” - MathML

•   Equation editors are integrated directly into many DITA authoring tools
•   Maintained within your existing DITA content
•   To modify the equation, you simply edit the DITA topic containing the
    equation and commit right back to your CMS
Authoring MathML

•   XMetaL and oXygen both offer MathFlow (commercial product) integration
Authoring MathML

•   oXygen also offer a free, built-in basic MathML editor, as well as MathML topic
    templates




•   oXygen also offers basic PDF and HTML transformations
Publishing MathML
DTD Specializations

•   The DITA 1.3 specification is slated to include a built-in MathML integration
    domain. Until then:
•   In order for the DITA-OT to recognize and parse the MathML content, a
    plugin must be created to “enable” MathML content within your various
    topic types.
•   The plugin will create a new Public ID for use within your topic
Publishing MathML
PDF Output

•   Antenna House supports MathML, but a stylesheet plugin must reformat
    it into the correct structure
•   FOP also supports MathML through a free JEuclid plugin
•   Formatting for math domain elements, such as <equation>,
    <eqsymbols>, <symdesc>, etc., can be customized as for any other DITA
    element
Publishing MathML
HTML Output

•   Some, but not all, browsers support MathML
•   A more cross-compatible approach is:
    • Extract MathML snippets into separate files
    • Converts those files into graphics (on the fly)
           JEuclid can do this for free
           MathFlow Equation Composer is a commercial-grade tool to achieve the same result
    •   Replace the original MathML with references to the correct graphics
MathML - Questions?

Más contenido relacionado

Más de Suite Solutions

DITA Quick Start for Authors Part II
DITA Quick Start for Authors Part IIDITA Quick Start for Authors Part II
DITA Quick Start for Authors Part II
Suite Solutions
 
C:\Users\User\Desktop\Eclipse Infocenter
C:\Users\User\Desktop\Eclipse InfocenterC:\Users\User\Desktop\Eclipse Infocenter
C:\Users\User\Desktop\Eclipse Infocenter
Suite Solutions
 
LocalizingStyleSheetsForHTMLOutputs
LocalizingStyleSheetsForHTMLOutputsLocalizingStyleSheetsForHTMLOutputs
LocalizingStyleSheetsForHTMLOutputs
Suite Solutions
 
ImplementingChangeTrackingAndFlagging
ImplementingChangeTrackingAndFlaggingImplementingChangeTrackingAndFlagging
ImplementingChangeTrackingAndFlagging
Suite Solutions
 
Debugging and Error handling
Debugging and Error handlingDebugging and Error handling
Debugging and Error handling
Suite Solutions
 

Más de Suite Solutions (20)

Using Taxonomy for Customer-centric Dynamic Publishing
Using Taxonomy for Customer-centric Dynamic PublishingUsing Taxonomy for Customer-centric Dynamic Publishing
Using Taxonomy for Customer-centric Dynamic Publishing
 
DITA Quick Start Webinar: Defining Your Style Sheet Requirements
DITA Quick Start Webinar: Defining Your Style Sheet RequirementsDITA Quick Start Webinar: Defining Your Style Sheet Requirements
DITA Quick Start Webinar: Defining Your Style Sheet Requirements
 
DITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project PlanDITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project Plan
 
DITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project PlanDITA Quick Start Webinar Series: Building a Project Plan
DITA Quick Start Webinar Series: Building a Project Plan
 
DITA Quick Start: System Architecture of a Basic DITA Toolset
DITA Quick Start: System Architecture of a Basic DITA ToolsetDITA Quick Start: System Architecture of a Basic DITA Toolset
DITA Quick Start: System Architecture of a Basic DITA Toolset
 
DITA Quick Start Webinar Series: Getting Started with the DITA Open Toolkit
DITA Quick Start Webinar Series: Getting Started with the DITA Open ToolkitDITA Quick Start Webinar Series: Getting Started with the DITA Open Toolkit
DITA Quick Start Webinar Series: Getting Started with the DITA Open Toolkit
 
DITA Quick Start Webinar Series: Getting Started with Information Architecture
DITA Quick Start Webinar Series: Getting Started with Information ArchitectureDITA Quick Start Webinar Series: Getting Started with Information Architecture
DITA Quick Start Webinar Series: Getting Started with Information Architecture
 
Introduction to S1000D
Introduction to S1000DIntroduction to S1000D
Introduction to S1000D
 
DITA Quick Start for Authors Part II
DITA Quick Start for Authors Part IIDITA Quick Start for Authors Part II
DITA Quick Start for Authors Part II
 
DITA Quick Start for Authors - Part I
DITA Quick Start for Authors - Part IDITA Quick Start for Authors - Part I
DITA Quick Start for Authors - Part I
 
Suite Labs: Generating SuiteHelp Output
Suite Labs: Generating SuiteHelp OutputSuite Labs: Generating SuiteHelp Output
Suite Labs: Generating SuiteHelp Output
 
Overview of SuiteHelp 3.1 for DITA
Overview of SuiteHelp 3.1 for DITAOverview of SuiteHelp 3.1 for DITA
Overview of SuiteHelp 3.1 for DITA
 
Svg and graphics
Svg and graphicsSvg and graphics
Svg and graphics
 
C:\Users\User\Desktop\Eclipse Infocenter
C:\Users\User\Desktop\Eclipse InfocenterC:\Users\User\Desktop\Eclipse Infocenter
C:\Users\User\Desktop\Eclipse Infocenter
 
LocalizingStyleSheetsForHTMLOutputs
LocalizingStyleSheetsForHTMLOutputsLocalizingStyleSheetsForHTMLOutputs
LocalizingStyleSheetsForHTMLOutputs
 
ImplementingChangeTrackingAndFlagging
ImplementingChangeTrackingAndFlaggingImplementingChangeTrackingAndFlagging
ImplementingChangeTrackingAndFlagging
 
AdvancedXPath
AdvancedXPathAdvancedXPath
AdvancedXPath
 
Ot performance webinar
Ot performance webinarOt performance webinar
Ot performance webinar
 
PDF Localization
PDF  LocalizationPDF  Localization
PDF Localization
 
Debugging and Error handling
Debugging and Error handlingDebugging and Error handling
Debugging and Error handling
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Implementing MathML with DITA XML

  • 1. Implementing MathML With DITA XML Reuven Weiser, Suite Solutions
  • 2. About Me • Background in Computer Science and Education • Experience in several computer companies over the past decade • Web applications • Server- and Client-side applications • Early member of the Suite Solutions team • PDF and HTML style sheet projects • Project Management • CMS integration • On-site and online training seminars
  • 3. About Suite Solutions Our Vision: Enable companies to engage their customers by providing quick access to relevant information •Help companies get it right the first time • XML-based Authoring/Publishing Solutions • Enterprise Intelligent Dynamic Content •Consultancy, Systems Integration, Application Development •Cross-Industry Expertise • High Tech, Aerospace & Defense • Healthcare, Discrete Manufacturing •Blue Chip Customer Base •Hundreds of Person Years of Experience on Staff
  • 4. Main Topics • What is MathML and why should you use it? • Authoring MathML • Publishing MathML • DTD Specializations • Publishing to PDF • Publishing to HTML
  • 5. What is MathML? • Mathematical Markup Language (MathML) is an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web pages and other documents. It is a recommendation of the W3C math working group. • MathML is not intended to be written or edited directly by humans. (Wikipedia, http://en.wikipedia.org/wiki/MathML)
  • 6. The “Old Way” - Graphics • Requires a separate equation editing program to create equations and a separate graphics program to capture them • Maintained as a separate file in your CMS • To modify the equation, you must: • Locate the original equation resource • Edit • Recreate the graphic • Recommit the graphic to your CMS
  • 7. The “New Way” - MathML • Equation editors are integrated directly into many DITA authoring tools • Maintained within your existing DITA content • To modify the equation, you simply edit the DITA topic containing the equation and commit right back to your CMS
  • 8. Authoring MathML • XMetaL and oXygen both offer MathFlow (commercial product) integration
  • 9. Authoring MathML • oXygen also offer a free, built-in basic MathML editor, as well as MathML topic templates • oXygen also offers basic PDF and HTML transformations
  • 10. Publishing MathML DTD Specializations • The DITA 1.3 specification is slated to include a built-in MathML integration domain. Until then: • In order for the DITA-OT to recognize and parse the MathML content, a plugin must be created to “enable” MathML content within your various topic types. • The plugin will create a new Public ID for use within your topic
  • 11. Publishing MathML PDF Output • Antenna House supports MathML, but a stylesheet plugin must reformat it into the correct structure • FOP also supports MathML through a free JEuclid plugin • Formatting for math domain elements, such as <equation>, <eqsymbols>, <symdesc>, etc., can be customized as for any other DITA element
  • 12. Publishing MathML HTML Output • Some, but not all, browsers support MathML • A more cross-compatible approach is: • Extract MathML snippets into separate files • Converts those files into graphics (on the fly)  JEuclid can do this for free  MathFlow Equation Composer is a commercial-grade tool to achieve the same result • Replace the original MathML with references to the correct graphics

Notas del editor

  1. Suite Solutions: DITA Quick Start Training for Authors iDTP, March 16-18, 2009
  2. ----- Meeting Notes (3/13/13 12:28) ----- Show example of MathML
  3. We have someone from Design Science (Autumn) here for questions
  4. Appropriate for tweaking existing equations, not creating new ones
  5. Stop for demo Note the need for integrator Show the new Public ID
  6. After first bullet, show code and demo
  7. After first bullet - show Firefox, Safari, Chrome After final bullet, show code and demo