Skip to content

ContentMathML extension proposal

Peter Krautzberger edited this page Mar 6, 2014 · 12 revisions

Summary

Our current ContentMathML extension is built around David Carlisle's XSLT solution ctop (c-to-p, content to presentation). This solution makes it hard to maintain and use. It is also not ideal as xslt support in Chrome might be dropped.

Requirements

  • remove dependency on the xslt stylesheet, implement a pure JavaScript solution
    • build on ctop.js
    • if possible, improvements should be contributed upstream to ctop.js
  • Identify, develop and document APIs to allow page authors to modify the conversion process
    • scope: to be determined. A first approximation might be where the MathML spec offers two Presentation MathML constructs for one Content MathML element (e.g. interval, lambda).
  • maintain or improve current Content-to-Presentation conversion quality

Future features

notes from a MathML test suite run

Sorted by test suite sections.

Legend:

plain link: something's wrong ?? = not sure if the presentation is correct () = could be better?

Bidi

lots of bidi works? Does the ContentMML extension do something here?

http://www.w3.org/Math/testsuite/build/main/Topics/BiDi/Complex/Maghreb1-form.xhtml almost works http://www.w3.org/Math/testsuite/build/main/Topics/BiDi/RTL/longdivision-rtl1-form.xhtml

linebreaking

http://www.w3.org/Math/testsuite/build/main/Topics/LineBreak/linebreaking006-linebreakmultchar-form.xhtml http://www.w3.org/Math/testsuite/build/main/Topics/LineBreak/linebreaking008-indentalign2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Topics/LineBreak/linebreaking010-indentshift-form.xhtml http://www.w3.org/Math/testsuite/build/main/Topics/LineBreak/linebreaking011-indentamount-form.xhtml http://www.w3.org/Math/testsuite/build/main/Topics/LineBreak/linebreaking011-indentamount-form.xhtml http://www.w3.org/Math/testsuite/build/main/Topics/LineBreak/linebreaking016-indentalign4-form.xhtml

TortureTests => ContentMML

http://www.w3.org/Math/testsuite/build/main/TortureTests/Complexity/complex4-form.xhtml

ContentMML

http://www.w3.org/Math/testsuite/build/main/Content/ArithmeticAlgebraLogic/divide/divide5-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/ArithmeticAlgebraLogic/divide/divide3-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/ArithmeticAlgebraLogic/logic7-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/ArithmeticAlgebraLogic/max/max3-form.xhtml

http://www.w3.org/Math/testsuite/build/main/Content/ArithmeticAlgebraLogic/minus/minus1-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/ArithmeticAlgebraLogic/minus/minus2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/ArithmeticAlgebraLogic/minus/minus9-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/BasicContentElements/lambda/rec-lambda1-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/BasicContentElements/lambda/rec-lambda2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/BasicContentElements/share/rec3-share-1-form.xhtml

(http://www.w3.org/Math/testsuite/build/main/Content/Calculus/curl/rec-curl1-form.xhtml) http://www.w3.org/Math/testsuite/build/main/Content/Calculus/degree/rec-degree1-form.xhtml ??? http://www.w3.org/Math/testsuite/build/main/Content/Calculus/diff/rec-diff2-form.xhtml (http://www.w3.org/Math/testsuite/build/main/Content/Calculus/divergence/rec-divergence1-form.xhtml ??)

http://www.w3.org/Math/testsuite/build/main/Content/Calculus/divergence/rec-divergence2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/Calculus/grad/rec-grad1-form.xhtml ??? (http://www.w3.org/Math/testsuite/build/main/Content/Calculus/int/int1-form.xhtml) (http://www.w3.org/Math/testsuite/build/main/Content/Calculus/int/int2-form.xhtml)

http://www.w3.org/Math/testsuite/build/main/Content/Calculus/int/rec-int4-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/ConstantsAndSymbols/pi/rec-pi1-form.xhtml

http://www.w3.org/Math/testsuite/build/main/Content/ElementaryFunctions/arccosh/arccosh3-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/ElementaryFunctions/arccsch/arccsch3-form.xhtml ??? no mfrac http://www.w3.org/Math/testsuite/build/main/Content/ElementaryFunctions/arcsin/factorial3-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/ElementaryFunctions/sin/factorial3-form.xhtml

http://www.w3.org/Math/testsuite/build/main/Content/Error/rec-cerror1-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/LinearAlgebra/matrix/matrix3-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/LinearAlgebra/vectorproduct/rec-vectorproduct1-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/Relations/equivalent/rec-equivalent1-form.xhtml

http://www.w3.org/Math/testsuite/build/main/Content/Relations/geq/geq2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/Relations/neq/neq2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/SequencesAndSeries/limit/limit6-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/SequencesAndSeries/product/product2-form.xhtml

http://www.w3.org/Math/testsuite/build/main/Content/Statistics/variance/rec-variance1-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/TheoryOfSets/cartesianproduct/rec-cartesianproduct2-form.xhtml ??? http://www.w3.org/Math/testsuite/build/main/Content/TheoryOfSets/in/in2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/TheoryOfSets/in/in2-form.xhtml ETC

http://www.w3.org/Math/testsuite/build/main/Content/TheoryOfSets/notprsubset/notprsubset2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/TheoryOfSets/notsubset/notsubset2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/TheoryOfSets/prsubset/prsubset2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/TheoryOfSets/subset/subset2-form.xhtml http://www.w3.org/Math/testsuite/build/main/Content/TheoryOfSets/union/union3-form.xhtml ? http://www.w3.org/Math/testsuite/build/main/StrictContent/ArithmeticAlgebraLogic/divide/divide3-form.xhtml

http://www.w3.org/Math/testsuite/build/main/StrictContent/ArithmeticAlgebraLogic/forall/forall1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/ArithmeticAlgebraLogic/forall/rec-forall4-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/ArithmeticAlgebraLogic/max/max3-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/ArithmeticAlgebraLogic/max/rec-max2-form.xhtml etc

http://www.w3.org/Math/testsuite/build/main/StrictContent/ArithmeticAlgebraLogic/minus/minus2-form.xhtml

http://www.w3.org/Math/testsuite/build/main/StrictContent/BasicContentElements/image/rec-image1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/BasicContentElements/interval/rec-interval2-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/BasicContentElements/lambda/rec-lambda1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/BasicContentElements/lambda/rec-lambda2-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/BasicContentElements/piecewise/rec-piecewise1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/BasicContentElements/reln/rec-reln3-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/BasicContentElements/share/rec3-share-1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/Calculus/bvar/rec-bvar1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/Calculus/bvar/rec-bvar2-form.xhtml

http://www.w3.org/Math/testsuite/build/main/StrictContent/Calculus/degree/degree2-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/Calculus/degree/rec-degree1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/Calculus/divergence/rec-divergence2-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/Calculus/int/int1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/Calculus/int/int2-form.xhtml etc

http://www.w3.org/Math/testsuite/build/main/StrictContent/Calculus/laplacian/rec-laplacian1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/Calculus/partialdiff/rec-partialdiff3-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/Calculus/partialdiff/rec-partialdiff5-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/ConstantsAndSymbols/primes/rec-primes1-form.xhtml

http://www.w3.org/Math/testsuite/build/main/StrictContent/LinearAlgebra/matrix/rec-matrix1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/LinearAlgebra/selector/rec-selector1-form.xhtml

http://www.w3.org/Math/testsuite/build/main/StrictContent/SequencesAndSeries/product/product1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/SequencesAndSeries/product/product2-form.xhtml etc

http://www.w3.org/Math/testsuite/build/main/StrictContent/TheoryOfSets/card/rec-card1-form.xhtml http://www.w3.org/Math/testsuite/build/main/StrictContent/TheoryOfSets/cartesianproduct/rec-cartesianproduct2-form.xhtml

Errors

http://www.w3.org/Math/testsuite/build/main/ErrorHandling/BadAttribs/badAttribsVal3-form.xhtml http://www.w3.org/Math/testsuite/build/main/ErrorHandling/BadChildren/badBvar1-form.xhtml ???? http://www.w3.org/Math/testsuite/build/main/ErrorHandling/NumChildren/emptyContent-form.xhtml http://www.w3.org/Math/testsuite/build/main/ErrorHandling/NumChildren/mrootE2-form.xhtml http://www.w3.org/Math/testsuite/build/main/ErrorHandling/NumChildren/noChildContent-form.xhtml

Clone this wiki locally