The XMath element is the container for the internal representation
The following attributes can appear on all XM* elements:
the grammatical role that this element plays
parenthese or delimiters that were used to wrap the expression represented by this element.
delimiters on an function or operator (the first element of an XMApp) that were used to delimit the arguments of the function. The separators is a string of the punctuation characters used to separate arguments.
a unique identifier to allow reference (XMRef) to this element.
The following tags are used for the intermediate math representation:
represents a math token. It may contain text for presentation. Additional attributes are:
the name that represents the meaning of the token; this overrides the content for identifying the token.
the OpenMath content dictionary that the name belongs to.
the font to be used for presenting the content.
?
?
whether scripts should be stacked above/below the item, instead of the usual script position.
represents the generalized application of some function or operator to arguments. The first child element is the operator, the remainig elements are the arguments. Additional attributes:
the name that represents the meaning of the construct as a whole.
?
combines representations of the content (the first child) and presentation (the second child), useful when the two structures are not easily related.
represents spacing or other apparent purely presentation material.
names the effect that the hint was intended to achieve.
?
serves to assert the expected type or role of a subexpression that may otherwise be difficult to interpret — the parser is more forgiving about these.
?
?
serves to wrap individual arguments or subexpressions, created by
structured markup, such as \frac
. These subexpressions can be parsed individually.
the grammar rule that this subexpression should match.
refers to another subexpression,. This is used to avoid duplicating arguments when constructing an XMDual to represent a function application, for example. The arguments will be placed in the content branch (wrapped in an XMArg) while XMRef’s will be placed in the presentation branch.
the identifier of the referenced math subexpression.