A user account is required in order to edit this wiki, but we've had to disable public user registrations due to spam.

To request an account, ask an autoconfirmed user on IRC (such as one of these permanent autoconfirmed members).

# New Vocabularies Solution

resetting appropriately:

- if current node is in the mathml namespace and is one of <mi>, <mo>, <mn>, <ms>, <mtext>, "in math content"
- if current node is in the mathml namespace, "in math"
- if current node is in the svg namespace, "in svg"

"in body":

- "math" element - switch to "in math"
- "svg" element - switch to "in svg"

"in math":

- comment
- insert comment

- doctype
- parse error

- text:
- start tag for: <mglyph>
- imply <mtext>
- reprocess

- start tag for: <mspace>, <maligngroup>, <malignmark>
- check for implied math tags
- insert element for token, assume void element

- other start tag:
- end tag: or

:- parse error
- imply </math>
- switch to "in body"
- reprocess

- other end tag
- if matching element is in scope:
- parse error
- imply </math>
- reprocess

- otherwise:
- parse error
- ignore

- if matching element is in scope:

check for implied math tags means:

- if current node is <mmultiscripts>:
- if the token is a <mprescripts> and there's an even number or child elements in the current node, imply a <none> element.
- abort these steps.

- if current node is <mtable>:
- if the token is either <mtr> or <mabelledtr>, abort these steps
- otherwise, imply an </mtable>
- restart these steps.

- if current node is <mtr>:
- if the token is an <mtd>, abort these steps
- otherwise, imply an </mtr>
- restart these steps.

- otherwise, if current node is one of <mfrac>, <mroot>, <msub>, <msup>, <munder>, <mover>: let N equal 2
- otherwise, if current node is one of <msubsup>, <munderover>: let N equal 3
- otherwise, abort these steps.

"in math content":

- start tag for: <malignmark>
- insert element for token, assume void element

- otherwise:
- treat as "in body"