Abstract
Create an MmlNode: If the arity is -1, add the inferred row (created by the factory) Add the children, if any Create the Attribute object from the class defaults and the global defaults (the math node defaults)
This node's attributes
Child nodes are MmlNodes (special case of Nodes).
Readonly
factoryThe node factory is an MmlFactory
The parent is an MmlNode
The TeX class for the preceding node
The scriptlevel of the preceding node
Protected
propertiesThe properties for this node
Protected
texclassThe TeX class of this node (obtained via texClass below)
Static
alwaysThis lists the attributes that should always be inherited, even when there is no default value for the attribute.
Static
defaultsUse the same defaults as AbstractMmlNodes
Static
noThis lists properties that do NOT get inherited between specific kinds of nodes. The outer keys are the node kinds that are being inherited FROM, while the second level of keys are the nodes that INHERIT the values. Any property appearing in the innermost list is NOT inherited by the pair.
For example, an mpadded element will not inherit a width attribute from an mstyle node.
Static
stopThis lists the attributes that should not be propagated to child nodes of the given kind of node (so that table attributes don't bleed through to nested tables -- see issue mathjax/MathJax#2890).
Static
verifyThis is the list of options for the verifyTree() method
The number of children allowed, or Infinity for any number, or -1 for when an inferred row is needed for the children. Special case is 1, meaning at least one (other numbers mean exactly that many).
true if this is an inferred mrow
true if this is a space-like node
true if this is a token node
the attribute used to seed the indentalign value in linebreak containers (overridden in subclasses when needed)
true if this is a node that supports linebreaks in its children
true if this is a node that doesn't count as a parent node in Parent()
The logical parent of this node (skipping over inferred rows some other node types)
Protected
addUsed by subclasses to add their own attributes to the inherited list (e.g., mstyle uses this to augment the inherited attibutes)
The current list of inherited attributes
The new attributes to add into the list
The updated attributes list.
True to copy id attributes, false to skip them.
The copied node tree.
Protected
getGet the previous element's texClass and scriptlevel
The previous node to this one
The core mo element has an explicit 'form' attribute
Set the nodes inherited attributes based on the attributes of the given node (used for creating extra nodes in the tree after setInheritedAttributes has already run)
The node whose attributes are to be used as a template
Replace the current node with an error message (or the name of the node)
The error message to use
The options telling how much to verify
True means use just the kind if not using full errors
The constructed merror
Protected
setApply inherited attributes to all children (Some classes override this to handle changes in displaystyle and scriptlevel)
The list of inheritable attributes (with the node kinds from which they came)
The displaystyle to inherit
The scriptlevel to inherit
The TeX prime style to inherit (T vs. T', etc).
If there is an inferred row, set the children of that instead
Sets the inherited propertis for this node, and pushes inherited properties to the children
For each inheritable attribute: If the node has a default for this attribute, try to inherit it but check if the noInherit object prevents that. If the node doesn't have an explicit displaystyle, inherit it If the node doesn't have an explicit scriptstyle, inherit it If the prime style is true, set it as a property (it is not a MathML attribute) Check that the number of children is correct Reset the indent attributes for linebreak containers Finally, push any inherited attributes to the children.
returns the spacing to use before this node
Simple string version for debugging, just to get the structure.
Protected
updateFor embellished operators, get the data from the core and clear the core
The core
Protected
verifyVerify that all the attributes are valid (i.e., have defaults)
The options telling how much to verify
Protected
verifyVerify the children.
The options telling how much to verify
Verify the attributes, and that there are the right number of children. Then verify the children.
The options telling how much to verify
Optional
data: any
The abstract MmlNode-with-base-node Class (extends the AbstractMmlNode)
These have a base element and other elemetns, (e.g., script elements for msubsup). They can be embellished (if their base is), and get their TeX classes from their base with their scripts being handled as separate math lists.