Processing and Publishing Content Math with JOMDoc and JOBAD

Post on 10-May-2015

823 views 2 download

Tags:

description

Content Math Training Camp 2010

Transcript of Processing and Publishing Content Math with JOMDoc and JOBAD

Processing and Publishing Content Math withJOMDoc and JOBAD

Content Math Training Camp 2010

Christoph Lange

Jacobs University, Bremen, GermanyKWARC – Knowledge Adaptation and Reasoning for Content

July 07, 2010

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 1/14

JOMDoc – Java API (not only) for OMDoc

http://jomdoc.omdoc.org (maintainer: Vyacheslav Zholudev) – alibrary of 300+ Java classes featuring . . .

Java object model (one class per XML element) for OMDoc (andMathML and OpenMath for formulæ), plus many other services:Schema validationRenderer: OpenMath/Content MathML→ Presentation MathML(pattern-matching XML notation definitions), context-sensitiveRest of OMDoc→ XHTML+RDFa (XSLT)Document restructuring: e. g. flattening/modularizingdocuments

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 2/14

How to use JOMDoc

Download or check out from http://jomdoc.omdoc.org

Binary distributionJAR file ready for inclusion into Java projectsexecutable shell script for validation, rendering, documentrestructuringGUI frontend for rendering

Source code (Eclipse-ready)Contribute: Trac project management site, mailing list

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 3/14

JOMDoc’s Notation Definitions

<notation>

<prototype> <!-- the content markup pattern -->

<om:OMA>

<om:OMS cd="arith1" name="divide"/>

<expr name="arg1"/>

<expr name="arg2"/>

</om:OMA>

</prototype>

<rendering> <!-- the presentation markup fragment -->

<m:mfrac>

<render name="arg1"/>

<render name="arg2"/>

</m:mfrac>

</rendering>

</notation>

render(divide(a, b)); render(a)render(b)

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 4/14

Applications using JOMDoc

TNTBase (→ other talk): versioned XML database with specialservices for OMDocSWiM (semantic wiki powering http://wiki.openmath.org)Urs Holzer’s Gemse (MathML editor): Content MathML→Presentation MathML preview

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 5/14

JOBAD – Interactive Documents

Now we can render OMDoc documents – let’s make theminteractive!

On-demand adaptation to the user’s presentation preferences(e. g. brackets, notation)On-demand information lookup without leaving the document

JOBAD, the JavaScript API for OMDoc-based Interactive Documentshttp://jomdoc.omdoc.org/wiki/JOBAD (maintainer: ChristophLange)

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 6/14

JOBAD Architecture

external services or data

XHTML+MathML+OpenMath, JavaScript

GUI

menu

mouse

actionobjects Services

folding/visibility

layers

keybddefinitionlookup

computation/rewriting

ontology/definitions

notationcollection

renderer

initially generates

Document

ClientModules

WebServices

proxy

Wolfram|Alpha

… others …

integrated backend(MMT: logics; TNTBase: lecture notes; …)

other CAS

unit converter

linked data

(dashed lines denote old services being ported or new services being developed)

ext. repositories

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 7/14

JOBAD – Customizing Display

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 8/14

JOBAD – Looking up Information (1)

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 9/14

JOBAD – Looking up Information (2)

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 10/14

JOBAD – Rewriting the Document (UnitConversion)

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 11/14

JOBAD – Local Discussion Forums

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 12/14

TNTBase + JOMDoc + JOBAD Integrated

(JOMDoc rendering XHTML+MathML+RDFa, JOBAD providingdefinition lookup and semantic navigation)

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 13/14

Conclusion

JOMDoc: Java API and command line for validating, rendering,transforming, etc. OMDoc and other Content Math –http://jomdoc.omdoc.org

JOBAD: JavaScript-based architecture for integrating servicesinto interactive documents –http://jomdoc.omdoc.org/wiki/JOBAD

Lange (Jacobs) Processing and Publishing Content Math with JOMDoc and JOBADJuly 07, 2010 14/14