Giter Site home page Giter Site logo

gipplab / mathmltools Goto Github PK

View Code? Open in Web Editor NEW
8.0 9.0 4.0 1.75 MB

This project provides various tools for processing content MathML with Java.

License: Apache License 2.0

Java 79.82% XSLT 12.80% XQuery 1.21% Shell 0.08% Python 6.06% Ruby 0.03%
mathml mathml-semantics mathml-parser processing-mathml java-api open-source

mathmltools's Introduction

Made With Java

MathML Tools

Maven License DOI Travis Code Coverage Code Quality
MavenCentral License DOI Build Status Test Coverage Maintainability

MMLTools Logo

MathML Tools is an open source project for processing content MathML within Java. It provides tools to load, store, check validity and automatically repair and enhance documents for the new MathML 3.0 standard. Furthermore, we provide Java adapters to convert LaTeX to MathML, full compatibility for our developed gold standard, programming language independent libraries of useful XPath and XQuery strings, and distance measure algorithms to compare two MathML documents.

Install Instructions

Since this is an open API, there is nothing to install. If you want to use the API for you own project you can use maven central as explained in section Maven Central below. If you want to download the sources, run tests and change something in the code, follow the guide in section Local Installation below.

Maven Central

The project is structured into specialized packages (maven-modules) that you can easily and separately include into your projects. For example, if you just want to process MathML documents, the core module perfectly fits your needs. We use maven for our build process and the entire project is available on Maven central (see the maven badge above). Note that specialized modules automatically imports the core module. For example, if you wish to use our similarity module in your project, you only need to add the following snippet to your dependencies pom:

<dependency>
    <groupId>com.formulasearchengine.mathmltools</groupId>
    <artifactId>mathml-similarity</artifactId>
    <version>2.0.1</version>
</dependency>

Local Install

To download the project and run the tests you need git and mvn installed. First download the sources into a directory.

mkdir mathtools
cd mathtools
git clone https://github.com/ag-gipp/MathMLTools.git .

Now you can install the project locally via maven, which automatically runs the tests.

mvn clean install

Don't panic if you see error messages. We have written tests that expects exceptions. If this process finished without errors you should see something like this in the end of the log.

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] MathML Tools ....................................... SUCCESS [  3.234 s]
[INFO] MathML Libraries ................................... SUCCESS [  1.493 s]
[INFO] MathML Utilities ................................... SUCCESS [  6.425 s]
[INFO] MathML Core ........................................ SUCCESS [02:31 min]
[INFO] MathML Converters .................................. SUCCESS [ 41.476 s]
[INFO] MathML Similarity .................................. SUCCESS [  7.930 s]
[INFO] MathML Gold Standard ............................... SUCCESS [  0.710 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

Project Structure

  • MathML Converters (mathml-converters): Collection of tools for converting LaTeX to MathML. Also includes the canonicalization tool.

  • MathML Core (mathml-core): To load, store, check validity, repair and manipulate MathML documents.

  • MathML Gold Standard (mathml-gold): Process the MathMLBen gold standard within Java.

  • MathML Libraries (mathml-libs): Collection of XPath and XQuery strings for content MathML (includes Java pojos).

  • MathML Similarity (mathml-similarity): Collection of distance measurements for MathML documents.

  • MathML Utilities (mathml-utils): Useful utility functions and definitions (always included in the other modules above).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.