W3C home > Mailing lists > Public > public-html-commits@w3.org > July 2009

html5/spec .htaccess,NONE,1.1 acknowledgements.html,NONE,1.1 browsers.html,NONE,1.1 comms.html,NONE,1.1 dom.html,NONE,1.1 editing.html,NONE,1.1 embedded-content-0.html,NONE,1.1 forms.html,NONE,1.1 history.html,NONE,1.1 index.html,NONE,1.1 infrastructure.html,NONE,1.1 interactive-elements.html,NONE,1.1 introduction.html,NONE,1.1 microdata.html,NONE,1.1 named-character-references.html,NONE,1.1 no.html,NONE,1.1 obsolete-features.html,NONE,1.1 offline.html,NONE,1.1 parse.py,NONE,1.1 references.html,NONE,1.1 semantics.html,NONE,1.1 syntax.html,NONE,1.1 tabular-data.html,NONE,1.1 text-level-semantics.html,NONE,1.1 the-canvas-element.html,NONE,1.1 the-xhtml-syntax.html,NONE,1.1 video.html,NONE,1.1 Makefile,1.1,1.2

From: Michael Smith via cvs-syncmail <cvsmail@w3.org>
Date: Sat, 18 Jul 2009 09:45:13 +0000
To: Message-Id: <E1MS6Th-0004qy-6B@lionel-hutz.w3.org>
Update of /sources/public/html5/spec
In directory hutz:/tmp/cvs-serv18399

Modified Files:
	Makefile 
Added Files:
	.htaccess acknowledgements.html browsers.html comms.html 
	dom.html editing.html embedded-content-0.html forms.html 
	history.html index.html infrastructure.html 
	interactive-elements.html introduction.html microdata.html 
	named-character-references.html no.html obsolete-features.html 
	offline.html parse.py references.html semantics.html 
	syntax.html tabular-data.html text-level-semantics.html 
	the-canvas-element.html the-xhtml-syntax.html video.html 
Log Message:
checked in a multipage version of Hixie's draft, and made it the default view


--- NEW FILE: infrastructure.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...4481 lines suppressed...]
   <li value="82"><dfn id="serialise_err"><code>SERIALISE_ERR</code></dfn></li> <!-- actually defined in dom3ls -->
  </ol><div class="impl">

  <h4 id="garbage-collection"><span class="secno">2.8.9 </span>Garbage collection</h4>

  <p>There is an <dfn id="implied-strong-reference">implied strong reference</dfn> from any DOM
  attribute that returns a pre-existing object to that object.</p>

  <div class="example">

   <p>For example, the <code>document.location</code> attribute means
   that there is a strong reference from a <code>Document</code>
   object to its <code><a href="history.html#location">Location</a></code> object. Similarly, there is
   always a strong reference from a <code>Document</code> to any
   descendant nodes, and from any node to its owner
   <code>Document</code>.</p>

  </div>

  </div></body></html>
--- NEW FILE: text-level-semantics.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...2471 lines suppressed...]
&lt;/ol&gt;</pre>

  </div><div class="example">

   <p>In the following example, a list that started with just fruit
   was replaced by a list with just colors.</p>

   <pre>&lt;h1&gt;List of &lt;del&gt;fruits&lt;/del&gt;&lt;ins&gt;colors&lt;/ins&gt;&lt;/h1&gt;
&lt;ul&gt;
 &lt;li&gt;&lt;del&gt;Lime&lt;/del&gt;&lt;ins&gt;Green&lt;/ins&gt;&lt;/li&gt;
 &lt;li&gt;&lt;del&gt;Apple&lt;/del&gt;&lt;/li&gt;
 &lt;li&gt;Orange&lt;/li&gt;
 &lt;li&gt;&lt;del&gt;Pear&lt;/del&gt;&lt;/li&gt;
 &lt;li&gt;&lt;ins&gt;Teal&lt;/ins&gt;&lt;/li&gt;
 &lt;li&gt;&lt;del&gt;Lemon&lt;/del&gt;&lt;ins&gt;Yellow&lt;/ins&gt;&lt;/li&gt;
 &lt;li&gt;Olive&lt;/li&gt;
 &lt;li&gt;&lt;ins&gt;Purple&lt;/ins&gt;
&lt;/ul&gt;</pre>

  </div></body></html>
--- NEW FILE: history.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...2568 lines suppressed...]
    as a synonym for the existing value. If a keyword is added with
    the "proposal" status and found to be harmful, then it should be
    changed to "rejected" status, and its "Effect on..." information
    should be changed accordingly.</p>

   </dd>

  </dl><div class="impl">

  <p>Conformance checkers must use the information given on the WHATWG
  Wiki RelExtensions page to establish if a value not explicitly
  defined in this specification is allowed or not. When an author uses
  a new type not defined by either this specification or the Wiki
  page, conformance checkers should offer to add the value to the
  Wiki, with the details described above, with the "proposal"
  status.</p>

  </div><p>This specification does not define how new values will get
  approved. It is expected that the Wiki will have a community that
  addresses this.</p></body></html>
--- NEW FILE: tabular-data.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...2211 lines suppressed...]
   is in the <a href="#attr-th-scope-row" title="attr-th-scope-row">row</a> state, or</li>

   <li>The cell's <code title="attr-th-scope"><a href="#attr-th-scope">scope</a></code> attribute
   is in the <a href="#attr-th-scope-auto" title="attr-th-scope-auto">auto</a> state, the
   cell is not a <a href="#column-header">column header</a>, and there are no data
   cells in any of the cells covering slots with <var title="">x</var>-coordinates <var title="">x</var> .. <span title=""><var title="">x</var>+<var title="">width</var>-1</span>.</li>

  </ul><p>A header cell is said to be a <dfn id="column-group-header">column group header</dfn> if
  its <code title="attr-th-scope"><a href="#attr-th-scope">scope</a></code> attribute is in the
  <a href="#attr-th-scope-colgroup" title="attr-th-scope-colgroup">column group</a> state.</p>

  <p>A header cell is said to be a <dfn id="row-group-header">row group header</dfn> if
  its <code title="attr-th-scope"><a href="#attr-th-scope">scope</a></code> attribute is in the
  <a href="#attr-th-scope-rowgroup" title="attr-th-scope-rowgroup">row group</a> state.</p>

  <p>A cell is said to be an <dfn id="empty-cell">empty cell</dfn> if it contains no
  elements and its text content, if any, consists only of
  <a href="infrastructure.html#white_space">White_Space</a> characters.</p>

  </div></body></html>
--- NEW FILE: microdata.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...3979 lines suppressed...]
    and time of the <code>Document</code>'s source file's last
    modification, if it is known, or else of the moment that this
    algorithm was invoked.</p>

   </li>

   <li>

    <p>Insert an <code title="">updated</code> element in the
    <a href="#atom-namespace">Atom namespace</a> into the root element of <var title="">R</var> before the first <code title="">entry</code> in
    the <a href="#atom-namespace">Atom namespace</a> whose contents is a text node with
    its data set to <var title="">global update date</var>.</p>

   </li>

   <li><p>Return the Atom document <var title="">R</var>.</p></li>

  </ol><p>The <dfn id="atom-namespace">Atom namespace</dfn> is: <code>http://www.w3.org/2005/Atom</code></p>

  </div></body></html>
--- NEW FILE: embedded-content-0.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...2514 lines suppressed...]
<pre class="idl">interface <dfn id="htmlparamelement">HTMLParamElement</dfn> : <a href="dom.html#htmlelement">HTMLElement</a> {
           attribute DOMString <a href="#dom-param-name" title="dom-param-name">name</a>;
           attribute DOMString <a href="#dom-param-value" title="dom-param-value">value</a>;
};</pre>
   </dd>
  </dl><p>The <code><a href="#the-param-element">param</a></code> element defines parameters for plugins
  invoked by <code><a href="#the-object-element">object</a></code> elements. It does not <a href="the-xhtml-syntax.html#represents" title="represents">represent</a> anything on its own.</p><p>The <dfn id="attr-param-name" title="attr-param-name"><code>name</code></dfn>
  attribute gives the name of the parameter.</p><p>The <dfn id="attr-param-value" title="attr-param-value"><code>value</code></dfn>
  attribute gives the value of the parameter.</p><p>Both attributes must be present. They may have any value.</p><div class="impl">

  <p>If both attributes are present, and if the parent element of the
  <code><a href="#the-param-element">param</a></code> is an <code><a href="#the-object-element">object</a></code> element, then the
  element defines a <dfn id="concept-param-parameter" title="concept-param-parameter">parameter</dfn> with the given
  name/value pair.</p>

  <p>The DOM attributes <dfn id="dom-param-name" title="dom-param-name"><code>name</code></dfn> and <dfn id="dom-param-value" title="dom-param-value"><code>value</code></dfn> must both
  <a href="infrastructure.html#reflect">reflect</a> the respective content attributes of the same
  name.</p>

  </div></body></html>
--- NEW FILE: dom.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...2959 lines suppressed...]

     </dd>

     <dt>If <var title="">position</var> is an <a href="infrastructure.html#ascii-case-insensitive">ASCII
     case-insensitive</a> match for the string "afterend"</dt>

     <dd>

      <p>Insert all the <var title="">new children</var> nodes
      immediately after <var title="">target</var>.</p>

     </dd>

    </dl><p>The <var title="">new children</var> nodes must be inserted in
    a manner that preserves their order and fires mutation events as
    appropriate.</p>

   </li>

  </ol></div></body></html>
--- NEW FILE: acknowledgements.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
   dt, dfn { font-weight: bold; font-style: normal; }
   dt dfn { font-style: italic; }
   pre, code { font-size: inherit; font-family: monospace; font-variant: normal; }
   pre strong { color: black; font: inherit; font-weight: bold; background: yellow; }
   pre em { font-weight: bolder; font-style: normal; }
   @media screen { code { color: orangered; } code :link, code :visited { color: inherit; } }
   var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; }
   table { border-collapse: collapse; border-style: hidden hidden none hidden; }
   table thead { border-bottom: solid; }
   table tbody th:first-child { border-left: solid; }
   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }

   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
   .matrix, .matrix td { border: none; text-align: right; }
   .matrix { margin-left: 2em; }
   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
   @media screen { .applies th > * { display: block; white-space: nowrap; } }
   .applies thead code { display: block; }
   .applies td { text-align: center; }
   .applies .yes { background: yellow; }

   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
   img.extra { float: right; }
   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
   pre.css:first-line { color: #AAAA50; }
   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #EEFFEE; }
   hr + dl.domintro, div.impl + dl.domintro { margin-top: 2.5em; margin-bottom: 1.5em; }
   dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
   dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
   dl.domintro dd p { margin: 0.5em 0; }
   dl.switch { padding-left: 2em; }
   dl.switch > dt { text-indent: -1.5em; }
   dl.switch > dt:before { content: '\21AA'; padding: 0 0.5em 0 0; display: inline-block; width: 1em; text-align: right; line-height: 0.5em; }
   dl.triple { padding: 0 0 0 1em; }
   dl.triple dt, dl.triple dd { margin: 0; display: inline }
   dl.triple dt:after { content: ':'; }
   dl.triple dd:after { content: '\A'; white-space: pre; }
   .diff-old { text-decoration: line-through; color: silver; background: transparent; }
   .diff-chg, .diff-new { text-decoration: underline; color: green; background: transparent; }
   a .diff-new { border-bottom: 1px blue solid; }

   h2 { page-break-before: always; }
   h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
   h1 + h2, hr + h2.no-toc { page-break-before: auto; }

   p > span:not([title=""]):not([class="XXX"]):not([class="impl"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { border-bottom: solid #9999CC; }

   div.head { margin: 0 0 1em; padding: 1em 0 0 0; }
   div.head p { margin: 0; }
   div.head h1 { margin: 0; }
   div.head .logo { float: right; margin: 0 1em; }
   div.head .logo img { border: none } /* remove border from top image */
   div.head dl { margin: 1em 0; }
   p.copyright { font-size: x-small; font-style: oblique; margin: 0; }

   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
   body > .toc > li > * { margin-bottom: 0.5em; }
   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
   .toc, .toc li { list-style: none; }

   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
   .brief li { margin: 0; padding: 0; }
   .brief li p { margin: 0; padding: 0; }

   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
   .category-list li { display: inline; }
   .category-list li:not(:last-child)::after { content: ', '; }
   .category-list li > span, .category-list li > a { text-transform: lowercase; }
   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */

   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
   .XXX > :first-child { margin-top: 0; }
   p .XXX { line-height: 3em; }
   .note { color: green; background: transparent; font-family: sans-serif; }
   .warning { color: red; background: transparent; }
   .note, .warning { font-weight: bolder; font-style: italic; }
   p.note, div.note { padding: 0.5em 2em; }
   span.note { padding: 0 2em; }
   .note p:first-child, .warning p:first-child { margin-top: 0; }
   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
   .warning:before { font-style: normal; }
   p.note:before { content: 'Note: '; }
   p.warning:before { content: '\26A0 Warning! '; }

   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }

   h4 { position: relative; z-index: 3; }
   h4 + .element, h4 + div + .element { margin-top: -2.5em; padding-top: 2em; }
   .element {
     background: #EEEEFF;
     color: black;
     margin: 0 0 1em 0.15em;
     padding: 0 1em 0.25em 0.75em;
     border-left: solid #9999FF 0.25em;
     position: relative;
     z-index: 1;
   }
   .element:before {
     position: absolute;
     z-index: 2;
     top: 0;
     left: -1.15em;
     height: 2em;
     width: 0.9em;
     background: #EEEEFF;
     content: ' ';
     border-style: none none solid solid;
     border-color: #9999FF;
     border-width: 0.25em;
   }

   .example {
     display: block;
     color: #222222;
     background: #FCFCFC;
     border-left: double;
     margin-left: 2em;
     padding-left: 1em;
   }

   .tall-and-narrow {
     font-size: 0.6em;
     column-width: 25em;
     column-gap: 1em;
     -moz-column-width: 25em;
     -moz-column-gap: 1em;
     -webkit-column-width: 25em;
     -webkit-column-gap: 1em;
   }

   ul.domTree, ul.domTree ul { padding: 0 0 0 1em; margin: 0; }
   ul.domTree li { padding: 0; margin: 0; list-style: none; position: relative; }
   ul.domTree li li { list-style: none; }
   ul.domTree li:first-child::before { position: absolute; top: 0; height: 0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree li:not(:last-child)::after { position: absolute; top: 0; bottom: -0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree span { font-style: italic; font-family: serif; }
   ul.domTree .t1 code { color: purple; font-weight: bold; }
   ul.domTree .t2 { font-style: normal; font-family: monospace; }
   ul.domTree .t2 .name { color: black; font-weight: bold; }
   ul.domTree .t2 .value { color: blue; font-weight: normal; }
   ul.domTree .t3 code, .domTree .t4 code, .domTree .t5 code { color: gray; }
   ul.domTree .t7 code, .domTree .t8 code { color: green; }
   ul.domTree .t10 code { color: teal; }

  </style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="references.html" title="References" rel="prev">
  <link href="Overview.html#contents" title="Table of contents" rel="index">
  </head><body><div class="head">
   <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
   <h1>HTML 5</h1>
   <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
   </div><div>
   <a href="references.html">&#8592; References</a> &#8211;
   <a href="Overview.html#contents">Table of contents</a>
  </div>

  <h2 class="no-num" id="acknowledgements">Acknowledgements</h2><!-- ACKS --><p>Thanks to

  Aankhen,
  Aaron Boodman,
  Aaron Leventhal,
  Adam Barth,
  Adam Roben,
  Addison Phillips,
  Adele Peterson,
  Adrian Sutton,
  Agust&#237;n Fern&#225;ndez,
  Ajai Tirumali,
  Alan Plum,
  Alastair Campbell,
  Alex Nicolaou,
  Alex Rousskov,
  Alexander J. Vincent,
  Alexey Feldgendler,
  &#1040;&#1083;&#1077;&#1082;&#1089;&#1077;&#1081; &#1055;&#1088;&#1086;&#1089;&#1082;&#1091;&#1088;&#1103;&#1082;&#1086;&#1074; (Alexey Proskuryakov),
  Alexis Deveria,
  Allan Clements,
  Anders Carlsson,
  Andreas<!-- mqmq87 -->,
  Andrei Popescu,
  Andr&#233; E. Veltstra,
  Andrew Clover,
  Andrew Gove,
  Andrew Sidwell,
  Andrew Smith,
  Andrew W. Hagen,
  Andy Heydon,
  Andy Palay,
  Anne van Kesteren,
  Anthony Boyd,
  Anthony Bryan,
  Anthony Hickson,
  Anthony Ricaud,
  Antti Koivisto,
  Arphen Lin,
  Asbj&#248;rn Ulsberg,
  Ashley Sheridan,
  Aurelien Levy,
  Ave Wrigley,
  Ben Boyle,
  Ben Godfrey,
  Ben Meadowcroft,
  Ben Millard,
  Benjamin Hawkes-Lewis,
  Bert Bos,
  Bijan Parsia,
  Bil Corry,
  Bill Mason,
  Bill McCoy,
  Billy Wong,
  Bj&#246;rn H&#246;hrmann,
  Blake Frantz,
  Boris Zbarsky,
  Brad Fults,
  Brad Neuberg,
  Brady Eidson,
  Brendan Eich,
  Brenton Simpson,
  Brett Wilson,
  Brian Campbell,
  Brian Korver,
  Brian Ryner,
  Brian Smith,
  Brian Wilson,
  Bruce D'Arcus,
  Bruce Lawson,
  Bruce Miller,
  C. Williams,
  Cameron McCormack,
  Cao Yipeng,
  Carlos Perell&#243; Mar&#237;n,
  Chao Cai,
  &#50980;&#49437;&#52268; (Channy Yun),
  Charl van Niekerk,
  Charles Iliya Krempeaux,
  Charles McCathieNevile,
  Chris Morris,
  Chris Pearce,
  Christian Biesinger,
  Christian Johansen,
  Christian Schmidt,
  Christopher Aillon,
  Chriswa,
  Cole Robison,
  Colin Fine,
  Collin Jackson,
  Corprew Reed,
  Craig Cockburn,
  Csaba Gabor,
  Daniel Barclay,
  Daniel Bratell,
  Daniel Brooks,
  Daniel Brumbaugh Keeney,
  Daniel Davis,
  Daniel Glazman,
  Daniel Peng,
  Daniel Schattenkirchner,
  Daniel Sp&#229;ng,
  Daniel Steinberg,
  Danny Sullivan,
  Darin Adler,
  Darin Fisher,
  Dave Camp,
  Dave Hodder,
  Dave Lampton,
  Dave Singer,
  Dave Townsend<!-- Mossop on moz irc -->,
  David Baron,
  David Bloom,
  David Carlisle,
  David E. Cleary,
  David Egan Evans,
  David Flanagan,
  David Gerard,
  David H&#229;s&#228;ther,
  David Hyatt,
  David Matja,
  David Remahl,
  David Smith,
  David Woolley,
  DeWitt Clinton,
  Dean Edridge,
  Dean Edwards,
  Debi Orton,
  Derek Featherstone,
  Dimitri Glazkov,
  Dimitry Golubovsky,
  dolphinling,
  Doron Rosenberg,
  Doug Kramer,
  Drew Wilson,
  Edmund Lai,
  Eduard Pascual,
  Edward O'Connor,
  Edward Welbourne,
  Edward Z. Yang,
  Eira Monstad,
  Elliotte Harold,
  Eric Carlson,
  Eric Law,
  Eric Rescorla,
  Erik Arvidsson,
  Evan Martin,
  Evan Prodromou,
  fantasai,
  Felix Sasaki,
  Francesco Schwarz,
  Franck 'Shift' Qu&#233;lain,
  Frank Barchard,
  &#40284;&#39164;&#25991;&#25935; (Fumitoshi Ukai),
  Garrett Smith,
  Geoffrey Garen,
  Geoffrey Sneddon,
  George Lund,
  Giovanni Campagna,
  Greg Botten,
  Greg Houston,
  Grey,
  Gytis Jakutonis,
  H&#229;kon Wium Lie,
  Hallvord Reiar Michaelsen Steen,
  Hans S. T&#248;mmerhalt,
  Henri Sivonen,
  Henrik Lied,
  Henry Mason,
  Hugh Winkler,
  Ian Bicking,
  Ian Davis,
  Ignacio Javier,
  Ivan Enderlin,
  Ivo Emanuel Gon&#231;alves,
  J. King,
  Jacques Distler,
  James Craig,
  James Graham,
  James Justin Harrell,
  James M Snell,
  James Perrett,
  James Robinson,
  Jan-Klaas Kollhof,
  Jason Kersey,
  Jason Lustig,
  Jason White,
  Jasper Bryant-Greene,
  Jed Hartman,
  Jeff Balogh,
  Jeff Cutsinger,
  Jeff Schiller,
  Jeff Walden,
  Jens Bannmann,
  Jens Fendler,
  Jens Lindstr&#246;m,
  Jens Meiert,
  Jeroen van der Meer,
  Jim Jewett,
  Jim Ley,
  Jim Meehan,
  Jjgod Jiang,
  Joe Clark,
  Joe Gregorio,
  Joel Spolsky,
  Johan Herland,
  John Boyer,
  John Bussjaeger,
  John Carpenter,
  John Fallows,
  John Foliot,
  John Harding,
  John Keiser,
  John-Mark Bell,
  Johnny Stenback,
  Jon Ferraiolo,
  Jon Gibbins,
  Jon Perlow,
  Jonas Sicking,
  Jonathan Worent,
  Jonny Axelsson,
  Jorgen Horstink,
  Jorunn Danielsen Newth,
  Joseph Kesselman,
  Josh Aas,
  Josh Levenberg,
  Joshua Randall,
  Jukka K. Korpela,
  Jules Cl&#233;ment-Ripoche,
  Julian Reschke,
  Justin Sinclair,
  Kai Hendry,
  Kartikaya Gupta,
  Kelly Norton,
  Korn&#233;l P&#225;l,
  Kristof Zelechovski,
  &#40658;&#28580;&#21083;&#24535; (KUROSAWA Takeshi),
  Kyle Hofmann<!-- Ozob -->,
  L&#233;onard Bouchet,
  Lachlan Hunt,
  Larry Masinter,
  Larry Page,
  Lars Gunther<!-- Keryx Web -->,
  Lars Solberg,
  Laura L. Carlson,
  Laura Wisewell,
  Laurens Holst,
  Lee Kowalkowski,
  Leif Halvard Silli,
  Lenny Domnitser,
  Leons Petrazickis,
  Logan<!-- on moz irc -->,
  Loune,
  Maciej Stachowiak,
  Magnus Kristiansen<!-- Dashiva -->,
  Maik Merten,
  Malcolm Rowe,
  Mark Birbeck,
  Mark Miller,
  Mark Nottingham,
  Mark Rowe<!--bdash-->,
  Mark Schenk,
  Mark Wilton-Jones,
  Martijn Wargers,
  Martin Atkins,
  Martin D&#252;rst,
  Martin Honnen,
  Martin Kutschker,
  Masataka Yakura,
  Mathieu Henri,
  Matt Schmidt,
  Matt Wright,
  Matthew Gregan,
  Matthew Mastracci,
  Matthew Raymond,
  Matthew Thomas,
  Mattias Waldau,
  Max Romantschuk,
  Menno van Slooten,
  Micah Dubinko,
  Michael 'Ratt' Iannarelli,
  Michael A. Nachbaur,
  Michael A. Puls II<!--Shadow2531-->,
  Michael Carter,
  Michael Daskalov,
  Michael Enright,
  Michael Gratton,
  Michael Nordman,
  Michael Powers,
  Michael(tm) Smith,
  Michel Fortin,
  Michiel van der Blonk,
  Mihai &#350;ucan<!-- from ROBO Design -->,
  Mike Brown,
  Mike Dierken<!-- S. Mike Dierken -->,
  Mike Dixon,
  Mike Schinkel,
  Mike Shaver,
  Mikko Rantalainen,
  Mohamed Zergaoui<!-- Innovimax SARL -->,
  Neil Deakin,
  Neil Rashbrook,
  Neil Soiffer,
  Nicholas Shanks,
  Nicolas Gallagher,
  Noah Mendelsohn,
  Ojan Vafai,
  Olaf Hoffmann,
  Olav Junker Kj&#230;r,
  Old&#345;ich Vete&#353;n&#237;k,
  Oliver Hunt,
  Oliver Rigby,
  Olivier Gendrin,
  Olli Pettay,
  Patrick H. Lauke,
  Paul Norman,
  Peter Karlsson,
  Peter Kasting,
  Peter Stark,
  Peter-Paul Koch,
  Philip J&#228;genstedt,
  Philip Taylor,
  Philip TAYLOR<!-- a different one -->,
  Rachid Finge,
  Rajas Moonka,
  Ralf Stoltze,
  Ralph Giles,
  Raphael Champeimont,
  Rene Saarsoo,
  Rene Stach,
  Rich Doughty,
  Richard Ishida,
  Rigo Wenning,
  Rikkert Koppes,
  Rimantas Liubertas,
  Robert Blaut,
  Robert Collins,
  Robert O'Callahan,
  Robert Sayre,
  Robin Berjon,
  Roland Steiner,
  Roman Ivanov,
  Ryan King,
  S. Mike Dierken,
  Sam Kuper,
  Sam Ruby,
  Sam Weinig,
  Sander van Lambalgen,
  Sarven Capadisli,
  Scott Hess,
  Sean Fraser,
  Sean Hogen,
  Sean Knapp,
  Sebastian Schnitzenbaumer,
  Shanti Rao,
  Shaun Inman,
  Shiki Okasaka,
  Sierk Bornemann,
  Sigbj&#248;rn Vik,
  Silvia Pfeiffer,
  Simon Montagu,
  Simon Pieters,
  Simon Spiegel,
  skeww, <!-- on reddit -->
  Stefan Haustein,
  Steffen Meschkat,
  Stephen Ma,
  Steve Faulkner,
  Steve Runyon,
  Steven Garrity,
  Stewart Brodie,
  Stuart Ballard,
  Stuart Parmenter,
  Subramanian Peruvemba,
  Sunava Dutta,
  Susan Borgrink,
  Susan <!--G.--> Lesch,
  <span lang="tr" title="">Tantek &#199;elik</span>,
  Ted Mielczarek,
  Terrence Wood,
  Thomas Broyer,
  Thomas O'Connor,
  Tim Altman,
  Tim Johansson,
  Toby Inkster,
  Todd Moody,
  Tom Pike,
  Tommy Thorsen,
  Travis Leithead,
  Tyler Close,
  Vladimir Vuki&#263;evi&#263;,
  voracity,
  Wakaba,
  Wayne Pollock,
  Wellington Fernando de Macedo,
  Will Levine,
  William Swanson,
  Wladimir Palant,
  Wolfram Kriesing,
  Yi-An Huang,
  Yngve Nysaeter Pettersen,
  Zhenbin Xu,
  and
  &#216;istein E. Andersen,

  for their useful comments, both large and small, that have led to
  changes to this specification over the years.</p><p>Thanks also to everyone who has ever posted about HTML&#160;5 to
  their blogs, public mailing lists, or forums, including the <a href="http://lists.w3.org/Archives/Public/public-html/">W3C
  public-html list</a> and the <a href="http://www.whatwg.org/mailing-list">various WHATWG lists</a>.

  </p><p>Special thanks to Richard Williamson for creating the first
  implementation of <code><a href="the-canvas-element.html#the-canvas-element">canvas</a></code> in Safari, from which the
  canvas feature was designed.</p><p>Special thanks also to the Microsoft employees who first
  implemented the event-based drag-and-drop mechanism, <code title="attr-contenteditable"><a href="editing.html#attr-contenteditable">contenteditable</a></code>, and other
  features first widely deployed by the Windows Internet Explorer
  browser.</p><div class="impl">

  <p>Special thanks and $10,000 to David Hyatt who came up with a
  broken implementation of the <a href="syntax.html#adoptionAgency">adoption
  agency algorithm</a> that the editor had to reverse engineer and fix
  before using it in the parsing section.</p>

  </div><p>Thanks to the many sources that provided inspiration for the
  examples used in the specification.</p><p>Thanks also to the Microsoft blogging community for some ideas,
  to the attendees of the W3C Workshop on Web Applications and
  Compound Documents for inspiration, to the #mrt crew, the #mrt.no
  crew, and the #whatwg crew, and to Pillar and Hedral for their ideas
  and support.</p><!-- Hopefully Kam won't notice he's covered by these
  acknowledgements three times! --><!--
TODO (or delay):
 XXX * datagrid: cells that are links (<a href=""></a>)
 XXX * we should fix The Great Key Problem
 XXX * library of resources:
        var library = new ZipFile("data.zip");
        library.onload = function() {
          var sound1 = library.getAudio("sound1.wav"); // returns an Audio object
          var image1 = library.getImage("image1.png"); // returns an HTMLImageElement
          var doc1 = library.getXMLDocument("doc1.xml"); // returns a Document
          var doc2 = library.getHTMLDocument("doc1.html"); // returns an HTMLDocument
        }
       or:
        var library = new ResourceLoader("data.zip");
        library.add("moredata.zip");
        library.onload = function() { ... }
        library.onloading = function() {
          reportLoadProgress(library.progress); // 0.0 .. 1.0
        }
       or:
        var library = new AudioZip("sounds.zip");
        library.onload = function() {
          var sound1 = library["sound1.wav"];
          sound.play();
        }
 XXX * ability for a web app to save a file to the local disk:
         var file = window.openFile(); // throws up UI
         file.read();
         var file = window.saveAsFile(); // throws up UI
         file.write();
       ...or something? (<input type=file>?)
 XXX * http://lxr.mozilla.org/mozilla/source/dom/public/idl/html/nsIDOMNSHTMLDocument.idl
 XXX * define how to handle APNGs that have out-of-order aDATs and other
       errors in image formats, since pav and vlad refuse to define it for APNG:
         <Hixie> vlad: you should define what the UA should do with out-of-order aDATs
         <pav> its an error
         <pav> pretty sure we say that somewhere
         <Hixie> yes i know it's an error
         <Hixie> but that doesn't say what the UA should do
         <pav> error == image is invalid
         <vlad> yep
         <vlad> either broken image icon
         <vlad> or display first frame (fall back to normal PNG)
         <vlad> up to the UA
         <Hixie> right
         <Hixie> you should say which one
         <pav> its up to the UA
         <Hixie> why?
         <vlad> "SHOULD display the first frame, but MAY display broken image icon if that's not convenient", in rfc parlance
         <vlad> because it's not useful to specify that, IMO
         <Hixie> up to the UA means one UA will implement something, it'll become a popular UA, then all the others will have to copy it.
         <vlad> how a UA wants to handle image errors is up to the UA
         <pav> we're designing an image format, not the html image tag
         <pav> the html spec should say what to do with it
 XXX * <title site="" publisher="" author="">Page Title</title> ?
 XXX * [onclick] should make element focusable; enter should send onclick ?
 XXX * should have some text talking about the fact that it's ok if your
       page passes through a period of non-conformance while script is
       running, but that in between scripts it should be compliant.
 XXX * mousedown's default action is focus, so canceling mousedown stops
       focus transference. http://www.mozilla.org/editor/midasdemo/
 XXX * <select><option><hr> support?
 XXX * need explanation of when to use undo/redo, and when to use
       back/forward
 XXX * need to become consistent about whether or not to quote keyword
       ("<code title="">foo</code>" vs <code>foo</code>)
 XXX * need to properly xref events throughout
 XXX * onclick="" only fires if it is a MouseEvent ?
 XXX * hsivonen makes the following suggestions:
       > To make document conformance a more useful concept for the purpose of catching
       > author errors, I suggest that the following attributes be made required:
       > href and rel on link
       > href on base
       > name and content on meta (other than the encoding decl)
       > src on img
       > code, height and width on applet
       > name and value on param
 XXX * DOM0 quirks that Mozilla knows about:
       http://lxr.mozilla.org/seamonkey/source/dom/src/base/nsDOMClassInfo.cpp
 XXX * make the spec consistent about whether the word "algorithm" is part of
       an algorithm's name or not ("</dfn> algorithm", "</span> algorithm")
 XXX * make a consistent decision of which of the following formats to use:
         U+1234 FOO BAR character ("foo")
         U+1234 FOO BAR character ('foo')
         U+1234 FOO BAR character (foo)
         U+1234 FOO BAR ("foo") character
         U+1234 FOO BAR ('foo') character
         U+1234 FOO BAR (foo) character
         U+1234 FOO BAR character ("<code title="">foo</code>")
         U+1234 FOO BAR character ('<code title="">foo</code>')
         U+1234 FOO BAR character (<code title="">foo</code>)
         U+1234 FOO BAR ("<code title="">foo</code>") character
         U+1234 FOO BAR ('<code title="">foo</code>') character
         U+1234 FOO BAR (<code title="">foo</code>) character
       ...and make these match:
         0x12 (ASCII FOO)
         0x12 (ASCII "foo")
         0x12 (ASCII 'foo')
         0x12 ("foo")
         0x12 ('foo')
         0x12 (ASCII "<code title="">foo</code>")
         0x12 (ASCII '<code title="">foo</code>')
         0x12 ("<code title="">foo</code>")
         0x12 ('<code title="">foo</code>')
 XXX * check case of hex characters in the ASCII cases.
 XXX * trim function in JS for strings to remove spaces
 XXX * date checking functions in JS (.isValidDate?)
 XXX * a fairly common situation for web authors is to have two lists, where
       the contents of the second depends on the value of the first. Is there
       any way we could extend the current model to include this functionality?
       (e.g. bugzilla product/component ui)
 XXX * quick-searchable select
 XXX * fallback that will only appear in non-webforms clients (e.g. for
       formats for date fields)
 XXX * include/exclude selectors (two multi-select columns with arrows to
       move selected items) and that sort of thing.
       http://slashdot.org/comments.pl?sid=110240&cid=9357022
 XXX * Oh, and forms need a standardized Help widget/icon. I know I can
       turn my cursor into a question mark, but I'm looking for something
       simple and pervasive. Maybe you can wrap fields in a help tag, just
       as you do for fieldsets. And in that help tag, attributes are
       available that allow for a nice, formatted, clean, full help text
       popup/area/thing.
       http://slashdot.org/comments.pl?sid=110240&cid=9359006
 XXX * Validating only part of a form. - Anja Lehmann
 XXX * Reminder to add a way to expose access keys in buttons, i.e.
       Sub&mit where & signifies the m is the access key to use. Possibly
       automatic? <input accesskey="m" value="Submit"> browser would be
       smart enough to underline the first instance of the access key if
       it exists (case insensitive)? - kerz
       [or deprecate the lot (->web apps)]
 XXX * option.text should do the same as option.textContent
 XXX * need an attribute that says "the children of this element are in
       their own tabbing universe, tabindex should be relative to each
       other, not to the document"
       -> web apps?
 XXX * make select widgets have multiple columns
       or ->web apps with list view
 XXX * required as a group (one of the following must be available):
       + i propose something like the following:
           <input type="text" group="contact" name="voicephone"> Voice phone
           <input type="text" group="contact" name="fax"> Fax
           <input type="text" group="contact" name="mobile"> Mobile phone
           <input type="text" group="contact" name="email"> E-mail
         if the user fills out none of the form fields in the "contact"
         group, an error message is shown and the form is not submitted.
         - Peter-Paul Koch
 XXX * use the sample widgets:
          <li><img alt="A text field with editable sections for each
          value, with a button to pop up a dialog showing a calendar or
          clock." src="sample-datetime-ui-2"></li>
          <li><img alt="A calendar grid with a clock in the upper right
          hand corner." src="sample-datetime-ui-3"></li>
 XXX * formatting of number fields, text fields, etc, so that when the
       field is not focused, the value is displayed differently. Seems
       like this would also be useful e.g. for <output> or something so
       you can display localised dates, etc.
 XXX * update text/html RFC
 XXX * password and confirm password: can we have a way to do client-side
       validation of this?
 XXX * <input type="search">
       http://weblogs.mozillazine.org/hyatt/archives/2004_07.html#005890
 XXX * would be nice to say how to handle duplicate IDs once and for all
       instead of spreading it all over the spec.
 XXX * being able to select date range (from day x to day y)
 XXX * ways of visualizing a linefeed in a <textarea> so it looks different
       from wrapping text
 XXX * all login systems have
         1. enter username and password
         2. create new account
         3. lost password
       some way of integrating this into one system, since it's so common
 XXX * way of identifying different sorts of mailadresses
         a) mailing-list
         b) person
         c) department in a company ("support", "marketing" and such)
         d) general mail (like "info", "mail", "contact" and such)
         e) other sorts of groupings
       (or ->web apps; this is talking about in mailto: links, I think)
 XXX * hotswapping login identities like in windows xp
         you are logged in on operamail.com, and you want to check the mail
         of another user. somehow, combined with the wand or whatever,
         the browser will remember the login page, and it can re-submit it
         without having to load the initial page (saving time)
 XXX * provide different measuring systems, like having the html indicate
       fluid in both fluid ounces and liters, and the browser can display
       one or the other based on regional settings in the browser or ui,
       display conversions in a tooltip, or let the user decide which
       format to display.
 XXX * indicate "x days ago" or "y days into the future" rather than date
 XXX * input control for anniversaries
 XXX * only submit fields that have changed, or a way to include in the
       submission a list of which form controls were changed from their
       default value
 XXX * have a way of marking the first option of a <select> as the default
       but have it not satisfy a new required="" attribute on <select> so
       that you can have selects that require a valid value.
 XXX * Dave Raggett inadvertently suggested there should be a way to submit
       canvas elements.
 XXX * type="time" value="now"
 XXX * should "mixed fractional number" be used instead of "fractional"?
 XXX * terse BNF to define the allowed values of the various attributes
       instead of, or in addition to, the prose. [or not, it wouldn't be terse]
 XXX * add something to type="number" to support basic currency and unit
       formatting of input
 XXX * <fieldset enabled-if-checked="myCheckboxOrRadioButton">
       ...to allow sections to only be enabled if a radio button makes it
       relevant, for instance.
 XXX * Yan Morin proposed a multi-column dropdown <select> or <datalist>:
         _________________
        |_New_York______|V|_________________  <- input  with a table link and a down arrow
        |_City__________|_State_|_Country_|_| <- header of the table
        | Montreal      |  QC   | Canada  |A| <- top arrow of the scroll
        |>New York     <|  NY   | US      | | <- selected row
        | Washington    |  DC   | US      |X| <- cursor scroll
        | San Francisco |  CA   | US      | |
        |_Toronto_______|__ON___|_Canada__|V| <- bottom arrow of the scroll

 XXX * add for="" attribute to <input type="password"> so that you can
       link usernames and passwords. (Jonas Sicking)
 XXX * value for unchecked checkbox?
 XXX * maximum height/width or required ratio for image uploads? - Leons Petrazickis
 XXX * A way to specify the default button - Michael Gratton
 XXX * <fieldset readonly>?
 XXX * action="" should be defined as not being relative to base URI
       see https://bugzilla.mozilla.org/show_bug.cgi?id=297761
 XXX * rephrase things so that an enumerated attribute puts the _element_ into
       various states, instead of the attribute
 XXX * take references to "valid mime type" / RFC2046 and make them
       mean something. (2046 doesn't define anything like that, and
       2045's definition doesn't really help either, since it's part
       of something else, and doesn't mention whitespace, etc.)
 XXX * reference [UTC] in the various places that use it.
 XXX * dolphinling suggests having a way to mark certain parts of a
       form as being dependent on another (mutually exclusive parts of
       a form)
 XXX * make the spec more consistent about its use of "hexadecimal"
       and "base-sixteen", the order that 0-9 A-Z a-z is mentioned,
       and the detail to which the spec explains how to interpret a
       string as a hexadecimal number.
 XXX * expose the form data set, either as an object (on which one can
       invoke the JSON serialiser), or in the form of a method on
       HTMLFormElement that returns the form data set serialised
       according to a particular encoding (defaulting to the form's
       enctype="" one, probably). This would allow forms to be used
       with XHR-like systems without having to manually construct the
       form data set the way that is done today.
 XXX * become more consistent about what markup we use to mark up
       productions (nothing? <i>? <code>?)
 XXX * should check all cases of 'active document' and change the
       relevant ones to 'fully active document'.
 XXX * use <code>Document</code> consistently instead of 'document'.
 XXX * s/raise/throw/g
 XXX * be clearer about arrays/lists/collections being zero-based
       despite using the term "/index/th".
 XXX * update RFC 2854 (text/html reg)
--></body></html>
--- NEW FILE: the-canvas-element.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...3495 lines suppressed...]
   <li><span title=""><var title="">specified height</var> = <var title="">specified width</var> = 0</span></li>

  </ul><p>The <var title="">target ratio</var> is the ratio of the
  intrinsic width to the intrinsic height in the resource. The <var title="">specified width</var> and <var title="">specified
  height</var> are the values of the <code title="attr-dim-width"><a href="#attr-dim-width">width</a></code> and <code title="attr-dim-height"><a href="#attr-dim-height">height</a></code> attributes respectively.</p><p>The two attributes must be omitted if the resource in question
  does not have both an intrinsic width and an intrinsic height.</p><p>If the two attributes are both zero, it indicates that the
  element is not intended for the user (e.g. it might be a part of a
  service to count page views).</p><p class="note">The dimension attributes are not intended to be used
  to stretch the image.</p><div class="impl">

  <p><strong>User agent requirements</strong>: User agents are
  expected to use these attributes <a href="the-xhtml-syntax.html#dimRendering">as hints
  for the rendering</a>.</p>

  <p>The <dfn id="dom-dim-width" title="dom-dim-width"><code>width</code></dfn> and <dfn id="dom-dim-height" title="dom-dim-height"><code>height</code></dfn> DOM attributes on
  the <code><a href="embedded-content-0.html#the-iframe-element">iframe</a></code>, <code><a href="embedded-content-0.html#the-embed-element">embed</a></code>, <code><a href="embedded-content-0.html#the-object-element">object</a></code>,
  and <code><a href="video.html#video">video</a></code> elements must <a href="infrastructure.html#reflect">reflect</a> the
  respective content attributes of the same name.</p>

  </div></body></html>
--- NEW FILE: forms.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...7628 lines suppressed...]

  </div><div class="impl">

  <h4 id="event-dispatch"><span class="secno">4.10.18 </span>Event dispatch</h4>

  <p>When the user agent is to <dfn id="broadcast-forminput-events">broadcast <code title="event-forminput">forminput</code> events</dfn> or
  <dfn id="broadcast-formchange-events">broadcast <code title="event-formchange">formchange</code>
  events</dfn> from a <code><a href="#the-form-element">form</a></code> element <var title="">form</var>, it must run the following steps:</p>

  <ol><li><p>Let <var title="">controls</var> be a list of all the <a href="#category-reset" title="category-reset">resettable</a> elements whose <a href="#form-owner">form
   owner</a> is <var title="">form</var>.</p></li>

   <li>If the user agent was to <a href="#broadcast-forminput-events">broadcast <code title="event-forminput">forminput</code> events</a>, let <var title="">event name</var> be <code title="event-forminput">forminput</code>. Otherwise the user agent
   was to <a href="#broadcast-formchange-events">broadcast <code title="event-formchange">formchange</code> events</a>; let <var title="">event name</var> be <code title="event-formchange">formchange</code>.</li>

   <li><p>For each element in <var title="">controls</var>, in
   <a href="infrastructure.html#tree-order">tree order</a>, <a href="browsers.html#fire-a-simple-event">fire a simple event</a> called
   <var title="">event name</var> at the element.</p></li>

  </ol></div></body></html>
--- NEW FILE: interactive-elements.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...4058 lines suppressed...]

     <li><code><a href="forms.html#the-textarea-element">textarea</a></code> elements that do not have a <code title="attr-textarea-readonly"><a href="forms.html#attr-textarea-readonly">readonly</a></code> attribute, and
     that are not <a href="forms.html#concept-fe-disabled" title="concept-fe-disabled">disabled</a></li>

     <li>any element that is <a href="editing.html#editable">editable</a></li>

    </ul><p>The <code title="selector-read-only"><a href="#selector-read-only">:read-only</a></code>
    pseudo-class must match all other <a href="infrastructure.html#html-elements">HTML elements</a>.</p>

   </dd>

  </dl><p class="note">Another section of this specification defines the
  <i><a href="history.html#target-element">target element</a></i> used with the <code title="selector-target">:target</code> pseudo-class.</p>

  <p class="note">This specification does not define when an element
  matches the <code title="selector-hover">:hover</code>, <code title="selector-focus">:focus</code>, or <code title="selector-lang()">:lang()</code> dynamic pseudo-classes, as
  those are all defined in sufficient detail in a language-agnostic
  fashion in the Selectors specification. <a href="references.html#references">[SELECTORS]</a></p>

  </div></body></html>
--- NEW FILE: video.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...2866 lines suppressed...]
  size, and the performance characteristics of its host. Such
  information is already potentially problematic, but in practice the
  same information can more or less be obtained using the
  <code><a href="embedded-content-0.html#the-img-element">img</a></code> element, and so it has been deemed acceptable.</p>

  <p>However, significantly more sensitive information could be
  obtained if the user agent further exposes metadata within the
  content such as subtitles or chapter titles. This version of the API
  does not expose such information. Future extensions to this API will
  likely reuse a mechanism such as CORS to check that the embedded
  content's site has opted in to exposing such information. <a href="references.html#references">[CORS]</a></p> <!-- v2 -->

  <p class="example">An attacker could trick a user running within a
  corporate network into visiting a site that attempts to load a video
  from a previously leaked location on the corporation's intranet. If
  such a video included confidential plans for a new product, then
  being able to read the subtitles would present a confidentiality
  breach.</p>

  </div></body></html>
--- NEW FILE: browsers.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...3678 lines suppressed...]

    <p>Calling the <code title="dom-navigator-getStorageUpdates"><a href="#dom-navigator-getstorageupdates">navigator.getStorageUpdates()</a></code>
    method tells the user agent to unblock any other scripts that may
    be blocked, even though the script hasn't returned.</p>

    <p>Values of cookies and items in the <code>Storage</code> objects
    of <code title="dom-localStorage">localStorage</code> attributes
    can change after calling this method, whence its name.</p>

   </dd>

  </dl><div class="impl">

   <p>The <dfn id="dom-navigator-getstorageupdates" title="dom-navigator-getStorageUpdates"><code>getStorageUpdates()</code></dfn>
   method, when invoked, must, if the <a href="#storage-mutex">storage mutex</a> is
   owned by the <a href="#event-loop">event loop</a> of the <a href="#concept-task" title="concept-task">task</a> that resulted in the method being
   called, release the <a href="#storage-mutex">storage mutex</a> so that it is once
   again free. Otherwise, it must do nothing.</p>

  </div></body></html>
--- NEW FILE: the-xhtml-syntax.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...2600 lines suppressed...]
   </li><li><code title="">noresize</code>
   </li><li><code title="">noshade</code>
   </li><li><code title="">nowrap</code>
   </li><li><code title="">readonly</code>
   </li><li><code title="">rel</code>
   </li><li><code title="">rev</code>
   </li><li><code title="">rules</code>
   </li><li><code title="">scope</code>
   </li><li><code title="">scrolling</code>
   </li><li><code title="">selected</code>
   </li><li><code title="">shape</code>
   </li><li><code title="">target</code>
   </li><li><code title="">text</code>
   </li><li><code title="">type</code>
   </li><li><code title="">valign</code>
   </li><li><code title="">valuetype</code>
   </li><li><code title="">vlink</code>
  </li></ul><p>All other <a href="infrastructure.html#html-elements">HTML elements</a> and all attribute names and
  values on <a href="infrastructure.html#html-elements">HTML elements</a> must be treated as
  <a href="infrastructure.html#case-sensitive">case-sensitive</a>.</p></body></html>
--- NEW FILE: offline.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...1743 lines suppressed...]

  <p>The <dfn id="dom-navigator-online" title="dom-navigator-onLine"><code>navigator.onLine</code></dfn>
  attribute must return false if the user agent will not contact the
  network when the user follows links or when a script requests a
  remote page (or knows that such an attempt would fail), and must
  return true otherwise.</p>

  <p>When the value that would be returned by the <code title="dom-navigator-onLine"><a href="#dom-navigator-online">navigator.onLine</a></code> attribute of
  the <code><a href="browsers.html#window">Window</a></code> changes from true to false, the user agent
  must <a href="browsers.html#fire-a-simple-event">fire a simple event</a> called <dfn id="event-offline" title="event-offline"><code>offline</code></dfn> at the
  <code><a href="browsers.html#window">Window</a></code> object.</p>

  <p>On the other hand, when the value that would be returned by the
  <code title="dom-navigator-onLine"><a href="#dom-navigator-online">navigator.onLine</a></code> attribute
  of the <code><a href="browsers.html#window">Window</a></code> changes from false to true, the user
  agent must <a href="browsers.html#fire-a-simple-event">fire a simple event</a> called <dfn id="event-online" title="event-online"><code>online</code></dfn> at the
  <code><a href="browsers.html#window">Window</a></code> object.</p>

  </div><p class="note">This attribute is inherently unreliable. A computer
  can be connected to a network without having Internet access.</p></body></html>
--- NEW FILE: syntax.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...7533 lines suppressed...]

   <li>

    <p>Start the parser and let it run until it has consumed all the
    characters just inserted into the input stream.</p>

   </li>

   <li>

    <p>If there is a <var title="">context</var> element, return the
    child nodes of <var title="">root</var>, in <a href="infrastructure.html#tree-order">tree
    order</a>.</p>

    <p>Otherwise, return the children of the <code>Document</code>
    object, in <a href="infrastructure.html#tree-order">tree order</a>.</p>

   </li>

  </ol></div></body></html>
--- NEW FILE: parse.py ---
#!/usr/bin/env python
"""usage: %prog [options] filename

Parse a document to a simpletree tree, with optional profiling
"""
#RELEASE move ./examples/

import sys
import os
from optparse import OptionParser

#RELEASE remove
sys.path.insert(0,os.path.abspath(os.path.join(__file__,'../src')))
#END RELEASE
from html5lib import html5parser, liberalxmlparser
from html5lib import treebuilders, serializer, treewalkers
from html5lib import constants

def parse():
    optParser = getOptParser()
    opts,args = optParser.parse_args()
    encoding = "utf-8"

    try:
        f = args[-1]
        # Try opening from the internet
        if f.startswith('http://'):
            try:
                import urllib, cgi
                f = urllib.urlopen(f)
                contentType = f.headers.get('content-type')
                if contentType:
                    (mediaType, params) = cgi.parse_header(contentType)
                    encoding = params.get('charset')
            except: pass
        elif f == '-':
            f = sys.stdin
        else:
            try:
                # Try opening from file system
                f = open(f)
            except IOError: pass
    except IndexError:
        sys.stderr.write("No filename provided. Use -h for help\n")
        sys.exit(1)

    treebuilder = treebuilders.getTreeBuilder(opts.treebuilder)

    if opts.xml:
        p = liberalxmlparser.XHTMLParser(tree=treebuilder)
    else:
        p = html5parser.HTMLParser(tree=treebuilder)

    if opts.fragment:
        parseMethod = p.parseFragment
    else:
        parseMethod = p.parse

    if opts.profile:
        import hotshot
        import hotshot.stats
        prof = hotshot.Profile('stats.prof')
        prof.runcall(parseMethod, f, encoding=encoding)
        prof.close()
        # XXX - We should use a temp file here
        stats = hotshot.stats.load('stats.prof')
        stats.strip_dirs()
        stats.sort_stats('time')
        stats.print_stats()
    elif opts.time:
        import time
        t0 = time.time()
        document = parseMethod(f, encoding=encoding)
        t1 = time.time()
        printOutput(p, document, opts)
        t2 = time.time()
        print "\n\nRun took: %fs (plus %fs to print the output)"%(t1-t0, t2-t1)
    else:
        document = parseMethod(f, encoding=encoding)
        printOutput(p, document, opts)

def printOutput(parser, document, opts):
    if opts.encoding:
        print "Encoding:", parser.tokenizer.stream.charEncoding
    if opts.xml:
        sys.stdout.write(document.toxml("utf-8"))
    elif opts.tree:
        if not hasattr(document,'__getitem__'): document = [document]
        for fragment in document:
            print parser.tree.testSerializer(fragment).encode("utf-8")
    elif opts.hilite:
        sys.stdout.write(document.hilite("utf-8"))
    elif opts.html:
        kwargs = {}
        for opt in serializer.HTMLSerializer.options:
            kwargs[opt] = getattr(opts,opt)
        if not kwargs['quote_char']: del kwargs['quote_char']
        tokens = treewalkers.getTreeWalker(opts.treebuilder)(document)
        for text in serializer.HTMLSerializer(**kwargs).serialize(tokens, encoding='utf-8'):
            sys.stdout.write(text)
        if not text.endswith('\n'): sys.stdout.write('\n')
    if opts.error:
        errList=[]
        for pos, errorcode, datavars in parser.errors:
            errList.append("Line %i Col %i"%pos + " " + constants.E.get(errorcode, 'Unknown error "%s"' % errorcode) % datavars)
        sys.stdout.write("\nParse errors:\n" + "\n".join(errList)+"\n")

def getOptParser():
    parser = OptionParser(usage=__doc__)

    parser.add_option("-p", "--profile", action="store_true", default=False,
                      dest="profile", help="Use the hotshot profiler to "
                      "produce a detailed log of the run")
    
    parser.add_option("-t", "--time",
                      action="store_true", default=False, dest="time",
                      help="Time the run using time.time (may not be accurate on all platforms, especially for short runs)")
    
    parser.add_option("-b", "--treebuilder", action="store", type="string",
                      dest="treebuilder", default="simpleTree")

    parser.add_option("-e", "--error", action="store_true", default=False,
                      dest="error", help="Print a list of parse errors")

    parser.add_option("-f", "--fragment", action="store_true", default=False,
                      dest="fragment", help="Parse as a fragment")

    parser.add_option("", "--tree", action="store_true", default=False,
                      dest="tree", help="Output as debug tree")
    
    parser.add_option("-x", "--xml", action="store_true", default=False,
                      dest="xml", help="Output as xml")
    
    parser.add_option("", "--no-html", action="store_false", default=True,
                      dest="html", help="Don't output html")
    
    parser.add_option("", "--hilite", action="store_true", default=False,
                      dest="hilite", help="Output as formatted highlighted code.")
    
    parser.add_option("-c", "--encoding", action="store_true", default=False,
                      dest="encoding", help="Print character encoding used")

    parser.add_option("", "--inject-meta-charset", action="store_true",
                      default=False, dest="inject_meta_charset",
                      help="inject <meta charset>")

    parser.add_option("", "--strip-whitespace", action="store_true",
                      default=False, dest="strip_whitespace",
                      help="strip whitespace")

    parser.add_option("", "--omit-optional-tags", action="store_true",
                      default=False, dest="omit_optional_tags",
                      help="omit optional tags")

    parser.add_option("", "--quote-attr-values", action="store_true",
                      default=False, dest="quote_attr_values",
                      help="quote attribute values")

    parser.add_option("", "--use-best-quote-char", action="store_true",
                      default=False, dest="use_best_quote_char",
                      help="use best quote character")

    parser.add_option("", "--quote-char", action="store",
                      default=None, dest="quote_char",
                      help="quote character")

    parser.add_option("", "--no-minimize-boolean-attributes",
                      action="store_false", default=True,
                      dest="minimize_boolean_attributes",
                      help="minimize boolean attributes")

    parser.add_option("", "--use-trailing-solidus", action="store_true",
                      default=False, dest="use_trailing_solidus",
                      help="use trailing solidus")

    parser.add_option("", "--space-before-trailing-solidus",
                      action="store_true", default=False,
                      dest="space_before_trailing_solidus",
                      help="add space before trailing solidus")

    parser.add_option("", "--escape-lt-in-attrs", action="store_true",
                      default=False, dest="escape_lt_in_attrs",
                      help="escape less than signs in attribute values")

    parser.add_option("", "--escape-rcdata", action="store_true",
                      default=False, dest="escape_rcdata",
                      help="escape rcdata element values")

    parser.add_option("", "--sanitize", action="store_true", default=False,
                      dest="sanitize", help="sanitize")

    return parser

if __name__ == "__main__":
    parse()

--- NEW FILE: named-character-references.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
   dt, dfn { font-weight: bold; font-style: normal; }
   dt dfn { font-style: italic; }
   pre, code { font-size: inherit; font-family: monospace; font-variant: normal; }
   pre strong { color: black; font: inherit; font-weight: bold; background: yellow; }
   pre em { font-weight: bolder; font-style: normal; }
   @media screen { code { color: orangered; } code :link, code :visited { color: inherit; } }
   var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; }
   table { border-collapse: collapse; border-style: hidden hidden none hidden; }
   table thead { border-bottom: solid; }
   table tbody th:first-child { border-left: solid; }
   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }

   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
   .matrix, .matrix td { border: none; text-align: right; }
   .matrix { margin-left: 2em; }
   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
   @media screen { .applies th > * { display: block; white-space: nowrap; } }
   .applies thead code { display: block; }
   .applies td { text-align: center; }
   .applies .yes { background: yellow; }

   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
   img.extra { float: right; }
   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
   pre.css:first-line { color: #AAAA50; }
   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #EEFFEE; }
   hr + dl.domintro, div.impl + dl.domintro { margin-top: 2.5em; margin-bottom: 1.5em; }
   dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
   dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
   dl.domintro dd p { margin: 0.5em 0; }
   dl.switch { padding-left: 2em; }
   dl.switch > dt { text-indent: -1.5em; }
   dl.switch > dt:before { content: '\21AA'; padding: 0 0.5em 0 0; display: inline-block; width: 1em; text-align: right; line-height: 0.5em; }
   dl.triple { padding: 0 0 0 1em; }
   dl.triple dt, dl.triple dd { margin: 0; display: inline }
   dl.triple dt:after { content: ':'; }
   dl.triple dd:after { content: '\A'; white-space: pre; }
   .diff-old { text-decoration: line-through; color: silver; background: transparent; }
   .diff-chg, .diff-new { text-decoration: underline; color: green; background: transparent; }
   a .diff-new { border-bottom: 1px blue solid; }

   h2 { page-break-before: always; }
   h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
   h1 + h2, hr + h2.no-toc { page-break-before: auto; }

   p > span:not([title=""]):not([class="XXX"]):not([class="impl"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { border-bottom: solid #9999CC; }

   div.head { margin: 0 0 1em; padding: 1em 0 0 0; }
   div.head p { margin: 0; }
   div.head h1 { margin: 0; }
   div.head .logo { float: right; margin: 0 1em; }
   div.head .logo img { border: none } /* remove border from top image */
   div.head dl { margin: 1em 0; }
   p.copyright { font-size: x-small; font-style: oblique; margin: 0; }

   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
   body > .toc > li > * { margin-bottom: 0.5em; }
   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
   .toc, .toc li { list-style: none; }

   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
   .brief li { margin: 0; padding: 0; }
   .brief li p { margin: 0; padding: 0; }

   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
   .category-list li { display: inline; }
   .category-list li:not(:last-child)::after { content: ', '; }
   .category-list li > span, .category-list li > a { text-transform: lowercase; }
   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */

   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
   .XXX > :first-child { margin-top: 0; }
   p .XXX { line-height: 3em; }
   .note { color: green; background: transparent; font-family: sans-serif; }
   .warning { color: red; background: transparent; }
   .note, .warning { font-weight: bolder; font-style: italic; }
   p.note, div.note { padding: 0.5em 2em; }
   span.note { padding: 0 2em; }
   .note p:first-child, .warning p:first-child { margin-top: 0; }
   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
   .warning:before { font-style: normal; }
   p.note:before { content: 'Note: '; }
   p.warning:before { content: '\26A0 Warning! '; }

   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }

   h4 { position: relative; z-index: 3; }
   h4 + .element, h4 + div + .element { margin-top: -2.5em; padding-top: 2em; }
   .element {
     background: #EEEEFF;
     color: black;
     margin: 0 0 1em 0.15em;
     padding: 0 1em 0.25em 0.75em;
     border-left: solid #9999FF 0.25em;
     position: relative;
     z-index: 1;
   }
   .element:before {
     position: absolute;
     z-index: 2;
     top: 0;
     left: -1.15em;
     height: 2em;
     width: 0.9em;
     background: #EEEEFF;
     content: ' ';
     border-style: none none solid solid;
     border-color: #9999FF;
     border-width: 0.25em;
   }

   .example {
     display: block;
     color: #222222;
     background: #FCFCFC;
     border-left: double;
     margin-left: 2em;
     padding-left: 1em;
   }

   .tall-and-narrow {
     font-size: 0.6em;
     column-width: 25em;
     column-gap: 1em;
     -moz-column-width: 25em;
     -moz-column-gap: 1em;
     -webkit-column-width: 25em;
     -webkit-column-gap: 1em;
   }

   ul.domTree, ul.domTree ul { padding: 0 0 0 1em; margin: 0; }
   ul.domTree li { padding: 0; margin: 0; list-style: none; position: relative; }
   ul.domTree li li { list-style: none; }
   ul.domTree li:first-child::before { position: absolute; top: 0; height: 0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree li:not(:last-child)::after { position: absolute; top: 0; bottom: -0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree span { font-style: italic; font-family: serif; }
   ul.domTree .t1 code { color: purple; font-weight: bold; }
   ul.domTree .t2 { font-style: normal; font-family: monospace; }
   ul.domTree .t2 .name { color: black; font-weight: bold; }
   ul.domTree .t2 .value { color: blue; font-weight: normal; }
   ul.domTree .t3 code, .domTree .t4 code, .domTree .t5 code { color: gray; }
   ul.domTree .t7 code, .domTree .t8 code { color: green; }
   ul.domTree .t10 code { color: teal; }

  </style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="syntax.html" title="9 The HTML syntax" rel="prev">
  <link href="Overview.html#contents" title="Table of contents" rel="index">
  <link href="the-xhtml-syntax.html" title="10 The XHTML syntax" rel="next">
  </head><body><div class="head">
   <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
   <h1>HTML 5</h1>
   <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
   </div><div>
   <a href="syntax.html">&#8592; 9 The HTML syntax</a> &#8211;
   <a href="Overview.html#contents">Table of contents</a> &#8211;
   <a href="the-xhtml-syntax.html">10 The XHTML syntax &#8594;</a>
  </div>

  <h3 id="named-character-references"><span class="secno">9.6 </span><dfn>Named character references</dfn></h3><p>This table lists the character reference names that are supported
  by HTML, and the code points to which they refer. It is referenced
  by the previous sections.</p><div class="tall-and-narrow">
   <table><thead><tr><th> Name </th> <th> Character </th> </tr></thead><tbody><tr><td> <code title="">AElig;</code> </td> <td> U+000C6 </td> </tr><tr><td> <code title="">AElig</code> </td> <td> U+000C6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">AMP;</code> </td> <td> U+00026 </td> </tr><tr><td> <code title="">AMP</code> </td> <td> U+00026 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Aacute;</code> </td> <td> U+000C1 </td> </tr><tr><td> <code title="">Aacute</code> </td> <td> U+000C1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Abreve;</code> </td> <td> U+00102 </td> </tr><tr><td> <code title="">Acirc;</code> </td> <td> U+000C2 </td> </tr><tr><td> <code title="">Acirc</code> </td> <td> U+000C2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Acy;</code> </td> <td> U+00410 </td> </tr><tr><td> <code title="">Afr;</code> </td> <td> U+1D504 </td> </tr><tr><td> <code title="">Agrave;</code> </td> <td> U+000C0 </td> </tr><tr><td> <code title="">Agrave</code> </td> <td> U+000C0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Alpha;</code> </td> <td> U+00391 </td> </tr><tr><td> <code title="">Amacr;</code> </td> <td> U+00100 </td> </tr><tr><td> <code title="">And;</code> </td> <td> U+02A53 </td> </tr><tr><td> <code title="">Aogon;</code> </td> <td> U+00104 </td> </tr><tr><td> <code title="">Aopf;</code> </td> <td> U+1D538 </td> </tr><tr><td> <code title="">ApplyFunction;</code> </td> <td> U+02061 </td> </tr><tr><td> <code title="">Aring;</code> </td> <td> U+000C5 </td> </tr><tr><td> <code title="">Aring</code> </td> <td> U+000C5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ascr;</code> </td> <td> U+1D49C </td> </tr><tr><td> <code title="">Assign;</code> </td> <td> U+02254 </td> </tr><tr><td> <code title="">Atilde;</code> </td> <td> U+000C3 </td> </tr><tr><td> <code title="">Atilde</code> </td> <td> U+000C3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Auml;</code> </td> <td> U+000C4 </td> </tr><tr><td> <code title="">Auml</code> </td> <td> U+000C4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Backslash;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">Barv;</code> </td> <td> U+02AE7 </td> </tr><tr><td> <code title="">Barwed;</code> </td> <td> U+02306 </td> </tr><tr><td> <code title="">Bcy;</code> </td> <td> U+00411 </td> </tr><tr><td> <code title="">Because;</code> </td> <td> U+02235 </td> </tr><tr><td> <code title="">Bernoullis;</code> </td> <td> U+0212C </td> </tr><tr><td> <code title="">Beta;</code> </td> <td> U+00392 </td> </tr><tr><td> <code title="">Bfr;</code> </td> <td> U+1D505 </td> </tr><tr><td> <code title="">Bopf;</code> </td> <td> U+1D539 </td> </tr><tr><td> <code title="">Breve;</code> </td> <td> U+002D8 </td> </tr><tr><td> <code title="">Bscr;</code> </td> <td> U+0212C </td> </tr><tr><td> <code title="">Bumpeq;</code> </td> <td> U+0224E </td> </tr><tr><td> <code title="">CHcy;</code> </td> <td> U+00427 </td> </tr><tr><td> <code title="">COPY;</code> </td> <td> U+000A9 </td> </tr><tr><td> <code title="">COPY</code> </td> <td> U+000A9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Cacute;</code> </td> <td> U+00106 </td> </tr><tr><td> <code title="">Cap;</code> </td> <td> U+022D2 </td> </tr><tr><td> <code title="">CapitalDifferentialD;</code> </td> <td> U+02145 </td> </tr><tr><td> <code title="">Cayleys;</code> </td> <td> U+0212D </td> </tr><tr><td> <code title="">Ccaron;</code> </td> <td> U+0010C </td> </tr><tr><td> <code title="">Ccedil;</code> </td> <td> U+000C7 </td> </tr><tr><td> <code title="">Ccedil</code> </td> <td> U+000C7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ccirc;</code> </td> <td> U+00108 </td> </tr><tr><td> <code title="">Cconint;</code> </td> <td> U+02230 </td> </tr><tr><td> <code title="">Cdot;</code> </td> <td> U+0010A </td> </tr><tr><td> <code title="">Cedilla;</code> </td> <td> U+000B8 </td> </tr><tr><td> <code title="">CenterDot;</code> </td> <td> U+000B7 </td> </tr><tr><td> <code title="">Cfr;</code> </td> <td> U+0212D </td> </tr><tr><td> <code title="">Chi;</code> </td> <td> U+003A7 </td> </tr><tr><td> <code title="">CircleDot;</code> </td> <td> U+02299 </td> </tr><tr><td> <code title="">CircleMinus;</code> </td> <td> U+02296 </td> </tr><tr><td> <code title="">CirclePlus;</code> </td> <td> U+02295 </td> </tr><tr><td> <code title="">CircleTimes;</code> </td> <td> U+02297 </td> </tr><tr><td> <code title="">ClockwiseContourIntegral;</code> </td> <td> U+02232 </td> </tr><tr><td> <code title="">CloseCurlyDoubleQuote;</code> </td> <td> U+0201D </td> </tr><tr><td> <code title="">CloseCurlyQuote;</code> </td> <td> U+02019 </td> </tr><tr><td> <code title="">Colon;</code> </td> <td> U+02237 </td> </tr><tr><td> <code title="">Colone;</code> </td> <td> U+02A74 </td> </tr><tr><td> <code title="">Congruent;</code> </td> <td> U+02261 </td> </tr><tr><td> <code title="">Conint;</code> </td> <td> U+0222F </td> </tr><tr><td> <code title="">ContourIntegral;</code> </td> <td> U+0222E </td> </tr><tr><td> <code title="">Copf;</code> </td> <td> U+02102 </td> </tr><tr><td> <code title="">Coproduct;</code> </td> <td> U+02210 </td> </tr><tr><td> <code title="">CounterClockwiseContourIntegral;</code> </td> <td> U+02233 </td> </tr><tr><td> <code title="">Cross;</code> </td> <td> U+02A2F </td> </tr><tr><td> <code title="">Cscr;</code> </td> <td> U+1D49E </td> </tr><tr><td> <code title="">Cup;</code> </td> <td> U+022D3 </td> </tr><tr><td> <code title="">CupCap;</code> </td> <td> U+0224D </td> </tr><tr><td> <code title="">DD;</code> </td> <td> U+02145 </td> </tr><tr><td> <code title="">DDotrahd;</code> </td> <td> U+02911 </td> </tr><tr><td> <code title="">DJcy;</code> </td> <td> U+00402 </td> </tr><tr><td> <code title="">DScy;</code> </td> <td> U+00405 </td> </tr><tr><td> <code title="">DZcy;</code> </td> <td> U+0040F </td> </tr><tr><td> <code title="">Dagger;</code> </td> <td> U+02021 </td> </tr><tr><td> <code title="">Darr;</code> </td> <td> U+021A1 </td> </tr><tr><td> <code title="">Dashv;</code> </td> <td> U+02AE4 </td> </tr><tr><td> <code title="">Dcaron;</code> </td> <td> U+0010E </td> </tr><tr><td> <code title="">Dcy;</code> </td> <td> U+00414 </td> </tr><tr><td> <code title="">Del;</code> </td> <td> U+02207 </td> </tr><tr><td> <code title="">Delta;</code> </td> <td> U+00394 </td> </tr><tr><td> <code title="">Dfr;</code> </td> <td> U+1D507 </td> </tr><tr><td> <code title="">DiacriticalAcute;</code> </td> <td> U+000B4 </td> </tr><tr><td> <code title="">DiacriticalDot;</code> </td> <td> U+002D9 </td> </tr><tr><td> <code title="">DiacriticalDoubleAcute;</code> </td> <td> U+002DD </td> </tr><tr><td> <code title="">DiacriticalGrave;</code> </td> <td> U+00060 </td> </tr><tr><td> <code title="">DiacriticalTilde;</code> </td> <td> U+002DC </td> </tr><tr><td> <code title="">Diamond;</code> </td> <td> U+022C4 </td> </tr><tr><td> <code title="">DifferentialD;</code> </td> <td> U+02146 </td> </tr><tr><td> <code title="">Dopf;</code> </td> <td> U+1D53B </td> </tr><tr><td> <code title="">Dot;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">DotDot;</code> </td> <td> U+020DC </td> </tr><tr><td> <code title="">DotEqual;</code> </td> <td> U+02250 </td> </tr><tr><td> <code title="">DoubleContourIntegral;</code> </td> <td> U+0222F </td> </tr><tr><td> <code title="">DoubleDot;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">DoubleDownArrow;</code> </td> <td> U+021D3 </td> </tr><tr><td> <code title="">DoubleLeftArrow;</code> </td> <td> U+021D0 </td> </tr><tr><td> <code title="">DoubleLeftRightArrow;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">DoubleLeftTee;</code> </td> <td> U+02AE4 </td> </tr><tr><td> <code title="">DoubleLongLeftArrow;</code> </td> <td> U+027F8 </td> </tr><tr><td> <code title="">DoubleLongLeftRightArrow;</code> </td> <td> U+027FA </td> </tr><tr><td> <code title="">DoubleLongRightArrow;</code> </td> <td> U+027F9 </td> </tr><tr><td> <code title="">DoubleRightArrow;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">DoubleRightTee;</code> </td> <td> U+022A8 </td> </tr><tr><td> <code title="">DoubleUpArrow;</code> </td> <td> U+021D1 </td> </tr><tr><td> <code title="">DoubleUpDownArrow;</code> </td> <td> U+021D5 </td> </tr><tr><td> <code title="">DoubleVerticalBar;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">DownArrow;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">DownArrowBar;</code> </td> <td> U+02913 </td> </tr><tr><td> <code title="">DownArrowUpArrow;</code> </td> <td> U+021F5 </td> </tr><tr><td> <code title="">DownBreve;</code> </td> <td> U+00311 </td> </tr><tr><td> <code title="">DownLeftRightVector;</code> </td> <td> U+02950 </td> </tr><tr><td> <code title="">DownLeftTeeVector;</code> </td> <td> U+0295E </td> </tr><tr><td> <code title="">DownLeftVector;</code> </td> <td> U+021BD </td> </tr><tr><td> <code title="">DownLeftVectorBar;</code> </td> <td> U+02956 </td> </tr><tr><td> <code title="">DownRightTeeVector;</code> </td> <td> U+0295F </td> </tr><tr><td> <code title="">DownRightVector;</code> </td> <td> U+021C1 </td> </tr><tr><td> <code title="">DownRightVectorBar;</code> </td> <td> U+02957 </td> </tr><tr><td> <code title="">DownTee;</code> </td> <td> U+022A4 </td> </tr><tr><td> <code title="">DownTeeArrow;</code> </td> <td> U+021A7 </td> </tr><tr><td> <code title="">Downarrow;</code> </td> <td> U+021D3 </td> </tr><tr><td> <code title="">Dscr;</code> </td> <td> U+1D49F </td> </tr><tr><td> <code title="">Dstrok;</code> </td> <td> U+00110 </td> </tr><tr><td> <code title="">ENG;</code> </td> <td> U+0014A </td> </tr><tr><td> <code title="">ETH;</code> </td> <td> U+000D0 </td> </tr><tr><td> <code title="">ETH</code> </td> <td> U+000D0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Eacute;</code> </td> <td> U+000C9 </td> </tr><tr><td> <code title="">Eacute</code> </td> <td> U+000C9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ecaron;</code> </td> <td> U+0011A </td> </tr><tr><td> <code title="">Ecirc;</code> </td> <td> U+000CA </td> </tr><tr><td> <code title="">Ecirc</code> </td> <td> U+000CA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ecy;</code> </td> <td> U+0042D </td> </tr><tr><td> <code title="">Edot;</code> </td> <td> U+00116 </td> </tr><tr><td> <code title="">Efr;</code> </td> <td> U+1D508 </td> </tr><tr><td> <code title="">Egrave;</code> </td> <td> U+000C8 </td> </tr><tr><td> <code title="">Egrave</code> </td> <td> U+000C8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Element;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">Emacr;</code> </td> <td> U+00112 </td> </tr><tr><td> <code title="">EmptySmallSquare;</code> </td> <td> U+025FB </td> </tr><tr><td> <code title="">EmptyVerySmallSquare;</code> </td> <td> U+025AB </td> </tr><tr><td> <code title="">Eogon;</code> </td> <td> U+00118 </td> </tr><tr><td> <code title="">Eopf;</code> </td> <td> U+1D53C </td> </tr><tr><td> <code title="">Epsilon;</code> </td> <td> U+00395 </td> </tr><tr><td> <code title="">Equal;</code> </td> <td> U+02A75 </td> </tr><tr><td> <code title="">EqualTilde;</code> </td> <td> U+02242 </td> </tr><tr><td> <code title="">Equilibrium;</code> </td> <td> U+021CC </td> </tr><tr><td> <code title="">Escr;</code> </td> <td> U+02130 </td> </tr><tr><td> <code title="">Esim;</code> </td> <td> U+02A73 </td> </tr><tr><td> <code title="">Eta;</code> </td> <td> U+00397 </td> </tr><tr><td> <code title="">Euml;</code> </td> <td> U+000CB </td> </tr><tr><td> <code title="">Euml</code> </td> <td> U+000CB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Exists;</code> </td> <td> U+02203 </td> </tr><tr><td> <code title="">ExponentialE;</code> </td> <td> U+02147 </td> </tr><tr><td> <code title="">Fcy;</code> </td> <td> U+00424 </td> </tr><tr><td> <code title="">Ffr;</code> </td> <td> U+1D509 </td> </tr><tr><td> <code title="">FilledSmallSquare;</code> </td> <td> U+025FC </td> </tr><tr><td> <code title="">FilledVerySmallSquare;</code> </td> <td> U+025AA </td> </tr><tr><td> <code title="">Fopf;</code> </td> <td> U+1D53D </td> </tr><tr><td> <code title="">ForAll;</code> </td> <td> U+02200 </td> </tr><tr><td> <code title="">Fouriertrf;</code> </td> <td> U+02131 </td> </tr><tr><td> <code title="">Fscr;</code> </td> <td> U+02131 </td> </tr><tr><td> <code title="">GJcy;</code> </td> <td> U+00403 </td> </tr><tr><td> <code title="">GT;</code> </td> <td> U+0003E </td> </tr><tr><td> <code title="">GT</code> </td> <td> U+0003E </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Gamma;</code> </td> <td> U+00393 </td> </tr><tr><td> <code title="">Gammad;</code> </td> <td> U+003DC </td> </tr><tr><td> <code title="">Gbreve;</code> </td> <td> U+0011E </td> </tr><tr><td> <code title="">Gcedil;</code> </td> <td> U+00122 </td> </tr><tr><td> <code title="">Gcirc;</code> </td> <td> U+0011C </td> </tr><tr><td> <code title="">Gcy;</code> </td> <td> U+00413 </td> </tr><tr><td> <code title="">Gdot;</code> </td> <td> U+00120 </td> </tr><tr><td> <code title="">Gfr;</code> </td> <td> U+1D50A </td> </tr><tr><td> <code title="">Gg;</code> </td> <td> U+022D9 </td> </tr><tr><td> <code title="">Gopf;</code> </td> <td> U+1D53E </td> </tr><tr><td> <code title="">GreaterEqual;</code> </td> <td> U+02265 </td> </tr><tr><td> <code title="">GreaterEqualLess;</code> </td> <td> U+022DB </td> </tr><tr><td> <code title="">GreaterFullEqual;</code> </td> <td> U+02267 </td> </tr><tr><td> <code title="">GreaterGreater;</code> </td> <td> U+02AA2 </td> </tr><tr><td> <code title="">GreaterLess;</code> </td> <td> U+02277 </td> </tr><tr><td> <code title="">GreaterSlantEqual;</code> </td> <td> U+02A7E </td> </tr><tr><td> <code title="">GreaterTilde;</code> </td> <td> U+02273 </td> </tr><tr><td> <code title="">Gscr;</code> </td> <td> U+1D4A2 </td> </tr><tr><td> <code title="">Gt;</code> </td> <td> U+0226B </td> </tr><tr><td> <code title="">HARDcy;</code> </td> <td> U+0042A </td> </tr><tr><td> <code title="">Hacek;</code> </td> <td> U+002C7 </td> </tr><tr><td> <code title="">Hat;</code> </td> <td> U+0005E </td> </tr><tr><td> <code title="">Hcirc;</code> </td> <td> U+00124 </td> </tr><tr><td> <code title="">Hfr;</code> </td> <td> U+0210C </td> </tr><tr><td> <code title="">HilbertSpace;</code> </td> <td> U+0210B </td> </tr><tr><td> <code title="">Hopf;</code> </td> <td> U+0210D </td> </tr><tr><td> <code title="">HorizontalLine;</code> </td> <td> U+02500 </td> </tr><tr><td> <code title="">Hscr;</code> </td> <td> U+0210B </td> </tr><tr><td> <code title="">Hstrok;</code> </td> <td> U+00126 </td> </tr><tr><td> <code title="">HumpDownHump;</code> </td> <td> U+0224E </td> </tr><tr><td> <code title="">HumpEqual;</code> </td> <td> U+0224F </td> </tr><tr><td> <code title="">IEcy;</code> </td> <td> U+00415 </td> </tr><tr><td> <code title="">IJlig;</code> </td> <td> U+00132 </td> </tr><tr><td> <code title="">IOcy;</code> </td> <td> U+00401 </td> </tr><tr><td> <code title="">Iacute;</code> </td> <td> U+000CD </td> </tr><tr><td> <code title="">Iacute</code> </td> <td> U+000CD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Icirc;</code> </td> <td> U+000CE </td> </tr><tr><td> <code title="">Icirc</code> </td> <td> U+000CE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Icy;</code> </td> <td> U+00418 </td> </tr><tr><td> <code title="">Idot;</code> </td> <td> U+00130 </td> </tr><tr><td> <code title="">Ifr;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">Igrave;</code> </td> <td> U+000CC </td> </tr><tr><td> <code title="">Igrave</code> </td> <td> U+000CC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Im;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">Imacr;</code> </td> <td> U+0012A </td> </tr><tr><td> <code title="">ImaginaryI;</code> </td> <td> U+02148 </td> </tr><tr><td> <code title="">Implies;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">Int;</code> </td> <td> U+0222C </td> </tr><tr><td> <code title="">Integral;</code> </td> <td> U+0222B </td> </tr><tr><td> <code title="">Intersection;</code> </td> <td> U+022C2 </td> </tr><tr><td> <code title="">InvisibleComma;</code> </td> <td> U+02063 </td> </tr><tr><td> <code title="">InvisibleTimes;</code> </td> <td> U+02062 </td> </tr><tr><td> <code title="">Iogon;</code> </td> <td> U+0012E </td> </tr><tr><td> <code title="">Iopf;</code> </td> <td> U+1D540 </td> </tr><tr><td> <code title="">Iota;</code> </td> <td> U+00399 </td> </tr><tr><td> <code title="">Iscr;</code> </td> <td> U+02110 </td> </tr><tr><td> <code title="">Itilde;</code> </td> <td> U+00128 </td> </tr><tr><td> <code title="">Iukcy;</code> </td> <td> U+00406 </td> </tr><tr><td> <code title="">Iuml;</code> </td> <td> U+000CF </td> </tr><tr><td> <code title="">Iuml</code> </td> <td> U+000CF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Jcirc;</code> </td> <td> U+00134 </td> </tr><tr><td> <code title="">Jcy;</code> </td> <td> U+00419 </td> </tr><tr><td> <code title="">Jfr;</code> </td> <td> U+1D50D </td> </tr><tr><td> <code title="">Jopf;</code> </td> <td> U+1D541 </td> </tr><tr><td> <code title="">Jscr;</code> </td> <td> U+1D4A5 </td> </tr><tr><td> <code title="">Jsercy;</code> </td> <td> U+00408 </td> </tr><tr><td> <code title="">Jukcy;</code> </td> <td> U+00404 </td> </tr><tr><td> <code title="">KHcy;</code> </td> <td> U+00425 </td> </tr><tr><td> <code title="">KJcy;</code> </td> <td> U+0040C </td> </tr><tr><td> <code title="">Kappa;</code> </td> <td> U+0039A </td> </tr><tr><td> <code title="">Kcedil;</code> </td> <td> U+00136 </td> </tr><tr><td> <code title="">Kcy;</code> </td> <td> U+0041A </td> </tr><tr><td> <code title="">Kfr;</code> </td> <td> U+1D50E </td> </tr><tr><td> <code title="">Kopf;</code> </td> <td> U+1D542 </td> </tr><tr><td> <code title="">Kscr;</code> </td> <td> U+1D4A6 </td> </tr><tr><td> <code title="">LJcy;</code> </td> <td> U+00409 </td> </tr><tr><td> <code title="">LT;</code> </td> <td> U+0003C </td> </tr><tr><td> <code title="">LT</code> </td> <td> U+0003C </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Lacute;</code> </td> <td> U+00139 </td> </tr><tr><td> <code title="">Lambda;</code> </td> <td> U+0039B </td> </tr><tr><td> <code title="">Lang;</code> </td> <td> U+027EA </td> </tr><tr><td> <code title="">Laplacetrf;</code> </td> <td> U+02112 </td> </tr><tr><td> <code title="">Larr;</code> </td> <td> U+0219E </td> </tr><tr><td> <code title="">Lcaron;</code> </td> <td> U+0013D </td> </tr><tr><td> <code title="">Lcedil;</code> </td> <td> U+0013B </td> </tr><tr><td> <code title="">Lcy;</code> </td> <td> U+0041B </td> </tr><tr><td> <code title="">LeftAngleBracket;</code> </td> <td> U+027E8 </td> </tr><tr><td> <code title="">LeftArrow;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">LeftArrowBar;</code> </td> <td> U+021E4 </td> </tr><tr><td> <code title="">LeftArrowRightArrow;</code> </td> <td> U+021C6 </td> </tr><tr><td> <code title="">LeftCeiling;</code> </td> <td> U+02308 </td> </tr><tr><td> <code title="">LeftDoubleBracket;</code> </td> <td> U+027E6 </td> </tr><tr><td> <code title="">LeftDownTeeVector;</code> </td> <td> U+02961 </td> </tr><tr><td> <code title="">LeftDownVector;</code> </td> <td> U+021C3 </td> </tr><tr><td> <code title="">LeftDownVectorBar;</code> </td> <td> U+02959 </td> </tr><tr><td> <code title="">LeftFloor;</code> </td> <td> U+0230A </td> </tr><tr><td> <code title="">LeftRightArrow;</code> </td> <td> U+02194 </td> </tr><tr><td> <code title="">LeftRightVector;</code> </td> <td> U+0294E </td> </tr><tr><td> <code title="">LeftTee;</code> </td> <td> U+022A3 </td> </tr><tr><td> <code title="">LeftTeeArrow;</code> </td> <td> U+021A4 </td> </tr><tr><td> <code title="">LeftTeeVector;</code> </td> <td> U+0295A </td> </tr><tr><td> <code title="">LeftTriangle;</code> </td> <td> U+022B2 </td> </tr><tr><td> <code title="">LeftTriangleBar;</code> </td> <td> U+029CF </td> </tr><tr><td> <code title="">LeftTriangleEqual;</code> </td> <td> U+022B4 </td> </tr><tr><td> <code title="">LeftUpDownVector;</code> </td> <td> U+02951 </td> </tr><tr><td> <code title="">LeftUpTeeVector;</code> </td> <td> U+02960 </td> </tr><tr><td> <code title="">LeftUpVector;</code> </td> <td> U+021BF </td> </tr><tr><td> <code title="">LeftUpVectorBar;</code> </td> <td> U+02958 </td> </tr><tr><td> <code title="">LeftVector;</code> </td> <td> U+021BC </td> </tr><tr><td> <code title="">LeftVectorBar;</code> </td> <td> U+02952 </td> </tr><tr><td> <code title="">Leftarrow;</code> </td> <td> U+021D0 </td> </tr><tr><td> <code title="">Leftrightarrow;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">LessEqualGreater;</code> </td> <td> U+022DA </td> </tr><tr><td> <code title="">LessFullEqual;</code> </td> <td> U+02266 </td> </tr><tr><td> <code title="">LessGreater;</code> </td> <td> U+02276 </td> </tr><tr><td> <code title="">LessLess;</code> </td> <td> U+02AA1 </td> </tr><tr><td> <code title="">LessSlantEqual;</code> </td> <td> U+02A7D </td> </tr><tr><td> <code title="">LessTilde;</code> </td> <td> U+02272 </td> </tr><tr><td> <code title="">Lfr;</code> </td> <td> U+1D50F </td> </tr><tr><td> <code title="">Ll;</code> </td> <td> U+022D8 </td> </tr><tr><td> <code title="">Lleftarrow;</code> </td> <td> U+021DA </td> </tr><tr><td> <code title="">Lmidot;</code> </td> <td> U+0013F </td> </tr><tr><td> <code title="">LongLeftArrow;</code> </td> <td> U+027F5 </td> </tr><tr><td> <code title="">LongLeftRightArrow;</code> </td> <td> U+027F7 </td> </tr><tr><td> <code title="">LongRightArrow;</code> </td> <td> U+027F6 </td> </tr><tr><td> <code title="">Longleftarrow;</code> </td> <td> U+027F8 </td> </tr><tr><td> <code title="">Longleftrightarrow;</code> </td> <td> U+027FA </td> </tr><tr><td> <code title="">Longrightarrow;</code> </td> <td> U+027F9 </td> </tr><tr><td> <code title="">Lopf;</code> </td> <td> U+1D543 </td> </tr><tr><td> <code title="">LowerLeftArrow;</code> </td> <td> U+02199 </td> </tr><tr><td> <code title="">LowerRightArrow;</code> </td> <td> U+02198 </td> </tr><tr><td> <code title="">Lscr;</code> </td> <td> U+02112 </td> </tr><tr><td> <code title="">Lsh;</code> </td> <td> U+021B0 </td> </tr><tr><td> <code title="">Lstrok;</code> </td> <td> U+00141 </td> </tr><tr><td> <code title="">Lt;</code> </td> <td> U+0226A </td> </tr><tr><td> <code title="">Map;</code> </td> <td> U+02905 </td> </tr><tr><td> <code title="">Mcy;</code> </td> <td> U+0041C </td> </tr><tr><td> <code title="">MediumSpace;</code> </td> <td> U+0205F </td> </tr><tr><td> <code title="">Mellintrf;</code> </td> <td> U+02133 </td> </tr><tr><td> <code title="">Mfr;</code> </td> <td> U+1D510 </td> </tr><tr><td> <code title="">MinusPlus;</code> </td> <td> U+02213 </td> </tr><tr><td> <code title="">Mopf;</code> </td> <td> U+1D544 </td> </tr><tr><td> <code title="">Mscr;</code> </td> <td> U+02133 </td> </tr><tr><td> <code title="">Mu;</code> </td> <td> U+0039C </td> </tr><tr><td> <code title="">NJcy;</code> </td> <td> U+0040A </td> </tr><tr><td> <code title="">Nacute;</code> </td> <td> U+00143 </td> </tr><tr><td> <code title="">Ncaron;</code> </td> <td> U+00147 </td> </tr><tr><td> <code title="">Ncedil;</code> </td> <td> U+00145 </td> </tr><tr><td> <code title="">Ncy;</code> </td> <td> U+0041D </td> </tr><tr><td> <code title="">NegativeMediumSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NegativeThickSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NegativeThinSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NegativeVeryThinSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">NestedGreaterGreater;</code> </td> <td> U+0226B </td> </tr><tr><td> <code title="">NestedLessLess;</code> </td> <td> U+0226A </td> </tr><tr><td> <code title="">NewLine;</code> </td> <td> U+0000A </td> </tr><tr><td> <code title="">Nfr;</code> </td> <td> U+1D511 </td> </tr><tr><td> <code title="">NoBreak;</code> </td> <td> U+02060 </td> </tr><tr><td> <code title="">NonBreakingSpace;</code> </td> <td> U+000A0 </td> </tr><tr><td> <code title="">Nopf;</code> </td> <td> U+02115 </td> </tr><tr><td> <code title="">Not;</code> </td> <td> U+02AEC </td> </tr><tr><td> <code title="">NotCongruent;</code> </td> <td> U+02262 </td> </tr><tr><td> <code title="">NotCupCap;</code> </td> <td> U+0226D </td> </tr><tr><td> <code title="">NotDoubleVerticalBar;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">NotElement;</code> </td> <td> U+02209 </td> </tr><tr><td> <code title="">NotEqual;</code> </td> <td> U+02260 </td> </tr><tr><td> <code title="">NotExists;</code> </td> <td> U+02204 </td> </tr><tr><td> <code title="">NotGreater;</code> </td> <td> U+0226F </td> </tr><tr><td> <code title="">NotGreaterEqual;</code> </td> <td> U+02271 </td> </tr><tr><td> <code title="">NotGreaterLess;</code> </td> <td> U+02279 </td> </tr><tr><td> <code title="">NotGreaterTilde;</code> </td> <td> U+02275 </td> </tr><tr><td> <code title="">NotLeftTriangle;</code> </td> <td> U+022EA </td> </tr><tr><td> <code title="">NotLeftTriangleEqual;</code> </td> <td> U+022EC </td> </tr><tr><td> <code title="">NotLess;</code> </td> <td> U+0226E </td> </tr><tr><td> <code title="">NotLessEqual;</code> </td> <td> U+02270 </td> </tr><tr><td> <code title="">NotLessGreater;</code> </td> <td> U+02278 </td> </tr><tr><td> <code title="">NotLessTilde;</code> </td> <td> U+02274 </td> </tr><tr><td> <code title="">NotPrecedes;</code> </td> <td> U+02280 </td> </tr><tr><td> <code title="">NotPrecedesSlantEqual;</code> </td> <td> U+022E0 </td> </tr><tr><td> <code title="">NotReverseElement;</code> </td> <td> U+0220C </td> </tr><tr><td> <code title="">NotRightTriangle;</code> </td> <td> U+022EB </td> </tr><tr><td> <code title="">NotRightTriangleEqual;</code> </td> <td> U+022ED </td> </tr><tr><td> <code title="">NotSquareSubsetEqual;</code> </td> <td> U+022E2 </td> </tr><tr><td> <code title="">NotSquareSupersetEqual;</code> </td> <td> U+022E3 </td> </tr><tr><td> <code title="">NotSubsetEqual;</code> </td> <td> U+02288 </td> </tr><tr><td> <code title="">NotSucceeds;</code> </td> <td> U+02281 </td> </tr><tr><td> <code title="">NotSucceedsSlantEqual;</code> </td> <td> U+022E1 </td> </tr><tr><td> <code title="">NotSupersetEqual;</code> </td> <td> U+02289 </td> </tr><tr><td> <code title="">NotTilde;</code> </td> <td> U+02241 </td> </tr><tr><td> <code title="">NotTildeEqual;</code> </td> <td> U+02244 </td> </tr><tr><td> <code title="">NotTildeFullEqual;</code> </td> <td> U+02247 </td> </tr><tr><td> <code title="">NotTildeTilde;</code> </td> <td> U+02249 </td> </tr><tr><td> <code title="">NotVerticalBar;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">Nscr;</code> </td> <td> U+1D4A9 </td> </tr><tr><td> <code title="">Ntilde;</code> </td> <td> U+000D1 </td> </tr><tr><td> <code title="">Ntilde</code> </td> <td> U+000D1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Nu;</code> </td> <td> U+0039D </td> </tr><tr><td> <code title="">OElig;</code> </td> <td> U+00152 </td> </tr><tr><td> <code title="">Oacute;</code> </td> <td> U+000D3 </td> </tr><tr><td> <code title="">Oacute</code> </td> <td> U+000D3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ocirc;</code> </td> <td> U+000D4 </td> </tr><tr><td> <code title="">Ocirc</code> </td> <td> U+000D4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ocy;</code> </td> <td> U+0041E </td> </tr><tr><td> <code title="">Odblac;</code> </td> <td> U+00150 </td> </tr><tr><td> <code title="">Ofr;</code> </td> <td> U+1D512 </td> </tr><tr><td> <code title="">Ograve;</code> </td> <td> U+000D2 </td> </tr><tr><td> <code title="">Ograve</code> </td> <td> U+000D2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Omacr;</code> </td> <td> U+0014C </td> </tr><tr><td> <code title="">Omega;</code> </td> <td> U+003A9 </td> </tr><tr><td> <code title="">Omicron;</code> </td> <td> U+0039F </td> </tr><tr><td> <code title="">Oopf;</code> </td> <td> U+1D546 </td> </tr><tr><td> <code title="">OpenCurlyDoubleQuote;</code> </td> <td> U+0201C </td> </tr><tr><td> <code title="">OpenCurlyQuote;</code> </td> <td> U+02018 </td> </tr><tr><td> <code title="">Or;</code> </td> <td> U+02A54 </td> </tr><tr><td> <code title="">Oscr;</code> </td> <td> U+1D4AA </td> </tr><tr><td> <code title="">Oslash;</code> </td> <td> U+000D8 </td> </tr><tr><td> <code title="">Oslash</code> </td> <td> U+000D8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Otilde;</code> </td> <td> U+000D5 </td> </tr><tr><td> <code title="">Otilde</code> </td> <td> U+000D5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Otimes;</code> </td> <td> U+02A37 </td> </tr><tr><td> <code title="">Ouml;</code> </td> <td> U+000D6 </td> </tr><tr><td> <code title="">Ouml</code> </td> <td> U+000D6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">OverBar;</code> </td> <td> U+000AF </td> </tr><tr><td> <code title="">OverBrace;</code> </td> <td> U+023DE </td> </tr><tr><td> <code title="">OverBracket;</code> </td> <td> U+023B4 </td> </tr><tr><td> <code title="">OverParenthesis;</code> </td> <td> U+023DC </td> </tr><tr><td> <code title="">PartialD;</code> </td> <td> U+02202 </td> </tr><tr><td> <code title="">Pcy;</code> </td> <td> U+0041F </td> </tr><tr><td> <code title="">Pfr;</code> </td> <td> U+1D513 </td> </tr><tr><td> <code title="">Phi;</code> </td> <td> U+003A6 </td> </tr><tr><td> <code title="">Pi;</code> </td> <td> U+003A0 </td> </tr><tr><td> <code title="">PlusMinus;</code> </td> <td> U+000B1 </td> </tr><tr><td> <code title="">Poincareplane;</code> </td> <td> U+0210C </td> </tr><tr><td> <code title="">Popf;</code> </td> <td> U+02119 </td> </tr><tr><td> <code title="">Pr;</code> </td> <td> U+02ABB </td> </tr><tr><td> <code title="">Precedes;</code> </td> <td> U+0227A </td> </tr><tr><td> <code title="">PrecedesEqual;</code> </td> <td> U+02AAF </td> </tr><tr><td> <code title="">PrecedesSlantEqual;</code> </td> <td> U+0227C </td> </tr><tr><td> <code title="">PrecedesTilde;</code> </td> <td> U+0227E </td> </tr><tr><td> <code title="">Prime;</code> </td> <td> U+02033 </td> </tr><tr><td> <code title="">Product;</code> </td> <td> U+0220F </td> </tr><tr><td> <code title="">Proportion;</code> </td> <td> U+02237 </td> </tr><tr><td> <code title="">Proportional;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">Pscr;</code> </td> <td> U+1D4AB </td> </tr><tr><td> <code title="">Psi;</code> </td> <td> U+003A8 </td> </tr><tr><td> <code title="">QUOT;</code> </td> <td> U+00022 </td> </tr><tr><td> <code title="">QUOT</code> </td> <td> U+00022 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Qfr;</code> </td> <td> U+1D514 </td> </tr><tr><td> <code title="">Qopf;</code> </td> <td> U+0211A </td> </tr><tr><td> <code title="">Qscr;</code> </td> <td> U+1D4AC </td> </tr><tr><td> <code title="">RBarr;</code> </td> <td> U+02910 </td> </tr><tr><td> <code title="">REG;</code> </td> <td> U+000AE </td> </tr><tr><td> <code title="">REG</code> </td> <td> U+000AE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Racute;</code> </td> <td> U+00154 </td> </tr><tr><td> <code title="">Rang;</code> </td> <td> U+027EB </td> </tr><tr><td> <code title="">Rarr;</code> </td> <td> U+021A0 </td> </tr><tr><td> <code title="">Rarrtl;</code> </td> <td> U+02916 </td> </tr><tr><td> <code title="">Rcaron;</code> </td> <td> U+00158 </td> </tr><tr><td> <code title="">Rcedil;</code> </td> <td> U+00156 </td> </tr><tr><td> <code title="">Rcy;</code> </td> <td> U+00420 </td> </tr><tr><td> <code title="">Re;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">ReverseElement;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">ReverseEquilibrium;</code> </td> <td> U+021CB </td> </tr><tr><td> <code title="">ReverseUpEquilibrium;</code> </td> <td> U+0296F </td> </tr><tr><td> <code title="">Rfr;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">Rho;</code> </td> <td> U+003A1 </td> </tr><tr><td> <code title="">RightAngleBracket;</code> </td> <td> U+027E9 </td> </tr><tr><td> <code title="">RightArrow;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">RightArrowBar;</code> </td> <td> U+021E5 </td> </tr><tr><td> <code title="">RightArrowLeftArrow;</code> </td> <td> U+021C4 </td> </tr><tr><td> <code title="">RightCeiling;</code> </td> <td> U+02309 </td> </tr><tr><td> <code title="">RightDoubleBracket;</code> </td> <td> U+027E7 </td> </tr><tr><td> <code title="">RightDownTeeVector;</code> </td> <td> U+0295D </td> </tr><tr><td> <code title="">RightDownVector;</code> </td> <td> U+021C2 </td> </tr><tr><td> <code title="">RightDownVectorBar;</code> </td> <td> U+02955 </td> </tr><tr><td> <code title="">RightFloor;</code> </td> <td> U+0230B </td> </tr><tr><td> <code title="">RightTee;</code> </td> <td> U+022A2 </td> </tr><tr><td> <code title="">RightTeeArrow;</code> </td> <td> U+021A6 </td> </tr><tr><td> <code title="">RightTeeVector;</code> </td> <td> U+0295B </td> </tr><tr><td> <code title="">RightTriangle;</code> </td> <td> U+022B3 </td> </tr><tr><td> <code title="">RightTriangleBar;</code> </td> <td> U+029D0 </td> </tr><tr><td> <code title="">RightTriangleEqual;</code> </td> <td> U+022B5 </td> </tr><tr><td> <code title="">RightUpDownVector;</code> </td> <td> U+0294F </td> </tr><tr><td> <code title="">RightUpTeeVector;</code> </td> <td> U+0295C </td> </tr><tr><td> <code title="">RightUpVector;</code> </td> <td> U+021BE </td> </tr><tr><td> <code title="">RightUpVectorBar;</code> </td> <td> U+02954 </td> </tr><tr><td> <code title="">RightVector;</code> </td> <td> U+021C0 </td> </tr><tr><td> <code title="">RightVectorBar;</code> </td> <td> U+02953 </td> </tr><tr><td> <code title="">Rightarrow;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">Ropf;</code> </td> <td> U+0211D </td> </tr><tr><td> <code title="">RoundImplies;</code> </td> <td> U+02970 </td> </tr><tr><td> <code title="">Rrightarrow;</code> </td> <td> U+021DB </td> </tr><tr><td> <code title="">Rscr;</code> </td> <td> U+0211B </td> </tr><tr><td> <code title="">Rsh;</code> </td> <td> U+021B1 </td> </tr><tr><td> <code title="">RuleDelayed;</code> </td> <td> U+029F4 </td> </tr><tr><td> <code title="">SHCHcy;</code> </td> <td> U+00429 </td> </tr><tr><td> <code title="">SHcy;</code> </td> <td> U+00428 </td> </tr><tr><td> <code title="">SOFTcy;</code> </td> <td> U+0042C </td> </tr><tr><td> <code title="">Sacute;</code> </td> <td> U+0015A </td> </tr><tr><td> <code title="">Sc;</code> </td> <td> U+02ABC </td> </tr><tr><td> <code title="">Scaron;</code> </td> <td> U+00160 </td> </tr><tr><td> <code title="">Scedil;</code> </td> <td> U+0015E </td> </tr><tr><td> <code title="">Scirc;</code> </td> <td> U+0015C </td> </tr><tr><td> <code title="">Scy;</code> </td> <td> U+00421 </td> </tr><tr><td> <code title="">Sfr;</code> </td> <td> U+1D516 </td> </tr><tr><td> <code title="">ShortDownArrow;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">ShortLeftArrow;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">ShortRightArrow;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">ShortUpArrow;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">Sigma;</code> </td> <td> U+003A3 </td> </tr><tr><td> <code title="">SmallCircle;</code> </td> <td> U+02218 </td> </tr><tr><td> <code title="">Sopf;</code> </td> <td> U+1D54A </td> </tr><tr><td> <code title="">Sqrt;</code> </td> <td> U+0221A </td> </tr><tr><td> <code title="">Square;</code> </td> <td> U+025A1 </td> </tr><tr><td> <code title="">SquareIntersection;</code> </td> <td> U+02293 </td> </tr><tr><td> <code title="">SquareSubset;</code> </td> <td> U+0228F </td> </tr><tr><td> <code title="">SquareSubsetEqual;</code> </td> <td> U+02291 </td> </tr><tr><td> <code title="">SquareSuperset;</code> </td> <td> U+02290 </td> </tr><tr><td> <code title="">SquareSupersetEqual;</code> </td> <td> U+02292 </td> </tr><tr><td> <code title="">SquareUnion;</code> </td> <td> U+02294 </td> </tr><tr><td> <code title="">Sscr;</code> </td> <td> U+1D4AE </td> </tr><tr><td> <code title="">Star;</code> </td> <td> U+022C6 </td> </tr><tr><td> <code title="">Sub;</code> </td> <td> U+022D0 </td> </tr><tr><td> <code title="">Subset;</code> </td> <td> U+022D0 </td> </tr><tr><td> <code title="">SubsetEqual;</code> </td> <td> U+02286 </td> </tr><tr><td> <code title="">Succeeds;</code> </td> <td> U+0227B </td> </tr><tr><td> <code title="">SucceedsEqual;</code> </td> <td> U+02AB0 </td> </tr><tr><td> <code title="">SucceedsSlantEqual;</code> </td> <td> U+0227D </td> </tr><tr><td> <code title="">SucceedsTilde;</code> </td> <td> U+0227F </td> </tr><tr><td> <code title="">SuchThat;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">Sum;</code> </td> <td> U+02211 </td> </tr><tr><td> <code title="">Sup;</code> </td> <td> U+022D1 </td> </tr><tr><td> <code title="">Superset;</code> </td> <td> U+02283 </td> </tr><tr><td> <code title="">SupersetEqual;</code> </td> <td> U+02287 </td> </tr><tr><td> <code title="">Supset;</code> </td> <td> U+022D1 </td> </tr><tr><td> <code title="">THORN;</code> </td> <td> U+000DE </td> </tr><tr><td> <code title="">THORN</code> </td> <td> U+000DE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">TRADE;</code> </td> <td> U+02122 </td> </tr><tr><td> <code title="">TSHcy;</code> </td> <td> U+0040B </td> </tr><tr><td> <code title="">TScy;</code> </td> <td> U+00426 </td> </tr><tr><td> <code title="">Tab;</code> </td> <td> U+00009 </td> </tr><tr><td> <code title="">Tau;</code> </td> <td> U+003A4 </td> </tr><tr><td> <code title="">Tcaron;</code> </td> <td> U+00164 </td> </tr><tr><td> <code title="">Tcedil;</code> </td> <td> U+00162 </td> </tr><tr><td> <code title="">Tcy;</code> </td> <td> U+00422 </td> </tr><tr><td> <code title="">Tfr;</code> </td> <td> U+1D517 </td> </tr><tr><td> <code title="">Therefore;</code> </td> <td> U+02234 </td> </tr><tr><td> <code title="">Theta;</code> </td> <td> U+00398 </td> </tr><tr><td> <code title="">ThinSpace;</code> </td> <td> U+02009 </td> </tr><tr><td> <code title="">Tilde;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">TildeEqual;</code> </td> <td> U+02243 </td> </tr><tr><td> <code title="">TildeFullEqual;</code> </td> <td> U+02245 </td> </tr><tr><td> <code title="">TildeTilde;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">Topf;</code> </td> <td> U+1D54B </td> </tr><tr><td> <code title="">TripleDot;</code> </td> <td> U+020DB </td> </tr><tr><td> <code title="">Tscr;</code> </td> <td> U+1D4AF </td> </tr><tr><td> <code title="">Tstrok;</code> </td> <td> U+00166 </td> </tr><tr><td> <code title="">Uacute;</code> </td> <td> U+000DA </td> </tr><tr><td> <code title="">Uacute</code> </td> <td> U+000DA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Uarr;</code> </td> <td> U+0219F </td> </tr><tr><td> <code title="">Uarrocir;</code> </td> <td> U+02949 </td> </tr><tr><td> <code title="">Ubrcy;</code> </td> <td> U+0040E </td> </tr><tr><td> <code title="">Ubreve;</code> </td> <td> U+0016C </td> </tr><tr><td> <code title="">Ucirc;</code> </td> <td> U+000DB </td> </tr><tr><td> <code title="">Ucirc</code> </td> <td> U+000DB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ucy;</code> </td> <td> U+00423 </td> </tr><tr><td> <code title="">Udblac;</code> </td> <td> U+00170 </td> </tr><tr><td> <code title="">Ufr;</code> </td> <td> U+1D518 </td> </tr><tr><td> <code title="">Ugrave;</code> </td> <td> U+000D9 </td> </tr><tr><td> <code title="">Ugrave</code> </td> <td> U+000D9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Umacr;</code> </td> <td> U+0016A </td> </tr><tr><td> <code title="">UnderBar;</code> </td> <td> U+00332 </td> </tr><tr><td> <code title="">UnderBrace;</code> </td> <td> U+023DF </td> </tr><tr><td> <code title="">UnderBracket;</code> </td> <td> U+023B5 </td> </tr><tr><td> <code title="">UnderParenthesis;</code> </td> <td> U+023DD </td> </tr><tr><td> <code title="">Union;</code> </td> <td> U+022C3 </td> </tr><tr><td> <code title="">UnionPlus;</code> </td> <td> U+0228E </td> </tr><tr><td> <code title="">Uogon;</code> </td> <td> U+00172 </td> </tr><tr><td> <code title="">Uopf;</code> </td> <td> U+1D54C </td> </tr><tr><td> <code title="">UpArrow;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">UpArrowBar;</code> </td> <td> U+02912 </td> </tr><tr><td> <code title="">UpArrowDownArrow;</code> </td> <td> U+021C5 </td> </tr><tr><td> <code title="">UpDownArrow;</code> </td> <td> U+02195 </td> </tr><tr><td> <code title="">UpEquilibrium;</code> </td> <td> U+0296E </td> </tr><tr><td> <code title="">UpTee;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code title="">UpTeeArrow;</code> </td> <td> U+021A5 </td> </tr><tr><td> <code title="">Uparrow;</code> </td> <td> U+021D1 </td> </tr><tr><td> <code title="">Updownarrow;</code> </td> <td> U+021D5 </td> </tr><tr><td> <code title="">UpperLeftArrow;</code> </td> <td> U+02196 </td> </tr><tr><td> <code title="">UpperRightArrow;</code> </td> <td> U+02197 </td> </tr><tr><td> <code title="">Upsi;</code> </td> <td> U+003D2 </td> </tr><tr><td> <code title="">Upsilon;</code> </td> <td> U+003A5 </td> </tr><tr><td> <code title="">Uring;</code> </td> <td> U+0016E </td> </tr><tr><td> <code title="">Uscr;</code> </td> <td> U+1D4B0 </td> </tr><tr><td> <code title="">Utilde;</code> </td> <td> U+00168 </td> </tr><tr><td> <code title="">Uuml;</code> </td> <td> U+000DC </td> </tr><tr><td> <code title="">Uuml</code> </td> <td> U+000DC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">VDash;</code> </td> <td> U+022AB </td> </tr><tr><td> <code title="">Vbar;</code> </td> <td> U+02AEB </td> </tr><tr><td> <code title="">Vcy;</code> </td> <td> U+00412 </td> </tr><tr><td> <code title="">Vdash;</code> </td> <td> U+022A9 </td> </tr><tr><td> <code title="">Vdashl;</code> </td> <td> U+02AE6 </td> </tr><tr><td> <code title="">Vee;</code> </td> <td> U+022C1 </td> </tr><tr><td> <code title="">Verbar;</code> </td> <td> U+02016 </td> </tr><tr><td> <code title="">Vert;</code> </td> <td> U+02016 </td> </tr><tr><td> <code title="">VerticalBar;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">VerticalLine;</code> </td> <td> U+0007C </td> </tr><tr><td> <code title="">VerticalSeparator;</code> </td> <td> U+02758 </td> </tr><tr><td> <code title="">VerticalTilde;</code> </td> <td> U+02240 </td> </tr><tr><td> <code title="">VeryThinSpace;</code> </td> <td> U+0200A </td> </tr><tr><td> <code title="">Vfr;</code> </td> <td> U+1D519 </td> </tr><tr><td> <code title="">Vopf;</code> </td> <td> U+1D54D </td> </tr><tr><td> <code title="">Vscr;</code> </td> <td> U+1D4B1 </td> </tr><tr><td> <code title="">Vvdash;</code> </td> <td> U+022AA </td> </tr><tr><td> <code title="">Wcirc;</code> </td> <td> U+00174 </td> </tr><tr><td> <code title="">Wedge;</code> </td> <td> U+022C0 </td> </tr><tr><td> <code title="">Wfr;</code> </td> <td> U+1D51A </td> </tr><tr><td> <code title="">Wopf;</code> </td> <td> U+1D54E </td> </tr><tr><td> <code title="">Wscr;</code> </td> <td> U+1D4B2 </td> </tr><tr><td> <code title="">Xfr;</code> </td> <td> U+1D51B </td> </tr><tr><td> <code title="">Xi;</code> </td> <td> U+0039E </td> </tr><tr><td> <code title="">Xopf;</code> </td> <td> U+1D54F </td> </tr><tr><td> <code title="">Xscr;</code> </td> <td> U+1D4B3 </td> </tr><tr><td> <code title="">YAcy;</code> </td> <td> U+0042F </td> </tr><tr><td> <code title="">YIcy;</code> </td> <td> U+00407 </td> </tr><tr><td> <code title="">YUcy;</code> </td> <td> U+0042E </td> </tr><tr><td> <code title="">Yacute;</code> </td> <td> U+000DD </td> </tr><tr><td> <code title="">Yacute</code> </td> <td> U+000DD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">Ycirc;</code> </td> <td> U+00176 </td> </tr><tr><td> <code title="">Ycy;</code> </td> <td> U+0042B </td> </tr><tr><td> <code title="">Yfr;</code> </td> <td> U+1D51C </td> </tr><tr><td> <code title="">Yopf;</code> </td> <td> U+1D550 </td> </tr><tr><td> <code title="">Yscr;</code> </td> <td> U+1D4B4 </td> </tr><tr><td> <code title="">Yuml;</code> </td> <td> U+00178 </td> </tr><tr><td> <code title="">ZHcy;</code> </td> <td> U+00416 </td> </tr><tr><td> <code title="">Zacute;</code> </td> <td> U+00179 </td> </tr><tr><td> <code title="">Zcaron;</code> </td> <td> U+0017D </td> </tr><tr><td> <code title="">Zcy;</code> </td> <td> U+00417 </td> </tr><tr><td> <code title="">Zdot;</code> </td> <td> U+0017B </td> </tr><tr><td> <code title="">ZeroWidthSpace;</code> </td> <td> U+0200B </td> </tr><tr><td> <code title="">Zeta;</code> </td> <td> U+00396 </td> </tr><tr><td> <code title="">Zfr;</code> </td> <td> U+02128 </td> </tr><tr><td> <code title="">Zopf;</code> </td> <td> U+02124 </td> </tr><tr><td> <code title="">Zscr;</code> </td> <td> U+1D4B5 </td> </tr><tr><td> <code title="">aacute;</code> </td> <td> U+000E1 </td> </tr><tr><td> <code title="">aacute</code> </td> <td> U+000E1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">abreve;</code> </td> <td> U+00103 </td> </tr><tr><td> <code title="">ac;</code> </td> <td> U+0223E </td> </tr><tr><td> <code title="">acd;</code> </td> <td> U+0223F </td> </tr><tr><td> <code title="">acirc;</code> </td> <td> U+000E2 </td> </tr><tr><td> <code title="">acirc</code> </td> <td> U+000E2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">acute;</code> </td> <td> U+000B4 </td> </tr><tr><td> <code title="">acute</code> </td> <td> U+000B4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">acy;</code> </td> <td> U+00430 </td> </tr><tr><td> <code title="">aelig;</code> </td> <td> U+000E6 </td> </tr><tr><td> <code title="">aelig</code> </td> <td> U+000E6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">af;</code> </td> <td> U+02061 </td> </tr><tr><td> <code title="">afr;</code> </td> <td> U+1D51E </td> </tr><tr><td> <code title="">agrave;</code> </td> <td> U+000E0 </td> </tr><tr><td> <code title="">agrave</code> </td> <td> U+000E0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">alefsym;</code> </td> <td> U+02135 </td> </tr><tr><td> <code title="">aleph;</code> </td> <td> U+02135 </td> </tr><tr><td> <code title="">alpha;</code> </td> <td> U+003B1 </td> </tr><tr><td> <code title="">amacr;</code> </td> <td> U+00101 </td> </tr><tr><td> <code title="">amalg;</code> </td> <td> U+02A3F </td> </tr><tr><td> <code title="">amp;</code> </td> <td> U+00026 </td> </tr><tr><td> <code title="">amp</code> </td> <td> U+00026 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">and;</code> </td> <td> U+02227 </td> </tr><tr><td> <code title="">andand;</code> </td> <td> U+02A55 </td> </tr><tr><td> <code title="">andd;</code> </td> <td> U+02A5C </td> </tr><tr><td> <code title="">andslope;</code> </td> <td> U+02A58 </td> </tr><tr><td> <code title="">andv;</code> </td> <td> U+02A5A </td> </tr><tr><td> <code title="">ang;</code> </td> <td> U+02220 </td> </tr><tr><td> <code title="">ange;</code> </td> <td> U+029A4 </td> </tr><tr><td> <code title="">angle;</code> </td> <td> U+02220 </td> </tr><tr><td> <code title="">angmsd;</code> </td> <td> U+02221 </td> </tr><tr><td> <code title="">angmsdaa;</code> </td> <td> U+029A8 </td> </tr><tr><td> <code title="">angmsdab;</code> </td> <td> U+029A9 </td> </tr><tr><td> <code title="">angmsdac;</code> </td> <td> U+029AA </td> </tr><tr><td> <code title="">angmsdad;</code> </td> <td> U+029AB </td> </tr><tr><td> <code title="">angmsdae;</code> </td> <td> U+029AC </td> </tr><tr><td> <code title="">angmsdaf;</code> </td> <td> U+029AD </td> </tr><tr><td> <code title="">angmsdag;</code> </td> <td> U+029AE </td> </tr><tr><td> <code title="">angmsdah;</code> </td> <td> U+029AF </td> </tr><tr><td> <code title="">angrt;</code> </td> <td> U+0221F </td> </tr><tr><td> <code title="">angrtvb;</code> </td> <td> U+022BE </td> </tr><tr><td> <code title="">angrtvbd;</code> </td> <td> U+0299D </td> </tr><tr><td> <code title="">angsph;</code> </td> <td> U+02222 </td> </tr><tr><td> <code title="">angst;</code> </td> <td> U+0212B </td> </tr><tr><td> <code title="">angzarr;</code> </td> <td> U+0237C </td> </tr><tr><td> <code title="">aogon;</code> </td> <td> U+00105 </td> </tr><tr><td> <code title="">aopf;</code> </td> <td> U+1D552 </td> </tr><tr><td> <code title="">ap;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">apE;</code> </td> <td> U+02A70 </td> </tr><tr><td> <code title="">apacir;</code> </td> <td> U+02A6F </td> </tr><tr><td> <code title="">ape;</code> </td> <td> U+0224A </td> </tr><tr><td> <code title="">apid;</code> </td> <td> U+0224B </td> </tr><tr><td> <code title="">apos;</code> </td> <td> U+00027 </td> </tr><tr><td> <code title="">approx;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">approxeq;</code> </td> <td> U+0224A </td> </tr><tr><td> <code title="">aring;</code> </td> <td> U+000E5 </td> </tr><tr><td> <code title="">aring</code> </td> <td> U+000E5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ascr;</code> </td> <td> U+1D4B6 </td> </tr><tr><td> <code title="">ast;</code> </td> <td> U+0002A </td> </tr><tr><td> <code title="">asymp;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">asympeq;</code> </td> <td> U+0224D </td> </tr><tr><td> <code title="">atilde;</code> </td> <td> U+000E3 </td> </tr><tr><td> <code title="">atilde</code> </td> <td> U+000E3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">auml;</code> </td> <td> U+000E4 </td> </tr><tr><td> <code title="">auml</code> </td> <td> U+000E4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">awconint;</code> </td> <td> U+02233 </td> </tr><tr><td> <code title="">awint;</code> </td> <td> U+02A11 </td> </tr><tr><td> <code title="">bNot;</code> </td> <td> U+02AED </td> </tr><tr><td> <code title="">backcong;</code> </td> <td> U+0224C </td> </tr><tr><td> <code title="">backepsilon;</code> </td> <td> U+003F6 </td> </tr><tr><td> <code title="">backprime;</code> </td> <td> U+02035 </td> </tr><tr><td> <code title="">backsim;</code> </td> <td> U+0223D </td> </tr><tr><td> <code title="">backsimeq;</code> </td> <td> U+022CD </td> </tr><tr><td> <code title="">barvee;</code> </td> <td> U+022BD </td> </tr><tr><td> <code title="">barwed;</code> </td> <td> U+02305 </td> </tr><tr><td> <code title="">barwedge;</code> </td> <td> U+02305 </td> </tr><tr><td> <code title="">bbrk;</code> </td> <td> U+023B5 </td> </tr><tr><td> <code title="">bbrktbrk;</code> </td> <td> U+023B6 </td> </tr><tr><td> <code title="">bcong;</code> </td> <td> U+0224C </td> </tr><tr><td> <code title="">bcy;</code> </td> <td> U+00431 </td> </tr><tr><td> <code title="">bdquo;</code> </td> <td> U+0201E </td> </tr><tr><td> <code title="">becaus;</code> </td> <td> U+02235 </td> </tr><tr><td> <code title="">because;</code> </td> <td> U+02235 </td> </tr><tr><td> <code title="">bemptyv;</code> </td> <td> U+029B0 </td> </tr><tr><td> <code title="">bepsi;</code> </td> <td> U+003F6 </td> </tr><tr><td> <code title="">bernou;</code> </td> <td> U+0212C </td> </tr><tr><td> <code title="">beta;</code> </td> <td> U+003B2 </td> </tr><tr><td> <code title="">beth;</code> </td> <td> U+02136 </td> </tr><tr><td> <code title="">between;</code> </td> <td> U+0226C </td> </tr><tr><td> <code title="">bfr;</code> </td> <td> U+1D51F </td> </tr><tr><td> <code title="">bigcap;</code> </td> <td> U+022C2 </td> </tr><tr><td> <code title="">bigcirc;</code> </td> <td> U+025EF </td> </tr><tr><td> <code title="">bigcup;</code> </td> <td> U+022C3 </td> </tr><tr><td> <code title="">bigodot;</code> </td> <td> U+02A00 </td> </tr><tr><td> <code title="">bigoplus;</code> </td> <td> U+02A01 </td> </tr><tr><td> <code title="">bigotimes;</code> </td> <td> U+02A02 </td> </tr><tr><td> <code title="">bigsqcup;</code> </td> <td> U+02A06 </td> </tr><tr><td> <code title="">bigstar;</code> </td> <td> U+02605 </td> </tr><tr><td> <code title="">bigtriangledown;</code> </td> <td> U+025BD </td> </tr><tr><td> <code title="">bigtriangleup;</code> </td> <td> U+025B3 </td> </tr><tr><td> <code title="">biguplus;</code> </td> <td> U+02A04 </td> </tr><tr><td> <code title="">bigvee;</code> </td> <td> U+022C1 </td> </tr><tr><td> <code title="">bigwedge;</code> </td> <td> U+022C0 </td> </tr><tr><td> <code title="">bkarow;</code> </td> <td> U+0290D </td> </tr><tr><td> <code title="">blacklozenge;</code> </td> <td> U+029EB </td> </tr><tr><td> <code title="">blacksquare;</code> </td> <td> U+025AA </td> </tr><tr><td> <code title="">blacktriangle;</code> </td> <td> U+025B4 </td> </tr><tr><td> <code title="">blacktriangledown;</code> </td> <td> U+025BE </td> </tr><tr><td> <code title="">blacktriangleleft;</code> </td> <td> U+025C2 </td> </tr><tr><td> <code title="">blacktriangleright;</code> </td> <td> U+025B8 </td> </tr><tr><td> <code title="">blank;</code> </td> <td> U+02423 </td> </tr><tr><td> <code title="">blk12;</code> </td> <td> U+02592 </td> </tr><tr><td> <code title="">blk14;</code> </td> <td> U+02591 </td> </tr><tr><td> <code title="">blk34;</code> </td> <td> U+02593 </td> </tr><tr><td> <code title="">block;</code> </td> <td> U+02588 </td> </tr><tr><td> <code title="">bnot;</code> </td> <td> U+02310 </td> </tr><tr><td> <code title="">bopf;</code> </td> <td> U+1D553 </td> </tr><tr><td> <code title="">bot;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code title="">bottom;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code title="">bowtie;</code> </td> <td> U+022C8 </td> </tr><tr><td> <code title="">boxDL;</code> </td> <td> U+02557 </td> </tr><tr><td> <code title="">boxDR;</code> </td> <td> U+02554 </td> </tr><tr><td> <code title="">boxDl;</code> </td> <td> U+02556 </td> </tr><tr><td> <code title="">boxDr;</code> </td> <td> U+02553 </td> </tr><tr><td> <code title="">boxH;</code> </td> <td> U+02550 </td> </tr><tr><td> <code title="">boxHD;</code> </td> <td> U+02566 </td> </tr><tr><td> <code title="">boxHU;</code> </td> <td> U+02569 </td> </tr><tr><td> <code title="">boxHd;</code> </td> <td> U+02564 </td> </tr><tr><td> <code title="">boxHu;</code> </td> <td> U+02567 </td> </tr><tr><td> <code title="">boxUL;</code> </td> <td> U+0255D </td> </tr><tr><td> <code title="">boxUR;</code> </td> <td> U+0255A </td> </tr><tr><td> <code title="">boxUl;</code> </td> <td> U+0255C </td> </tr><tr><td> <code title="">boxUr;</code> </td> <td> U+02559 </td> </tr><tr><td> <code title="">boxV;</code> </td> <td> U+02551 </td> </tr><tr><td> <code title="">boxVH;</code> </td> <td> U+0256C </td> </tr><tr><td> <code title="">boxVL;</code> </td> <td> U+02563 </td> </tr><tr><td> <code title="">boxVR;</code> </td> <td> U+02560 </td> </tr><tr><td> <code title="">boxVh;</code> </td> <td> U+0256B </td> </tr><tr><td> <code title="">boxVl;</code> </td> <td> U+02562 </td> </tr><tr><td> <code title="">boxVr;</code> </td> <td> U+0255F </td> </tr><tr><td> <code title="">boxbox;</code> </td> <td> U+029C9 </td> </tr><tr><td> <code title="">boxdL;</code> </td> <td> U+02555 </td> </tr><tr><td> <code title="">boxdR;</code> </td> <td> U+02552 </td> </tr><tr><td> <code title="">boxdl;</code> </td> <td> U+02510 </td> </tr><tr><td> <code title="">boxdr;</code> </td> <td> U+0250C </td> </tr><tr><td> <code title="">boxh;</code> </td> <td> U+02500 </td> </tr><tr><td> <code title="">boxhD;</code> </td> <td> U+02565 </td> </tr><tr><td> <code title="">boxhU;</code> </td> <td> U+02568 </td> </tr><tr><td> <code title="">boxhd;</code> </td> <td> U+0252C </td> </tr><tr><td> <code title="">boxhu;</code> </td> <td> U+02534 </td> </tr><tr><td> <code title="">boxminus;</code> </td> <td> U+0229F </td> </tr><tr><td> <code title="">boxplus;</code> </td> <td> U+0229E </td> </tr><tr><td> <code title="">boxtimes;</code> </td> <td> U+022A0 </td> </tr><tr><td> <code title="">boxuL;</code> </td> <td> U+0255B </td> </tr><tr><td> <code title="">boxuR;</code> </td> <td> U+02558 </td> </tr><tr><td> <code title="">boxul;</code> </td> <td> U+02518 </td> </tr><tr><td> <code title="">boxur;</code> </td> <td> U+02514 </td> </tr><tr><td> <code title="">boxv;</code> </td> <td> U+02502 </td> </tr><tr><td> <code title="">boxvH;</code> </td> <td> U+0256A </td> </tr><tr><td> <code title="">boxvL;</code> </td> <td> U+02561 </td> </tr><tr><td> <code title="">boxvR;</code> </td> <td> U+0255E </td> </tr><tr><td> <code title="">boxvh;</code> </td> <td> U+0253C </td> </tr><tr><td> <code title="">boxvl;</code> </td> <td> U+02524 </td> </tr><tr><td> <code title="">boxvr;</code> </td> <td> U+0251C </td> </tr><tr><td> <code title="">bprime;</code> </td> <td> U+02035 </td> </tr><tr><td> <code title="">breve;</code> </td> <td> U+002D8 </td> </tr><tr><td> <code title="">brvbar;</code> </td> <td> U+000A6 </td> </tr><tr><td> <code title="">brvbar</code> </td> <td> U+000A6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">bscr;</code> </td> <td> U+1D4B7 </td> </tr><tr><td> <code title="">bsemi;</code> </td> <td> U+0204F </td> </tr><tr><td> <code title="">bsim;</code> </td> <td> U+0223D </td> </tr><tr><td> <code title="">bsime;</code> </td> <td> U+022CD </td> </tr><tr><td> <code title="">bsol;</code> </td> <td> U+0005C </td> </tr><tr><td> <code title="">bsolb;</code> </td> <td> U+029C5 </td> </tr><tr><td> <code title="">bull;</code> </td> <td> U+02022 </td> </tr><tr><td> <code title="">bullet;</code> </td> <td> U+02022 </td> </tr><tr><td> <code title="">bump;</code> </td> <td> U+0224E </td> </tr><tr><td> <code title="">bumpE;</code> </td> <td> U+02AAE </td> </tr><tr><td> <code title="">bumpe;</code> </td> <td> U+0224F </td> </tr><tr><td> <code title="">bumpeq;</code> </td> <td> U+0224F </td> </tr><tr><td> <code title="">cacute;</code> </td> <td> U+00107 </td> </tr><tr><td> <code title="">cap;</code> </td> <td> U+02229 </td> </tr><tr><td> <code title="">capand;</code> </td> <td> U+02A44 </td> </tr><tr><td> <code title="">capbrcup;</code> </td> <td> U+02A49 </td> </tr><tr><td> <code title="">capcap;</code> </td> <td> U+02A4B </td> </tr><tr><td> <code title="">capcup;</code> </td> <td> U+02A47 </td> </tr><tr><td> <code title="">capdot;</code> </td> <td> U+02A40 </td> </tr><tr><td> <code title="">caret;</code> </td> <td> U+02041 </td> </tr><tr><td> <code title="">caron;</code> </td> <td> U+002C7 </td> </tr><tr><td> <code title="">ccaps;</code> </td> <td> U+02A4D </td> </tr><tr><td> <code title="">ccaron;</code> </td> <td> U+0010D </td> </tr><tr><td> <code title="">ccedil;</code> </td> <td> U+000E7 </td> </tr><tr><td> <code title="">ccedil</code> </td> <td> U+000E7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ccirc;</code> </td> <td> U+00109 </td> </tr><tr><td> <code title="">ccups;</code> </td> <td> U+02A4C </td> </tr><tr><td> <code title="">ccupssm;</code> </td> <td> U+02A50 </td> </tr><tr><td> <code title="">cdot;</code> </td> <td> U+0010B </td> </tr><tr><td> <code title="">cedil;</code> </td> <td> U+000B8 </td> </tr><tr><td> <code title="">cedil</code> </td> <td> U+000B8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">cemptyv;</code> </td> <td> U+029B2 </td> </tr><tr><td> <code title="">cent;</code> </td> <td> U+000A2 </td> </tr><tr><td> <code title="">cent</code> </td> <td> U+000A2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">centerdot;</code> </td> <td> U+000B7 </td> </tr><tr><td> <code title="">cfr;</code> </td> <td> U+1D520 </td> </tr><tr><td> <code title="">chcy;</code> </td> <td> U+00447 </td> </tr><tr><td> <code title="">check;</code> </td> <td> U+02713 </td> </tr><tr><td> <code title="">checkmark;</code> </td> <td> U+02713 </td> </tr><tr><td> <code title="">chi;</code> </td> <td> U+003C7 </td> </tr><tr><td> <code title="">cir;</code> </td> <td> U+025CB </td> </tr><tr><td> <code title="">cirE;</code> </td> <td> U+029C3 </td> </tr><tr><td> <code title="">circ;</code> </td> <td> U+002C6 </td> </tr><tr><td> <code title="">circeq;</code> </td> <td> U+02257 </td> </tr><tr><td> <code title="">circlearrowleft;</code> </td> <td> U+021BA </td> </tr><tr><td> <code title="">circlearrowright;</code> </td> <td> U+021BB </td> </tr><tr><td> <code title="">circledR;</code> </td> <td> U+000AE </td> </tr><tr><td> <code title="">circledS;</code> </td> <td> U+024C8 </td> </tr><tr><td> <code title="">circledast;</code> </td> <td> U+0229B </td> </tr><tr><td> <code title="">circledcirc;</code> </td> <td> U+0229A </td> </tr><tr><td> <code title="">circleddash;</code> </td> <td> U+0229D </td> </tr><tr><td> <code title="">cire;</code> </td> <td> U+02257 </td> </tr><tr><td> <code title="">cirfnint;</code> </td> <td> U+02A10 </td> </tr><tr><td> <code title="">cirmid;</code> </td> <td> U+02AEF </td> </tr><tr><td> <code title="">cirscir;</code> </td> <td> U+029C2 </td> </tr><tr><td> <code title="">clubs;</code> </td> <td> U+02663 </td> </tr><tr><td> <code title="">clubsuit;</code> </td> <td> U+02663 </td> </tr><tr><td> <code title="">colon;</code> </td> <td> U+0003A </td> </tr><tr><td> <code title="">colone;</code> </td> <td> U+02254 </td> </tr><tr><td> <code title="">coloneq;</code> </td> <td> U+02254 </td> </tr><tr><td> <code title="">comma;</code> </td> <td> U+0002C </td> </tr><tr><td> <code title="">commat;</code> </td> <td> U+00040 </td> </tr><tr><td> <code title="">comp;</code> </td> <td> U+02201 </td> </tr><tr><td> <code title="">compfn;</code> </td> <td> U+02218 </td> </tr><tr><td> <code title="">complement;</code> </td> <td> U+02201 </td> </tr><tr><td> <code title="">complexes;</code> </td> <td> U+02102 </td> </tr><tr><td> <code title="">cong;</code> </td> <td> U+02245 </td> </tr><tr><td> <code title="">congdot;</code> </td> <td> U+02A6D </td> </tr><tr><td> <code title="">conint;</code> </td> <td> U+0222E </td> </tr><tr><td> <code title="">copf;</code> </td> <td> U+1D554 </td> </tr><tr><td> <code title="">coprod;</code> </td> <td> U+02210 </td> </tr><tr><td> <code title="">copy;</code> </td> <td> U+000A9 </td> </tr><tr><td> <code title="">copy</code> </td> <td> U+000A9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">copysr;</code> </td> <td> U+02117 </td> </tr><tr><td> <code title="">crarr;</code> </td> <td> U+021B5 </td> </tr><tr><td> <code title="">cross;</code> </td> <td> U+02717 </td> </tr><tr><td> <code title="">cscr;</code> </td> <td> U+1D4B8 </td> </tr><tr><td> <code title="">csub;</code> </td> <td> U+02ACF </td> </tr><tr><td> <code title="">csube;</code> </td> <td> U+02AD1 </td> </tr><tr><td> <code title="">csup;</code> </td> <td> U+02AD0 </td> </tr><tr><td> <code title="">csupe;</code> </td> <td> U+02AD2 </td> </tr><tr><td> <code title="">ctdot;</code> </td> <td> U+022EF </td> </tr><tr><td> <code title="">cudarrl;</code> </td> <td> U+02938 </td> </tr><tr><td> <code title="">cudarrr;</code> </td> <td> U+02935 </td> </tr><tr><td> <code title="">cuepr;</code> </td> <td> U+022DE </td> </tr><tr><td> <code title="">cuesc;</code> </td> <td> U+022DF </td> </tr><tr><td> <code title="">cularr;</code> </td> <td> U+021B6 </td> </tr><tr><td> <code title="">cularrp;</code> </td> <td> U+0293D </td> </tr><tr><td> <code title="">cup;</code> </td> <td> U+0222A </td> </tr><tr><td> <code title="">cupbrcap;</code> </td> <td> U+02A48 </td> </tr><tr><td> <code title="">cupcap;</code> </td> <td> U+02A46 </td> </tr><tr><td> <code title="">cupcup;</code> </td> <td> U+02A4A </td> </tr><tr><td> <code title="">cupdot;</code> </td> <td> U+0228D </td> </tr><tr><td> <code title="">cupor;</code> </td> <td> U+02A45 </td> </tr><tr><td> <code title="">curarr;</code> </td> <td> U+021B7 </td> </tr><tr><td> <code title="">curarrm;</code> </td> <td> U+0293C </td> </tr><tr><td> <code title="">curlyeqprec;</code> </td> <td> U+022DE </td> </tr><tr><td> <code title="">curlyeqsucc;</code> </td> <td> U+022DF </td> </tr><tr><td> <code title="">curlyvee;</code> </td> <td> U+022CE </td> </tr><tr><td> <code title="">curlywedge;</code> </td> <td> U+022CF </td> </tr><tr><td> <code title="">curren;</code> </td> <td> U+000A4 </td> </tr><tr><td> <code title="">curren</code> </td> <td> U+000A4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">curvearrowleft;</code> </td> <td> U+021B6 </td> </tr><tr><td> <code title="">curvearrowright;</code> </td> <td> U+021B7 </td> </tr><tr><td> <code title="">cuvee;</code> </td> <td> U+022CE </td> </tr><tr><td> <code title="">cuwed;</code> </td> <td> U+022CF </td> </tr><tr><td> <code title="">cwconint;</code> </td> <td> U+02232 </td> </tr><tr><td> <code title="">cwint;</code> </td> <td> U+02231 </td> </tr><tr><td> <code title="">cylcty;</code> </td> <td> U+0232D </td> </tr><tr><td> <code title="">dArr;</code> </td> <td> U+021D3 </td> </tr><tr><td> <code title="">dHar;</code> </td> <td> U+02965 </td> </tr><tr><td> <code title="">dagger;</code> </td> <td> U+02020 </td> </tr><tr><td> <code title="">daleth;</code> </td> <td> U+02138 </td> </tr><tr><td> <code title="">darr;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">dash;</code> </td> <td> U+02010 </td> </tr><tr><td> <code title="">dashv;</code> </td> <td> U+022A3 </td> </tr><tr><td> <code title="">dbkarow;</code> </td> <td> U+0290F </td> </tr><tr><td> <code title="">dblac;</code> </td> <td> U+002DD </td> </tr><tr><td> <code title="">dcaron;</code> </td> <td> U+0010F </td> </tr><tr><td> <code title="">dcy;</code> </td> <td> U+00434 </td> </tr><tr><td> <code title="">dd;</code> </td> <td> U+02146 </td> </tr><tr><td> <code title="">ddagger;</code> </td> <td> U+02021 </td> </tr><tr><td> <code title="">ddarr;</code> </td> <td> U+021CA </td> </tr><tr><td> <code title="">ddotseq;</code> </td> <td> U+02A77 </td> </tr><tr><td> <code title="">deg;</code> </td> <td> U+000B0 </td> </tr><tr><td> <code title="">deg</code> </td> <td> U+000B0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">delta;</code> </td> <td> U+003B4 </td> </tr><tr><td> <code title="">demptyv;</code> </td> <td> U+029B1 </td> </tr><tr><td> <code title="">dfisht;</code> </td> <td> U+0297F </td> </tr><tr><td> <code title="">dfr;</code> </td> <td> U+1D521 </td> </tr><tr><td> <code title="">dharl;</code> </td> <td> U+021C3 </td> </tr><tr><td> <code title="">dharr;</code> </td> <td> U+021C2 </td> </tr><tr><td> <code title="">diam;</code> </td> <td> U+022C4 </td> </tr><tr><td> <code title="">diamond;</code> </td> <td> U+022C4 </td> </tr><tr><td> <code title="">diamondsuit;</code> </td> <td> U+02666 </td> </tr><tr><td> <code title="">diams;</code> </td> <td> U+02666 </td> </tr><tr><td> <code title="">die;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">digamma;</code> </td> <td> U+003DD </td> </tr><tr><td> <code title="">disin;</code> </td> <td> U+022F2 </td> </tr><tr><td> <code title="">div;</code> </td> <td> U+000F7 </td> </tr><tr><td> <code title="">divide;</code> </td> <td> U+000F7 </td> </tr><tr><td> <code title="">divide</code> </td> <td> U+000F7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">divideontimes;</code> </td> <td> U+022C7 </td> </tr><tr><td> <code title="">divonx;</code> </td> <td> U+022C7 </td> </tr><tr><td> <code title="">djcy;</code> </td> <td> U+00452 </td> </tr><tr><td> <code title="">dlcorn;</code> </td> <td> U+0231E </td> </tr><tr><td> <code title="">dlcrop;</code> </td> <td> U+0230D </td> </tr><tr><td> <code title="">dollar;</code> </td> <td> U+00024 </td> </tr><tr><td> <code title="">dopf;</code> </td> <td> U+1D555 </td> </tr><tr><td> <code title="">dot;</code> </td> <td> U+002D9 </td> </tr><tr><td> <code title="">doteq;</code> </td> <td> U+02250 </td> </tr><tr><td> <code title="">doteqdot;</code> </td> <td> U+02251 </td> </tr><tr><td> <code title="">dotminus;</code> </td> <td> U+02238 </td> </tr><tr><td> <code title="">dotplus;</code> </td> <td> U+02214 </td> </tr><tr><td> <code title="">dotsquare;</code> </td> <td> U+022A1 </td> </tr><tr><td> <code title="">doublebarwedge;</code> </td> <td> U+02306 </td> </tr><tr><td> <code title="">downarrow;</code> </td> <td> U+02193 </td> </tr><tr><td> <code title="">downdownarrows;</code> </td> <td> U+021CA </td> </tr><tr><td> <code title="">downharpoonleft;</code> </td> <td> U+021C3 </td> </tr><tr><td> <code title="">downharpoonright;</code> </td> <td> U+021C2 </td> </tr><tr><td> <code title="">drbkarow;</code> </td> <td> U+02910 </td> </tr><tr><td> <code title="">drcorn;</code> </td> <td> U+0231F </td> </tr><tr><td> <code title="">drcrop;</code> </td> <td> U+0230C </td> </tr><tr><td> <code title="">dscr;</code> </td> <td> U+1D4B9 </td> </tr><tr><td> <code title="">dscy;</code> </td> <td> U+00455 </td> </tr><tr><td> <code title="">dsol;</code> </td> <td> U+029F6 </td> </tr><tr><td> <code title="">dstrok;</code> </td> <td> U+00111 </td> </tr><tr><td> <code title="">dtdot;</code> </td> <td> U+022F1 </td> </tr><tr><td> <code title="">dtri;</code> </td> <td> U+025BF </td> </tr><tr><td> <code title="">dtrif;</code> </td> <td> U+025BE </td> </tr><tr><td> <code title="">duarr;</code> </td> <td> U+021F5 </td> </tr><tr><td> <code title="">duhar;</code> </td> <td> U+0296F </td> </tr><tr><td> <code title="">dwangle;</code> </td> <td> U+029A6 </td> </tr><tr><td> <code title="">dzcy;</code> </td> <td> U+0045F </td> </tr><tr><td> <code title="">dzigrarr;</code> </td> <td> U+027FF </td> </tr><tr><td> <code title="">eDDot;</code> </td> <td> U+02A77 </td> </tr><tr><td> <code title="">eDot;</code> </td> <td> U+02251 </td> </tr><tr><td> <code title="">eacute;</code> </td> <td> U+000E9 </td> </tr><tr><td> <code title="">eacute</code> </td> <td> U+000E9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">easter;</code> </td> <td> U+02A6E </td> </tr><tr><td> <code title="">ecaron;</code> </td> <td> U+0011B </td> </tr><tr><td> <code title="">ecir;</code> </td> <td> U+02256 </td> </tr><tr><td> <code title="">ecirc;</code> </td> <td> U+000EA </td> </tr><tr><td> <code title="">ecirc</code> </td> <td> U+000EA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ecolon;</code> </td> <td> U+02255 </td> </tr><tr><td> <code title="">ecy;</code> </td> <td> U+0044D </td> </tr><tr><td> <code title="">edot;</code> </td> <td> U+00117 </td> </tr><tr><td> <code title="">ee;</code> </td> <td> U+02147 </td> </tr><tr><td> <code title="">efDot;</code> </td> <td> U+02252 </td> </tr><tr><td> <code title="">efr;</code> </td> <td> U+1D522 </td> </tr><tr><td> <code title="">eg;</code> </td> <td> U+02A9A </td> </tr><tr><td> <code title="">egrave;</code> </td> <td> U+000E8 </td> </tr><tr><td> <code title="">egrave</code> </td> <td> U+000E8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">egs;</code> </td> <td> U+02A96 </td> </tr><tr><td> <code title="">egsdot;</code> </td> <td> U+02A98 </td> </tr><tr><td> <code title="">el;</code> </td> <td> U+02A99 </td> </tr><tr><td> <code title="">elinters;</code> </td> <td> U+023E7 </td> </tr><tr><td> <code title="">ell;</code> </td> <td> U+02113 </td> </tr><tr><td> <code title="">els;</code> </td> <td> U+02A95 </td> </tr><tr><td> <code title="">elsdot;</code> </td> <td> U+02A97 </td> </tr><tr><td> <code title="">emacr;</code> </td> <td> U+00113 </td> </tr><tr><td> <code title="">empty;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">emptyset;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">emptyv;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">emsp13;</code> </td> <td> U+02004 </td> </tr><tr><td> <code title="">emsp14;</code> </td> <td> U+02005 </td> </tr><tr><td> <code title="">emsp;</code> </td> <td> U+02003 </td> </tr><tr><td> <code title="">eng;</code> </td> <td> U+0014B </td> </tr><tr><td> <code title="">ensp;</code> </td> <td> U+02002 </td> </tr><tr><td> <code title="">eogon;</code> </td> <td> U+00119 </td> </tr><tr><td> <code title="">eopf;</code> </td> <td> U+1D556 </td> </tr><tr><td> <code title="">epar;</code> </td> <td> U+022D5 </td> </tr><tr><td> <code title="">eparsl;</code> </td> <td> U+029E3 </td> </tr><tr><td> <code title="">eplus;</code> </td> <td> U+02A71 </td> </tr><tr><td> <code title="">epsi;</code> </td> <td> U+003F5 </td> </tr><tr><td> <code title="">epsilon;</code> </td> <td> U+003B5 </td> </tr><tr><td> <code title="">epsiv;</code> </td> <td> U+003B5 </td> </tr><tr><td> <code title="">eqcirc;</code> </td> <td> U+02256 </td> </tr><tr><td> <code title="">eqcolon;</code> </td> <td> U+02255 </td> </tr><tr><td> <code title="">eqsim;</code> </td> <td> U+02242 </td> </tr><tr><td> <code title="">eqslantgtr;</code> </td> <td> U+02A96 </td> </tr><tr><td> <code title="">eqslantless;</code> </td> <td> U+02A95 </td> </tr><tr><td> <code title="">equals;</code> </td> <td> U+0003D </td> </tr><tr><td> <code title="">equest;</code> </td> <td> U+0225F </td> </tr><tr><td> <code title="">equiv;</code> </td> <td> U+02261 </td> </tr><tr><td> <code title="">equivDD;</code> </td> <td> U+02A78 </td> </tr><tr><td> <code title="">eqvparsl;</code> </td> <td> U+029E5 </td> </tr><tr><td> <code title="">erDot;</code> </td> <td> U+02253 </td> </tr><tr><td> <code title="">erarr;</code> </td> <td> U+02971 </td> </tr><tr><td> <code title="">escr;</code> </td> <td> U+0212F </td> </tr><tr><td> <code title="">esdot;</code> </td> <td> U+02250 </td> </tr><tr><td> <code title="">esim;</code> </td> <td> U+02242 </td> </tr><tr><td> <code title="">eta;</code> </td> <td> U+003B7 </td> </tr><tr><td> <code title="">eth;</code> </td> <td> U+000F0 </td> </tr><tr><td> <code title="">eth</code> </td> <td> U+000F0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">euml;</code> </td> <td> U+000EB </td> </tr><tr><td> <code title="">euml</code> </td> <td> U+000EB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">euro;</code> </td> <td> U+020AC </td> </tr><tr><td> <code title="">excl;</code> </td> <td> U+00021 </td> </tr><tr><td> <code title="">exist;</code> </td> <td> U+02203 </td> </tr><tr><td> <code title="">expectation;</code> </td> <td> U+02130 </td> </tr><tr><td> <code title="">exponentiale;</code> </td> <td> U+02147 </td> </tr><tr><td> <code title="">fallingdotseq;</code> </td> <td> U+02252 </td> </tr><tr><td> <code title="">fcy;</code> </td> <td> U+00444 </td> </tr><tr><td> <code title="">female;</code> </td> <td> U+02640 </td> </tr><tr><td> <code title="">ffilig;</code> </td> <td> U+0FB03 </td> </tr><tr><td> <code title="">fflig;</code> </td> <td> U+0FB00 </td> </tr><tr><td> <code title="">ffllig;</code> </td> <td> U+0FB04 </td> </tr><tr><td> <code title="">ffr;</code> </td> <td> U+1D523 </td> </tr><tr><td> <code title="">filig;</code> </td> <td> U+0FB01 </td> </tr><tr><td> <code title="">flat;</code> </td> <td> U+0266D </td> </tr><tr><td> <code title="">fllig;</code> </td> <td> U+0FB02 </td> </tr><tr><td> <code title="">fltns;</code> </td> <td> U+025B1 </td> </tr><tr><td> <code title="">fnof;</code> </td> <td> U+00192 </td> </tr><tr><td> <code title="">fopf;</code> </td> <td> U+1D557 </td> </tr><tr><td> <code title="">forall;</code> </td> <td> U+02200 </td> </tr><tr><td> <code title="">fork;</code> </td> <td> U+022D4 </td> </tr><tr><td> <code title="">forkv;</code> </td> <td> U+02AD9 </td> </tr><tr><td> <code title="">fpartint;</code> </td> <td> U+02A0D </td> </tr><tr><td> <code title="">frac12;</code> </td> <td> U+000BD </td> </tr><tr><td> <code title="">frac12</code> </td> <td> U+000BD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">frac13;</code> </td> <td> U+02153 </td> </tr><tr><td> <code title="">frac14;</code> </td> <td> U+000BC </td> </tr><tr><td> <code title="">frac14</code> </td> <td> U+000BC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">frac15;</code> </td> <td> U+02155 </td> </tr><tr><td> <code title="">frac16;</code> </td> <td> U+02159 </td> </tr><tr><td> <code title="">frac18;</code> </td> <td> U+0215B </td> </tr><tr><td> <code title="">frac23;</code> </td> <td> U+02154 </td> </tr><tr><td> <code title="">frac25;</code> </td> <td> U+02156 </td> </tr><tr><td> <code title="">frac34;</code> </td> <td> U+000BE </td> </tr><tr><td> <code title="">frac34</code> </td> <td> U+000BE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">frac35;</code> </td> <td> U+02157 </td> </tr><tr><td> <code title="">frac38;</code> </td> <td> U+0215C </td> </tr><tr><td> <code title="">frac45;</code> </td> <td> U+02158 </td> </tr><tr><td> <code title="">frac56;</code> </td> <td> U+0215A </td> </tr><tr><td> <code title="">frac58;</code> </td> <td> U+0215D </td> </tr><tr><td> <code title="">frac78;</code> </td> <td> U+0215E </td> </tr><tr><td> <code title="">frasl;</code> </td> <td> U+02044 </td> </tr><tr><td> <code title="">frown;</code> </td> <td> U+02322 </td> </tr><tr><td> <code title="">fscr;</code> </td> <td> U+1D4BB </td> </tr><tr><td> <code title="">gE;</code> </td> <td> U+02267 </td> </tr><tr><td> <code title="">gEl;</code> </td> <td> U+02A8C </td> </tr><tr><td> <code title="">gacute;</code> </td> <td> U+001F5 </td> </tr><tr><td> <code title="">gamma;</code> </td> <td> U+003B3 </td> </tr><tr><td> <code title="">gammad;</code> </td> <td> U+003DD </td> </tr><tr><td> <code title="">gap;</code> </td> <td> U+02A86 </td> </tr><tr><td> <code title="">gbreve;</code> </td> <td> U+0011F </td> </tr><tr><td> <code title="">gcirc;</code> </td> <td> U+0011D </td> </tr><tr><td> <code title="">gcy;</code> </td> <td> U+00433 </td> </tr><tr><td> <code title="">gdot;</code> </td> <td> U+00121 </td> </tr><tr><td> <code title="">ge;</code> </td> <td> U+02265 </td> </tr><tr><td> <code title="">gel;</code> </td> <td> U+022DB </td> </tr><tr><td> <code title="">geq;</code> </td> <td> U+02265 </td> </tr><tr><td> <code title="">geqq;</code> </td> <td> U+02267 </td> </tr><tr><td> <code title="">geqslant;</code> </td> <td> U+02A7E </td> </tr><tr><td> <code title="">ges;</code> </td> <td> U+02A7E </td> </tr><tr><td> <code title="">gescc;</code> </td> <td> U+02AA9 </td> </tr><tr><td> <code title="">gesdot;</code> </td> <td> U+02A80 </td> </tr><tr><td> <code title="">gesdoto;</code> </td> <td> U+02A82 </td> </tr><tr><td> <code title="">gesdotol;</code> </td> <td> U+02A84 </td> </tr><tr><td> <code title="">gesles;</code> </td> <td> U+02A94 </td> </tr><tr><td> <code title="">gfr;</code> </td> <td> U+1D524 </td> </tr><tr><td> <code title="">gg;</code> </td> <td> U+0226B </td> </tr><tr><td> <code title="">ggg;</code> </td> <td> U+022D9 </td> </tr><tr><td> <code title="">gimel;</code> </td> <td> U+02137 </td> </tr><tr><td> <code title="">gjcy;</code> </td> <td> U+00453 </td> </tr><tr><td> <code title="">gl;</code> </td> <td> U+02277 </td> </tr><tr><td> <code title="">glE;</code> </td> <td> U+02A92 </td> </tr><tr><td> <code title="">gla;</code> </td> <td> U+02AA5 </td> </tr><tr><td> <code title="">glj;</code> </td> <td> U+02AA4 </td> </tr><tr><td> <code title="">gnE;</code> </td> <td> U+02269 </td> </tr><tr><td> <code title="">gnap;</code> </td> <td> U+02A8A </td> </tr><tr><td> <code title="">gnapprox;</code> </td> <td> U+02A8A </td> </tr><tr><td> <code title="">gne;</code> </td> <td> U+02A88 </td> </tr><tr><td> <code title="">gneq;</code> </td> <td> U+02A88 </td> </tr><tr><td> <code title="">gneqq;</code> </td> <td> U+02269 </td> </tr><tr><td> <code title="">gnsim;</code> </td> <td> U+022E7 </td> </tr><tr><td> <code title="">gopf;</code> </td> <td> U+1D558 </td> </tr><tr><td> <code title="">grave;</code> </td> <td> U+00060 </td> </tr><tr><td> <code title="">gscr;</code> </td> <td> U+0210A </td> </tr><tr><td> <code title="">gsim;</code> </td> <td> U+02273 </td> </tr><tr><td> <code title="">gsime;</code> </td> <td> U+02A8E </td> </tr><tr><td> <code title="">gsiml;</code> </td> <td> U+02A90 </td> </tr><tr><td> <code title="">gt;</code> </td> <td> U+0003E </td> </tr><tr><td> <code title="">gt</code> </td> <td> U+0003E </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">gtcc;</code> </td> <td> U+02AA7 </td> </tr><tr><td> <code title="">gtcir;</code> </td> <td> U+02A7A </td> </tr><tr><td> <code title="">gtdot;</code> </td> <td> U+022D7 </td> </tr><tr><td> <code title="">gtlPar;</code> </td> <td> U+02995 </td> </tr><tr><td> <code title="">gtquest;</code> </td> <td> U+02A7C </td> </tr><tr><td> <code title="">gtrapprox;</code> </td> <td> U+02A86 </td> </tr><tr><td> <code title="">gtrarr;</code> </td> <td> U+02978 </td> </tr><tr><td> <code title="">gtrdot;</code> </td> <td> U+022D7 </td> </tr><tr><td> <code title="">gtreqless;</code> </td> <td> U+022DB </td> </tr><tr><td> <code title="">gtreqqless;</code> </td> <td> U+02A8C </td> </tr><tr><td> <code title="">gtrless;</code> </td> <td> U+02277 </td> </tr><tr><td> <code title="">gtrsim;</code> </td> <td> U+02273 </td> </tr><tr><td> <code title="">hArr;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">hairsp;</code> </td> <td> U+0200A </td> </tr><tr><td> <code title="">half;</code> </td> <td> U+000BD </td> </tr><tr><td> <code title="">hamilt;</code> </td> <td> U+0210B </td> </tr><tr><td> <code title="">hardcy;</code> </td> <td> U+0044A </td> </tr><tr><td> <code title="">harr;</code> </td> <td> U+02194 </td> </tr><tr><td> <code title="">harrcir;</code> </td> <td> U+02948 </td> </tr><tr><td> <code title="">harrw;</code> </td> <td> U+021AD </td> </tr><tr><td> <code title="">hbar;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">hcirc;</code> </td> <td> U+00125 </td> </tr><tr><td> <code title="">hearts;</code> </td> <td> U+02665 </td> </tr><tr><td> <code title="">heartsuit;</code> </td> <td> U+02665 </td> </tr><tr><td> <code title="">hellip;</code> </td> <td> U+02026 </td> </tr><tr><td> <code title="">hercon;</code> </td> <td> U+022B9 </td> </tr><tr><td> <code title="">hfr;</code> </td> <td> U+1D525 </td> </tr><tr><td> <code title="">hksearow;</code> </td> <td> U+02925 </td> </tr><tr><td> <code title="">hkswarow;</code> </td> <td> U+02926 </td> </tr><tr><td> <code title="">hoarr;</code> </td> <td> U+021FF </td> </tr><tr><td> <code title="">homtht;</code> </td> <td> U+0223B </td> </tr><tr><td> <code title="">hookleftarrow;</code> </td> <td> U+021A9 </td> </tr><tr><td> <code title="">hookrightarrow;</code> </td> <td> U+021AA </td> </tr><tr><td> <code title="">hopf;</code> </td> <td> U+1D559 </td> </tr><tr><td> <code title="">horbar;</code> </td> <td> U+02015 </td> </tr><tr><td> <code title="">hscr;</code> </td> <td> U+1D4BD </td> </tr><tr><td> <code title="">hslash;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">hstrok;</code> </td> <td> U+00127 </td> </tr><tr><td> <code title="">hybull;</code> </td> <td> U+02043 </td> </tr><tr><td> <code title="">hyphen;</code> </td> <td> U+02010 </td> </tr><tr><td> <code title="">iacute;</code> </td> <td> U+000ED </td> </tr><tr><td> <code title="">iacute</code> </td> <td> U+000ED </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ic;</code> </td> <td> U+02063 </td> </tr><tr><td> <code title="">icirc;</code> </td> <td> U+000EE </td> </tr><tr><td> <code title="">icirc</code> </td> <td> U+000EE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">icy;</code> </td> <td> U+00438 </td> </tr><tr><td> <code title="">iecy;</code> </td> <td> U+00435 </td> </tr><tr><td> <code title="">iexcl;</code> </td> <td> U+000A1 </td> </tr><tr><td> <code title="">iexcl</code> </td> <td> U+000A1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">iff;</code> </td> <td> U+021D4 </td> </tr><tr><td> <code title="">ifr;</code> </td> <td> U+1D526 </td> </tr><tr><td> <code title="">igrave;</code> </td> <td> U+000EC </td> </tr><tr><td> <code title="">igrave</code> </td> <td> U+000EC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ii;</code> </td> <td> U+02148 </td> </tr><tr><td> <code title="">iiiint;</code> </td> <td> U+02A0C </td> </tr><tr><td> <code title="">iiint;</code> </td> <td> U+0222D </td> </tr><tr><td> <code title="">iinfin;</code> </td> <td> U+029DC </td> </tr><tr><td> <code title="">iiota;</code> </td> <td> U+02129 </td> </tr><tr><td> <code title="">ijlig;</code> </td> <td> U+00133 </td> </tr><tr><td> <code title="">imacr;</code> </td> <td> U+0012B </td> </tr><tr><td> <code title="">image;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">imagline;</code> </td> <td> U+02110 </td> </tr><tr><td> <code title="">imagpart;</code> </td> <td> U+02111 </td> </tr><tr><td> <code title="">imath;</code> </td> <td> U+00131 </td> </tr><tr><td> <code title="">imof;</code> </td> <td> U+022B7 </td> </tr><tr><td> <code title="">imped;</code> </td> <td> U+001B5 </td> </tr><tr><td> <code title="">in;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">incare;</code> </td> <td> U+02105 </td> </tr><tr><td> <code title="">infin;</code> </td> <td> U+0221E </td> </tr><tr><td> <code title="">infintie;</code> </td> <td> U+029DD </td> </tr><tr><td> <code title="">inodot;</code> </td> <td> U+00131 </td> </tr><tr><td> <code title="">int;</code> </td> <td> U+0222B </td> </tr><tr><td> <code title="">intcal;</code> </td> <td> U+022BA </td> </tr><tr><td> <code title="">integers;</code> </td> <td> U+02124 </td> </tr><tr><td> <code title="">intercal;</code> </td> <td> U+022BA </td> </tr><tr><td> <code title="">intlarhk;</code> </td> <td> U+02A17 </td> </tr><tr><td> <code title="">intprod;</code> </td> <td> U+02A3C </td> </tr><tr><td> <code title="">iocy;</code> </td> <td> U+00451 </td> </tr><tr><td> <code title="">iogon;</code> </td> <td> U+0012F </td> </tr><tr><td> <code title="">iopf;</code> </td> <td> U+1D55A </td> </tr><tr><td> <code title="">iota;</code> </td> <td> U+003B9 </td> </tr><tr><td> <code title="">iprod;</code> </td> <td> U+02A3C </td> </tr><tr><td> <code title="">iquest;</code> </td> <td> U+000BF </td> </tr><tr><td> <code title="">iquest</code> </td> <td> U+000BF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">iscr;</code> </td> <td> U+1D4BE </td> </tr><tr><td> <code title="">isin;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">isinE;</code> </td> <td> U+022F9 </td> </tr><tr><td> <code title="">isindot;</code> </td> <td> U+022F5 </td> </tr><tr><td> <code title="">isins;</code> </td> <td> U+022F4 </td> </tr><tr><td> <code title="">isinsv;</code> </td> <td> U+022F3 </td> </tr><tr><td> <code title="">isinv;</code> </td> <td> U+02208 </td> </tr><tr><td> <code title="">it;</code> </td> <td> U+02062 </td> </tr><tr><td> <code title="">itilde;</code> </td> <td> U+00129 </td> </tr><tr><td> <code title="">iukcy;</code> </td> <td> U+00456 </td> </tr><tr><td> <code title="">iuml;</code> </td> <td> U+000EF </td> </tr><tr><td> <code title="">iuml</code> </td> <td> U+000EF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">jcirc;</code> </td> <td> U+00135 </td> </tr><tr><td> <code title="">jcy;</code> </td> <td> U+00439 </td> </tr><tr><td> <code title="">jfr;</code> </td> <td> U+1D527 </td> </tr><tr><td> <code title="">jmath;</code> </td> <td> U+00237 </td> </tr><tr><td> <code title="">jopf;</code> </td> <td> U+1D55B </td> </tr><tr><td> <code title="">jscr;</code> </td> <td> U+1D4BF </td> </tr><tr><td> <code title="">jsercy;</code> </td> <td> U+00458 </td> </tr><tr><td> <code title="">jukcy;</code> </td> <td> U+00454 </td> </tr><tr><td> <code title="">kappa;</code> </td> <td> U+003BA </td> </tr><tr><td> <code title="">kappav;</code> </td> <td> U+003F0 </td> </tr><tr><td> <code title="">kcedil;</code> </td> <td> U+00137 </td> </tr><tr><td> <code title="">kcy;</code> </td> <td> U+0043A </td> </tr><tr><td> <code title="">kfr;</code> </td> <td> U+1D528 </td> </tr><tr><td> <code title="">kgreen;</code> </td> <td> U+00138 </td> </tr><tr><td> <code title="">khcy;</code> </td> <td> U+00445 </td> </tr><tr><td> <code title="">kjcy;</code> </td> <td> U+0045C </td> </tr><tr><td> <code title="">kopf;</code> </td> <td> U+1D55C </td> </tr><tr><td> <code title="">kscr;</code> </td> <td> U+1D4C0 </td> </tr><tr><td> <code title="">lAarr;</code> </td> <td> U+021DA </td> </tr><tr><td> <code title="">lArr;</code> </td> <td> U+021D0 </td> </tr><tr><td> <code title="">lAtail;</code> </td> <td> U+0291B </td> </tr><tr><td> <code title="">lBarr;</code> </td> <td> U+0290E </td> </tr><tr><td> <code title="">lE;</code> </td> <td> U+02266 </td> </tr><tr><td> <code title="">lEg;</code> </td> <td> U+02A8B </td> </tr><tr><td> <code title="">lHar;</code> </td> <td> U+02962 </td> </tr><tr><td> <code title="">lacute;</code> </td> <td> U+0013A </td> </tr><tr><td> <code title="">laemptyv;</code> </td> <td> U+029B4 </td> </tr><tr><td> <code title="">lagran;</code> </td> <td> U+02112 </td> </tr><tr><td> <code title="">lambda;</code> </td> <td> U+003BB </td> </tr><tr><td> <code title="">lang;</code> </td> <td> U+027E8 </td> </tr><tr><td> <code title="">langd;</code> </td> <td> U+02991 </td> </tr><tr><td> <code title="">langle;</code> </td> <td> U+027E8 </td> </tr><tr><td> <code title="">lap;</code> </td> <td> U+02A85 </td> </tr><tr><td> <code title="">laquo;</code> </td> <td> U+000AB </td> </tr><tr><td> <code title="">laquo</code> </td> <td> U+000AB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">larr;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">larrb;</code> </td> <td> U+021E4 </td> </tr><tr><td> <code title="">larrbfs;</code> </td> <td> U+0291F </td> </tr><tr><td> <code title="">larrfs;</code> </td> <td> U+0291D </td> </tr><tr><td> <code title="">larrhk;</code> </td> <td> U+021A9 </td> </tr><tr><td> <code title="">larrlp;</code> </td> <td> U+021AB </td> </tr><tr><td> <code title="">larrpl;</code> </td> <td> U+02939 </td> </tr><tr><td> <code title="">larrsim;</code> </td> <td> U+02973 </td> </tr><tr><td> <code title="">larrtl;</code> </td> <td> U+021A2 </td> </tr><tr><td> <code title="">lat;</code> </td> <td> U+02AAB </td> </tr><tr><td> <code title="">latail;</code> </td> <td> U+02919 </td> </tr><tr><td> <code title="">late;</code> </td> <td> U+02AAD </td> </tr><tr><td> <code title="">lbarr;</code> </td> <td> U+0290C </td> </tr><tr><td> <code title="">lbbrk;</code> </td> <td> U+02772 </td> </tr><tr><td> <code title="">lbrace;</code> </td> <td> U+0007B </td> </tr><tr><td> <code title="">lbrack;</code> </td> <td> U+0005B </td> </tr><tr><td> <code title="">lbrke;</code> </td> <td> U+0298B </td> </tr><tr><td> <code title="">lbrksld;</code> </td> <td> U+0298F </td> </tr><tr><td> <code title="">lbrkslu;</code> </td> <td> U+0298D </td> </tr><tr><td> <code title="">lcaron;</code> </td> <td> U+0013E </td> </tr><tr><td> <code title="">lcedil;</code> </td> <td> U+0013C </td> </tr><tr><td> <code title="">lceil;</code> </td> <td> U+02308 </td> </tr><tr><td> <code title="">lcub;</code> </td> <td> U+0007B </td> </tr><tr><td> <code title="">lcy;</code> </td> <td> U+0043B </td> </tr><tr><td> <code title="">ldca;</code> </td> <td> U+02936 </td> </tr><tr><td> <code title="">ldquo;</code> </td> <td> U+0201C </td> </tr><tr><td> <code title="">ldquor;</code> </td> <td> U+0201E </td> </tr><tr><td> <code title="">ldrdhar;</code> </td> <td> U+02967 </td> </tr><tr><td> <code title="">ldrushar;</code> </td> <td> U+0294B </td> </tr><tr><td> <code title="">ldsh;</code> </td> <td> U+021B2 </td> </tr><tr><td> <code title="">le;</code> </td> <td> U+02264 </td> </tr><tr><td> <code title="">leftarrow;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">leftarrowtail;</code> </td> <td> U+021A2 </td> </tr><tr><td> <code title="">leftharpoondown;</code> </td> <td> U+021BD </td> </tr><tr><td> <code title="">leftharpoonup;</code> </td> <td> U+021BC </td> </tr><tr><td> <code title="">leftleftarrows;</code> </td> <td> U+021C7 </td> </tr><tr><td> <code title="">leftrightarrow;</code> </td> <td> U+02194 </td> </tr><tr><td> <code title="">leftrightarrows;</code> </td> <td> U+021C6 </td> </tr><tr><td> <code title="">leftrightharpoons;</code> </td> <td> U+021CB </td> </tr><tr><td> <code title="">leftrightsquigarrow;</code> </td> <td> U+021AD </td> </tr><tr><td> <code title="">leftthreetimes;</code> </td> <td> U+022CB </td> </tr><tr><td> <code title="">leg;</code> </td> <td> U+022DA </td> </tr><tr><td> <code title="">leq;</code> </td> <td> U+02264 </td> </tr><tr><td> <code title="">leqq;</code> </td> <td> U+02266 </td> </tr><tr><td> <code title="">leqslant;</code> </td> <td> U+02A7D </td> </tr><tr><td> <code title="">les;</code> </td> <td> U+02A7D </td> </tr><tr><td> <code title="">lescc;</code> </td> <td> U+02AA8 </td> </tr><tr><td> <code title="">lesdot;</code> </td> <td> U+02A7F </td> </tr><tr><td> <code title="">lesdoto;</code> </td> <td> U+02A81 </td> </tr><tr><td> <code title="">lesdotor;</code> </td> <td> U+02A83 </td> </tr><tr><td> <code title="">lesges;</code> </td> <td> U+02A93 </td> </tr><tr><td> <code title="">lessapprox;</code> </td> <td> U+02A85 </td> </tr><tr><td> <code title="">lessdot;</code> </td> <td> U+022D6 </td> </tr><tr><td> <code title="">lesseqgtr;</code> </td> <td> U+022DA </td> </tr><tr><td> <code title="">lesseqqgtr;</code> </td> <td> U+02A8B </td> </tr><tr><td> <code title="">lessgtr;</code> </td> <td> U+02276 </td> </tr><tr><td> <code title="">lesssim;</code> </td> <td> U+02272 </td> </tr><tr><td> <code title="">lfisht;</code> </td> <td> U+0297C </td> </tr><tr><td> <code title="">lfloor;</code> </td> <td> U+0230A </td> </tr><tr><td> <code title="">lfr;</code> </td> <td> U+1D529 </td> </tr><tr><td> <code title="">lg;</code> </td> <td> U+02276 </td> </tr><tr><td> <code title="">lgE;</code> </td> <td> U+02A91 </td> </tr><tr><td> <code title="">lhard;</code> </td> <td> U+021BD </td> </tr><tr><td> <code title="">lharu;</code> </td> <td> U+021BC </td> </tr><tr><td> <code title="">lharul;</code> </td> <td> U+0296A </td> </tr><tr><td> <code title="">lhblk;</code> </td> <td> U+02584 </td> </tr><tr><td> <code title="">ljcy;</code> </td> <td> U+00459 </td> </tr><tr><td> <code title="">ll;</code> </td> <td> U+0226A </td> </tr><tr><td> <code title="">llarr;</code> </td> <td> U+021C7 </td> </tr><tr><td> <code title="">llcorner;</code> </td> <td> U+0231E </td> </tr><tr><td> <code title="">llhard;</code> </td> <td> U+0296B </td> </tr><tr><td> <code title="">lltri;</code> </td> <td> U+025FA </td> </tr><tr><td> <code title="">lmidot;</code> </td> <td> U+00140 </td> </tr><tr><td> <code title="">lmoust;</code> </td> <td> U+023B0 </td> </tr><tr><td> <code title="">lmoustache;</code> </td> <td> U+023B0 </td> </tr><tr><td> <code title="">lnE;</code> </td> <td> U+02268 </td> </tr><tr><td> <code title="">lnap;</code> </td> <td> U+02A89 </td> </tr><tr><td> <code title="">lnapprox;</code> </td> <td> U+02A89 </td> </tr><tr><td> <code title="">lne;</code> </td> <td> U+02A87 </td> </tr><tr><td> <code title="">lneq;</code> </td> <td> U+02A87 </td> </tr><tr><td> <code title="">lneqq;</code> </td> <td> U+02268 </td> </tr><tr><td> <code title="">lnsim;</code> </td> <td> U+022E6 </td> </tr><tr><td> <code title="">loang;</code> </td> <td> U+027EC </td> </tr><tr><td> <code title="">loarr;</code> </td> <td> U+021FD </td> </tr><tr><td> <code title="">lobrk;</code> </td> <td> U+027E6 </td> </tr><tr><td> <code title="">longleftarrow;</code> </td> <td> U+027F5 </td> </tr><tr><td> <code title="">longleftrightarrow;</code> </td> <td> U+027F7 </td> </tr><tr><td> <code title="">longmapsto;</code> </td> <td> U+027FC </td> </tr><tr><td> <code title="">longrightarrow;</code> </td> <td> U+027F6 </td> </tr><tr><td> <code title="">looparrowleft;</code> </td> <td> U+021AB </td> </tr><tr><td> <code title="">looparrowright;</code> </td> <td> U+021AC </td> </tr><tr><td> <code title="">lopar;</code> </td> <td> U+02985 </td> </tr><tr><td> <code title="">lopf;</code> </td> <td> U+1D55D </td> </tr><tr><td> <code title="">loplus;</code> </td> <td> U+02A2D </td> </tr><tr><td> <code title="">lotimes;</code> </td> <td> U+02A34 </td> </tr><tr><td> <code title="">lowast;</code> </td> <td> U+02217 </td> </tr><tr><td> <code title="">lowbar;</code> </td> <td> U+0005F </td> </tr><tr><td> <code title="">loz;</code> </td> <td> U+025CA </td> </tr><tr><td> <code title="">lozenge;</code> </td> <td> U+025CA </td> </tr><tr><td> <code title="">lozf;</code> </td> <td> U+029EB </td> </tr><tr><td> <code title="">lpar;</code> </td> <td> U+00028 </td> </tr><tr><td> <code title="">lparlt;</code> </td> <td> U+02993 </td> </tr><tr><td> <code title="">lrarr;</code> </td> <td> U+021C6 </td> </tr><tr><td> <code title="">lrcorner;</code> </td> <td> U+0231F </td> </tr><tr><td> <code title="">lrhar;</code> </td> <td> U+021CB </td> </tr><tr><td> <code title="">lrhard;</code> </td> <td> U+0296D </td> </tr><tr><td> <code title="">lrm;</code> </td> <td> U+0200E </td> </tr><tr><td> <code title="">lrtri;</code> </td> <td> U+022BF </td> </tr><tr><td> <code title="">lsaquo;</code> </td> <td> U+02039 </td> </tr><tr><td> <code title="">lscr;</code> </td> <td> U+1D4C1 </td> </tr><tr><td> <code title="">lsh;</code> </td> <td> U+021B0 </td> </tr><tr><td> <code title="">lsim;</code> </td> <td> U+02272 </td> </tr><tr><td> <code title="">lsime;</code> </td> <td> U+02A8D </td> </tr><tr><td> <code title="">lsimg;</code> </td> <td> U+02A8F </td> </tr><tr><td> <code title="">lsqb;</code> </td> <td> U+0005B </td> </tr><tr><td> <code title="">lsquo;</code> </td> <td> U+02018 </td> </tr><tr><td> <code title="">lsquor;</code> </td> <td> U+0201A </td> </tr><tr><td> <code title="">lstrok;</code> </td> <td> U+00142 </td> </tr><tr><td> <code title="">lt;</code> </td> <td> U+0003C </td> </tr><tr><td> <code title="">lt</code> </td> <td> U+0003C </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ltcc;</code> </td> <td> U+02AA6 </td> </tr><tr><td> <code title="">ltcir;</code> </td> <td> U+02A79 </td> </tr><tr><td> <code title="">ltdot;</code> </td> <td> U+022D6 </td> </tr><tr><td> <code title="">lthree;</code> </td> <td> U+022CB </td> </tr><tr><td> <code title="">ltimes;</code> </td> <td> U+022C9 </td> </tr><tr><td> <code title="">ltlarr;</code> </td> <td> U+02976 </td> </tr><tr><td> <code title="">ltquest;</code> </td> <td> U+02A7B </td> </tr><tr><td> <code title="">ltrPar;</code> </td> <td> U+02996 </td> </tr><tr><td> <code title="">ltri;</code> </td> <td> U+025C3 </td> </tr><tr><td> <code title="">ltrie;</code> </td> <td> U+022B4 </td> </tr><tr><td> <code title="">ltrif;</code> </td> <td> U+025C2 </td> </tr><tr><td> <code title="">lurdshar;</code> </td> <td> U+0294A </td> </tr><tr><td> <code title="">luruhar;</code> </td> <td> U+02966 </td> </tr><tr><td> <code title="">mDDot;</code> </td> <td> U+0223A </td> </tr><tr><td> <code title="">macr;</code> </td> <td> U+000AF </td> </tr><tr><td> <code title="">macr</code> </td> <td> U+000AF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">male;</code> </td> <td> U+02642 </td> </tr><tr><td> <code title="">malt;</code> </td> <td> U+02720 </td> </tr><tr><td> <code title="">maltese;</code> </td> <td> U+02720 </td> </tr><tr><td> <code title="">map;</code> </td> <td> U+021A6 </td> </tr><tr><td> <code title="">mapsto;</code> </td> <td> U+021A6 </td> </tr><tr><td> <code title="">mapstodown;</code> </td> <td> U+021A7 </td> </tr><tr><td> <code title="">mapstoleft;</code> </td> <td> U+021A4 </td> </tr><tr><td> <code title="">mapstoup;</code> </td> <td> U+021A5 </td> </tr><tr><td> <code title="">marker;</code> </td> <td> U+025AE </td> </tr><tr><td> <code title="">mcomma;</code> </td> <td> U+02A29 </td> </tr><tr><td> <code title="">mcy;</code> </td> <td> U+0043C </td> </tr><tr><td> <code title="">mdash;</code> </td> <td> U+02014 </td> </tr><tr><td> <code title="">measuredangle;</code> </td> <td> U+02221 </td> </tr><tr><td> <code title="">mfr;</code> </td> <td> U+1D52A </td> </tr><tr><td> <code title="">mho;</code> </td> <td> U+02127 </td> </tr><tr><td> <code title="">micro;</code> </td> <td> U+000B5 </td> </tr><tr><td> <code title="">micro</code> </td> <td> U+000B5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">mid;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">midast;</code> </td> <td> U+0002A </td> </tr><tr><td> <code title="">midcir;</code> </td> <td> U+02AF0 </td> </tr><tr><td> <code title="">middot;</code> </td> <td> U+000B7 </td> </tr><tr><td> <code title="">middot</code> </td> <td> U+000B7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">minus;</code> </td> <td> U+02212 </td> </tr><tr><td> <code title="">minusb;</code> </td> <td> U+0229F </td> </tr><tr><td> <code title="">minusd;</code> </td> <td> U+02238 </td> </tr><tr><td> <code title="">minusdu;</code> </td> <td> U+02A2A </td> </tr><tr><td> <code title="">mlcp;</code> </td> <td> U+02ADB </td> </tr><tr><td> <code title="">mldr;</code> </td> <td> U+02026 </td> </tr><tr><td> <code title="">mnplus;</code> </td> <td> U+02213 </td> </tr><tr><td> <code title="">models;</code> </td> <td> U+022A7 </td> </tr><tr><td> <code title="">mopf;</code> </td> <td> U+1D55E </td> </tr><tr><td> <code title="">mp;</code> </td> <td> U+02213 </td> </tr><tr><td> <code title="">mscr;</code> </td> <td> U+1D4C2 </td> </tr><tr><td> <code title="">mstpos;</code> </td> <td> U+0223E </td> </tr><tr><td> <code title="">mu;</code> </td> <td> U+003BC </td> </tr><tr><td> <code title="">multimap;</code> </td> <td> U+022B8 </td> </tr><tr><td> <code title="">mumap;</code> </td> <td> U+022B8 </td> </tr><tr><td> <code title="">nLeftarrow;</code> </td> <td> U+021CD </td> </tr><tr><td> <code title="">nLeftrightarrow;</code> </td> <td> U+021CE </td> </tr><tr><td> <code title="">nRightarrow;</code> </td> <td> U+021CF </td> </tr><tr><td> <code title="">nVDash;</code> </td> <td> U+022AF </td> </tr><tr><td> <code title="">nVdash;</code> </td> <td> U+022AE </td> </tr><tr><td> <code title="">nabla;</code> </td> <td> U+02207 </td> </tr><tr><td> <code title="">nacute;</code> </td> <td> U+00144 </td> </tr><tr><td> <code title="">nap;</code> </td> <td> U+02249 </td> </tr><tr><td> <code title="">napos;</code> </td> <td> U+00149 </td> </tr><tr><td> <code title="">napprox;</code> </td> <td> U+02249 </td> </tr><tr><td> <code title="">natur;</code> </td> <td> U+0266E </td> </tr><tr><td> <code title="">natural;</code> </td> <td> U+0266E </td> </tr><tr><td> <code title="">naturals;</code> </td> <td> U+02115 </td> </tr><tr><td> <code title="">nbsp;</code> </td> <td> U+000A0 </td> </tr><tr><td> <code title="">nbsp</code> </td> <td> U+000A0 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ncap;</code> </td> <td> U+02A43 </td> </tr><tr><td> <code title="">ncaron;</code> </td> <td> U+00148 </td> </tr><tr><td> <code title="">ncedil;</code> </td> <td> U+00146 </td> </tr><tr><td> <code title="">ncong;</code> </td> <td> U+02247 </td> </tr><tr><td> <code title="">ncup;</code> </td> <td> U+02A42 </td> </tr><tr><td> <code title="">ncy;</code> </td> <td> U+0043D </td> </tr><tr><td> <code title="">ndash;</code> </td> <td> U+02013 </td> </tr><tr><td> <code title="">ne;</code> </td> <td> U+02260 </td> </tr><tr><td> <code title="">neArr;</code> </td> <td> U+021D7 </td> </tr><tr><td> <code title="">nearhk;</code> </td> <td> U+02924 </td> </tr><tr><td> <code title="">nearr;</code> </td> <td> U+02197 </td> </tr><tr><td> <code title="">nearrow;</code> </td> <td> U+02197 </td> </tr><tr><td> <code title="">nequiv;</code> </td> <td> U+02262 </td> </tr><tr><td> <code title="">nesear;</code> </td> <td> U+02928 </td> </tr><tr><td> <code title="">nexist;</code> </td> <td> U+02204 </td> </tr><tr><td> <code title="">nexists;</code> </td> <td> U+02204 </td> </tr><tr><td> <code title="">nfr;</code> </td> <td> U+1D52B </td> </tr><tr><td> <code title="">nge;</code> </td> <td> U+02271 </td> </tr><tr><td> <code title="">ngeq;</code> </td> <td> U+02271 </td> </tr><tr><td> <code title="">ngsim;</code> </td> <td> U+02275 </td> </tr><tr><td> <code title="">ngt;</code> </td> <td> U+0226F </td> </tr><tr><td> <code title="">ngtr;</code> </td> <td> U+0226F </td> </tr><tr><td> <code title="">nhArr;</code> </td> <td> U+021CE </td> </tr><tr><td> <code title="">nharr;</code> </td> <td> U+021AE </td> </tr><tr><td> <code title="">nhpar;</code> </td> <td> U+02AF2 </td> </tr><tr><td> <code title="">ni;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">nis;</code> </td> <td> U+022FC </td> </tr><tr><td> <code title="">nisd;</code> </td> <td> U+022FA </td> </tr><tr><td> <code title="">niv;</code> </td> <td> U+0220B </td> </tr><tr><td> <code title="">njcy;</code> </td> <td> U+0045A </td> </tr><tr><td> <code title="">nlArr;</code> </td> <td> U+021CD </td> </tr><tr><td> <code title="">nlarr;</code> </td> <td> U+0219A </td> </tr><tr><td> <code title="">nldr;</code> </td> <td> U+02025 </td> </tr><tr><td> <code title="">nle;</code> </td> <td> U+02270 </td> </tr><tr><td> <code title="">nleftarrow;</code> </td> <td> U+0219A </td> </tr><tr><td> <code title="">nleftrightarrow;</code> </td> <td> U+021AE </td> </tr><tr><td> <code title="">nleq;</code> </td> <td> U+02270 </td> </tr><tr><td> <code title="">nless;</code> </td> <td> U+0226E </td> </tr><tr><td> <code title="">nlsim;</code> </td> <td> U+02274 </td> </tr><tr><td> <code title="">nlt;</code> </td> <td> U+0226E </td> </tr><tr><td> <code title="">nltri;</code> </td> <td> U+022EA </td> </tr><tr><td> <code title="">nltrie;</code> </td> <td> U+022EC </td> </tr><tr><td> <code title="">nmid;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">nopf;</code> </td> <td> U+1D55F </td> </tr><tr><td> <code title="">not;</code> </td> <td> U+000AC </td> </tr><tr><td> <code title="">not</code> </td> <td> U+000AC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">notin;</code> </td> <td> U+02209 </td> </tr><tr><td> <code title="">notinva;</code> </td> <td> U+02209 </td> </tr><tr><td> <code title="">notinvb;</code> </td> <td> U+022F7 </td> </tr><tr><td> <code title="">notinvc;</code> </td> <td> U+022F6 </td> </tr><tr><td> <code title="">notni;</code> </td> <td> U+0220C </td> </tr><tr><td> <code title="">notniva;</code> </td> <td> U+0220C </td> </tr><tr><td> <code title="">notnivb;</code> </td> <td> U+022FE </td> </tr><tr><td> <code title="">notnivc;</code> </td> <td> U+022FD </td> </tr><tr><td> <code title="">npar;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">nparallel;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">npolint;</code> </td> <td> U+02A14 </td> </tr><tr><td> <code title="">npr;</code> </td> <td> U+02280 </td> </tr><tr><td> <code title="">nprcue;</code> </td> <td> U+022E0 </td> </tr><tr><td> <code title="">nprec;</code> </td> <td> U+02280 </td> </tr><tr><td> <code title="">nrArr;</code> </td> <td> U+021CF </td> </tr><tr><td> <code title="">nrarr;</code> </td> <td> U+0219B </td> </tr><tr><td> <code title="">nrightarrow;</code> </td> <td> U+0219B </td> </tr><tr><td> <code title="">nrtri;</code> </td> <td> U+022EB </td> </tr><tr><td> <code title="">nrtrie;</code> </td> <td> U+022ED </td> </tr><tr><td> <code title="">nsc;</code> </td> <td> U+02281 </td> </tr><tr><td> <code title="">nsccue;</code> </td> <td> U+022E1 </td> </tr><tr><td> <code title="">nscr;</code> </td> <td> U+1D4C3 </td> </tr><tr><td> <code title="">nshortmid;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">nshortparallel;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">nsim;</code> </td> <td> U+02241 </td> </tr><tr><td> <code title="">nsime;</code> </td> <td> U+02244 </td> </tr><tr><td> <code title="">nsimeq;</code> </td> <td> U+02244 </td> </tr><tr><td> <code title="">nsmid;</code> </td> <td> U+02224 </td> </tr><tr><td> <code title="">nspar;</code> </td> <td> U+02226 </td> </tr><tr><td> <code title="">nsqsube;</code> </td> <td> U+022E2 </td> </tr><tr><td> <code title="">nsqsupe;</code> </td> <td> U+022E3 </td> </tr><tr><td> <code title="">nsub;</code> </td> <td> U+02284 </td> </tr><tr><td> <code title="">nsube;</code> </td> <td> U+02288 </td> </tr><tr><td> <code title="">nsubseteq;</code> </td> <td> U+02288 </td> </tr><tr><td> <code title="">nsucc;</code> </td> <td> U+02281 </td> </tr><tr><td> <code title="">nsup;</code> </td> <td> U+02285 </td> </tr><tr><td> <code title="">nsupe;</code> </td> <td> U+02289 </td> </tr><tr><td> <code title="">nsupseteq;</code> </td> <td> U+02289 </td> </tr><tr><td> <code title="">ntgl;</code> </td> <td> U+02279 </td> </tr><tr><td> <code title="">ntilde;</code> </td> <td> U+000F1 </td> </tr><tr><td> <code title="">ntilde</code> </td> <td> U+000F1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ntlg;</code> </td> <td> U+02278 </td> </tr><tr><td> <code title="">ntriangleleft;</code> </td> <td> U+022EA </td> </tr><tr><td> <code title="">ntrianglelefteq;</code> </td> <td> U+022EC </td> </tr><tr><td> <code title="">ntriangleright;</code> </td> <td> U+022EB </td> </tr><tr><td> <code title="">ntrianglerighteq;</code> </td> <td> U+022ED </td> </tr><tr><td> <code title="">nu;</code> </td> <td> U+003BD </td> </tr><tr><td> <code title="">num;</code> </td> <td> U+00023 </td> </tr><tr><td> <code title="">numero;</code> </td> <td> U+02116 </td> </tr><tr><td> <code title="">numsp;</code> </td> <td> U+02007 </td> </tr><tr><td> <code title="">nvDash;</code> </td> <td> U+022AD </td> </tr><tr><td> <code title="">nvHarr;</code> </td> <td> U+02904 </td> </tr><tr><td> <code title="">nvdash;</code> </td> <td> U+022AC </td> </tr><tr><td> <code title="">nvinfin;</code> </td> <td> U+029DE </td> </tr><tr><td> <code title="">nvlArr;</code> </td> <td> U+02902 </td> </tr><tr><td> <code title="">nvrArr;</code> </td> <td> U+02903 </td> </tr><tr><td> <code title="">nwArr;</code> </td> <td> U+021D6 </td> </tr><tr><td> <code title="">nwarhk;</code> </td> <td> U+02923 </td> </tr><tr><td> <code title="">nwarr;</code> </td> <td> U+02196 </td> </tr><tr><td> <code title="">nwarrow;</code> </td> <td> U+02196 </td> </tr><tr><td> <code title="">nwnear;</code> </td> <td> U+02927 </td> </tr><tr><td> <code title="">oS;</code> </td> <td> U+024C8 </td> </tr><tr><td> <code title="">oacute;</code> </td> <td> U+000F3 </td> </tr><tr><td> <code title="">oacute</code> </td> <td> U+000F3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">oast;</code> </td> <td> U+0229B </td> </tr><tr><td> <code title="">ocir;</code> </td> <td> U+0229A </td> </tr><tr><td> <code title="">ocirc;</code> </td> <td> U+000F4 </td> </tr><tr><td> <code title="">ocirc</code> </td> <td> U+000F4 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ocy;</code> </td> <td> U+0043E </td> </tr><tr><td> <code title="">odash;</code> </td> <td> U+0229D </td> </tr><tr><td> <code title="">odblac;</code> </td> <td> U+00151 </td> </tr><tr><td> <code title="">odiv;</code> </td> <td> U+02A38 </td> </tr><tr><td> <code title="">odot;</code> </td> <td> U+02299 </td> </tr><tr><td> <code title="">odsold;</code> </td> <td> U+029BC </td> </tr><tr><td> <code title="">oelig;</code> </td> <td> U+00153 </td> </tr><tr><td> <code title="">ofcir;</code> </td> <td> U+029BF </td> </tr><tr><td> <code title="">ofr;</code> </td> <td> U+1D52C </td> </tr><tr><td> <code title="">ogon;</code> </td> <td> U+002DB </td> </tr><tr><td> <code title="">ograve;</code> </td> <td> U+000F2 </td> </tr><tr><td> <code title="">ograve</code> </td> <td> U+000F2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ogt;</code> </td> <td> U+029C1 </td> </tr><tr><td> <code title="">ohbar;</code> </td> <td> U+029B5 </td> </tr><tr><td> <code title="">ohm;</code> </td> <td> U+02126 </td> </tr><tr><td> <code title="">oint;</code> </td> <td> U+0222E </td> </tr><tr><td> <code title="">olarr;</code> </td> <td> U+021BA </td> </tr><tr><td> <code title="">olcir;</code> </td> <td> U+029BE </td> </tr><tr><td> <code title="">olcross;</code> </td> <td> U+029BB </td> </tr><tr><td> <code title="">oline;</code> </td> <td> U+0203E </td> </tr><tr><td> <code title="">olt;</code> </td> <td> U+029C0 </td> </tr><tr><td> <code title="">omacr;</code> </td> <td> U+0014D </td> </tr><tr><td> <code title="">omega;</code> </td> <td> U+003C9 </td> </tr><tr><td> <code title="">omicron;</code> </td> <td> U+003BF </td> </tr><tr><td> <code title="">omid;</code> </td> <td> U+029B6 </td> </tr><tr><td> <code title="">ominus;</code> </td> <td> U+02296 </td> </tr><tr><td> <code title="">oopf;</code> </td> <td> U+1D560 </td> </tr><tr><td> <code title="">opar;</code> </td> <td> U+029B7 </td> </tr><tr><td> <code title="">operp;</code> </td> <td> U+029B9 </td> </tr><tr><td> <code title="">oplus;</code> </td> <td> U+02295 </td> </tr><tr><td> <code title="">or;</code> </td> <td> U+02228 </td> </tr><tr><td> <code title="">orarr;</code> </td> <td> U+021BB </td> </tr><tr><td> <code title="">ord;</code> </td> <td> U+02A5D </td> </tr><tr><td> <code title="">order;</code> </td> <td> U+02134 </td> </tr><tr><td> <code title="">orderof;</code> </td> <td> U+02134 </td> </tr><tr><td> <code title="">ordf;</code> </td> <td> U+000AA </td> </tr><tr><td> <code title="">ordf</code> </td> <td> U+000AA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ordm;</code> </td> <td> U+000BA </td> </tr><tr><td> <code title="">ordm</code> </td> <td> U+000BA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">origof;</code> </td> <td> U+022B6 </td> </tr><tr><td> <code title="">oror;</code> </td> <td> U+02A56 </td> </tr><tr><td> <code title="">orslope;</code> </td> <td> U+02A57 </td> </tr><tr><td> <code title="">orv;</code> </td> <td> U+02A5B </td> </tr><tr><td> <code title="">oscr;</code> </td> <td> U+02134 </td> </tr><tr><td> <code title="">oslash;</code> </td> <td> U+000F8 </td> </tr><tr><td> <code title="">oslash</code> </td> <td> U+000F8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">osol;</code> </td> <td> U+02298 </td> </tr><tr><td> <code title="">otilde;</code> </td> <td> U+000F5 </td> </tr><tr><td> <code title="">otilde</code> </td> <td> U+000F5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">otimes;</code> </td> <td> U+02297 </td> </tr><tr><td> <code title="">otimesas;</code> </td> <td> U+02A36 </td> </tr><tr><td> <code title="">ouml;</code> </td> <td> U+000F6 </td> </tr><tr><td> <code title="">ouml</code> </td> <td> U+000F6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ovbar;</code> </td> <td> U+0233D </td> </tr><tr><td> <code title="">par;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">para;</code> </td> <td> U+000B6 </td> </tr><tr><td> <code title="">para</code> </td> <td> U+000B6 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">parallel;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">parsim;</code> </td> <td> U+02AF3 </td> </tr><tr><td> <code title="">parsl;</code> </td> <td> U+02AFD </td> </tr><tr><td> <code title="">part;</code> </td> <td> U+02202 </td> </tr><tr><td> <code title="">pcy;</code> </td> <td> U+0043F </td> </tr><tr><td> <code title="">percnt;</code> </td> <td> U+00025 </td> </tr><tr><td> <code title="">period;</code> </td> <td> U+0002E </td> </tr><tr><td> <code title="">permil;</code> </td> <td> U+02030 </td> </tr><tr><td> <code title="">perp;</code> </td> <td> U+022A5 </td> </tr><tr><td> <code title="">pertenk;</code> </td> <td> U+02031 </td> </tr><tr><td> <code title="">pfr;</code> </td> <td> U+1D52D </td> </tr><tr><td> <code title="">phi;</code> </td> <td> U+003C6 </td> </tr><tr><td> <code title="">phiv;</code> </td> <td> U+003C6 </td> </tr><tr><td> <code title="">phmmat;</code> </td> <td> U+02133 </td> </tr><tr><td> <code title="">phone;</code> </td> <td> U+0260E </td> </tr><tr><td> <code title="">pi;</code> </td> <td> U+003C0 </td> </tr><tr><td> <code title="">pitchfork;</code> </td> <td> U+022D4 </td> </tr><tr><td> <code title="">piv;</code> </td> <td> U+003D6 </td> </tr><tr><td> <code title="">planck;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">planckh;</code> </td> <td> U+0210E </td> </tr><tr><td> <code title="">plankv;</code> </td> <td> U+0210F </td> </tr><tr><td> <code title="">plus;</code> </td> <td> U+0002B </td> </tr><tr><td> <code title="">plusacir;</code> </td> <td> U+02A23 </td> </tr><tr><td> <code title="">plusb;</code> </td> <td> U+0229E </td> </tr><tr><td> <code title="">pluscir;</code> </td> <td> U+02A22 </td> </tr><tr><td> <code title="">plusdo;</code> </td> <td> U+02214 </td> </tr><tr><td> <code title="">plusdu;</code> </td> <td> U+02A25 </td> </tr><tr><td> <code title="">pluse;</code> </td> <td> U+02A72 </td> </tr><tr><td> <code title="">plusmn;</code> </td> <td> U+000B1 </td> </tr><tr><td> <code title="">plusmn</code> </td> <td> U+000B1 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">plussim;</code> </td> <td> U+02A26 </td> </tr><tr><td> <code title="">plustwo;</code> </td> <td> U+02A27 </td> </tr><tr><td> <code title="">pm;</code> </td> <td> U+000B1 </td> </tr><tr><td> <code title="">pointint;</code> </td> <td> U+02A15 </td> </tr><tr><td> <code title="">popf;</code> </td> <td> U+1D561 </td> </tr><tr><td> <code title="">pound;</code> </td> <td> U+000A3 </td> </tr><tr><td> <code title="">pound</code> </td> <td> U+000A3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">pr;</code> </td> <td> U+0227A </td> </tr><tr><td> <code title="">prE;</code> </td> <td> U+02AB3 </td> </tr><tr><td> <code title="">prap;</code> </td> <td> U+02AB7 </td> </tr><tr><td> <code title="">prcue;</code> </td> <td> U+0227C </td> </tr><tr><td> <code title="">pre;</code> </td> <td> U+02AAF </td> </tr><tr><td> <code title="">prec;</code> </td> <td> U+0227A </td> </tr><tr><td> <code title="">precapprox;</code> </td> <td> U+02AB7 </td> </tr><tr><td> <code title="">preccurlyeq;</code> </td> <td> U+0227C </td> </tr><tr><td> <code title="">preceq;</code> </td> <td> U+02AAF </td> </tr><tr><td> <code title="">precnapprox;</code> </td> <td> U+02AB9 </td> </tr><tr><td> <code title="">precneqq;</code> </td> <td> U+02AB5 </td> </tr><tr><td> <code title="">precnsim;</code> </td> <td> U+022E8 </td> </tr><tr><td> <code title="">precsim;</code> </td> <td> U+0227E </td> </tr><tr><td> <code title="">prime;</code> </td> <td> U+02032 </td> </tr><tr><td> <code title="">primes;</code> </td> <td> U+02119 </td> </tr><tr><td> <code title="">prnE;</code> </td> <td> U+02AB5 </td> </tr><tr><td> <code title="">prnap;</code> </td> <td> U+02AB9 </td> </tr><tr><td> <code title="">prnsim;</code> </td> <td> U+022E8 </td> </tr><tr><td> <code title="">prod;</code> </td> <td> U+0220F </td> </tr><tr><td> <code title="">profalar;</code> </td> <td> U+0232E </td> </tr><tr><td> <code title="">profline;</code> </td> <td> U+02312 </td> </tr><tr><td> <code title="">profsurf;</code> </td> <td> U+02313 </td> </tr><tr><td> <code title="">prop;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">propto;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">prsim;</code> </td> <td> U+0227E </td> </tr><tr><td> <code title="">prurel;</code> </td> <td> U+022B0 </td> </tr><tr><td> <code title="">pscr;</code> </td> <td> U+1D4C5 </td> </tr><tr><td> <code title="">psi;</code> </td> <td> U+003C8 </td> </tr><tr><td> <code title="">puncsp;</code> </td> <td> U+02008 </td> </tr><tr><td> <code title="">qfr;</code> </td> <td> U+1D52E </td> </tr><tr><td> <code title="">qint;</code> </td> <td> U+02A0C </td> </tr><tr><td> <code title="">qopf;</code> </td> <td> U+1D562 </td> </tr><tr><td> <code title="">qprime;</code> </td> <td> U+02057 </td> </tr><tr><td> <code title="">qscr;</code> </td> <td> U+1D4C6 </td> </tr><tr><td> <code title="">quaternions;</code> </td> <td> U+0210D </td> </tr><tr><td> <code title="">quatint;</code> </td> <td> U+02A16 </td> </tr><tr><td> <code title="">quest;</code> </td> <td> U+0003F </td> </tr><tr><td> <code title="">questeq;</code> </td> <td> U+0225F </td> </tr><tr><td> <code title="">quot;</code> </td> <td> U+00022 </td> </tr><tr><td> <code title="">quot</code> </td> <td> U+00022 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">rAarr;</code> </td> <td> U+021DB </td> </tr><tr><td> <code title="">rArr;</code> </td> <td> U+021D2 </td> </tr><tr><td> <code title="">rAtail;</code> </td> <td> U+0291C </td> </tr><tr><td> <code title="">rBarr;</code> </td> <td> U+0290F </td> </tr><tr><td> <code title="">rHar;</code> </td> <td> U+02964 </td> </tr><tr><td> <code title="">race;</code> </td> <td> U+029DA </td> </tr><tr><td> <code title="">racute;</code> </td> <td> U+00155 </td> </tr><tr><td> <code title="">radic;</code> </td> <td> U+0221A </td> </tr><tr><td> <code title="">raemptyv;</code> </td> <td> U+029B3 </td> </tr><tr><td> <code title="">rang;</code> </td> <td> U+027E9 </td> </tr><tr><td> <code title="">rangd;</code> </td> <td> U+02992 </td> </tr><tr><td> <code title="">range;</code> </td> <td> U+029A5 </td> </tr><tr><td> <code title="">rangle;</code> </td> <td> U+027E9 </td> </tr><tr><td> <code title="">raquo;</code> </td> <td> U+000BB </td> </tr><tr><td> <code title="">raquo</code> </td> <td> U+000BB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">rarr;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">rarrap;</code> </td> <td> U+02975 </td> </tr><tr><td> <code title="">rarrb;</code> </td> <td> U+021E5 </td> </tr><tr><td> <code title="">rarrbfs;</code> </td> <td> U+02920 </td> </tr><tr><td> <code title="">rarrc;</code> </td> <td> U+02933 </td> </tr><tr><td> <code title="">rarrfs;</code> </td> <td> U+0291E </td> </tr><tr><td> <code title="">rarrhk;</code> </td> <td> U+021AA </td> </tr><tr><td> <code title="">rarrlp;</code> </td> <td> U+021AC </td> </tr><tr><td> <code title="">rarrpl;</code> </td> <td> U+02945 </td> </tr><tr><td> <code title="">rarrsim;</code> </td> <td> U+02974 </td> </tr><tr><td> <code title="">rarrtl;</code> </td> <td> U+021A3 </td> </tr><tr><td> <code title="">rarrw;</code> </td> <td> U+0219D </td> </tr><tr><td> <code title="">ratail;</code> </td> <td> U+0291A </td> </tr><tr><td> <code title="">ratio;</code> </td> <td> U+02236 </td> </tr><tr><td> <code title="">rationals;</code> </td> <td> U+0211A </td> </tr><tr><td> <code title="">rbarr;</code> </td> <td> U+0290D </td> </tr><tr><td> <code title="">rbbrk;</code> </td> <td> U+02773 </td> </tr><tr><td> <code title="">rbrace;</code> </td> <td> U+0007D </td> </tr><tr><td> <code title="">rbrack;</code> </td> <td> U+0005D </td> </tr><tr><td> <code title="">rbrke;</code> </td> <td> U+0298C </td> </tr><tr><td> <code title="">rbrksld;</code> </td> <td> U+0298E </td> </tr><tr><td> <code title="">rbrkslu;</code> </td> <td> U+02990 </td> </tr><tr><td> <code title="">rcaron;</code> </td> <td> U+00159 </td> </tr><tr><td> <code title="">rcedil;</code> </td> <td> U+00157 </td> </tr><tr><td> <code title="">rceil;</code> </td> <td> U+02309 </td> </tr><tr><td> <code title="">rcub;</code> </td> <td> U+0007D </td> </tr><tr><td> <code title="">rcy;</code> </td> <td> U+00440 </td> </tr><tr><td> <code title="">rdca;</code> </td> <td> U+02937 </td> </tr><tr><td> <code title="">rdldhar;</code> </td> <td> U+02969 </td> </tr><tr><td> <code title="">rdquo;</code> </td> <td> U+0201D </td> </tr><tr><td> <code title="">rdquor;</code> </td> <td> U+0201D </td> </tr><tr><td> <code title="">rdsh;</code> </td> <td> U+021B3 </td> </tr><tr><td> <code title="">real;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">realine;</code> </td> <td> U+0211B </td> </tr><tr><td> <code title="">realpart;</code> </td> <td> U+0211C </td> </tr><tr><td> <code title="">reals;</code> </td> <td> U+0211D </td> </tr><tr><td> <code title="">rect;</code> </td> <td> U+025AD </td> </tr><tr><td> <code title="">reg;</code> </td> <td> U+000AE </td> </tr><tr><td> <code title="">reg</code> </td> <td> U+000AE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">rfisht;</code> </td> <td> U+0297D </td> </tr><tr><td> <code title="">rfloor;</code> </td> <td> U+0230B </td> </tr><tr><td> <code title="">rfr;</code> </td> <td> U+1D52F </td> </tr><tr><td> <code title="">rhard;</code> </td> <td> U+021C1 </td> </tr><tr><td> <code title="">rharu;</code> </td> <td> U+021C0 </td> </tr><tr><td> <code title="">rharul;</code> </td> <td> U+0296C </td> </tr><tr><td> <code title="">rho;</code> </td> <td> U+003C1 </td> </tr><tr><td> <code title="">rhov;</code> </td> <td> U+003F1 </td> </tr><tr><td> <code title="">rightarrow;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">rightarrowtail;</code> </td> <td> U+021A3 </td> </tr><tr><td> <code title="">rightharpoondown;</code> </td> <td> U+021C1 </td> </tr><tr><td> <code title="">rightharpoonup;</code> </td> <td> U+021C0 </td> </tr><tr><td> <code title="">rightleftarrows;</code> </td> <td> U+021C4 </td> </tr><tr><td> <code title="">rightleftharpoons;</code> </td> <td> U+021CC </td> </tr><tr><td> <code title="">rightrightarrows;</code> </td> <td> U+021C9 </td> </tr><tr><td> <code title="">rightsquigarrow;</code> </td> <td> U+0219D </td> </tr><tr><td> <code title="">rightthreetimes;</code> </td> <td> U+022CC </td> </tr><tr><td> <code title="">ring;</code> </td> <td> U+002DA </td> </tr><tr><td> <code title="">risingdotseq;</code> </td> <td> U+02253 </td> </tr><tr><td> <code title="">rlarr;</code> </td> <td> U+021C4 </td> </tr><tr><td> <code title="">rlhar;</code> </td> <td> U+021CC </td> </tr><tr><td> <code title="">rlm;</code> </td> <td> U+0200F </td> </tr><tr><td> <code title="">rmoust;</code> </td> <td> U+023B1 </td> </tr><tr><td> <code title="">rmoustache;</code> </td> <td> U+023B1 </td> </tr><tr><td> <code title="">rnmid;</code> </td> <td> U+02AEE </td> </tr><tr><td> <code title="">roang;</code> </td> <td> U+027ED </td> </tr><tr><td> <code title="">roarr;</code> </td> <td> U+021FE </td> </tr><tr><td> <code title="">robrk;</code> </td> <td> U+027E7 </td> </tr><tr><td> <code title="">ropar;</code> </td> <td> U+02986 </td> </tr><tr><td> <code title="">ropf;</code> </td> <td> U+1D563 </td> </tr><tr><td> <code title="">roplus;</code> </td> <td> U+02A2E </td> </tr><tr><td> <code title="">rotimes;</code> </td> <td> U+02A35 </td> </tr><tr><td> <code title="">rpar;</code> </td> <td> U+00029 </td> </tr><tr><td> <code title="">rpargt;</code> </td> <td> U+02994 </td> </tr><tr><td> <code title="">rppolint;</code> </td> <td> U+02A12 </td> </tr><tr><td> <code title="">rrarr;</code> </td> <td> U+021C9 </td> </tr><tr><td> <code title="">rsaquo;</code> </td> <td> U+0203A </td> </tr><tr><td> <code title="">rscr;</code> </td> <td> U+1D4C7 </td> </tr><tr><td> <code title="">rsh;</code> </td> <td> U+021B1 </td> </tr><tr><td> <code title="">rsqb;</code> </td> <td> U+0005D </td> </tr><tr><td> <code title="">rsquo;</code> </td> <td> U+02019 </td> </tr><tr><td> <code title="">rsquor;</code> </td> <td> U+02019 </td> </tr><tr><td> <code title="">rthree;</code> </td> <td> U+022CC </td> </tr><tr><td> <code title="">rtimes;</code> </td> <td> U+022CA </td> </tr><tr><td> <code title="">rtri;</code> </td> <td> U+025B9 </td> </tr><tr><td> <code title="">rtrie;</code> </td> <td> U+022B5 </td> </tr><tr><td> <code title="">rtrif;</code> </td> <td> U+025B8 </td> </tr><tr><td> <code title="">rtriltri;</code> </td> <td> U+029CE </td> </tr><tr><td> <code title="">ruluhar;</code> </td> <td> U+02968 </td> </tr><tr><td> <code title="">rx;</code> </td> <td> U+0211E </td> </tr><tr><td> <code title="">sacute;</code> </td> <td> U+0015B </td> </tr><tr><td> <code title="">sbquo;</code> </td> <td> U+0201A </td> </tr><tr><td> <code title="">sc;</code> </td> <td> U+0227B </td> </tr><tr><td> <code title="">scE;</code> </td> <td> U+02AB4 </td> </tr><tr><td> <code title="">scap;</code> </td> <td> U+02AB8 </td> </tr><tr><td> <code title="">scaron;</code> </td> <td> U+00161 </td> </tr><tr><td> <code title="">sccue;</code> </td> <td> U+0227D </td> </tr><tr><td> <code title="">sce;</code> </td> <td> U+02AB0 </td> </tr><tr><td> <code title="">scedil;</code> </td> <td> U+0015F </td> </tr><tr><td> <code title="">scirc;</code> </td> <td> U+0015D </td> </tr><tr><td> <code title="">scnE;</code> </td> <td> U+02AB6 </td> </tr><tr><td> <code title="">scnap;</code> </td> <td> U+02ABA </td> </tr><tr><td> <code title="">scnsim;</code> </td> <td> U+022E9 </td> </tr><tr><td> <code title="">scpolint;</code> </td> <td> U+02A13 </td> </tr><tr><td> <code title="">scsim;</code> </td> <td> U+0227F </td> </tr><tr><td> <code title="">scy;</code> </td> <td> U+00441 </td> </tr><tr><td> <code title="">sdot;</code> </td> <td> U+022C5 </td> </tr><tr><td> <code title="">sdotb;</code> </td> <td> U+022A1 </td> </tr><tr><td> <code title="">sdote;</code> </td> <td> U+02A66 </td> </tr><tr><td> <code title="">seArr;</code> </td> <td> U+021D8 </td> </tr><tr><td> <code title="">searhk;</code> </td> <td> U+02925 </td> </tr><tr><td> <code title="">searr;</code> </td> <td> U+02198 </td> </tr><tr><td> <code title="">searrow;</code> </td> <td> U+02198 </td> </tr><tr><td> <code title="">sect;</code> </td> <td> U+000A7 </td> </tr><tr><td> <code title="">sect</code> </td> <td> U+000A7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">semi;</code> </td> <td> U+0003B </td> </tr><tr><td> <code title="">seswar;</code> </td> <td> U+02929 </td> </tr><tr><td> <code title="">setminus;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">setmn;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">sext;</code> </td> <td> U+02736 </td> </tr><tr><td> <code title="">sfr;</code> </td> <td> U+1D530 </td> </tr><tr><td> <code title="">sfrown;</code> </td> <td> U+02322 </td> </tr><tr><td> <code title="">sharp;</code> </td> <td> U+0266F </td> </tr><tr><td> <code title="">shchcy;</code> </td> <td> U+00449 </td> </tr><tr><td> <code title="">shcy;</code> </td> <td> U+00448 </td> </tr><tr><td> <code title="">shortmid;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">shortparallel;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">shy;</code> </td> <td> U+000AD </td> </tr><tr><td> <code title="">shy</code> </td> <td> U+000AD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">sigma;</code> </td> <td> U+003C3 </td> </tr><tr><td> <code title="">sigmaf;</code> </td> <td> U+003C2 </td> </tr><tr><td> <code title="">sigmav;</code> </td> <td> U+003C2 </td> </tr><tr><td> <code title="">sim;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">simdot;</code> </td> <td> U+02A6A </td> </tr><tr><td> <code title="">sime;</code> </td> <td> U+02243 </td> </tr><tr><td> <code title="">simeq;</code> </td> <td> U+02243 </td> </tr><tr><td> <code title="">simg;</code> </td> <td> U+02A9E </td> </tr><tr><td> <code title="">simgE;</code> </td> <td> U+02AA0 </td> </tr><tr><td> <code title="">siml;</code> </td> <td> U+02A9D </td> </tr><tr><td> <code title="">simlE;</code> </td> <td> U+02A9F </td> </tr><tr><td> <code title="">simne;</code> </td> <td> U+02246 </td> </tr><tr><td> <code title="">simplus;</code> </td> <td> U+02A24 </td> </tr><tr><td> <code title="">simrarr;</code> </td> <td> U+02972 </td> </tr><tr><td> <code title="">slarr;</code> </td> <td> U+02190 </td> </tr><tr><td> <code title="">smallsetminus;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">smashp;</code> </td> <td> U+02A33 </td> </tr><tr><td> <code title="">smeparsl;</code> </td> <td> U+029E4 </td> </tr><tr><td> <code title="">smid;</code> </td> <td> U+02223 </td> </tr><tr><td> <code title="">smile;</code> </td> <td> U+02323 </td> </tr><tr><td> <code title="">smt;</code> </td> <td> U+02AAA </td> </tr><tr><td> <code title="">smte;</code> </td> <td> U+02AAC </td> </tr><tr><td> <code title="">softcy;</code> </td> <td> U+0044C </td> </tr><tr><td> <code title="">sol;</code> </td> <td> U+0002F </td> </tr><tr><td> <code title="">solb;</code> </td> <td> U+029C4 </td> </tr><tr><td> <code title="">solbar;</code> </td> <td> U+0233F </td> </tr><tr><td> <code title="">sopf;</code> </td> <td> U+1D564 </td> </tr><tr><td> <code title="">spades;</code> </td> <td> U+02660 </td> </tr><tr><td> <code title="">spadesuit;</code> </td> <td> U+02660 </td> </tr><tr><td> <code title="">spar;</code> </td> <td> U+02225 </td> </tr><tr><td> <code title="">sqcap;</code> </td> <td> U+02293 </td> </tr><tr><td> <code title="">sqcup;</code> </td> <td> U+02294 </td> </tr><tr><td> <code title="">sqsub;</code> </td> <td> U+0228F </td> </tr><tr><td> <code title="">sqsube;</code> </td> <td> U+02291 </td> </tr><tr><td> <code title="">sqsubset;</code> </td> <td> U+0228F </td> </tr><tr><td> <code title="">sqsubseteq;</code> </td> <td> U+02291 </td> </tr><tr><td> <code title="">sqsup;</code> </td> <td> U+02290 </td> </tr><tr><td> <code title="">sqsupe;</code> </td> <td> U+02292 </td> </tr><tr><td> <code title="">sqsupset;</code> </td> <td> U+02290 </td> </tr><tr><td> <code title="">sqsupseteq;</code> </td> <td> U+02292 </td> </tr><tr><td> <code title="">squ;</code> </td> <td> U+025A1 </td> </tr><tr><td> <code title="">square;</code> </td> <td> U+025A1 </td> </tr><tr><td> <code title="">squarf;</code> </td> <td> U+025AA </td> </tr><tr><td> <code title="">squf;</code> </td> <td> U+025AA </td> </tr><tr><td> <code title="">srarr;</code> </td> <td> U+02192 </td> </tr><tr><td> <code title="">sscr;</code> </td> <td> U+1D4C8 </td> </tr><tr><td> <code title="">ssetmn;</code> </td> <td> U+02216 </td> </tr><tr><td> <code title="">ssmile;</code> </td> <td> U+02323 </td> </tr><tr><td> <code title="">sstarf;</code> </td> <td> U+022C6 </td> </tr><tr><td> <code title="">star;</code> </td> <td> U+02606 </td> </tr><tr><td> <code title="">starf;</code> </td> <td> U+02605 </td> </tr><tr><td> <code title="">straightepsilon;</code> </td> <td> U+003F5 </td> </tr><tr><td> <code title="">straightphi;</code> </td> <td> U+003D5 </td> </tr><tr><td> <code title="">strns;</code> </td> <td> U+000AF </td> </tr><tr><td> <code title="">sub;</code> </td> <td> U+02282 </td> </tr><tr><td> <code title="">subE;</code> </td> <td> U+02AC5 </td> </tr><tr><td> <code title="">subdot;</code> </td> <td> U+02ABD </td> </tr><tr><td> <code title="">sube;</code> </td> <td> U+02286 </td> </tr><tr><td> <code title="">subedot;</code> </td> <td> U+02AC3 </td> </tr><tr><td> <code title="">submult;</code> </td> <td> U+02AC1 </td> </tr><tr><td> <code title="">subnE;</code> </td> <td> U+02ACB </td> </tr><tr><td> <code title="">subne;</code> </td> <td> U+0228A </td> </tr><tr><td> <code title="">subplus;</code> </td> <td> U+02ABF </td> </tr><tr><td> <code title="">subrarr;</code> </td> <td> U+02979 </td> </tr><tr><td> <code title="">subset;</code> </td> <td> U+02282 </td> </tr><tr><td> <code title="">subseteq;</code> </td> <td> U+02286 </td> </tr><tr><td> <code title="">subseteqq;</code> </td> <td> U+02AC5 </td> </tr><tr><td> <code title="">subsetneq;</code> </td> <td> U+0228A </td> </tr><tr><td> <code title="">subsetneqq;</code> </td> <td> U+02ACB </td> </tr><tr><td> <code title="">subsim;</code> </td> <td> U+02AC7 </td> </tr><tr><td> <code title="">subsub;</code> </td> <td> U+02AD5 </td> </tr><tr><td> <code title="">subsup;</code> </td> <td> U+02AD3 </td> </tr><tr><td> <code title="">succ;</code> </td> <td> U+0227B </td> </tr><tr><td> <code title="">succapprox;</code> </td> <td> U+02AB8 </td> </tr><tr><td> <code title="">succcurlyeq;</code> </td> <td> U+0227D </td> </tr><tr><td> <code title="">succeq;</code> </td> <td> U+02AB0 </td> </tr><tr><td> <code title="">succnapprox;</code> </td> <td> U+02ABA </td> </tr><tr><td> <code title="">succneqq;</code> </td> <td> U+02AB6 </td> </tr><tr><td> <code title="">succnsim;</code> </td> <td> U+022E9 </td> </tr><tr><td> <code title="">succsim;</code> </td> <td> U+0227F </td> </tr><tr><td> <code title="">sum;</code> </td> <td> U+02211 </td> </tr><tr><td> <code title="">sung;</code> </td> <td> U+0266A </td> </tr><tr><td> <code title="">sup1;</code> </td> <td> U+000B9 </td> </tr><tr><td> <code title="">sup1</code> </td> <td> U+000B9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">sup2;</code> </td> <td> U+000B2 </td> </tr><tr><td> <code title="">sup2</code> </td> <td> U+000B2 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">sup3;</code> </td> <td> U+000B3 </td> </tr><tr><td> <code title="">sup3</code> </td> <td> U+000B3 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">sup;</code> </td> <td> U+02283 </td> </tr><tr><td> <code title="">supE;</code> </td> <td> U+02AC6 </td> </tr><tr><td> <code title="">supdot;</code> </td> <td> U+02ABE </td> </tr><tr><td> <code title="">supdsub;</code> </td> <td> U+02AD8 </td> </tr><tr><td> <code title="">supe;</code> </td> <td> U+02287 </td> </tr><tr><td> <code title="">supedot;</code> </td> <td> U+02AC4 </td> </tr><tr><td> <code title="">suphsub;</code> </td> <td> U+02AD7 </td> </tr><tr><td> <code title="">suplarr;</code> </td> <td> U+0297B </td> </tr><tr><td> <code title="">supmult;</code> </td> <td> U+02AC2 </td> </tr><tr><td> <code title="">supnE;</code> </td> <td> U+02ACC </td> </tr><tr><td> <code title="">supne;</code> </td> <td> U+0228B </td> </tr><tr><td> <code title="">supplus;</code> </td> <td> U+02AC0 </td> </tr><tr><td> <code title="">supset;</code> </td> <td> U+02283 </td> </tr><tr><td> <code title="">supseteq;</code> </td> <td> U+02287 </td> </tr><tr><td> <code title="">supseteqq;</code> </td> <td> U+02AC6 </td> </tr><tr><td> <code title="">supsetneq;</code> </td> <td> U+0228B </td> </tr><tr><td> <code title="">supsetneqq;</code> </td> <td> U+02ACC </td> </tr><tr><td> <code title="">supsim;</code> </td> <td> U+02AC8 </td> </tr><tr><td> <code title="">supsub;</code> </td> <td> U+02AD4 </td> </tr><tr><td> <code title="">supsup;</code> </td> <td> U+02AD6 </td> </tr><tr><td> <code title="">swArr;</code> </td> <td> U+021D9 </td> </tr><tr><td> <code title="">swarhk;</code> </td> <td> U+02926 </td> </tr><tr><td> <code title="">swarr;</code> </td> <td> U+02199 </td> </tr><tr><td> <code title="">swarrow;</code> </td> <td> U+02199 </td> </tr><tr><td> <code title="">swnwar;</code> </td> <td> U+0292A </td> </tr><tr><td> <code title="">szlig;</code> </td> <td> U+000DF </td> </tr><tr><td> <code title="">szlig</code> </td> <td> U+000DF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">target;</code> </td> <td> U+02316 </td> </tr><tr><td> <code title="">tau;</code> </td> <td> U+003C4 </td> </tr><tr><td> <code title="">tbrk;</code> </td> <td> U+023B4 </td> </tr><tr><td> <code title="">tcaron;</code> </td> <td> U+00165 </td> </tr><tr><td> <code title="">tcedil;</code> </td> <td> U+00163 </td> </tr><tr><td> <code title="">tcy;</code> </td> <td> U+00442 </td> </tr><tr><td> <code title="">tdot;</code> </td> <td> U+020DB </td> </tr><tr><td> <code title="">telrec;</code> </td> <td> U+02315 </td> </tr><tr><td> <code title="">tfr;</code> </td> <td> U+1D531 </td> </tr><tr><td> <code title="">there4;</code> </td> <td> U+02234 </td> </tr><tr><td> <code title="">therefore;</code> </td> <td> U+02234 </td> </tr><tr><td> <code title="">theta;</code> </td> <td> U+003B8 </td> </tr><tr><td> <code title="">thetasym;</code> </td> <td> U+003D1 </td> </tr><tr><td> <code title="">thetav;</code> </td> <td> U+003D1 </td> </tr><tr><td> <code title="">thickapprox;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">thicksim;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">thinsp;</code> </td> <td> U+02009 </td> </tr><tr><td> <code title="">thkap;</code> </td> <td> U+02248 </td> </tr><tr><td> <code title="">thksim;</code> </td> <td> U+0223C </td> </tr><tr><td> <code title="">thorn;</code> </td> <td> U+000FE </td> </tr><tr><td> <code title="">thorn</code> </td> <td> U+000FE </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">tilde;</code> </td> <td> U+002DC </td> </tr><tr><td> <code title="">times;</code> </td> <td> U+000D7 </td> </tr><tr><td> <code title="">times</code> </td> <td> U+000D7 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">timesb;</code> </td> <td> U+022A0 </td> </tr><tr><td> <code title="">timesbar;</code> </td> <td> U+02A31 </td> </tr><tr><td> <code title="">timesd;</code> </td> <td> U+02A30 </td> </tr><tr><td> <code title="">tint;</code> </td> <td> U+0222D </td> </tr><tr><td> <code title="">toea;</code> </td> <td> U+02928 </td> </tr><tr><td> <code title="">top;</code> </td> <td> U+022A4 </td> </tr><tr><td> <code title="">topbot;</code> </td> <td> U+02336 </td> </tr><tr><td> <code title="">topcir;</code> </td> <td> U+02AF1 </td> </tr><tr><td> <code title="">topf;</code> </td> <td> U+1D565 </td> </tr><tr><td> <code title="">topfork;</code> </td> <td> U+02ADA </td> </tr><tr><td> <code title="">tosa;</code> </td> <td> U+02929 </td> </tr><tr><td> <code title="">tprime;</code> </td> <td> U+02034 </td> </tr><tr><td> <code title="">trade;</code> </td> <td> U+02122 </td> </tr><tr><td> <code title="">triangle;</code> </td> <td> U+025B5 </td> </tr><tr><td> <code title="">triangledown;</code> </td> <td> U+025BF </td> </tr><tr><td> <code title="">triangleleft;</code> </td> <td> U+025C3 </td> </tr><tr><td> <code title="">trianglelefteq;</code> </td> <td> U+022B4 </td> </tr><tr><td> <code title="">triangleq;</code> </td> <td> U+0225C </td> </tr><tr><td> <code title="">triangleright;</code> </td> <td> U+025B9 </td> </tr><tr><td> <code title="">trianglerighteq;</code> </td> <td> U+022B5 </td> </tr><tr><td> <code title="">tridot;</code> </td> <td> U+025EC </td> </tr><tr><td> <code title="">trie;</code> </td> <td> U+0225C </td> </tr><tr><td> <code title="">triminus;</code> </td> <td> U+02A3A </td> </tr><tr><td> <code title="">triplus;</code> </td> <td> U+02A39 </td> </tr><tr><td> <code title="">trisb;</code> </td> <td> U+029CD </td> </tr><tr><td> <code title="">tritime;</code> </td> <td> U+02A3B </td> </tr><tr><td> <code title="">trpezium;</code> </td> <td> U+023E2 </td> </tr><tr><td> <code title="">tscr;</code> </td> <td> U+1D4C9 </td> </tr><tr><td> <code title="">tscy;</code> </td> <td> U+00446 </td> </tr><tr><td> <code title="">tshcy;</code> </td> <td> U+0045B </td> </tr><tr><td> <code title="">tstrok;</code> </td> <td> U+00167 </td> </tr><tr><td> <code title="">twixt;</code> </td> <td> U+0226C </td> </tr><tr><td> <code title="">twoheadleftarrow;</code> </td> <td> U+0219E </td> </tr><tr><td> <code title="">twoheadrightarrow;</code> </td> <td> U+021A0 </td> </tr><tr><td> <code title="">uArr;</code> </td> <td> U+021D1 </td> </tr><tr><td> <code title="">uHar;</code> </td> <td> U+02963 </td> </tr><tr><td> <code title="">uacute;</code> </td> <td> U+000FA </td> </tr><tr><td> <code title="">uacute</code> </td> <td> U+000FA </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uarr;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">ubrcy;</code> </td> <td> U+0045E </td> </tr><tr><td> <code title="">ubreve;</code> </td> <td> U+0016D </td> </tr><tr><td> <code title="">ucirc;</code> </td> <td> U+000FB </td> </tr><tr><td> <code title="">ucirc</code> </td> <td> U+000FB </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">ucy;</code> </td> <td> U+00443 </td> </tr><tr><td> <code title="">udarr;</code> </td> <td> U+021C5 </td> </tr><tr><td> <code title="">udblac;</code> </td> <td> U+00171 </td> </tr><tr><td> <code title="">udhar;</code> </td> <td> U+0296E </td> </tr><tr><td> <code title="">ufisht;</code> </td> <td> U+0297E </td> </tr><tr><td> <code title="">ufr;</code> </td> <td> U+1D532 </td> </tr><tr><td> <code title="">ugrave;</code> </td> <td> U+000F9 </td> </tr><tr><td> <code title="">ugrave</code> </td> <td> U+000F9 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uharl;</code> </td> <td> U+021BF </td> </tr><tr><td> <code title="">uharr;</code> </td> <td> U+021BE </td> </tr><tr><td> <code title="">uhblk;</code> </td> <td> U+02580 </td> </tr><tr><td> <code title="">ulcorn;</code> </td> <td> U+0231C </td> </tr><tr><td> <code title="">ulcorner;</code> </td> <td> U+0231C </td> </tr><tr><td> <code title="">ulcrop;</code> </td> <td> U+0230F </td> </tr><tr><td> <code title="">ultri;</code> </td> <td> U+025F8 </td> </tr><tr><td> <code title="">umacr;</code> </td> <td> U+0016B </td> </tr><tr><td> <code title="">uml;</code> </td> <td> U+000A8 </td> </tr><tr><td> <code title="">uml</code> </td> <td> U+000A8 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uogon;</code> </td> <td> U+00173 </td> </tr><tr><td> <code title="">uopf;</code> </td> <td> U+1D566 </td> </tr><tr><td> <code title="">uparrow;</code> </td> <td> U+02191 </td> </tr><tr><td> <code title="">updownarrow;</code> </td> <td> U+02195 </td> </tr><tr><td> <code title="">upharpoonleft;</code> </td> <td> U+021BF </td> </tr><tr><td> <code title="">upharpoonright;</code> </td> <td> U+021BE </td> </tr><tr><td> <code title="">uplus;</code> </td> <td> U+0228E </td> </tr><tr><td> <code title="">upsi;</code> </td> <td> U+003C5 </td> </tr><tr><td> <code title="">upsih;</code> </td> <td> U+003D2 </td> </tr><tr><td> <code title="">upsilon;</code> </td> <td> U+003C5 </td> </tr><tr><td> <code title="">upuparrows;</code> </td> <td> U+021C8 </td> </tr><tr><td> <code title="">urcorn;</code> </td> <td> U+0231D </td> </tr><tr><td> <code title="">urcorner;</code> </td> <td> U+0231D </td> </tr><tr><td> <code title="">urcrop;</code> </td> <td> U+0230E </td> </tr><tr><td> <code title="">uring;</code> </td> <td> U+0016F </td> </tr><tr><td> <code title="">urtri;</code> </td> <td> U+025F9 </td> </tr><tr><td> <code title="">uscr;</code> </td> <td> U+1D4CA </td> </tr><tr><td> <code title="">utdot;</code> </td> <td> U+022F0 </td> </tr><tr><td> <code title="">utilde;</code> </td> <td> U+00169 </td> </tr><tr><td> <code title="">utri;</code> </td> <td> U+025B5 </td> </tr><tr><td> <code title="">utrif;</code> </td> <td> U+025B4 </td> </tr><tr><td> <code title="">uuarr;</code> </td> <td> U+021C8 </td> </tr><tr><td> <code title="">uuml;</code> </td> <td> U+000FC </td> </tr><tr><td> <code title="">uuml</code> </td> <td> U+000FC </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">uwangle;</code> </td> <td> U+029A7 </td> </tr><tr><td> <code title="">vArr;</code> </td> <td> U+021D5 </td> </tr><tr><td> <code title="">vBar;</code> </td> <td> U+02AE8 </td> </tr><tr><td> <code title="">vBarv;</code> </td> <td> U+02AE9 </td> </tr><tr><td> <code title="">vDash;</code> </td> <td> U+022A8 </td> </tr><tr><td> <code title="">vangrt;</code> </td> <td> U+0299C </td> </tr><tr><td> <code title="">varepsilon;</code> </td> <td> U+003B5 </td> </tr><tr><td> <code title="">varkappa;</code> </td> <td> U+003F0 </td> </tr><tr><td> <code title="">varnothing;</code> </td> <td> U+02205 </td> </tr><tr><td> <code title="">varphi;</code> </td> <td> U+003C6 </td> </tr><tr><td> <code title="">varpi;</code> </td> <td> U+003D6 </td> </tr><tr><td> <code title="">varpropto;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">varr;</code> </td> <td> U+02195 </td> </tr><tr><td> <code title="">varrho;</code> </td> <td> U+003F1 </td> </tr><tr><td> <code title="">varsigma;</code> </td> <td> U+003C2 </td> </tr><tr><td> <code title="">vartheta;</code> </td> <td> U+003D1 </td> </tr><tr><td> <code title="">vartriangleleft;</code> </td> <td> U+022B2 </td> </tr><tr><td> <code title="">vartriangleright;</code> </td> <td> U+022B3 </td> </tr><tr><td> <code title="">vcy;</code> </td> <td> U+00432 </td> </tr><tr><td> <code title="">vdash;</code> </td> <td> U+022A2 </td> </tr><tr><td> <code title="">vee;</code> </td> <td> U+02228 </td> </tr><tr><td> <code title="">veebar;</code> </td> <td> U+022BB </td> </tr><tr><td> <code title="">veeeq;</code> </td> <td> U+0225A </td> </tr><tr><td> <code title="">vellip;</code> </td> <td> U+022EE </td> </tr><tr><td> <code title="">verbar;</code> </td> <td> U+0007C </td> </tr><tr><td> <code title="">vert;</code> </td> <td> U+0007C </td> </tr><tr><td> <code title="">vfr;</code> </td> <td> U+1D533 </td> </tr><tr><td> <code title="">vltri;</code> </td> <td> U+022B2 </td> </tr><tr><td> <code title="">vopf;</code> </td> <td> U+1D567 </td> </tr><tr><td> <code title="">vprop;</code> </td> <td> U+0221D </td> </tr><tr><td> <code title="">vrtri;</code> </td> <td> U+022B3 </td> </tr><tr><td> <code title="">vscr;</code> </td> <td> U+1D4CB </td> </tr><tr><td> <code title="">vzigzag;</code> </td> <td> U+0299A </td> </tr><tr><td> <code title="">wcirc;</code> </td> <td> U+00175 </td> </tr><tr><td> <code title="">wedbar;</code> </td> <td> U+02A5F </td> </tr><tr><td> <code title="">wedge;</code> </td> <td> U+02227 </td> </tr><tr><td> <code title="">wedgeq;</code> </td> <td> U+02259 </td> </tr><tr><td> <code title="">weierp;</code> </td> <td> U+02118 </td> </tr><tr><td> <code title="">wfr;</code> </td> <td> U+1D534 </td> </tr><tr><td> <code title="">wopf;</code> </td> <td> U+1D568 </td> </tr><tr><td> <code title="">wp;</code> </td> <td> U+02118 </td> </tr><tr><td> <code title="">wr;</code> </td> <td> U+02240 </td> </tr><tr><td> <code title="">wreath;</code> </td> <td> U+02240 </td> </tr><tr><td> <code title="">wscr;</code> </td> <td> U+1D4CC </td> </tr><tr><td> <code title="">xcap;</code> </td> <td> U+022C2 </td> </tr><tr><td> <code title="">xcirc;</code> </td> <td> U+025EF </td> </tr><tr><td> <code title="">xcup;</code> </td> <td> U+022C3 </td> </tr><tr><td> <code title="">xdtri;</code> </td> <td> U+025BD </td> </tr><tr><td> <code title="">xfr;</code> </td> <td> U+1D535 </td> </tr><tr><td> <code title="">xhArr;</code> </td> <td> U+027FA </td> </tr><tr><td> <code title="">xharr;</code> </td> <td> U+027F7 </td> </tr><tr><td> <code title="">xi;</code> </td> <td> U+003BE </td> </tr><tr><td> <code title="">xlArr;</code> </td> <td> U+027F8 </td> </tr><tr><td> <code title="">xlarr;</code> </td> <td> U+027F5 </td> </tr><tr><td> <code title="">xmap;</code> </td> <td> U+027FC </td> </tr><tr><td> <code title="">xnis;</code> </td> <td> U+022FB </td> </tr><tr><td> <code title="">xodot;</code> </td> <td> U+02A00 </td> </tr><tr><td> <code title="">xopf;</code> </td> <td> U+1D569 </td> </tr><tr><td> <code title="">xoplus;</code> </td> <td> U+02A01 </td> </tr><tr><td> <code title="">xotime;</code> </td> <td> U+02A02 </td> </tr><tr><td> <code title="">xrArr;</code> </td> <td> U+027F9 </td> </tr><tr><td> <code title="">xrarr;</code> </td> <td> U+027F6 </td> </tr><tr><td> <code title="">xscr;</code> </td> <td> U+1D4CD </td> </tr><tr><td> <code title="">xsqcup;</code> </td> <td> U+02A06 </td> </tr><tr><td> <code title="">xuplus;</code> </td> <td> U+02A04 </td> </tr><tr><td> <code title="">xutri;</code> </td> <td> U+025B3 </td> </tr><tr><td> <code title="">xvee;</code> </td> <td> U+022C1 </td> </tr><tr><td> <code title="">xwedge;</code> </td> <td> U+022C0 </td> </tr><tr><td> <code title="">yacute;</code> </td> <td> U+000FD </td> </tr><tr><td> <code title="">yacute</code> </td> <td> U+000FD </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">yacy;</code> </td> <td> U+0044F </td> </tr><tr><td> <code title="">ycirc;</code> </td> <td> U+00177 </td> </tr><tr><td> <code title="">ycy;</code> </td> <td> U+0044B </td> </tr><tr><td> <code title="">yen;</code> </td> <td> U+000A5 </td> </tr><tr><td> <code title="">yen</code> </td> <td> U+000A5 </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">yfr;</code> </td> <td> U+1D536 </td> </tr><tr><td> <code title="">yicy;</code> </td> <td> U+00457 </td> </tr><tr><td> <code title="">yopf;</code> </td> <td> U+1D56A </td> </tr><tr><td> <code title="">yscr;</code> </td> <td> U+1D4CE </td> </tr><tr><td> <code title="">yucy;</code> </td> <td> U+0044E </td> </tr><tr><td> <code title="">yuml;</code> </td> <td> U+000FF </td> </tr><tr><td> <code title="">yuml</code> </td> <td> U+000FF </td> </tr><!-- (invalid entity with missing semicolon for legacy support only) --><tr><td> <code title="">zacute;</code> </td> <td> U+0017A </td> </tr><tr><td> <code title="">zcaron;</code> </td> <td> U+0017E </td> </tr><tr><td> <code title="">zcy;</code> </td> <td> U+00437 </td> </tr><tr><td> <code title="">zdot;</code> </td> <td> U+0017C </td> </tr><tr><td> <code title="">zeetrf;</code> </td> <td> U+02128 </td> </tr><tr><td> <code title="">zeta;</code> </td> <td> U+003B6 </td> </tr><tr><td> <code title="">zfr;</code> </td> <td> U+1D537 </td> </tr><tr><td> <code title="">zhcy;</code> </td> <td> U+00436 </td> </tr><tr><td> <code title="">zigrarr;</code> </td> <td> U+021DD </td> </tr><tr><td> <code title="">zopf;</code> </td> <td> U+1D56B </td> </tr><tr><td> <code title="">zscr;</code> </td> <td> U+1D4CF </td> </tr><tr><td> <code title="">zwj;</code> </td> <td> U+0200D </td> </tr><tr><td> <code title="">zwnj;</code> </td> <td> U+0200C </td> </tr></tbody></table><!--
   If we want to add character references, Almorca suggests:
   > I would add &sub1; (character U+2081), &sub2;
   > (character U+2082) and &sub3; (character U+2083). They
   > would are the equivalent to &sup1;, &sup2;, and &sup3;.
   See also: http://www.w3.org/2003/entities/
  --></div></body></html>
--- NEW FILE: references.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
   dt, dfn { font-weight: bold; font-style: normal; }
   dt dfn { font-style: italic; }
   pre, code { font-size: inherit; font-family: monospace; font-variant: normal; }
   pre strong { color: black; font: inherit; font-weight: bold; background: yellow; }
   pre em { font-weight: bolder; font-style: normal; }
   @media screen { code { color: orangered; } code :link, code :visited { color: inherit; } }
   var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; }
   table { border-collapse: collapse; border-style: hidden hidden none hidden; }
   table thead { border-bottom: solid; }
   table tbody th:first-child { border-left: solid; }
   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }

   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
   .matrix, .matrix td { border: none; text-align: right; }
   .matrix { margin-left: 2em; }
   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
   @media screen { .applies th > * { display: block; white-space: nowrap; } }
   .applies thead code { display: block; }
   .applies td { text-align: center; }
   .applies .yes { background: yellow; }

   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
   img.extra { float: right; }
   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
   pre.css:first-line { color: #AAAA50; }
   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #EEFFEE; }
   hr + dl.domintro, div.impl + dl.domintro { margin-top: 2.5em; margin-bottom: 1.5em; }
   dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
   dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
   dl.domintro dd p { margin: 0.5em 0; }
   dl.switch { padding-left: 2em; }
   dl.switch > dt { text-indent: -1.5em; }
   dl.switch > dt:before { content: '\21AA'; padding: 0 0.5em 0 0; display: inline-block; width: 1em; text-align: right; line-height: 0.5em; }
   dl.triple { padding: 0 0 0 1em; }
   dl.triple dt, dl.triple dd { margin: 0; display: inline }
   dl.triple dt:after { content: ':'; }
   dl.triple dd:after { content: '\A'; white-space: pre; }
   .diff-old { text-decoration: line-through; color: silver; background: transparent; }
   .diff-chg, .diff-new { text-decoration: underline; color: green; background: transparent; }
   a .diff-new { border-bottom: 1px blue solid; }

   h2 { page-break-before: always; }
   h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
   h1 + h2, hr + h2.no-toc { page-break-before: auto; }

   p > span:not([title=""]):not([class="XXX"]):not([class="impl"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { border-bottom: solid #9999CC; }

   div.head { margin: 0 0 1em; padding: 1em 0 0 0; }
   div.head p { margin: 0; }
   div.head h1 { margin: 0; }
   div.head .logo { float: right; margin: 0 1em; }
   div.head .logo img { border: none } /* remove border from top image */
   div.head dl { margin: 1em 0; }
   p.copyright { font-size: x-small; font-style: oblique; margin: 0; }

   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
   body > .toc > li > * { margin-bottom: 0.5em; }
   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
   .toc, .toc li { list-style: none; }

   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
   .brief li { margin: 0; padding: 0; }
   .brief li p { margin: 0; padding: 0; }

   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
   .category-list li { display: inline; }
   .category-list li:not(:last-child)::after { content: ', '; }
   .category-list li > span, .category-list li > a { text-transform: lowercase; }
   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */

   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
   .XXX > :first-child { margin-top: 0; }
   p .XXX { line-height: 3em; }
   .note { color: green; background: transparent; font-family: sans-serif; }
   .warning { color: red; background: transparent; }
   .note, .warning { font-weight: bolder; font-style: italic; }
   p.note, div.note { padding: 0.5em 2em; }
   span.note { padding: 0 2em; }
   .note p:first-child, .warning p:first-child { margin-top: 0; }
   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
   .warning:before { font-style: normal; }
   p.note:before { content: 'Note: '; }
   p.warning:before { content: '\26A0 Warning! '; }

   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }

   h4 { position: relative; z-index: 3; }
   h4 + .element, h4 + div + .element { margin-top: -2.5em; padding-top: 2em; }
   .element {
     background: #EEEEFF;
     color: black;
     margin: 0 0 1em 0.15em;
     padding: 0 1em 0.25em 0.75em;
     border-left: solid #9999FF 0.25em;
     position: relative;
     z-index: 1;
   }
   .element:before {
     position: absolute;
     z-index: 2;
     top: 0;
     left: -1.15em;
     height: 2em;
     width: 0.9em;
     background: #EEEEFF;
     content: ' ';
     border-style: none none solid solid;
     border-color: #9999FF;
     border-width: 0.25em;
   }

   .example {
     display: block;
     color: #222222;
     background: #FCFCFC;
     border-left: double;
     margin-left: 2em;
     padding-left: 1em;
   }

   .tall-and-narrow {
     font-size: 0.6em;
     column-width: 25em;
     column-gap: 1em;
     -moz-column-width: 25em;
     -moz-column-gap: 1em;
     -webkit-column-width: 25em;
     -webkit-column-gap: 1em;
   }

   ul.domTree, ul.domTree ul { padding: 0 0 0 1em; margin: 0; }
   ul.domTree li { padding: 0; margin: 0; list-style: none; position: relative; }
   ul.domTree li li { list-style: none; }
   ul.domTree li:first-child::before { position: absolute; top: 0; height: 0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree li:not(:last-child)::after { position: absolute; top: 0; bottom: -0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree span { font-style: italic; font-family: serif; }
   ul.domTree .t1 code { color: purple; font-weight: bold; }
   ul.domTree .t2 { font-style: normal; font-family: monospace; }
   ul.domTree .t2 .name { color: black; font-weight: bold; }
   ul.domTree .t2 .value { color: blue; font-weight: normal; }
   ul.domTree .t3 code, .domTree .t4 code, .domTree .t5 code { color: gray; }
   ul.domTree .t7 code, .domTree .t8 code { color: green; }
   ul.domTree .t10 code { color: teal; }

  </style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="index.html" title="Index" rel="prev">
  <link href="Overview.html#contents" title="Table of contents" rel="index">
  <link href="acknowledgements.html" title="Acknowledgements" rel="next">
  </head><body><div class="head">
   <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
   <h1>HTML 5</h1>
   <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
   </div><div>
   <a href="index.html">&#8592; Index</a> &#8211;
   <a href="Overview.html#contents">Table of contents</a> &#8211;
   <a href="acknowledgements.html">Acknowledgements &#8594;</a>
  </div>

  <h2 class="no-num" id="references">References</h2><p class="XXX">This section will be written in a future draft.</p><!-- XXX check that #references is always for [RFC\1] --><!-- REFS

  [ABNF] http://www.ietf.org/rfc/std/std68.txt
  [BEZIER] Paul de Casteljau, Courbes &agrave; p&ocirc;les, INPI, 1959
  [BIG5] Institute for Information Industry, "Chinese Coded Character Set in Computer ", March, 1984
  [BOCU1] http://www.unicode.org/notes/tn6/
  [CESU8] http://www.unicode.org/unicode/reports/tr26
  [COMPUTABLE] On computable numbers, with an application to the Entscheidungsproblem. Alan M. Turing. In Proceedings of the London Mathematical Society, series 2, volume 42, pages 230-265. London Mathematical Society, 1937. http://www.turingarchive.org/browse.php/B/12 (referenced: 2007-03-03)
  [CSS] CSS 2.1
  [CSSCOLOR] CSS3 Color
  [CSSOM] CSS Object Model
  [CSSUI] CSS3 UI
  [CSSWEBFONTS] CSS3 Web Fonts
  [E.163] Recommendation E.163 - Numbering Plan for The International Telephone Service, CCITT Blue Book, Fascicle II.2, pp.  128-134, November, 1988.
  [EUCKR] Korea Industrial Standards Association, "Hangul Unix Environment," Korean Industrial Standard, 1992, Ref. No. KS C 5861-1992.
  [GBK] http://www.iana.org/assignments/charset-reg/GBK

  <dd id="refsGREGORIAN">[GREGORIAN]</dd>
  <dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius, C. Clavius. Gregory XIII Papal Bulls, February 1582.</dd>

  [IANACHARSET] http://www.iana.org/assignments/character-sets
  [ISO885911] http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=28263
  [MIMESNIFF] http://tools.ietf.org/html/draft-abarth-mime-sniff
  [OPENSEARCH] http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML
  [RFC1345] Simonsen, K., "Character Mnemonics & Character Sets", RFC 1345, Rationel Almen Planlaegning, Rationel Almen Planlaegning, June 1992.
  [SCSU] http://www.unicode.org/unicode/reports/tr6/
  [SELECTORS]
  [SHIFTJIS] JIS X0208:1997
  [TIS620] http://www.iana.org/assignments/charset-reg/tis-620 OR http://www.nectec.or.th/it-standards/std620/std620.htm
  [UNICODECASE] Unicode Standard Annex #21, Case Mappings
  [UTF32] http://www.unicode.org/unicode/reports/tr19/
  [UTF7] http://www.ietf.org/rfc/rfc2152.txt
  [UTS22] http://unicode.org/reports/tr22/#Charset_Alias_Matching
  [WAVE] http://en.wikipedia.org/wiki/WAV ?
  [WEBADDRESSES] http://www.w3.org/html/wg/href/draft (for now) (but only for now, for now)
  [WIN1252] http://www.microsoft.com/globaldev/reference/sbcs/1252.htm OR http://msdn.microsoft.com/en-us/goglobal/cc305145.aspx
  [WIN1254] http://www.microsoft.com/globaldev/reference/sbcs/1254.htm OR http://msdn.microsoft.com/en-us/goglobal/cc305147.aspx
  [WIN31J] CP932 http://www.microsoft.com/globaldev/reference/dbcs/932.mspx OR http://msdn.microsoft.com/en-us/goglobal/cc305152.aspx
  [WIN874] http://www.microsoft.com/globaldev/reference/sbcs/874.mspx
  [WIN874] http://www.microsoft.com/globaldev/reference/sbcs/874.mspx OR http://msdn.microsoft.com/en-us/goglobal/cc305142.aspx
  [WIN949] http://www.microsoft.com/globaldev/reference/dbcs/949.mspx OR http://msdn.microsoft.com/en-us/goglobal/cc305154.aspx
  [X.121] Recommendation X.121 - International Numbering Plan for Public Data Networks, CCITT Blue Book, Fascicle VIII.3, pp. 317-332, November, 1988.
  [X690] http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf

  --></body></html>
--- NEW FILE: semantics.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...3899 lines suppressed...]
&lt;/ul&gt;</pre>

   <p>The actual frequency of each tag is given using the <code title="attr-title"><a href="dom.html#the-title-attribute">title</a></code> attribute. A CSS style sheet is
   provided to convert the markup into a cloud of differently-sized
   words, but for user agents that do not support CSS or are not
   visual, the markup contains annotations like "(popular)" or
   "(rare)" to categorize the various tags by frequency, thus enabling
   all users to benefit from the information.</p>

   <p>The <code><a href="#the-ul-element">ul</a></code> element is used (rather than
   <code><a href="#the-ol-element">ol</a></code>) because the order is not particular important:
   while the list is in fact ordered alphabetically, it would convey
   the same information if ordered by, say, the length of the tag.</p>

   <p>The <code title="rel-tag"><a href="history.html#link-type-tag">tag</a></code> <code title="attr-hyperlink-rel"><a href="history.html#attr-hyperlink-rel">rel</a></code>-keyword is <em>not</em> used
   on these <code><a href="text-level-semantics.html#the-a-element">a</a></code> elements because they do not represent tags
   that apply to the page itself; they are just part of an index
   listing the tags themselves.</p>

  </div></body></html>
--- NEW FILE: index.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
   dt, dfn { font-weight: bold; font-style: normal; }
   dt dfn { font-style: italic; }
   pre, code { font-size: inherit; font-family: monospace; font-variant: normal; }
   pre strong { color: black; font: inherit; font-weight: bold; background: yellow; }
   pre em { font-weight: bolder; font-style: normal; }
   @media screen { code { color: orangered; } code :link, code :visited { color: inherit; } }
   var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; }
   table { border-collapse: collapse; border-style: hidden hidden none hidden; }
   table thead { border-bottom: solid; }
   table tbody th:first-child { border-left: solid; }
   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }

   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
   .matrix, .matrix td { border: none; text-align: right; }
   .matrix { margin-left: 2em; }
   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
   @media screen { .applies th > * { display: block; white-space: nowrap; } }
   .applies thead code { display: block; }
   .applies td { text-align: center; }
   .applies .yes { background: yellow; }

   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
   img.extra { float: right; }
   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
   pre.css:first-line { color: #AAAA50; }
   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #EEFFEE; }
   hr + dl.domintro, div.impl + dl.domintro { margin-top: 2.5em; margin-bottom: 1.5em; }
   dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
   dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
   dl.domintro dd p { margin: 0.5em 0; }
   dl.switch { padding-left: 2em; }
   dl.switch > dt { text-indent: -1.5em; }
   dl.switch > dt:before { content: '\21AA'; padding: 0 0.5em 0 0; display: inline-block; width: 1em; text-align: right; line-height: 0.5em; }
   dl.triple { padding: 0 0 0 1em; }
   dl.triple dt, dl.triple dd { margin: 0; display: inline }
   dl.triple dt:after { content: ':'; }
   dl.triple dd:after { content: '\A'; white-space: pre; }
   .diff-old { text-decoration: line-through; color: silver; background: transparent; }
   .diff-chg, .diff-new { text-decoration: underline; color: green; background: transparent; }
   a .diff-new { border-bottom: 1px blue solid; }

   h2 { page-break-before: always; }
   h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
   h1 + h2, hr + h2.no-toc { page-break-before: auto; }

   p > span:not([title=""]):not([class="XXX"]):not([class="impl"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { border-bottom: solid #9999CC; }

   div.head { margin: 0 0 1em; padding: 1em 0 0 0; }
   div.head p { margin: 0; }
   div.head h1 { margin: 0; }
   div.head .logo { float: right; margin: 0 1em; }
   div.head .logo img { border: none } /* remove border from top image */
   div.head dl { margin: 1em 0; }
   p.copyright { font-size: x-small; font-style: oblique; margin: 0; }

   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
   body > .toc > li > * { margin-bottom: 0.5em; }
   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
   .toc, .toc li { list-style: none; }

   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
   .brief li { margin: 0; padding: 0; }
   .brief li p { margin: 0; padding: 0; }

   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
   .category-list li { display: inline; }
   .category-list li:not(:last-child)::after { content: ', '; }
   .category-list li > span, .category-list li > a { text-transform: lowercase; }
   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */

   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
   .XXX > :first-child { margin-top: 0; }
   p .XXX { line-height: 3em; }
   .note { color: green; background: transparent; font-family: sans-serif; }
   .warning { color: red; background: transparent; }
   .note, .warning { font-weight: bolder; font-style: italic; }
   p.note, div.note { padding: 0.5em 2em; }
   span.note { padding: 0 2em; }
   .note p:first-child, .warning p:first-child { margin-top: 0; }
   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
   .warning:before { font-style: normal; }
   p.note:before { content: 'Note: '; }
   p.warning:before { content: '\26A0 Warning! '; }

   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }

   h4 { position: relative; z-index: 3; }
   h4 + .element, h4 + div + .element { margin-top: -2.5em; padding-top: 2em; }
   .element {
     background: #EEEEFF;
     color: black;
     margin: 0 0 1em 0.15em;
     padding: 0 1em 0.25em 0.75em;
     border-left: solid #9999FF 0.25em;
     position: relative;
     z-index: 1;
   }
   .element:before {
     position: absolute;
     z-index: 2;
     top: 0;
     left: -1.15em;
     height: 2em;
     width: 0.9em;
     background: #EEEEFF;
     content: ' ';
     border-style: none none solid solid;
     border-color: #9999FF;
     border-width: 0.25em;
   }

   .example {
     display: block;
     color: #222222;
     background: #FCFCFC;
     border-left: double;
     margin-left: 2em;
     padding-left: 1em;
   }

   .tall-and-narrow {
     font-size: 0.6em;
     column-width: 25em;
     column-gap: 1em;
     -moz-column-width: 25em;
     -moz-column-gap: 1em;
     -webkit-column-width: 25em;
     -webkit-column-gap: 1em;
   }

   ul.domTree, ul.domTree ul { padding: 0 0 0 1em; margin: 0; }
   ul.domTree li { padding: 0; margin: 0; list-style: none; position: relative; }
   ul.domTree li li { list-style: none; }
   ul.domTree li:first-child::before { position: absolute; top: 0; height: 0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree li:not(:last-child)::after { position: absolute; top: 0; bottom: -0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree span { font-style: italic; font-family: serif; }
   ul.domTree .t1 code { color: purple; font-weight: bold; }
   ul.domTree .t2 { font-style: normal; font-family: monospace; }
   ul.domTree .t2 .name { color: black; font-weight: bold; }
   ul.domTree .t2 .value { color: blue; font-weight: normal; }
   ul.domTree .t3 code, .domTree .t4 code, .domTree .t5 code { color: gray; }
   ul.domTree .t7 code, .domTree .t8 code { color: green; }
   ul.domTree .t10 code { color: teal; }

  </style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="no.html" title="13 Things that you can't do with this specification because they are better handled using other technologies that are further described herein" rel="prev">
  <link href="Overview.html#contents" title="Table of contents" rel="index">
  <link href="references.html" title="References" rel="next">
  </head><body><div class="head">
   <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
   <h1>HTML 5</h1>
   <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
   </div><div>
   <a href="no.html">&#8592; 13 Things that you can't do with this specification because they are better handled using other technologies that are further described herein</a> &#8211;
   <a href="Overview.html#contents">Table of contents</a> &#8211;
   <a href="references.html">References &#8594;</a>
  </div>

  <h2 class="no-num" id="index">Index</h2><p><i>This section is non-normative.</i></p><p class="XXX">List of elements</p><p class="XXX">List of attributes</p><p class="XXX">List of <dfn id="reflecting-dom-attributes">reflecting DOM attributes</dfn> and their corresponding content attributes</p><!-- include option.text; textarea.defaultValue, and other attributes that "reflect" the element's textContent --><p class="XXX">List of interfaces</p><p class="XXX">List of events</p></body></html>
--- NEW FILE: .htaccess ---
DirectoryIndex index.html

--- NEW FILE: comms.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
   dt, dfn { font-weight: bold; font-style: normal; }
   dt dfn { font-style: italic; }
   pre, code { font-size: inherit; font-family: monospace; font-variant: normal; }
   pre strong { color: black; font: inherit; font-weight: bold; background: yellow; }
   pre em { font-weight: bolder; font-style: normal; }
   @media screen { code { color: orangered; } code :link, code :visited { color: inherit; } }
   var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; }
   table { border-collapse: collapse; border-style: hidden hidden none hidden; }
   table thead { border-bottom: solid; }
   table tbody th:first-child { border-left: solid; }
   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }

   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
   .matrix, .matrix td { border: none; text-align: right; }
   .matrix { margin-left: 2em; }
   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
   @media screen { .applies th > * { display: block; white-space: nowrap; } }
   .applies thead code { display: block; }
   .applies td { text-align: center; }
   .applies .yes { background: yellow; }

   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
   img.extra { float: right; }
   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
   pre.css:first-line { color: #AAAA50; }
   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #EEFFEE; }
   hr + dl.domintro, div.impl + dl.domintro { margin-top: 2.5em; margin-bottom: 1.5em; }
   dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
   dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
   dl.domintro dd p { margin: 0.5em 0; }
   dl.switch { padding-left: 2em; }
   dl.switch > dt { text-indent: -1.5em; }
   dl.switch > dt:before { content: '\21AA'; padding: 0 0.5em 0 0; display: inline-block; width: 1em; text-align: right; line-height: 0.5em; }
   dl.triple { padding: 0 0 0 1em; }
   dl.triple dt, dl.triple dd { margin: 0; display: inline }
   dl.triple dt:after { content: ':'; }
   dl.triple dd:after { content: '\A'; white-space: pre; }
   .diff-old { text-decoration: line-through; color: silver; background: transparent; }
   .diff-chg, .diff-new { text-decoration: underline; color: green; background: transparent; }
   a .diff-new { border-bottom: 1px blue solid; }

   h2 { page-break-before: always; }
   h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
   h1 + h2, hr + h2.no-toc { page-break-before: auto; }

   p > span:not([title=""]):not([class="XXX"]):not([class="impl"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { border-bottom: solid #9999CC; }

   div.head { margin: 0 0 1em; padding: 1em 0 0 0; }
   div.head p { margin: 0; }
   div.head h1 { margin: 0; }
   div.head .logo { float: right; margin: 0 1em; }
   div.head .logo img { border: none } /* remove border from top image */
   div.head dl { margin: 1em 0; }
   p.copyright { font-size: x-small; font-style: oblique; margin: 0; }

   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
   body > .toc > li > * { margin-bottom: 0.5em; }
   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
   .toc, .toc li { list-style: none; }

   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
   .brief li { margin: 0; padding: 0; }
   .brief li p { margin: 0; padding: 0; }

   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
   .category-list li { display: inline; }
   .category-list li:not(:last-child)::after { content: ', '; }
   .category-list li > span, .category-list li > a { text-transform: lowercase; }
   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */

   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
   .XXX > :first-child { margin-top: 0; }
   p .XXX { line-height: 3em; }
   .note { color: green; background: transparent; font-family: sans-serif; }
   .warning { color: red; background: transparent; }
   .note, .warning { font-weight: bolder; font-style: italic; }
   p.note, div.note { padding: 0.5em 2em; }
   span.note { padding: 0 2em; }
   .note p:first-child, .warning p:first-child { margin-top: 0; }
   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
   .warning:before { font-style: normal; }
   p.note:before { content: 'Note: '; }
   p.warning:before { content: '\26A0 Warning! '; }

   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }

   h4 { position: relative; z-index: 3; }
   h4 + .element, h4 + div + .element { margin-top: -2.5em; padding-top: 2em; }
   .element {
     background: #EEEEFF;
     color: black;
     margin: 0 0 1em 0.15em;
     padding: 0 1em 0.25em 0.75em;
     border-left: solid #9999FF 0.25em;
     position: relative;
     z-index: 1;
   }
   .element:before {
     position: absolute;
     z-index: 2;
     top: 0;
     left: -1.15em;
     height: 2em;
     width: 0.9em;
     background: #EEEEFF;
     content: ' ';
     border-style: none none solid solid;
     border-color: #9999FF;
     border-width: 0.25em;
   }

   .example {
     display: block;
     color: #222222;
     background: #FCFCFC;
     border-left: double;
     margin-left: 2em;
     padding-left: 1em;
   }

   .tall-and-narrow {
     font-size: 0.6em;
     column-width: 25em;
     column-gap: 1em;
     -moz-column-width: 25em;
     -moz-column-gap: 1em;
     -webkit-column-width: 25em;
     -webkit-column-gap: 1em;
   }

   ul.domTree, ul.domTree ul { padding: 0 0 0 1em; margin: 0; }
   ul.domTree li { padding: 0; margin: 0; list-style: none; position: relative; }
   ul.domTree li li { list-style: none; }
   ul.domTree li:first-child::before { position: absolute; top: 0; height: 0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree li:not(:last-child)::after { position: absolute; top: 0; bottom: -0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree span { font-style: italic; font-family: serif; }
   ul.domTree .t1 code { color: purple; font-weight: bold; }
   ul.domTree .t2 { font-style: normal; font-family: monospace; }
   ul.domTree .t2 .name { color: black; font-weight: bold; }
   ul.domTree .t2 .value { color: blue; font-weight: normal; }
   ul.domTree .t3 code, .domTree .t4 code, .domTree .t5 code { color: gray; }
   ul.domTree .t7 code, .domTree .t8 code { color: green; }
   ul.domTree .t10 code { color: teal; }

  </style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="editing.html" title="7 User Interaction" rel="prev">
  <link href="Overview.html#contents" title="Table of contents" rel="index">
  <link href="syntax.html" title="9 The HTML syntax" rel="next">
  </head><body><div class="head">
   <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
   <h1>HTML 5</h1>
   <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
   </div><div>
   <a href="editing.html">&#8592; 7 User Interaction</a> &#8211;
   <a href="Overview.html#contents">Table of contents</a> &#8211;
   <a href="syntax.html">9 The HTML syntax &#8594;</a>
  </div>

  <h2 id="comms"><span class="secno">8 </span>Communication</h2><h3 id="event-definitions"><span class="secno">8.1 </span>Event definitions</h3><!-- XXX cross-references for SSE and WS need fixing now that this is cross-spec --><p>Messages in <span>server-sent events</span>, <span>Web
  sockets</span>, <a href="#crossDocumentMessages">cross-document messaging</a>, and
  <a href="#channel-messaging">channel messaging</a> use the <dfn id="event-message" title="event-message"><code>message</code></dfn> event.</p><p>The following interface is defined for this event:</p><pre class="idl">interface <dfn id="messageevent">MessageEvent</dfn> : Event {
  readonly attribute any <a href="#dom-messageevent-data" title="dom-MessageEvent-data">data</a>;
  readonly attribute DOMString <a href="#dom-messageevent-origin" title="dom-MessageEvent-origin">origin</a>;
  readonly attribute DOMString <a href="#dom-messageevent-lasteventid" title="dom-MessageEvent-lastEventId">lastEventId</a>;
  readonly attribute <a href="browsers.html#windowproxy">WindowProxy</a> <a href="#dom-messageevent-source" title="dom-MessageEvent-source">source</a>;
  readonly attribute <a href="#messageportarray">MessagePortArray</a> <a href="#dom-messageevent-ports" title="dom-MessageEvent-ports">ports</a>;
  void <a href="#dom-messageevent-initmessageevent" title="dom-MessageEvent-initMessageEvent">initMessageEvent</a>(in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dataArg, in DOMString originArg, in DOMString lastEventIdArg, in <a href="browsers.html#windowproxy">WindowProxy</a> sourceArg, in <a href="#messageportarray">MessagePortArray</a> portsArg);
  void <a href="#dom-messageevent-initmessageeventns" title="dom-MessageEvent-initMessageEventNS">initMessageEventNS</a>(in DOMString namespaceURI, in DOMString typeArg, in boolean canBubbleArg, in boolean cancelableArg, in any dataArg, in DOMString originArg, in DOMString lastEventIdArg, in <a href="browsers.html#windowproxy">WindowProxy</a> sourceArg, in <a href="#messageportarray">MessagePortArray</a> portsArg);
};</pre><dl class="domintro"><dt><var title="">event</var> . <code title="dom-MessageEvent-data"><a href="#dom-messageevent-data">data</a></code></dt>

   <dd>

    <p>Returns the data of the message.</p>

   </dd>

   <dt><var title="">event</var> . <code title="dom-MessageEvent-origin"><a href="#dom-messageevent-origin">origin</a></code></dt>

   <dd>

    <p>Returns the origin of the message, for <span>server-sent
    events</span> and <a href="#crossDocumentMessages">cross-document messaging</a>.</p>

   </dd>

   <dt><var title="">event</var> . <code title="dom-MessageEvent-lastEventId"><a href="#dom-messageevent-lasteventid">lastEventId</a></code></dt>

   <dd>

    <p>Returns the last event ID, for <span>server-sent
    events</span>.</p>

   </dd>

   <dt><var title="">event</var> . <code title="dom-MessageEvent-source"><a href="#dom-messageevent-source">source</a></code></dt>

   <dd>

    <p>Returns the <code><a href="browsers.html#windowproxy">WindowProxy</a></code> of the source window, for
    <a href="#crossDocumentMessages">cross-document messaging</a>.</p>

   </dd>

   <dt><var title="">event</var> . <code title="dom-MessageEvent-ports"><a href="#dom-messageevent-ports">ports</a></code></dt>

   <dd>

    <p>Returns the <code><a href="#messageportarray">MessagePortArray</a></code> sent with the
    message, for <a href="#crossDocumentMessages">cross-document messaging</a> and
    <a href="#channel-messaging">channel messaging</a>.</p>

   </dd>

  </dl><div class="impl">

  <p>The <dfn id="dom-messageevent-initmessageevent" title="dom-MessageEvent-initMessageEvent"><code>initMessageEvent()</code></dfn>
  and <dfn id="dom-messageevent-initmessageeventns" title="dom-MessageEvent-initMessageEventNS"><code>initMessageEventNS()</code></dfn>
  methods must initialize the event in a manner analogous to the
  similarly-named methods in the DOM3 Events interfaces. <a href="references.html#references">[DOM3EVENTS]</a></p>

  <p>The <dfn id="dom-messageevent-data" title="dom-MessageEvent-data"><code>data</code></dfn>
  attribute represents the message being sent.</p>

  <p>The <dfn id="dom-messageevent-origin" title="dom-MessageEvent-origin"><code>origin</code></dfn> attribute
  represents, in <span>server-sent events</span> and
  <a href="#crossDocumentMessages">cross-document messaging</a>, the <a href="browsers.html#origin-0">origin</a> of
  the document that sent the message (typically the scheme, hostname,
  and port of the document, but not its path or fragment
  identifier).</p>

  <p>The <dfn id="dom-messageevent-lasteventid" title="dom-MessageEvent-lastEventId"><code>lastEventId</code></dfn>
  attribute represents, in <span>server-sent events</span>, the
  <span>last event ID string</span> of the event source.</p>

  <p>The <dfn id="dom-messageevent-source" title="dom-MessageEvent-source"><code>source</code></dfn> attribute
  represents, in <a href="#crossDocumentMessages">cross-document messaging</a>, the
  <code><a href="browsers.html#windowproxy">WindowProxy</a></code> of the <a href="browsers.html#browsing-context">browsing context</a> of the
  <code><a href="browsers.html#window">Window</a></code> object from which the message came.</p>

  <p>The <dfn id="dom-messageevent-ports" title="dom-MessageEvent-ports"><code>ports</code></dfn>
  attribute represents, in <a href="#crossDocumentMessages">cross-document messaging</a> and
  <a href="#channel-messaging">channel messaging</a> the <code><a href="#messageportarray">MessagePortArray</a></code>
  being sent, if any.</p>

  <p>Unless otherwise specified, when the user agent creates and
  dispatches a <code title="event-message"><a href="#event-message">message</a></code> event in the
  algorithms described in the following sections, the <code title="dom-MessageEvent-lastEventId"><a href="#dom-messageevent-lasteventid">lastEventId</a></code> attribute
  must be the empty string, the <code title="dom-MessageEvent-origin"><a href="#dom-messageevent-origin">origin</a></code> attribute must be the
  empty string, the <code title="dom-MessageEvent-source"><a href="#dom-messageevent-source">source</a></code> attribute must be
  null, and the <code title="dom-MessageEvent-ports"><a href="#dom-messageevent-ports">ports</a></code> attribute
  must be null.</p>

  </div><h3 id="crossDocumentMessages"><span class="secno">8.2 </span><dfn>Cross-document messaging</dfn></h3><p>Web browsers, for security and privacy reasons, prevent documents
  in different domains from affecting each other; that is, cross-site
  scripting is disallowed.</p><p>While this is an important security feature, it prevents pages
  from different domains from communicating even when those pages are
  not hostile. This section introduces a messaging system that allows
  documents to communicate with each other regardless of their source
  domain, in a way designed to not enable cross-site scripting
  attacks.</p><div class="impl">

  <p>The <a href="browsers.html#task-source">task source</a> for the <a href="browsers.html#concept-task" title="concept-task">tasks</a> in <a href="#crossDocumentMessages">cross-document
  messaging</a> is the <dfn id="posted-message-task-source">posted message task source</dfn>.</p>

  </div><h4 id="introduction-7"><span class="secno">8.2.1 </span>Introduction</h4><p><i>This section is non-normative.</i></p><div class="example">

   <p>For example, if document A contains an <code><a href="embedded-content-0.html#the-iframe-element">iframe</a></code>
   element that contains document B, and script in document A calls
   <code title="dom-window-postMessage-2"><a href="#dom-window-postmessage-2">postMessage()</a></code> on the
   <code><a href="browsers.html#window">Window</a></code> object of document B, then a message event will
   be fired on that object, marked as originating from the
   <code><a href="browsers.html#window">Window</a></code> of document A. The script in document A might
   look like:</p>

   <pre>var o = document.getElementsByTagName('iframe')[0];
o.contentWindow.postMessage('Hello world', 'http://b.example.org/');</pre>

   <p>To register an event handler for incoming events, the script
   would use <code title="">addEventListener()</code> (or similar
   mechanisms). For example, the script in document B might look
   like:</p>

   <pre>window.addEventListener('message', receiver, false);
function receiver(e) {
  if (e.origin == 'http://example.com') {
    if (e.data == 'Hello world') {
      e.source.postMessage('Hello', e.origin);
    } else {
      alert(e.data);
    }
  }
}</pre>

   <p>This script first checks the domain is the expected domain, and
   then looks at the message, which it either displays to the user, or
   responds to by sending a message back to the document which sent
   the message in the first place.</p>

  </div><h4 id="security-4"><span class="secno">8.2.2 </span>Security</h4><div class="impl">

  <h5 id="authors"><span class="secno">8.2.2.1 </span>Authors</h5>

  </div><p class="warning">Use of this API requires extra care to protect
  users from hostile entities abusing a site for their own
  purposes.</p><p>Authors should check the <code title="dom-MessageEvent-origin"><a href="#dom-messageevent-origin">origin</a></code> attribute to ensure
  that messages are only accepted from domains that they expect to
  receive messages from. Otherwise, bugs in the author's message
  handling code could be exploited by hostile sites.</p><p>Furthermore, even after checking the <code title="dom-MessageEvent-origin"><a href="#dom-messageevent-origin">origin</a></code> attribute, authors
  should also check that the data in question is of the expected
  format. Otherwise, if the source of the event has been attacked
  using a cross-site scripting flaw, further unchecked processing of
  information sent using the <code title="dom-window-postMessage-2"><a href="#dom-window-postmessage-2">postMessage()</a></code> method could
  result in the attack being propagated into the receiver.</p><p>Authors should not use the wildcard keyword ("*") in the <var title="">targetOrigin</var> argument in messages that contain any
  confidential information, as otherwise there is no way to guarantee
  that the message is only delivered to the recipient to which it was
  intended.</p><div class="impl">

  <h5 id="user-agents"><span class="secno">8.2.2.2 </span>User agents</h5>

  <p>The integrity of this API is based on the inability for scripts
  of one <a href="browsers.html#origin-0">origin</a> to post arbitrary events (using <code title="">dispatchEvent()</code> or otherwise) to objects in other
  origins (those that are not the <a href="browsers.html#same-origin" title="same
  origin">same</a>).</p>

  <p class="note">Implementors are urged to take extra care in the
  implementation of this feature. It allows authors to transmit
  information from one domain to another domain, which is normally
  disallowed for security reasons. It also requires that UAs be
  careful to allow access to certain properties but not others.</p>

  </div><h4 id="posting-messages"><span class="secno">8.2.3 </span>Posting messages</h4><dl class="domintro"><dt><var title="">window</var> . <code title="dom-window-postMessage-2"><a href="#dom-window-postmessage-2">postMessage</a></code>(<var title="">message</var>, [ <var title="">ports</var>, ] <var title="">targetOrigin</var>)</dt>

   <dd>

    <p>Posts a message, optionally with an array of ports, to the
    given window.</p>

    <p>If the origin of the target window doesn't match the given
    origin, the message is discarded, to avoid information leakage. To
    send the message to the target regardless of origin, set the
    target origin to "<code title="">*</code>".</p>

    <p>Throws an <code><a href="infrastructure.html#invalid_state_err">INVALID_STATE_ERR</a></code> if the <var title="">ports</var> array is not null and it contains either null
    entries or duplicate ports.</p>

   </dd>

  </dl><div class="impl">

  <p>When a script invokes the <dfn id="dom-window-postmessage-2" title="dom-window-postMessage-2"><code>postMessage(<var title="">message</var>, <var title="">targetOrigin</var>)</code></dfn> method (with only two
  arguments) on a <code><a href="browsers.html#window">Window</a></code> object, the user agent must
  follow these steps:

  </p><ol><li>

    <p>If the value of the <var title="">targetOrigin</var> argument
    is not a single U+002A ASTERISK character ("*"), and <a href="infrastructure.html#resolve-a-url" title="resolve a url">resolving</a> it relative to the
    <a href="browsers.html#first-script">first script</a>'s <a href="browsers.html#script-s-base-url" title="script's base URL">base
    URL</a> either fails or results in a <a href="infrastructure.html#url">URL</a> with a
    <code title="url-host-specific"><a href="infrastructure.html#url-host-specific">&lt;host-specific&gt;</a></code>
    component that is neither empty nor a single U+002F SOLIDUS
    character (/), then throw a <code><a href="infrastructure.html#syntax_err">SYNTAX_ERR</a></code> exception and
    abort the overall set of steps.</p>

   </li>

   <li>

    <p>Let <var title="">message clone</var> be the result of
    obtaining a <a href="infrastructure.html#structured-clone">structured clone</a> of the <var title="">message</var> argument. If this throws an exception, then
    throw that exception and abort these steps.</p>

   </li>

   <li>

    <p>Return from the <code title="dom-window-postMessage-2"><a href="#dom-window-postmessage-2">postMessage()</a></code> method, but
    asynchronously continue running these steps.</p>

   </li>

   <li>

    <p>If the <var title="">targetOrigin</var> argument has a value
    other than a single literal U+002A ASTERISK character ("*"), and
    the <code>Document</code> of the <code><a href="browsers.html#window">Window</a></code> object on
    which the method was invoked does not have the <a href="browsers.html#same-origin">same
    origin</a> as <var title="">targetOrigin</var>, then abort
    these steps silently.</p>

   </li>

   <li>

    <p>Create an event that uses the <code><a href="#messageevent">MessageEvent</a></code>
    interface, with the event name <code title="event-message"><a href="#event-message">message</a></code>, which does not bubble, is
    not cancelable, and has no default action. The <code title="dom-MessageEvent-data"><a href="#dom-messageevent-data">data</a></code> attribute must be set to
    the value of <var title="">message clone</var>, the <code title="dom-MessageEvent-origin"><a href="#dom-messageevent-origin">origin</a></code> attribute must be
    set to the <a href="browsers.html#unicode-serialization-of-an-origin" title="Unicode serialization of an
    origin">Unicode serialization</a> of the <a href="browsers.html#origin-0">origin</a> of
    the script that invoked the method, and the <code title="dom-MessageEvent-source"><a href="#dom-messageevent-source">source</a></code> attribute must be
    set to the <a href="browsers.html#script-s-global-object">script's global object</a>.</p> <!--
    invariant: the global scope is always a Window if the script can
    see this method -->

   </li>

   <li>

    <p><a href="browsers.html#queue-a-task">Queue a task</a> to dispatch the event created in the
    previous step at the <code><a href="browsers.html#window">Window</a></code> object on which the
    method was invoked. The <a href="browsers.html#task-source">task source</a> for this <a href="browsers.html#concept-task" title="concept-task">task</a> is the <a href="#posted-message-task-source">posted message task
    source</a>.</p>

   </li>

  </ol></div><div class="impl">

  <h4 id="posting-messages-with-message-ports"><span class="secno">8.2.4 </span>Posting messages with message ports</h4>

  <p>When a script invokes the <dfn id="dom-window-postmessage-3" title="dom-window-postMessage-3"><code>postMessage(<var title="">message</var>, <var title="">ports</var>, <var title="">targetOrigin</var>)</code></dfn> method (with three
  arguments) on a <code><a href="browsers.html#window">Window</a></code> object, the user agent must
  follow these steps:

  </p><ol><!-- EXCEPT WHERE NOTED, THESE STEPS ARE IDENTICAL TO THE PREVIOUS SECTION --><!-- one exception is the use of -3 instead of -2 in the xrefs --><li>

    <p>If the value of the <var title="">targetOrigin</var> argument
    is not a single U+002A ASTERISK character ("*"), and <a href="infrastructure.html#resolve-a-url" title="resolve a url">resolving</a> it relative to the
    <a href="browsers.html#first-script">first script</a>'s <a href="browsers.html#script-s-base-url" title="script's base URL">base
    URL</a> either fails or results in a <a href="infrastructure.html#url">URL</a> with a
    <code title="url-host-specific"><a href="infrastructure.html#url-host-specific">&lt;host-specific&gt;</a></code>
    component that is neither empty nor a single U+002F SOLIDUS
    character (/), then throw a <code><a href="infrastructure.html#syntax_err">SYNTAX_ERR</a></code> exception and
    abort the overall set of steps.</p>

   </li>

   <li>

    <p>Let <var title="">message clone</var> be the result of
    obtaining a <a href="infrastructure.html#structured-clone">structured clone</a> of the <var title="">message</var> argument. If this throws an exception, then
    throw that exception and abort these steps.</p>

   </li>

   <li> <!-- NEW STEP -->

    <p>If the <var title="">ports</var> argument is null, then
    act as if the method had just been <a href="#dom-window-postmessage-2" title="dom-window-postMessage-2">called with two arguments</a>,
    <var title="">message</var> and <var title="">targetOrigin</var>.</p>

   </li>

   <li> <!-- NEW STEP -->

    <p>If any of the entries in <var title="">ports</var> are null, or
    if any <code><a href="#messageport">MessagePort</a></code> object is listed in <var title="">ports</var> more than once, then throw an
    <code><a href="infrastructure.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception.</p>

   </li>

   <li> <!-- NEW STEP -->

    <p>Let <var title="">new ports</var> be an empty array.</p>

    <p>For each port in <var title="">ports</var> in turn,
    obtain a new port by <a href="#clone-a-port" title="clone a port">cloning</a> the
    port with the <code><a href="browsers.html#window">Window</a></code> object on which the method was
    invoked as the owner of the clone, and append the clone to the
    <var title="">new ports</var> array.</p>

    <p class="note">If the original <var title="">ports</var>
    array was empty, then the <var title="">new ports</var> array will
    also be empty.</p>

   </li>

   <li>

    <p>Return from the <code title="dom-window-postMessage-3"><a href="#dom-window-postmessage-3">postMessage()</a></code> method, but
    asynchronously continue running these steps.</p>

   </li>

   <li>

    <p>If the <var title="">targetOrigin</var> argument has a value
    other than a single literal U+002A ASTERISK character ("*"), and
    the <code>Document</code> of the <code><a href="browsers.html#window">Window</a></code> object on
    which the method was invoked does not have the <a href="browsers.html#same-origin">same
    origin</a> as <var title="">targetOrigin</var>, then abort
    these steps silently.</p>

   </li>

   <li>

    <p>Create an event that uses the <code><a href="#messageevent">MessageEvent</a></code>
    interface, with the event name <code title="event-message"><a href="#event-message">message</a></code>, which does not bubble, is
    not cancelable, and has no default action. The <code title="dom-MessageEvent-data"><a href="#dom-messageevent-data">data</a></code> attribute must be set to
    the value of <var title="">message clone</var>, the <code title="dom-MessageEvent-origin"><a href="#dom-messageevent-origin">origin</a></code> attribute must be
    set to the <a href="browsers.html#unicode-serialization-of-an-origin" title="Unicode serialization of an
    origin">Unicode serialization</a> of the <a href="browsers.html#origin-0">origin</a> of
    the script that invoked the method, and the <code title="dom-MessageEvent-source"><a href="#dom-messageevent-source">source</a></code> attribute must be
    set to the <a href="browsers.html#script-s-global-object">script's global object</a>.</p> <!--
    invariant: the global scope is always a Window if the script can
    see this method -->

   </li>

   <li> <!-- NEW STEP -->

    <p>Let the <code title="dom-MessageEvent-ports"><a href="#dom-messageevent-ports">ports</a></code> attribute
    of the event be the <var title="">new ports</var> array.</p>

   </li>

   <li>

    <p><a href="browsers.html#queue-a-task">Queue a task</a> to dispatch the event created in the
    previous step at the <code><a href="browsers.html#window">Window</a></code> object on which the
    method was invoked. The <a href="browsers.html#task-source">task source</a> for this <a href="browsers.html#concept-task" title="concept-task">task</a> is the <a href="#posted-message-task-source">posted message task
    source</a>.</p>

   </li>

  </ol><p class="note">These steps, with the exception of the second and
  third steps and the penultimate step, are identical to those in the
  previous section.</p>

  <!-- XXX merge this section and the previous section when
  implementations have shipped postMessage(). Anne asked that these
  sections be kept separate so that implementors can avoid getting
  confused with the 'port' step. -->

  </div><h3 id="channel-messaging"><span class="secno">8.3 </span><dfn>Channel messaging</dfn></h3><h4 id="introduction-8"><span class="secno">8.3.1 </span>Introduction</h4><p><i>This section is non-normative.</i></p><p class="XXX">An introduction to the channel and port
  APIs.</p><h4 id="message-channels"><span class="secno">8.3.2 </span>Message channels</h4><pre class="idl">[<a href="#dom-messagechannel" title="dom-MessageChannel">Constructor</a>]
interface <dfn id="messagechannel">MessageChannel</dfn> {
  readonly attribute <a href="#messageport">MessagePort</a> <a href="#dom-channel-port1" title="dom-channel-port1">port1</a>;
  readonly attribute <a href="#messageport">MessagePort</a> <a href="#dom-channel-port2" title="dom-channel-port2">port2</a>;
};</pre><dl class="domintro"><dt><var title="">channel</var> = new <code title="dom-MessageChannel"><a href="#dom-messagechannel">MessageChannel</a></code>()</dt>

   <dd>

    <p>Returns a new <code><a href="#messagechannel">MessageChannel</a></code> object with two new <code><a href="#messageport">MessagePort</a></code> objects.</p>

   </dd>

   <dt><var title="">channel</var> . <code title="dom-MessageChannel-port1">port1</code></dt>

   <dd>

    <p>Returns the first <code><a href="#messageport">MessagePort</a></code> object.</p>

   </dd>

   <dt><var title="">channel</var> . <code title="dom-MessageChannel-port2">port2</code></dt>

   <dd>

    <p>Returns the second <code><a href="#messageport">MessagePort</a></code> object.</p>

   </dd>

  </dl><div class="impl">

  <p>When the <dfn id="dom-messagechannel" title="dom-MessageChannel"><code>MessageChannel()</code></dfn>
  constructor is called, it must run the following algorithm:</p>

  <ol><li><p><a href="#create-a-new-messageport-object">Create a new <code>MessagePort</code> object</a>
   owned by the <a href="browsers.html#script-s-global-object">script's global object</a>, and let <var title="">port1</var> be that object.</p></li>

   <li><p><a href="#create-a-new-messageport-object">Create a new <code>MessagePort</code> object</a>
   owned by the <a href="browsers.html#script-s-global-object">script's global object</a>, and let <var title="">port2</var> be that object.</p></li>

   <li><p><a href="#entangle">Entangle</a> the <var title="">port1</var> and <var title="">port2</var> objects.</p></li>

   <li><p>Instantiate a new <code><a href="#messagechannel">MessageChannel</a></code> object, and
   let <var title="">channel</var> be that object.</p></li>

   <li><p>Let the <code title="dom-channel-port1"><a href="#dom-channel-port1">port1</a></code>
   attribute of the <var title="">channel</var> object be <var title="">port1</var>.</p>

   </li><li><p>Let the <code title="dom-channel-port2"><a href="#dom-channel-port2">port2</a></code>
   attribute of the <var title="">channel</var> object be <var title="">port2</var>.</p>

   </li><li><p>Return <var title="">channel</var>.</p></li>

  </ol><p>This constructor must be visible when the <span>script's global
  scope</span> is either a <code><a href="browsers.html#window">Window</a></code> object or an object
  implementing the <code>WorkerUtils</code> interface.</p>

  <p>The <dfn id="dom-channel-port1" title="dom-channel-port1"><code>port1</code></dfn> and
  <dfn id="dom-channel-port2" title="dom-channel-port2"><code>port2</code></dfn> attributes
  must return the values they were assigned when the
  <code><a href="#messagechannel">MessageChannel</a></code> object was created.</p>

  </div><h4 id="message-ports"><span class="secno">8.3.3 </span>Message ports</h4><p>Each channel has two message ports. Data sent through one port is
  received by the other port, and vice versa.</p><pre class="idl">typedef sequence&lt;MessagePort&gt; <dfn id="messageportarray">MessagePortArray</dfn>;

interface <dfn id="messageport">MessagePort</dfn> {
<!-- v2-onclose  readonly attribute boolean <span title="dom-MessagePort-active">active</span>;
-->  void <a href="#dom-messageport-postmessage" title="dom-MessagePort-postMessage">postMessage</a>(in any message, [Optional] in <a href="#messageportarray">MessagePortArray</a> ports);<!--
  <span>MessagePort</span> <span title="dom-MessagePort-startConversation">startConversation</span>(in any message);-->
  void <a href="#dom-messageport-start" title="dom-MessagePort-start">start</a>();
  void <a href="#dom-messageport-close" title="dom-MessagePort-close">close</a>();

  // event handler attributes
           attribute <a href="browsers.html#function">Function</a> <a href="#handler-messageport-onmessage" title="handler-MessagePort-onmessage">onmessage</a>;
};</pre><dl class="domintro"><!-- v2-onclose
   <dt><var title="">port</var> . <code title="dom-MessagePort-active">active</code></dt>

   <dd>

    <p>Returns true if the port is still active; otherwise, returns false.</p>

   </dd>
--><dt><var title="">port</var> . <code title="dom-MessagePort-poseMessage">postMessage</code>(<var title="">message</var> [, <var title="">ports</var>] )</dt>

   <dd>

    <p>Posts a message through the channel, optionally with the given
    ports.</p>

    <p>Throws an <code><a href="infrastructure.html#invalid_state_err">INVALID_STATE_ERR</a></code> if the <var title="">ports</var> array is not null and it contains either null
    entries, duplicate ports, or the source or target port.</p>

   </dd>

   <dt><var title="">port</var> . <code title="dom-MessagePort-start"><a href="#dom-messageport-start">start</a></code>()</dt>

   <dd>

    <p>Begins dispatching messages received on the port.</p>

   </dd>

   <dt><var title="">port</var> . <code title="dom-MessagePort-close"><a href="#dom-messageport-close">close</a></code>()</dt>

   <dd>

    <p>Disconnects the port, so that it is no longer active.</p>

   </dd>

  </dl><div class="impl">

  <p>Objects implementing the <code><a href="#messageport">MessagePort</a></code> interface must
  also implement the <code>EventTarget</code> interface.</p>

  <p>Each <code><a href="#messageport">MessagePort</a></code> object can be entangled with
  another (a symmetric relationship). Each <code><a href="#messageport">MessagePort</a></code>
  object also has a <a href="browsers.html#task-source">task source</a> called the <dfn id="port-message-queue">port
  message queue</dfn>, initial empty. A <a href="#port-message-queue">port message
  queue</a> can be enabled or disabled, and is initially
  disabled. Once enabled, a port can never be disabled again (though
  messages in the queue can get moved to another queue or removed
  altogether, which has much the same effect).</p>

  <p>When the user agent is to <dfn id="create-a-new-messageport-object">create a new
  <code>MessagePort</code> object</dfn> owned by a <a href="browsers.html#script-s-global-object">script's
  global object</a> object <var title="">owner</var>, it must
  instantiate a new <code><a href="#messageport">MessagePort</a></code> object, and let its owner
  be <var title="">owner</var>.</p>

  <hr><p>When the user agent is to <dfn id="entangle">entangle</dfn> two
  <code><a href="#messageport">MessagePort</a></code> objects, it must run the following
  steps:</p>

  <ol><li>

    <p>If one of the ports is already entangled, then disentangle it
    and the port that it was entangled with.</p>

    <p class="note">If those two previously entangled ports were the
    two ports of a <code><a href="#messagechannel">MessageChannel</a></code> object, then that
    <code><a href="#messagechannel">MessageChannel</a></code> object no longer represents an actual
    channel: the two ports in that object are no longer entangled.</p>

   </li>

   <li><p>Associate the two ports to be entangled, so that they form
   the two parts of a new channel. (There is no
   <code><a href="#messagechannel">MessageChannel</a></code> object that represents this
   channel.)</p></li>

  </ol><hr><p>When the user agent is to <dfn id="clone-a-port">clone a port</dfn> <var title="">original port</var>, with the clone being owned by <var title="">owner</var>, it must run the following steps, which return
  a new <code><a href="#messageport">MessagePort</a></code> object. These steps must be run
  atomically.</p>

  <ol><li><p><a href="#create-a-new-messageport-object">Create a new <code>MessagePort</code> object</a>
   owned by <var title="">owner</var>, and let <var title="">new
   port</var> be that object.</p></li>

   <li><p>Move all the events in the <a href="#port-message-queue">port message queue</a>
   of <var title="">original port</var> to the <a href="#port-message-queue">port message
   queue</a> of <var title="">new port</var>, if any, leaving the
   <var title="">new port</var>'s <a href="#port-message-queue">port message queue</a> in
   its initial disabled state.</p></li>

   <li>

    <p>If the <var title="">original port</var> is entangled with
    another port, then run these substeps:</p>

    <ol><li><p>Let the <var title="">remote port</var> be the port with
     which the <var title="">original port</var> is entangled.</p></li>

     <li><p><a href="#entangle">Entangle</a> the <var title="">remote port</var>
     and <var title="">new port</var> objects. The <var title="">original port</var> object will be disentangled by this
     process.</p></li>

    </ol></li>

   <li><p>Return <var title="">new port</var>. It is the
   clone.</p></li>

  </ol><hr><!-- v2-onclose
  <p>The <dfn title="dom-MessagePort-active"><code>active</code></dfn>
  attribute must return true if the port is entangled, and false
  otherwise.</p>

  <hr>
--><p>The <dfn id="dom-messageport-postmessage" title="dom-MessagePort-postMessage"><code>postMessage()</code></dfn>
  method, when called on a port <var title="">source port</var>, must
  cause the user agent to run the following steps:</p>

  <ol><li><p>Let <var title="">target port</var> be the port with which
   <var title="">source port</var> is entangled, if any.</p></li>

   <li><p>If the method was called with a second argument <var title="">ports</var> and that argument isn't null, then, if any of
   the entries in <var title="">ports</var> are null, or if any
   <code><a href="#messageport">MessagePort</a></code> object is listed in <var title="">ports</var> more than once, or if any of the entries in
   <var title="">ports</var> are either the <var title="">source
   port</var> or the <var title="">target port</var> (if any), then
   throw an <code><a href="infrastructure.html#invalid_state_err">INVALID_STATE_ERR</a></code> exception.</p></li>

   <li><p>If there is no <var title="">target port</var> (i.e. if <var title="">source port</var> is not entangled), then abort these
   steps.</p></li>
   <!-- we don't raise an exception if there is no target port because
   this can happen at a moment's notice. we don't return false because
   if the port is _about_ to be closed, the message might not be
   listened for anyway. -->

   <li><p>Create an event that uses the <code><a href="#messageevent">MessageEvent</a></code>
   interface, with the name <code title="event-message"><a href="#event-message">message</a></code>, which does not bubble, is not
   cancelable, and has no default action.</p></li>

   <li><p>Let <var title="">message</var> be the method's first
   argument.</p></li>

   <li><p>Let <var title="">message clone</var> be the result of
   obtaining a <a href="infrastructure.html#structured-clone">structured clone</a> of <var title="">message</var>. If this throws an exception, then throw
   that exception and abort these steps.</p></li>

   <li><p>Let the <code title="dom-MessageEvent-data"><a href="#dom-messageevent-data">data</a></code>
   attribute of the event have the value of <var title="">message
   clone</var>.</p></li>

   <li><p>If the method was called with a second argument <var title="">ports</var> and that argument isn't null, then run the
   following substeps:</p>

    <ol><li>

      <p>Let <var title="">new ports</var> be an empty array.</p>

      <p>For each port in <var title="">ports</var> in turn,
      obtain a new port by <a href="#clone-a-port" title="clone a port">cloning</a>
      the port with the owner of the <var title="">target port</var>
      as the owner of the clone, and append the clone to the <var title="">new ports</var> array.</p>

      <p class="note">If the original <var title="">ports</var>
      array was empty, then the <var title="">new ports</var> array will
      also be empty.</p>

     </li>

     <li><p>Let the <code title="dom-MessageEvent-ports"><a href="#dom-messageevent-ports">ports</a></code>
     attribute of the event be the <var title="">new ports</var>
     array.</p></li>

    </ol></li>

   <li><p>Add the event to the <a href="#port-message-queue">port message queue</a> of <var title="">target port</var>.</p></li>

  </ol><!--
  <hr>

  <p>The <dfn
  title="dom-MessagePort-startConversation"><code>startConversation(<var
  title="">message</var>)</code></dfn> method is a convenience method
  that simplifies create a new <code>MessageChannel</code> and
  invoking <code
  title="dom-MessagePort-postMessage">postMessage()</code> with one of
  the new ports. When invoked on a port <var title="">source
  port</var>, it must run the following steps:</p>

  <ol>

   <li><p>Let <var title="">message</var> be the method's first
   argument.</p></li>

   <li><p><span>Create a new <code>MessagePort</code> object</span>
   owned by the <span>script's global object</span>, and let <var
   title="">port1</var> be that object.</p></li>

   <li><p>If the <var title="">source port</var> is not entangled with
   another port, then return <var title="">port1</var> and abort these
   steps.</p></li>
   <!- - we don't raise an exception because this can happen moment's
   notice. we don't return null because then we'd end up with
   null derefs. better to just let the likely next postMessage call
   fall on the floor. - ->

   <li><p>Let <var title="">target port</var> be the port with which
   <var title="">source port</var> is entangled.</p></li>

   <li><p><span>Create a new <code>MessagePort</code> object</span>
   owned by the owner of the <var title="">target port</var>, and let
   <var title="">port2</var> be that object.</p></li>

   <li><p><span>Entangle</span> the <var title="">port1</var> and <var
   title="">port2</var> objects.</p></li>

   <li><p>Create an event that uses the <code>MessageEvent</code>
   interface, with the name <code
   title="event-message">message</code>, which does not bubble, is not
   cancelable, and has no default action.</p></li>

   <li><p>Let the <code title="dom-MessageEvent-data">data</code>
   attribute of the event have the value of <var
   title="">message</var>, the method's first argument.</p></li>

   <li><p>Let the <code
   title="dom-MessageEvent-ports">ports</code> attribute
   of the event be an array containing only <var
   title="">port2</var>.</p></li>

   <li><p>Return <var title="">port1</var> from the method, but
   continue with these steps.</p></li>

   <li><p>Add the event to the <span>port message queue</span> of <var
   title="">target port</var>.</p></li>

  </ol>
--><hr><p>The <dfn id="dom-messageport-start" title="dom-MessagePort-start"><code>start()</code></dfn>
  method must enable its port's <a href="#port-message-queue">port message queue</a>, if it
  is not already enabled.</p>

  <p>When a port's <a href="#port-message-queue">port message queue</a> is enabled, the
  <a href="browsers.html#event-loop">event loop</a> must use it as one of its <a href="browsers.html#task-source" title="task
  source">task sources</a>.</p>

  <p class="note">If the <code>Document</code> of the port's event
  handlers' <a href="browsers.html#script-s-global-object" title="script's global object">global object</a>
  is not <a href="browsers.html#fully-active">fully active</a>, then the messages are lost.</p>
  <!-- because of the jump-to-entry-point algorithm first step -->

  <hr><p>The <dfn id="dom-messageport-close" title="dom-MessagePort-close"><code>close()</code></dfn>
  method, when called on a port <var title="">local port</var> that is
  entangled with another port, must cause the user agents to
  disentangle the two ports. If the method is called on a port that is
  not entangled, then the method must do nothing.</p>

  <hr><p>The following are the <a href="browsers.html#event-handler-attributes-0">event handler attributes</a> (and their corresponding <a href="browsers.html#event-handler-event-type" title="event handler event type">event handler event types</a>)
  that must be supported, as DOM attributes, by all objects
  implementing the <code><a href="#messageport">MessagePort</a></code> interface:</p>

  <table><thead><tr><th><a href="browsers.html#event-handler-attributes-0" title="event handler attributes">event handler attribute</a> </th><th><a href="browsers.html#event-handler-event-type">Event handler event type</a>
   </th></tr></thead><tbody><tr><td><dfn id="handler-messageport-onmessage" title="handler-MessagePort-onmessage"><code>onmessage</code></dfn> </td><td> <code title="event-message"><a href="#event-message">message</a></code>
  </td></tr></tbody></table><p>The first time a <code><a href="#messageport">MessagePort</a></code> object's <code title="handler-MessagePort-onmessage"><a href="#handler-messageport-onmessage">onmessage</a></code> DOM attribute
  is set, the port's <a href="#port-message-queue">port message queue</a> must be enabled,
  as if the <code title="dom-MessagePort-start"><a href="#dom-messageport-start">start()</a></code> method
  had been called.</p>

  </div><h5 id="ports-and-garbage-collection"><span class="secno">8.3.3.1 </span>Ports and garbage collection</h5><div class="impl">

  <p>When a <code><a href="#messageport">MessagePort</a></code> object <var title="">o</var> is
  entangled, user agents must either act as if <var title="">o</var>'s
  entangled <code><a href="#messageport">MessagePort</a></code> object has a strong reference to
  <var title="">o</var>, or as if <var title="">o</var>'s owner has a
  strong reference to <var title="">o</var>.</p>

  <div class="note">

   <p>Thus, a message port can be received, given an event listener,
   and then forgotten, and so long as that event listener could
   receive a message, the channel will be maintained.</p>

   <p>Of course, if this was to occur on both sides of the channel,
   then both ports could be garbage collected, since they would not be
   reachable from live code, despite having a strong reference to each
   other.</p>

  </div>

  <p>Furthermore, a <code><a href="#messageport">MessagePort</a></code> object must not be
  garbage collected while there exists a message in a <a href="browsers.html#task-queue">task
  queue</a> that is to be dispatched on that
  <code><a href="#messageport">MessagePort</a></code> object, or while the
  <code><a href="#messageport">MessagePort</a></code> object's <a href="#port-message-queue">port message queue</a> is
  open and there exists a <code title="event-message"><a href="#event-message">message</a></code>
  event in that queue.</p>
  <!-- we might not need to explicitly say the first part if DOM
  Events is fixed to say that events on a task queue prevent GC -->

  <!-- XXX what about ports in the ports attribute of a MessageEvent
  that isn't dispatched yet? -->

  </div><p class="note">Authors are strongly encouraged to explicitly close
  <code><a href="#messageport">MessagePort</a></code> objects to disentangle them, so that their
  resources can be recollected. Creating many <code><a href="#messageport">MessagePort</a></code>
  objects and discarding them without closing them can lead to high
  memory usage.</p></body></html>
--- NEW FILE: no.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
   dt, dfn { font-weight: bold; font-style: normal; }
   dt dfn { font-style: italic; }
   pre, code { font-size: inherit; font-family: monospace; font-variant: normal; }
   pre strong { color: black; font: inherit; font-weight: bold; background: yellow; }
   pre em { font-weight: bolder; font-style: normal; }
   @media screen { code { color: orangered; } code :link, code :visited { color: inherit; } }
   var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; }
   table { border-collapse: collapse; border-style: hidden hidden none hidden; }
   table thead { border-bottom: solid; }
   table tbody th:first-child { border-left: solid; }
   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }

   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
   .matrix, .matrix td { border: none; text-align: right; }
   .matrix { margin-left: 2em; }
   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
   @media screen { .applies th > * { display: block; white-space: nowrap; } }
   .applies thead code { display: block; }
   .applies td { text-align: center; }
   .applies .yes { background: yellow; }

   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
   img.extra { float: right; }
   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
   pre.css:first-line { color: #AAAA50; }
   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #EEFFEE; }
   hr + dl.domintro, div.impl + dl.domintro { margin-top: 2.5em; margin-bottom: 1.5em; }
   dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
   dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
   dl.domintro dd p { margin: 0.5em 0; }
   dl.switch { padding-left: 2em; }
   dl.switch > dt { text-indent: -1.5em; }
   dl.switch > dt:before { content: '\21AA'; padding: 0 0.5em 0 0; display: inline-block; width: 1em; text-align: right; line-height: 0.5em; }
   dl.triple { padding: 0 0 0 1em; }
   dl.triple dt, dl.triple dd { margin: 0; display: inline }
   dl.triple dt:after { content: ':'; }
   dl.triple dd:after { content: '\A'; white-space: pre; }
   .diff-old { text-decoration: line-through; color: silver; background: transparent; }
   .diff-chg, .diff-new { text-decoration: underline; color: green; background: transparent; }
   a .diff-new { border-bottom: 1px blue solid; }

   h2 { page-break-before: always; }
   h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
   h1 + h2, hr + h2.no-toc { page-break-before: auto; }

   p > span:not([title=""]):not([class="XXX"]):not([class="impl"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { border-bottom: solid #9999CC; }

   div.head { margin: 0 0 1em; padding: 1em 0 0 0; }
   div.head p { margin: 0; }
   div.head h1 { margin: 0; }
   div.head .logo { float: right; margin: 0 1em; }
   div.head .logo img { border: none } /* remove border from top image */
   div.head dl { margin: 1em 0; }
   p.copyright { font-size: x-small; font-style: oblique; margin: 0; }

   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
   body > .toc > li > * { margin-bottom: 0.5em; }
   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
   .toc, .toc li { list-style: none; }

   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
   .brief li { margin: 0; padding: 0; }
   .brief li p { margin: 0; padding: 0; }

   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
   .category-list li { display: inline; }
   .category-list li:not(:last-child)::after { content: ', '; }
   .category-list li > span, .category-list li > a { text-transform: lowercase; }
   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */

   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
   .XXX > :first-child { margin-top: 0; }
   p .XXX { line-height: 3em; }
   .note { color: green; background: transparent; font-family: sans-serif; }
   .warning { color: red; background: transparent; }
   .note, .warning { font-weight: bolder; font-style: italic; }
   p.note, div.note { padding: 0.5em 2em; }
   span.note { padding: 0 2em; }
   .note p:first-child, .warning p:first-child { margin-top: 0; }
   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
   .warning:before { font-style: normal; }
   p.note:before { content: 'Note: '; }
   p.warning:before { content: '\26A0 Warning! '; }

   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }

   h4 { position: relative; z-index: 3; }
   h4 + .element, h4 + div + .element { margin-top: -2.5em; padding-top: 2em; }
   .element {
     background: #EEEEFF;
     color: black;
     margin: 0 0 1em 0.15em;
     padding: 0 1em 0.25em 0.75em;
     border-left: solid #9999FF 0.25em;
     position: relative;
     z-index: 1;
   }
   .element:before {
     position: absolute;
     z-index: 2;
     top: 0;
     left: -1.15em;
     height: 2em;
     width: 0.9em;
     background: #EEEEFF;
     content: ' ';
     border-style: none none solid solid;
     border-color: #9999FF;
     border-width: 0.25em;
   }

   .example {
     display: block;
     color: #222222;
     background: #FCFCFC;
     border-left: double;
     margin-left: 2em;
     padding-left: 1em;
   }

   .tall-and-narrow {
     font-size: 0.6em;
     column-width: 25em;
     column-gap: 1em;
     -moz-column-width: 25em;
     -moz-column-gap: 1em;
     -webkit-column-width: 25em;
     -webkit-column-gap: 1em;
   }

   ul.domTree, ul.domTree ul { padding: 0 0 0 1em; margin: 0; }
   ul.domTree li { padding: 0; margin: 0; list-style: none; position: relative; }
   ul.domTree li li { list-style: none; }
   ul.domTree li:first-child::before { position: absolute; top: 0; height: 0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree li:not(:last-child)::after { position: absolute; top: 0; bottom: -0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree span { font-style: italic; font-family: serif; }
   ul.domTree .t1 code { color: purple; font-weight: bold; }
   ul.domTree .t2 { font-style: normal; font-family: monospace; }
   ul.domTree .t2 .name { color: black; font-weight: bold; }
   ul.domTree .t2 .value { color: blue; font-weight: normal; }
   ul.domTree .t3 code, .domTree .t4 code, .domTree .t5 code { color: gray; }
   ul.domTree .t7 code, .domTree .t8 code { color: green; }
   ul.domTree .t10 code { color: teal; }

  </style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="obsolete-features.html" title="12 Obsolete features" rel="prev">
  <link href="Overview.html#contents" title="Table of contents" rel="index">
  <link href="index.html" title="Index" rel="next">
  </head><body><div class="head">
   <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
   <h1>HTML 5</h1>
   <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
   </div><div>
   <a href="obsolete-features.html">&#8592; 12 Obsolete features</a> &#8211;
   <a href="Overview.html#contents">Table of contents</a> &#8211;
   <a href="index.html">Index &#8594;</a>
  </div>

  <h2 id="no"><span class="secno">13 </span>Things that you can't do with this specification because
  they are better handled using other technologies that are further
  described herein</h2><p><i>This section is non-normative.</i></p><p>There are certain features that are not handled by this
  specification because a client side markup language is not the right
  level for them, or because the features exist in other languages
  that can be integrated into this one. This section covers some of
  the more common requests.</p><!-- There are also certain features that are not handled by this
  specification or any other, but that SHOULD be handled by another
  specification:

    * find object at (x,y)
      http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/elementfrompoint.asp
    * find mouse position
    * screen object: top left width height pixelDepth colorDepth
      availWidth availHeight availLeft availTop
    * methods/properties for managing scrolling, especially in <textarea>,
      such as .scrollTop and .scrollHeight in Mozilla
    * support access Array element via () instead of [] (IEism)
      https://bugzilla.mozilla.org/show_bug.cgi?id=289876
    * Need to say that NodeList's items are enumerable, so that
        for (var x in myNodeList) { }
      ...works. (ack Dethe Elza)
    * a way to show icons for file types
      e.g. http://www.gadgetopia.com/2004/05/04/FileIconTag.html
      (this should probably be a function for the 'content',
      'background-image' and 'list-style-image' properties in CSS)
    * custom syntax highlighting in <textarea>, <pre> (ack Ryan Johnson)
      (this would probably best be done as some sort of output filter
      at the CSS level, rather than anything HTML-specific. It would
      have to support both <textarea>, where the data isn't in the
      DOM proper, and <pre>, where it is.)

  XXX should ensure these are filed with the relevant people and groups
  --><h3 id="localization"><span class="secno">13.1 </span>Localization</h3><p>If you wish to create localized versions of an HTML application,
  the best solution is to preprocess the files on the server, and then
  use HTTP content negotiation to serve the appropriate language.</p><!-- <p>XXX example here</p> --><h3 id="declarative-3d-scenes"><span class="secno">13.2 </span>Declarative 3D scenes</h3><p>Embedding 3D imagery into XHTML documents is the domain of X3D,
  or technologies based on X3D that are namespace-aware.</p><!-- <p>XXX example here</p> --><h3 id="rendering-and-the-dom"><span class="secno">13.3 </span>Rendering and the DOM</h3><p class="XXX">This section is expected to be moved to its own
  specification in due course. It needs a lot of work to actually make
  it into a semi-decent spec.</p><p>Any object implement the <code>AbstractView</code> interface must
  also implement the <code><a href="#mediamodeabstractview">MediaModeAbstractView</a></code> interface.</p><pre class="idl">[NoInterfaceObject, ImplementedOn=<span>AbstractView</span>] interface <dfn id="mediamodeabstractview">MediaModeAbstractView</dfn> {
  readonly attribute DOMString <a href="#mediamode">mediaMode</a>;
};</pre><p>The <dfn id="mediamode"><code>mediaMode</code></dfn> attribute on objects
  implementing the <code><a href="#mediamodeabstractview">MediaModeAbstractView</a></code> interface must
  return the string that represents the canvas' current rendering mode
  (<code>screen</code>, <code>print</code>, etc). This is a lowercase
  string, as <a href="http://www.w3.org/TR/CSS21/media.html#media-types">defined by
  the CSS specification</a>. <a href="references.html#references">[CSS]</a></p><p>Some user agents may support multiple media, in which case there
  will exist multiple objects implementing the
  <code>AbstractView</code> interface. Only the default view
  implements the <code><a href="browsers.html#window">Window</a></code> interface. The other views can be
  reached using the <code><a href="browsers.html#view">view</a></code> attribute of the
  <code>UIEvent</code> interface, during event propagation. There is no
  way currently to enumerate all the views.</p><!-- XXX examples! --></body></html>
Index: Makefile
===================================================================
RCS file: /sources/public/html5/spec/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Makefile	8 May 2008 16:58:58 -0000	1.1
+++ Makefile	18 Jul 2009 09:45:08 -0000	1.2
@@ -1,9 +1,24 @@
 CURL=curl
-TIDY=tidy
+PARSE=./parse.py
+PARSEFLAGS=--xml
 XSLTPROC=xsltproc
 
+PYTHON=python
+PYTHONFLAGS=
+
+SPLITTER=tools/spec-splitter.py
+SPLITTERFLAGS=--w3c
+
+CURL=curl
+CURLFLAGS=-s
+
 ANNODB=http://www.whatwg.org/specs/web-apps/current-work/status.cgi?action=get-all-annotations
 
+all: fragment-links.js
+
+fragment-links.js: Overview.html
+	$(PYTHON) $(PYTHONFLAGS) $(SPLITTER) $(SPLITTERFLAGS) $< .
+
 toc-status.html: annotations.xml spec.xml tocmix.xsl
 	$(XSLTPROC) --novalid --output $@ \
 		--stringparam Annotations annotations.xml \
@@ -13,4 +28,4 @@
 	$(CURL) --output $@ $(ANNODB)
 
 spec.xml: Overview.html
-	$(TIDY) -asxml -q -n -ascii -o $@ Overview.html
+	$(PARSE) $(PARSEFLAGS) $< > $@

--- NEW FILE: introduction.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
   dt, dfn { font-weight: bold; font-style: normal; }
   dt dfn { font-style: italic; }
   pre, code { font-size: inherit; font-family: monospace; font-variant: normal; }
   pre strong { color: black; font: inherit; font-weight: bold; background: yellow; }
   pre em { font-weight: bolder; font-style: normal; }
   @media screen { code { color: orangered; } code :link, code :visited { color: inherit; } }
   var sub { vertical-align: bottom; font-size: smaller; position: relative; top: 0.1em; }
   table { border-collapse: collapse; border-style: hidden hidden none hidden; }
   table thead { border-bottom: solid; }
   table tbody th:first-child { border-left: solid; }
   table td, table th { border-left: solid; border-right: solid; border-bottom: solid thin; vertical-align: top; padding: 0.2em; }
   blockquote { margin: 0 0 0 2em; border: 0; padding: 0; font-style: italic; }

   .bad, .bad *:not(.XXX) { color: gray; border-color: gray; background: transparent; }
   .matrix, .matrix td { border: none; text-align: right; }
   .matrix { margin-left: 2em; }
   .dice-example { border-collapse: collapse; border-style: hidden solid solid hidden; border-width: thin; margin-left: 3em; }
   .dice-example caption { width: 30em; font-size: smaller; font-style: italic; padding: 0.75em 0; text-align: left; }
   .dice-example td, .dice-example th { border: solid thin; width: 1.35em; height: 1.05em; text-align: center; padding: 0; }
   @media screen { .applies th > * { display: block; white-space: nowrap; } }
   .applies thead code { display: block; }
   .applies td { text-align: center; }
   .applies .yes { background: yellow; }

   .toc dfn, h1 dfn, h2 dfn, h3 dfn, h4 dfn, h5 dfn, h6 dfn { font: inherit; }
   img.extra { float: right; }
   pre.idl { border: solid thin; background: #EEEEEE; color: black; padding: 0.5em 1em; }
   pre.idl :link, pre.idl :visited { color: inherit; background: transparent; }
   pre.css { border: solid thin; background: #FFFFEE; color: black; padding: 0.5em 1em; }
   pre.css:first-line { color: #AAAA50; }
   dl.domintro { color: green; margin: 2em 0 2em 2em; padding: 0.5em 1em; border: none; background: #EEFFEE; }
   hr + dl.domintro, div.impl + dl.domintro { margin-top: 2.5em; margin-bottom: 1.5em; }
   dl.domintro dt, dl.domintro dt * { color: black; text-decoration: none; }
   dl.domintro dd { margin: 0.5em 0 1em 2em; padding: 0; }
   dl.domintro dd p { margin: 0.5em 0; }
   dl.switch { padding-left: 2em; }
   dl.switch > dt { text-indent: -1.5em; }
   dl.switch > dt:before { content: '\21AA'; padding: 0 0.5em 0 0; display: inline-block; width: 1em; text-align: right; line-height: 0.5em; }
   dl.triple { padding: 0 0 0 1em; }
   dl.triple dt, dl.triple dd { margin: 0; display: inline }
   dl.triple dt:after { content: ':'; }
   dl.triple dd:after { content: '\A'; white-space: pre; }
   .diff-old { text-decoration: line-through; color: silver; background: transparent; }
   .diff-chg, .diff-new { text-decoration: underline; color: green; background: transparent; }
   a .diff-new { border-bottom: 1px blue solid; }

   h2 { page-break-before: always; }
   h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
   h1 + h2, hr + h2.no-toc { page-break-before: auto; }

   p > span:not([title=""]):not([class="XXX"]):not([class="impl"]), li > span:not([title=""]):not([class="XXX"]):not([class="impl"]) { border-bottom: solid #9999CC; }

   div.head { margin: 0 0 1em; padding: 1em 0 0 0; }
   div.head p { margin: 0; }
   div.head h1 { margin: 0; }
   div.head .logo { float: right; margin: 0 1em; }
   div.head .logo img { border: none } /* remove border from top image */
   div.head dl { margin: 1em 0; }
   p.copyright { font-size: x-small; font-style: oblique; margin: 0; }

   body > .toc > li { margin-top: 1em; margin-bottom: 1em; }
   body > .toc.brief > li { margin-top: 0.35em; margin-bottom: 0.35em; }
   body > .toc > li > * { margin-bottom: 0.5em; }
   body > .toc > li > * > li > * { margin-bottom: 0.25em; }
   .toc, .toc li { list-style: none; }

   .brief { margin-top: 1em; margin-bottom: 1em; line-height: 1.1; }
   .brief li { margin: 0; padding: 0; }
   .brief li p { margin: 0; padding: 0; }

   .category-list { margin-top: -0.75em; margin-bottom: 1em; line-height: 1.5; }
   .category-list::before { content: '\21D2\A0'; font-size: 1.2em; font-weight: 900; }
   .category-list li { display: inline; }
   .category-list li:not(:last-child)::after { content: ', '; }
   .category-list li > span, .category-list li > a { text-transform: lowercase; }
   .category-list li * { text-transform: none; } /* don't affect <code> nested in <a> */

   .XXX { color: #E50000; background: white; border: solid red; padding: 0.5em; margin: 1em 0; }
   .XXX > :first-child { margin-top: 0; }
   p .XXX { line-height: 3em; }
   .note { color: green; background: transparent; font-family: sans-serif; }
   .warning { color: red; background: transparent; }
   .note, .warning { font-weight: bolder; font-style: italic; }
   p.note, div.note { padding: 0.5em 2em; }
   span.note { padding: 0 2em; }
   .note p:first-child, .warning p:first-child { margin-top: 0; }
   .note p:last-child, .warning p:last-child { margin-bottom: 0; }
   .warning:before { font-style: normal; }
   p.note:before { content: 'Note: '; }
   p.warning:before { content: '\26A0 Warning! '; }

   .bookkeeping:before { display: block; content: 'Bookkeeping details'; font-weight: bolder; font-style: italic; }
   .bookkeeping { font-size: 0.8em; margin: 2em 0; }
   .bookkeeping p { margin: 0.5em 2em; display: list-item; list-style: square; }

   h4 { position: relative; z-index: 3; }
   h4 + .element, h4 + div + .element { margin-top: -2.5em; padding-top: 2em; }
   .element {
     background: #EEEEFF;
     color: black;
     margin: 0 0 1em 0.15em;
     padding: 0 1em 0.25em 0.75em;
     border-left: solid #9999FF 0.25em;
     position: relative;
     z-index: 1;
   }
   .element:before {
     position: absolute;
     z-index: 2;
     top: 0;
     left: -1.15em;
     height: 2em;
     width: 0.9em;
     background: #EEEEFF;
     content: ' ';
     border-style: none none solid solid;
     border-color: #9999FF;
     border-width: 0.25em;
   }

   .example {
     display: block;
     color: #222222;
     background: #FCFCFC;
     border-left: double;
     margin-left: 2em;
     padding-left: 1em;
   }

   .tall-and-narrow {
     font-size: 0.6em;
     column-width: 25em;
     column-gap: 1em;
     -moz-column-width: 25em;
     -moz-column-gap: 1em;
     -webkit-column-width: 25em;
     -webkit-column-gap: 1em;
   }

   ul.domTree, ul.domTree ul { padding: 0 0 0 1em; margin: 0; }
   ul.domTree li { padding: 0; margin: 0; list-style: none; position: relative; }
   ul.domTree li li { list-style: none; }
   ul.domTree li:first-child::before { position: absolute; top: 0; height: 0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree li:not(:last-child)::after { position: absolute; top: 0; bottom: -0.6em; left: -0.75em; width: 0.5em; border-style: none none solid solid; content: ''; border-width: 0.1em; }
   ul.domTree span { font-style: italic; font-family: serif; }
   ul.domTree .t1 code { color: purple; font-weight: bold; }
   ul.domTree .t2 { font-style: normal; font-family: monospace; }
   ul.domTree .t2 .name { color: black; font-weight: bold; }
   ul.domTree .t2 .value { color: blue; font-weight: normal; }
   ul.domTree .t3 code, .domTree .t4 code, .domTree .t5 code { color: gray; }
   ul.domTree .t7 code, .domTree .t8 code { color: green; }
   ul.domTree .t10 code { color: teal; }

  </style><link href="data:text/css," rel="stylesheet" title="Complete specification"><link href="data:text/css,.impl%20%7B%20display:%20none;%20%7D" rel="alternate stylesheet" title="Author documentation only"><link href="data:text/css,.impl%20%7B%20background:%20%23FFEEEE;%20%7D" rel="alternate stylesheet" title="Highlight implementation requirements"><link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet" type="text/css"><!-- ZZZ ED vs WD --><link href="Overview.html#contents" title="Table of contents" rel="index">
  <link href="infrastructure.html" title="2 Common infrastructure" rel="next">
  </head><body><div class="head">
   <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
   <h1>HTML 5</h1>
   <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
   </div><div>
   <a href="Overview.html#contents">Table of contents</a> &#8211;
   <a href="infrastructure.html">2 Common infrastructure &#8594;</a>
  </div>

  <h2 id="introduction"><span class="secno">1 </span>Introduction</h2><h3 id="background"><span class="secno">1.1 </span>Background</h3><p><i>This section is non-normative.</i></p><p>The World Wide Web's markup language has always been HTML. HTML
  was primarily designed as a language for semantically describing
  scientific documents, although its general design and adaptations
  over the years has enabled it to be used to describe a number of
  other types of documents.</p><p>The main area that has not been adequately addressed by HTML is a
  vague subject referred to as Web Applications. This specification
  attempts to rectify this, while at the same time updating the HTML
  specifications to address issues raised in the past few years.</p><h3 id="audience"><span class="secno">1.2 </span>Audience</h3><p><i>This section is non-normative.</i></p><p>This specification is intended for authors of documents and
  scripts that use the features defined in this specification<span class="impl">, implementors of tools that operate on pages that use
  the features defined in this specification, and individuals wishing
  to establish the correctness of documents or implementations with
  respect to the requirements of this specification</span>.</p><p>This document is probably not suited to readers who do not
  already have at least a passing familiarity with Web technologies,
  as in places it sacrifices clarity for precision, and brevity for
  completeness. More approachable tutorials and authoring guides can
  provide a gentler introduction to the topic.</p><p>In particular, familiarity with the basics of DOM Core and DOM
  Events is necessary for a complete understanding of some of the more
  technical parts of this specification. An understanding of Web IDL,
  HTTP, XML, Unicode, character encodings, JavaScript, and CSS will
  also be helpful in places but is not essential.</p><h3 id="scope"><span class="secno">1.3 </span>Scope</h3><p><i>This section is non-normative.</i></p><p>This specification is limited to providing a semantic-level
  markup language and associated semantic-level scripting APIs for
  authoring accessible pages on the Web ranging from static documents
  to dynamic applications.</p><p>The scope of this specification does not include providing
  mechanisms for media-specific customization of presentation
  (although default rendering rules for Web browsers are included at
  the end of this specification, and several mechanisms for hooking
  into CSS are provided as part of the language).</p><p>The scope of this specification does not include documenting
  every HTML or DOM feature supported by Web browsers. Browsers
  support many features that are considered to be very bad for
  accessibility or that are otherwise inappropriate. For example, the
  <code><a href="obsolete-features.html#blink">blink</a></code> element is clearly presentational and authors
  wishing to cause text to blink should instead use CSS.</p><p>The scope of this specification is not to describe an entire
  operating system. In particular, hardware configuration software,
  image manipulation tools, and applications that users would be
  expected to use with high-end workstations on a daily basis are out
  of scope. In terms of applications, this specification is targeted
  specifically at applications that would be expected to be used by
  users on an occasional basis, or regularly but from disparate
  locations, with low CPU requirements. For instance online purchasing
  systems, searching systems, games (especially multiplayer online
  games), public telephone books or address books, communications
  software (e-mail clients, instant messaging clients, discussion
  software), document editing software, etc.</p><h3 id="history-0"><span class="secno">1.4 </span>History</h3><p><i>This section is non-normative.</i></p><p>Work on HTML&#160;5 originally started in late 2003, as a proof
  of concept to show that it was possible to extend HTML&#160;4's forms to
  provide many of the features that XForms 1.0 introduced, without
  requiring browsers to implement rendering engines that were
  incompatible with existing HTML Web pages. At this early stage,
  while the draft was already publicly available, and input was
  already being solicited from all sources, the specification was only
  under Opera Software's copyright.</p><p>In early 2004, some of the principles that underlie this effort,
  as well as an early draft proposal covering just forms-related
  features, were presented to the W3C jointly by Mozilla and Opera at
  a workshop discussing the future of Web Applications on the Web. The
  proposal was rejected on the grounds that the proposal conflicted
  with the previously chosen direction for the Web's evolution.</p><p>Shortly thereafter, Apple, Mozilla, and Opera jointly announced
  their intent to continue working on the effort. A public mailing
  list was created, and the drafts were moved to the WHATWG site. The
  copyright was subsequently amended to be jointly owned by all three
  vendors, and to allow reuse of the specifications.</p><p>In 2006, the W3C expressed interest in the specification, and
  created a working group chartered to work with the WHATWG on the
  development of the HTML&#160;5 specifications. The working group
  opened in 2007. Apple, Mozilla, and Opera allowed the W3C to publish
  the specifications under the W3C copyright, while keeping versions
  with the less restrictive license on the WHATWG site.</p><p>Since then, both groups have been working together.</p><h3 id="design-notes"><span class="secno">1.5 </span>Design notes</h3><p><i>This section is non-normative.</i></p><p>It must be admitted that many aspects of HTML appear at first
  glance to be nonsensical and inconsistent.</p><p>HTML, its supporting DOM APIs, as well as many of its supporting
  technologies, have been developed over a period of several decades
  by a wide array of people with different priorities who, in many
  cases, did not know of each other's existence.</p><p>Features have thus arisen from many sources, and have not always
  been designed in especially consistent ways. Furthermore, because of
  the unique characteristics of the Web, implementation bugs have
  often become de-facto, and now de-jure, standards, as content is
  often unintentionally written in ways that rely on them before they
  can be fixed.</p><p>Despite all this, efforts have been made to adhere to certain
  design goals. These are described in the next few subsections.</p><h4 id="serializability-of-script-execution"><span class="secno">1.5.1 </span>Serializability of script execution</h4><p><i>This section is non-normative.</i></p><p>To avoid exposing Web authors to the complexities of
  multithreading, the HTML and DOM APIs are designed such that no
  script can ever detect the simultaneous execution of other
  scripts. Even with <span title="Worker">workers</span>, the intent
  is that the behavior of implementations can be thought of as
  completely serialising the execution of all scripts in all <a href="browsers.html#browsing-context" title="browsing context">browsing contexts</a>.</p><p class="note">The <code title="dom-navigator-GetStorageUpdates"><a href="browsers.html#dom-navigator-getstorageupdates">navigator.getStorageUpdates()</a></code>
  method, in this model, is equivalent to allowing other scripts to
  run while the calling script is blocked.</p><h4 id="compliance-with-other-specifications"><span class="secno">1.5.2 </span>Compliance with other specifications</h4><p><i>This section is non-normative.</i></p><p>This specification interacts with and relies on a wide variety of
  other specifications. In certain circumstances, unfortunately, the
  desire to be compatible with legacy content has led to this
  specification violating the requirements of these other
  specifications. Whenever this has occurred, the transgressions have
  been noted as "<dfn id="willful-violation" title="willful violation">willful
  violations</dfn>".</p><h3 id="relationships-to-other-specifications"><span class="secno">1.6 </span>Relationships to other specifications</h3><h4 id="relationship-to-html-4.01-and-dom2-html"><span class="secno">1.6.1 </span>Relationship to HTML&#160;4.01 and DOM2 HTML</h4><p><i>This section is non-normative.</i></p><p>This specification describes a new revision of the HTML language
  and its associated DOM API.</p><p>The requirements in this specification for features that were
  already in HTML&#160;4 and DOM2 HTML are based primarily on the
  implementation and deployment experience collected over the past ten
  years. Some features have been removed from the language, based on
  best current practices; implementation requirements for some of
  these, as well as for non-standard features that have nonetheless
  garnered wide use, are still included in this specification to allow
  implementations to continue supporting legacy content.  <a href="references.html#references">[HTML4]</a> <a href="references.html#references">[DOM2HTML]</a></p><p>A separate document has been published by the W3C HTML working
  group to provide a more detailed reference of the differences
  between this specification and the language described in the HTML&#160;4
  specification. <a href="references.html#references">[HTMLDIFF]</a></p><h4 id="relationship-to-xhtml-1.x"><span class="secno">1.6.2 </span>Relationship to XHTML 1.x</h4><p><i>This section is non-normative.</i></p><p>This specification is intended to replace XHTML 1.0 as the
  normative definition of the XML serialization of the HTML
  vocabulary. <a href="references.html#references">[XHTML10]</a></p><p>While this specification updates the semantics and requirements
  of the vocabulary defined by XHTML Modularization 1.1 and used by
  XHTML 1.1, it does not attempt to provide a replacement for the
  modularization scheme defined and used by those (and other)
  specifications, and therefore cannot be considered a complete
  replacement for them. <a href="references.html#references">[XHTMLMOD]</a> <a href="references.html#references">[XHTML11]</a></p><p>Thus, authors and implementors who do not need such a
  modularization scheme can consider this specification a replacement
  for XHTML 1.x, but those who do need such a mechanism are encouraged
  to continue using the XHTML 1.1 line of specifications.</p><h3 id="html-vs-xhtml"><span class="secno">1.7 </span>HTML vs XHTML</h3><p><i>This section is non-normative.</i></p><p>This specification defines an abstract language for describing
  documents and applications, and some APIs for interacting with
  in-memory representations of resources that use this language.</p><p>The in-memory representation is known as "DOM5 HTML", or "the
  DOM" for short.</p><p>There are various concrete syntaxes that can be used to transmit
  resources that use this abstract language, two of which are defined
  in this specification.</p><p>The first such concrete syntax is "HTML5". This is the format
  recommended for most authors. It is compatible with all legacy Web
  browsers. If a document is transmitted with the MIME type <code title="">text/html</code>, then it will be processed as an "HTML5"
  document by Web browsers.</p><p>The second concrete syntax uses XML, and is known as
  "XHTML5". When a document is transmitted with an <a href="infrastructure.html#xml-mime-type">XML MIME
  type</a>, such as <code title="">application/xhtml+xml</code>,
  then it is processed by an XML processor by Web browsers, and
  treated as an "XHTML5" document. Authors are reminded that the
  processing for XML and HTML differs; in particular, even minor
  syntax errors will prevent an XML document from being rendered
  fully, whereas they would be ignored in the "HTML5" syntax.</p><p>The "DOM5 HTML", "HTML5", and "XHTML5" representations cannot all
  represent the same content. For example, namespaces cannot be
  represented using "HTML5", but they are supported in "DOM5 HTML" and
  "XHTML5". Similarly, documents that use the <code><a href="semantics.html#the-noscript-element">noscript</a></code>
  feature can be represented using "HTML5", but cannot be represented
  with "XHTML5" and "DOM5 HTML". Comments that contain the string
  "<code title="">--&gt;</code>" can be represented in "DOM5 HTML" but
  not in "HTML5" and "XHTML5". And so forth.</p><h3 id="structure-of-this-specification"><span class="secno">1.8 </span>Structure of this specification</h3><p><i>This section is non-normative.</i></p><p>This specification is divided into the following major
  sections:</p><dl><dt><a href="infrastructure.html#infrastructure">Common Infrastructure</a></dt>

   <dd>The conformance classes, algorithms, definitions, and the
   common underpinnings of the rest of the specification.</dd>


   <dt><a href="dom.html#dom">The DOM</a></dt>

   <dd>Documents are built from elements. These elements form a tree
   using the DOM. This section defines the features of this DOM, as
   well as introducing the features common to all elements, and the
   concepts used in defining elements.</dd>


   <dt><a href="semantics.html#semantics">Elements</a></dt>

   <dd>Each element has a predefined meaning, which is explained in
   this section. Rules for authors on how to use the element<span class="impl">, along with user agent requirements for how to handle
   each element,</span> are also given.</dd>


   <dt><a href="browsers.html#browsers">Web Browsers</a></dt>

   <dd>HTML documents do not exist in a vacuum &#8212; this section
   defines many of the features that affect environments that deal
   with multiple pages, links between pages, and running scripts.</dd>


   <dt><a href="editing.html#editing">User Interaction</a></dt>

   <dd>HTML documents can provide a number of mechanisms for users to
   interact with and modify content, which are described in this
   section.</dd>


   <dt><a href="comms.html#comms">The Communication APIs</a></dt>

   <dd>Applications written in HTML often require mechanisms to
   communicate with remote servers, as well as communicating with
   other applications from different domains running on the same
   client.</dd>


   <dt><a href="syntax.html#syntax">The Language Syntax</a></dt>

   <dd>All of these features would be for naught if they couldn't be
   represented in a serialized form and sent to other people, and so
   this section defines the syntax of HTML, along with rules for how
   to parse HTML.</dd>


  </dl><p>There are also a couple of appendices, defining <a href="the-xhtml-syntax.html#rendering">rendering rules</a> for Web browsers and listing
  <a href="no.html#no">areas that are out of scope</a> for this
  specification.</p><h4 id="how-to-read-this-specification"><span class="secno">1.8.1 </span>How to read this specification</h4><p>This specification should be read like all other specifications.
  First, it should be read cover-to-cover, multiple times. Then, it
  should be read backwards at least once. Then it should be read by
  picking random sections from the contents list and following all the
  cross-references.</p><h4 id="typographic-conventions"><span class="secno">1.8.2 </span>Typographic conventions</h4><p>This is a definition, requirement, or explanation.</p><p class="note">This is a note.</p><p class="example">This is an example.</p><p class="XXX">This is an open issue.</p><p class="warning">This is a warning.</p><pre class="idl">interface <dfn title="">Example</dfn> {
  // this is an IDL definition
};</pre><dl class="domintro"><dt><var title="">variable</var> = <var title="">object</var> . <code title="">method</code>( [ <var title="">optionalArgument</var> ] )</dt>

   <dd>

    <p>This is a note to authors describing the usage of an interface.</p>

   </dd>

  </dl><pre class="css">/* this is a CSS fragment */</pre><p>The defining instance of a term is marked up like <dfn id="x-this" title="x-this">this</dfn>. Uses of that term are marked up like
  <a href="#x-this" title="x-this">this</a> or like <i title="x-this"><a href="#x-this">this</a></i>.</p><p>The defining instance of an element, attribute, or API is marked
  up like <dfn id="x-that" title="x-that"><code>this</code></dfn>. References to
  that element, attribute, or API are marked up like <code title="x-that"><a href="#x-that">this</a></code>.</p><p>Other code fragments are marked up <code title="">like
  this</code>.</p><p>Variables are marked up like <var title="">this</var>.</p><p class="impl">This is an implementation requirement.</p><h3 id="a-quick-introduction-to-html"><span class="secno">1.9 </span>A quick introduction to HTML</h3><p><i>This section is non-normative.</i></p><p>A basic HTML document looks like this:</p><pre>&lt;!DOCTYPE HTML&gt;
&lt;html&gt;
 &lt;head&gt;
  &lt;title&gt;Sample page&lt;/title&gt;
 &lt;/head&gt;
 &lt;body&gt;
  &lt;h1&gt;Sample page&lt;/h1&gt;
  &lt;p&gt;This is a &lt;a href="demo.html"&gt;simple&lt;/a&gt; sample.&lt;/p&gt;
 &lt;/body&gt;
&lt;/html&gt;</pre><p>HTML documents consist of a tree of elements and text. Each
  element is denoted by a <a href="syntax.html#syntax-start-tag" title="syntax-start-tag">start
  tag</a>, such as "<code title="">&lt;body&gt;</code>", and an <a href="syntax.html#syntax-end-tag" title="syntax-end-tag">end tag</a>, such as "<code title="">&lt;/body&gt;</code>". (Certain start tags and end tags can in
  certain cases be <a href="syntax.html#syntax-tag-omission" title="syntax-tag-omission">omitted</a>
  and are implied by other tags.)</p><p>Tags have to be nested correctly, so that elements do not
  partially overlap each other:</p><pre class="bad">&lt;p&gt;This is &lt;em&gt;very &lt;strong&gt;wrong&lt;/em&gt;!&lt;/strong&gt;&lt;/p&gt;</pre><pre>&lt;p&gt;This &lt;em&gt;is &lt;strong&gt;correct&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;</pre><p>This specification defines a set of elements that can be used in
  HTML, along with rules about the ways in which the elements can be
  nested.</p><p>Elements can have attributes, which control how the elements
  work. In the example above, there is a <a href="history.html#hyperlink">hyperlink</a>,
  formed using the <code><a href="text-level-semantics.html#the-a-element">a</a></code> element and its <code title="attr-hyperlink-href"><a href="history.html#attr-hyperlink-href">href</a></code> attribute:</p><pre>&lt;a href="demo.html"&gt;simple&lt;/a&gt;</pre><p><a href="syntax.html#syntax-attributes" title="syntax-attributes">Attributes</a> are placed
  inside the start tag, and consist of a <a href="syntax.html#syntax-attribute-name" title="syntax-attribute-name">name</a> and a <a href="syntax.html#syntax-attribute-value" title="syntax-attribute-value">value</a>, separated by an "<code title="">=</code>" character. The attribute value can be left
  unquoted if it is a keyword, but generally will be quoted. (The
  value can also be omitted altogether if it is empty.)</p><p>The tree formed by an HTML document in this way is turned into a
  DOM tree when parsed. This DOM tree can then be manipulated from
  scripts. Since DOM trees are the "live" representation of an HTML
  document, this specification is mostly phrased in terms of DOM
  trees, instead of the serialisation described above.</p><p>Each element in the DOM tree is represented by an object, and
  thus objects have APIs so that they can be manipulated. For
  instance, a link can have its "<code title="attr-hyperlink-href"><a href="history.html#attr-hyperlink-href">href</a></code>" attributed changed in
  several ways:</p><pre>var a = <a href="dom.html#htmldocument" title="HTMLDocument">document</a>.<a href="dom.html#dom-document-links" title="dom-document-links">links</a>[0]; // obtain the first link in the document
a.<a href="text-level-semantics.html#dom-a-href" title="dom-a-href">href</a> = 'sample.html'; // change the destination URL of the link
a.<a href="infrastructure.html#dom-uda-protocol" title="dom-uda-protocol">protocol</a> = 'https'; // change just the scheme part of the URL</pre><p>HTML documents represent a media-independent description of
  interactive content. HTML documents might be rendered to a screen,
  or through a speech synthesizer, or on a braille display. To
  influence exactly how such rendering takes place, authors can use a
  styling language such as CSS.</p><p>In the following example, the page has been made yellow-on-blue
  using CSS.</p><pre>&lt;!DOCTYPE HTML&gt;
&lt;html&gt;
 &lt;head&gt;
  &lt;title&gt;Sample styled page&lt;/title&gt;
  &lt;style&gt;
   body { background: navy; color: yellow; }
  &lt;/style&gt;
 &lt;/head&gt;
 &lt;body&gt;
  &lt;h1&gt;Sample styled page&lt;/h1&gt;
  &lt;p&gt;This page is just a demo.&lt;/p&gt;
 &lt;/body&gt;
&lt;/html&gt;</pre><p>For more details on how to use HTML, authors are encouraged to
  consult tutorials and guides. Some of the examples included in this
  specification might also be of use, but the novice author is
  cautioned that this specification, by necessity, defines the
  language with a level of detail that may be difficult to understand
  at first.</p></body></html>
--- NEW FILE: editing.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...3472 lines suppressed...]
   to the list of commands should use the syntax <code><var title="">vendorID</var>-<var title="">customCommandID</var></code>
   so as to prevent clashes between extensions from different vendors
   and future additions to this specification.</dd>
   <dd class="impl"><strong>Enabled When</strong>: UA-defined.</dd>
   <dd class="impl"><strong>Indeterminate When</strong>: UA-defined.</dd>
   <dd class="impl"><strong>State</strong>: UA-defined.</dd>
   <dd class="impl"><strong>Value</strong>: UA-defined.</dd>

   <dt class="impl">Anything else</dt>
   <dd class="impl"><strong>Action</strong>: User agents must do nothing.</dd>
   <dd class="impl"><strong>Enabled When</strong>: Never.</dd>
   <dd class="impl"><strong>Indeterminate When</strong>: Never.</dd>
   <dd class="impl"><strong>State</strong>: Always false.</dd>
   <dd class="impl"><strong>Value</strong>: Always the string "<code title="">false</code>".</dd>

  </dl><!--
XXX Once we resolve the style="" issue, address these:
 "forecolor", "hilitecolor", "fontname", "fontsize", "justifyleft",
 "justifycenter", "justifyright", "justifyfull", "indent", "outdent"
--></body></html>
--- NEW FILE: obsolete-features.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en-US-x-Hixie"><head><title>HTML 5</title><style type="text/css">
   pre { margin-left: 2em; white-space: pre-wrap; }
   h2 { margin: 3em 0 1em 0; }
   h3 { margin: 2.5em 0 1em 0; }
   h4 { margin: 2.5em 0 0.75em 0; }
   h5, h6 { margin: 2.5em 0 1em; }
   h1 + h2, h1 + h2 + h2 { margin: 0.75em 0 0.75em; }
   h2 + h3, h3 + h4, h4 + h5, h5 + h6 { margin-top: 0.5em; }
   p { margin: 1em 0; }
   hr:not(.top) { display: block; background: none; border: none; padding: 0; margin: 2em 0; height: auto; }
   dl, dd { margin-top: 0; margin-bottom: 0; }
   dt { margin-top: 0.75em; margin-bottom: 0.25em; clear: left; }
   dt + dt { margin-top: 0; }
   dd dt { margin-top: 0.25em; margin-bottom: 0; }
   dd p { margin-top: 0; }
   dd dl + p { margin-top: 1em; }
   dd table + p { margin-top: 1em; }
   p + * > li, dd li { margin: 1em 0; }
[...1395 lines suppressed...]
   JavaScript, the object returned for <code title="dom-document-all"><a href="#dom-document-all">all</a></code> is equal to the <code title="">undefined</code> value.</p></li>

   <li><p>The user agent must act such that the <code title="">typeof</code> operator in JavaScript returns the string
   <code title="">undefined</code> when applied to the object returned
   for <code title="dom-document-all"><a href="#dom-document-all">all</a></code>.</p></li>

  </ul><p class="note">These requirements are a <a href="introduction.html#willful-violation">willful
  violation</a> of the JavaScript specification current at the time
  of writing (ECMAScript edition 3). The JavaScript specification
  requires that the ToBoolean() operator convert all objects to the
  true value, and does not have provisions for objects acting as if
  they were <code title="">undefined</code> for the purposes of
  certain operators. This violation is motivated by a desire for
  compatibility with two classes of legacy content: one that uses the
  presence of <code title="dom-document-all"><a href="#dom-document-all">document.all</a></code> as a
  way to detect legacy user agents, and one that only supports those
  legacy user agents and uses the <code title="dom-document-all"><a href="#dom-document-all">document.all</a></code> object without testing
  for its presence first. <a href="references.html#references">[ECMA262]</a></p>

  </div></body></html>
Received on Saturday, 18 July 2009 09:45:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 18 July 2009 09:46:28 GMT