#https://developer.mozilla.org/en-US/docs/Web/MathML/Element
# https://www.w3.org/TR/MathML3/chapter4.html

header="<math xmlns='http://www.w3.org/1998/Math/MathML'>"

# presentation mathml
"<annotation-xml>"
"<annotation>"
"<apply>"
"<maction>"
"<maligngroup>"
"<malignmark>"
"<math>"
"<menclose>"
"<merror>"
"<mfenced> "
"<mfrac>"
"<mglyph>"
"<mi>"
"<mlabeledtr>"
"<mlongdiv>"
"<mmultiscripts>"
"<mn>"
"<mo>"
"<mover>"
"<mpadded>"
"<mphantom>"
"<mprescripts>"
"<mroot>"
"<mrow>"
"<ms>"
"<mscarries>"
"<mscarry>"
"<msgroup>"
"<msline>"
"<mspace>"
"<msqrt>"
"<msrow>"
"<mstack>"
"<mstyle>"
"<msub>"
"<msubsup>"
"<msup>"
"<mtable>"
"<mtd>"
"<mtext>"
"<mtr>"
"<munder>"
"<munderover>"
"<none>"
"<semantics>"

# attributes
"accent"
"accentunder"
"actiontype"
"align"
"alignmentscope"
"altimg"
"altimg-height"
"alttext"
"bevelled"
"charalign"
"close"
"columnalign"
"columnlines"
"columnspacing"
"columnspan"
"columnwidth"
"crossout"
"decimalpoint"
"denomalign"
"depth"
"dir"
"display"
"displaystyle"
"edge"
"equalcolumns"
"equalrows"
"fence"
"form"
"frame"
"framespacing"
"groupalign"
"height"
"href"
"id"
"indentalign"
"indentalignfirst"
"indentalignlast"
"indentshift"
"indentshiftfirst"
"indentshiftlast"
"indenttarget"
"infixlinebreakstyle"
"largeop"
"length"
"linebreak"
"linebreakmultchar"
"linebreakstyle"
"lineleading"
"linethickness"
"location"
"longdivstyle"
"lquote"
"lspace"
"mathbackground"
"mathcolor"
"mathsize"
"mathvariant"
"maxsize"
"minlabelspacing"
"minsize"
"movablelimits"
"notation"
"numalign"
"open"
"overflow"
"position"
"rowalign"
"rowlines"
"rowspacing"
"rowspan"
"rquote"
"rspace"
"scriptlevel"
"scriptminsize"
"scriptsizemultiplier"
"selection"
"separator"
"separators"
"shift"
"side"
"src"
"stackalign"
"stretchy"
"subscriptshift"
"supscriptshift"
"symmetric"
"voffset"
"width"
"xlink:href"
"xmlns"

# content mathml
"<interval>"
"<inverse>"
"<lambda>"
"<compose/>"
"<ident/>"
"<domain/>"
"<codomain/>"
"<image/>"
"<piecewise>"
"<piece>"
"<otherwise>"
"<quotient/>"
"<factorial/>"
"<divide/>"
"<max/>"
"<min/>"
"<minus/>"
"<plus/>"
"<power/>"
"<rem/>"
"<times/>"
"<root/>"
"<gcd/>"
"<and/>"
"<or/>"
"<xor/>"
"<not/>"
"<implies/>"
"<forall/>"
"<exists/>"
"<abs/>"
"<conjugate/>"
"<arg/>"
"<real/>"
"<imaginary/>"
"<lcm/>"
"<floor/>"
"<ceiling/>"
"Relations"
"<eq/>"
"<neq/>"
"<gt/>"
"<lt/>"
"<geq/>"
"<leq/>"
"<equivalent/>"
"<approx/>"
"<factorof/>"
"<int/>"
"<diff/>"
"<partialdiff/>"
"<divergence/>"
"<grad/>"
"<curl/>"
"<laplacian/>"
"<set>"
"<list>"
"<union/>"
"<intersect/>"
"<in/>"
"<notin/>"
"<subset/>"
"<prsubset/>"
"<notsubset/>"
"<notprsubset/>"
"<setdiff/>"
"<card/>"
"<cartesianproduct/>"
"<sum/>"
"<product/>"
"<limit/>"
"<tendsto/>"
"<sin/>"
"<cos/>"
"<tan/>"
"<sec/>"
"<csc/>"
"<cot/>"
"<arcsin/>"
"<arccos/>"
"<arctan/>"
"<arcsec/>"
"<arccsc/>"
"<arccot/>"
"<sinh/>"
"<cosh/>"
"<tanh/>"
"<sech/>"
"<csch/>"
"<coth/>"
"<arcsinh/>"
"<arccosh/>"
"<arctanh/>"
"<arcsech/>"
"<arccsch/>"
"<arccoth/>"
"<exp/>"
"<ln/>"
"<log/>"
"<logbase>"
"<mean/>"
"<sdev/>"
"<variance/>"
"<median/>"
"<mode/>"
"<moment/>"
"<momentabout>"
"<vector>"
"<matrix>"
"<matrixrow>"
"<determinant/>"
"<transpose/>"
"<selector/>"
"<vectorproduct/>"
"<scalarproduct/>"
"<outerproduct/>"
"<integers/>"
"<reals/>"
"<rationals/>"
"<naturalnumbers/>"
"<complexes/>"
"<primes/>"
"<exponentiale/>"
"<imaginaryi/>"
"<notanumber/>"
"<true/>"
"<false/>"
"<emptyset/>"
"<pi/>"
"<eulergamma/>"
"<infinity/>"
"<declare>"
"<reln>"
"<fn>"
