Class MathMLReader
java.lang.Object
org.episteme.core.io.AbstractResourceReader<MathMLDocument>
org.episteme.core.mathematics.loaders.mathml.MathMLReader
- All Implemented Interfaces:
ResourceIO<MathMLDocument>, ResourceReader<MathMLDocument>
MathML Reader for Content and Presentation MathML.
MathML (Mathematical Markup Language) is the W3C standard for representing mathematical notation and content. This reader supports both Content MathML (semantic structure) and Presentation MathML (visual rendering).
Supported MathML 3.0 Elements:
- Presentation: mi, mn, mo, mrow, mfrac, msqrt, mroot, msub, msup, etc.
- Content: apply, ci, cn, csymbol, plus, times, integral, etc.
- Matrices: vector, matrix, matrixrow
- Functions: sin, cos, exp, ln, log, and all trigonometric variants
- Sets: set, list, union, intersect
- Calculus: int, diff, partialdiff, limit
- Logic: and, or, not, implies, forall, exists
Example:
MathMLReader reader = new MathMLReader();
MathMLDocument doc = reader.read(new File("equation.xml"));
MathMLMathElement math = doc.getMathElement();
* @see W3C MathML- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the category for grouping.Returns a short description of this resource handler.Returns a long description of this resource handler.getName()Returns the display name of this resource handler.Returns the base path where this resource is located.Returns the type of resource.String[]Returns the supported file extensions (e.g., ".h5", ".fits").String[]Returns the supported versions of the format this reader/writer handles.protected MathMLDocumentloadFromInputStream(InputStream is, String id) protected MathMLDocumentloadFromSource(String resourceId) Reads a MathML document from a file.read(InputStream input) Reads a MathML document from an input stream.readFromString(String mathml) Reads a MathML document from a string.Methods inherited from class AbstractResourceReader
clearCache, getMiniCatalog, getSampleDataPath, isUsingFallback, load, loadAll, loadAllFromSource, loadFromFallback, setCacheEnabledMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ResourceIO
getExpectedResourceFiles, isFileBased, isOutputMethods inherited from interface ResourceReader
isInput
-
Constructor Details
-
MathMLReader
public MathMLReader()
-
-
Method Details
-
getResourcePath
Description copied from interface:ResourceIOReturns the base path where this resource is located. -
getResourceType
Description copied from interface:ResourceIOReturns the type of resource. -
getName
Description copied from interface:ResourceIOReturns the display name of this resource handler. MUST be implemented with I18N support.- Returns:
- the display name
-
getDescription
Description copied from interface:ResourceIOReturns a short description of this resource handler. MUST be implemented with I18N support.- Returns:
- the description
-
getLongDescription
Description copied from interface:ResourceIOReturns a long description of this resource handler. MUST be implemented with I18N support.- Returns:
- the long description
-
getCategory
Description copied from interface:ResourceIOReturns the category for grouping. MUST be implemented with I18N support.- Returns:
- the category name
-
getSupportedVersions
Description copied from interface:ResourceIOReturns the supported versions of the format this reader/writer handles.Each implementation MUST override this method to declare which versions of the underlying format are supported. The returned array should contain version strings in the format's standard notation (e.g., "3.0", "2.1", "Level 3 Version 2").
Examples:
- MathML: {"3.0", "2.0"}
- SBML: {"Level 3 Version 2", "Level 3 Version 1", "Level 2 Version 5"}
- PhyloXML: {"1.10", "1.00"}
- Returns:
- array of supported version strings, never null (empty array if version-agnostic)
-
getSupportedExtensions
Description copied from interface:ResourceIOReturns the supported file extensions (e.g., ".h5", ".fits"). -
loadFromSource
- Specified by:
loadFromSourcein classAbstractResourceReader<MathMLDocument>- Throws:
Exception
-
loadFromInputStream
- Overrides:
loadFromInputStreamin classAbstractResourceReader<MathMLDocument>- Throws:
Exception
-
read
Reads a MathML document from an input stream.- Parameters:
input- the input stream containing MathML data- Returns:
- the parsed MathML document
- Throws:
MathMLException- if parsing fails
-
read
Reads a MathML document from a file.- Parameters:
file- the file containing MathML data- Returns:
- the parsed MathML document
- Throws:
MathMLException- if parsing fails
-
readFromString
Reads a MathML document from a string.- Parameters:
mathml- the MathML content as a string- Returns:
- the parsed MathML document
- Throws:
MathMLException- if parsing fails
-