As e.g. in TEX (widely used interpreter language for formating documents for output on printers) only ASCII-characters are transmitted via internet. So XML is again platform independent. Only the browsers are platform dependent. So even using the same type of browser on different platforms may lead to extremely different results in the the displayed text. Even worse may be the differences when using browsers of different distributors.
As known from standard HTLM the TAG's define all styling properties of a document:
<Tag> displayed text </Tag>
So we "just" have to discuss all TAGS and all elements of TAGS which are used to style as furmular
The MATH-TAG: <math> formular </math>
brackets the mathematical formular.
Variables: <mi>...</mi>,
Numbers: <mn>...</mn>, and
Operators: <mo>...</mo>
are the three styles for displaying text. This tags are also used for brackening the parameters of functions.
In mathematical formulars a large number of special characters are needed which are not included in the normal ASCII-table, e.g. the integral sign, infinity, greek symbols, h bar. As in standard HTML this special characters are defined by including a complete string which is interpreted as one character. This string asr brackend by a opening &-sign and a closing ;-sign; e.g.
Aligning: <mrow> A </mrow>
Fractions: <mfrac> A B </mfrac>
Square root: <msqrt> A B </msqrt>
Subscript: <msub> A B </msub>
Superscript: <msup> A B </msup>
Subscript: <msubsup> A B C </msubsup>
Matrixes may be seen as special mathematical tables. Each matrix is brackend by
<mtable> TABLE </mtable>
Each row of the table is brackend by
<mtr> ROW </mtr>
Each element of a row is brackend by
<mtd> ELEMENT </mtd>
<mfenced open="[" close="}"> A </mfenced>
This function will adept to the brackets to the size of the parameter A.