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: Difference between revisions

From WHATWG Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 21: Line 21:
*# reprocess
*# reprocess


* start tag for:<mspace>, <maligngroup>, <malignmark>
* start tag for: <mspace>, <maligngroup>, <malignmark>
*# check for implied math tags
*# insert element for token, assume void element
*# insert element for token, assume void element
* other start tag:
* end tag: </p> or </br>:
*# 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
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.





Revision as of 06:54, 3 April 2008

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"