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 Chat (such as one of these permanent autoconfirmed members).

New Vocabularies Solution

From WHATWG Wiki
Revision as of 06:54, 3 April 2008 by Hixie (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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
    1. insert comment
  • doctype
    1. parse error
  • text:
  • start tag for: <mglyph>
    1. imply <mtext>
    2. reprocess
  • start tag for: <mspace>, <maligngroup>, <malignmark>
    1. check for implied math tags
    2. insert element for token, assume void element
  • other start tag:
  • end tag:

    or
    :
    1. parse error
    2. imply </math>
    3. switch to "in body"
    4. reprocess
  • other end tag
    1. if matching element is in scope:
      1. parse error
      2. imply </math>
      3. reprocess
    2. otherwise:
      1. parse error
      2. ignore

check for implied math tags means:

  1. if current node is <mmultiscripts>:
    1. if the token is a <mprescripts> and there's an even number or child elements in the current node, imply a <none> element.
    2. abort these steps.
  2. if current node is <mtable>:
    1. if the token is either <mtr> or <mabelledtr>, abort these steps
    2. otherwise, imply an </mtable>
    3. restart these steps.
  3. if current node is <mtr>:
    1. if the token is an <mtd>, abort these steps
    2. otherwise, imply an </mtr>
    3. restart these steps.
  4. otherwise, if current node is one of <mfrac>, <mroot>, <msub>, <msup>, <munder>, <mover>: let N equal 2
  5. otherwise, if current node is one of <msubsup>, <munderover>: let N equal 3
  6. otherwise, abort these steps.


"in math content":

  • start tag for: <malignmark>
    1. insert element for token, assume void element
  • otherwise:
    1. treat as "in body"