OpenMath (http://www.openmath.org/ ) is a standard for exchange of mathematical objects, currently (2008) at version 2.
In the future, OpenMath3 is expected to be equivalent to strict Content-MathML3; both of these standards are under construction. It is mostly MathML that has been changed to match OpenMath.
Basic OpenMath tags (node types):
Composite OpenMath expressions are usually constructed as an OMA whose first child is the symbol denoting the operation or function, e.g.
<OMA> <OMS cd="arith1" name="plus"/> <OMI> 2 </OMI> <OMF dec="3.4e5"/> </OMA>
for expr's 2+3.4e5. If parsed by a little XML parser (or tdom), this (modulo whitespace) comes out as
OMA {} {{OMS {cd arith1 name plus} {}} {OMI {} {{#text 2}}} {OMF {dec 3.4e5} {}}}
which is not too onerous to process.
There are also some more advanced tags: