- From: Michael Smith via cvs-syncmail <cvsmail@w3.org>
- Date: Sat, 18 Jul 2009 09:45:13 +0000
- To: public-html-commits@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...]
</ol></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><h1>List of <del>fruits</del><ins>colors</ins></h1>
<ul>
<li><del>Lime</del><ins>Green</ins></li>
<li><del>Apple</del></li>
<li>Orange</li>
<li><del>Pear</del></li>
<li><ins>Teal</ins></li>
<li><del>Lemon</del><ins>Yellow</ins></li>
<li>Olive</li>
<li><ins>Purple</ins>
</ul></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">← References</a> –
<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ín Fernández,
Ajai Tirumali,
Alan Plum,
Alastair Campbell,
Alex Nicolaou,
Alex Rousskov,
Alexander J. Vincent,
Alexey Feldgendler,
Алексей Проскуряков (Alexey Proskuryakov),
Alexis Deveria,
Allan Clements,
Anders Carlsson,
Andreas<!-- mqmq87 -->,
Andrei Popescu,
André 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ø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örn Hö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ó Marín,
Chao Cai,
윤석찬 (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å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åsä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élain,
Frank Barchard,
鵜飼文敏 (Fumitoshi Ukai),
Garrett Smith,
Geoffrey Garen,
Geoffrey Sneddon,
George Lund,
Giovanni Campagna,
Greg Botten,
Greg Houston,
Grey,
Gytis Jakutonis,
Håkon Wium Lie,
Hallvord Reiar Michaelsen Steen,
Hans S. Tømmerhalt,
Henri Sivonen,
Henrik Lied,
Henry Mason,
Hugh Winkler,
Ian Bicking,
Ian Davis,
Ignacio Javier,
Ivan Enderlin,
Ivo Emanuel Gonç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ö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ément-Ripoche,
Julian Reschke,
Justin Sinclair,
Kai Hendry,
Kartikaya Gupta,
Kelly Norton,
Kornél Pál,
Kristof Zelechovski,
黒澤剛志 (KUROSAWA Takeshi),
Kyle Hofmann<!-- Ozob -->,
Lé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ü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 Ş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ær,
Oldřich Vetešní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ä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ø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 Ç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ćević,
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
Ø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 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">← 9 The HTML syntax</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="the-xhtml-syntax.html">10 The XHTML syntax →</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+0410 </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;</cod> </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 entitywith 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="">ClosCurlyQuote;</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> <t> 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> <t> 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 entiy 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 suport 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="">reaterLess;</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+00CC </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;</ode> </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> <ode 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="">LongRightArro;</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> U02133 </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><r><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 titl="">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 ttle="">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+000D </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> <d> 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 </t> </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 itle="">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+25A1 </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;</coe> </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 tite="">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> </t><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 tile="">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="">ZroWidthSpace;</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 tile="">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 tile="">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> </t><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> </r><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> <codetitle="">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 ttle="">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 ttle="">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 tile="">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> <cde 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><r><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 ttle="">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> <cod 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><t> <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="">cwit;</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="">de;</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 tile="">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 missng 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</coe> </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;</ode> </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="">eqslanless;</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="">eml;</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><d> <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><t><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> <ode 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="">gsim;</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 tile="">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> <ode 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+0201 </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+01B5 </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> <d> 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> <d> 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+1D28 </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 </t> </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> U02308 </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 ttle="">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 tile="">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 ttle="">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;</cde> </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;</cde> </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> </t> <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> <cod 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><t><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> </t> <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> </t><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> <cde 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> </t><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><d> <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+02AA </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;</cod> </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;</coe> </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;</cde> </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="">arrw;</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 itle="">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 ttle="">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> </r><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><r><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+0260 </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> </d> <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="">subedt;</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><d> <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 upport 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 titl="">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> <d> 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 tile="">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+0258 </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="">upuparrow;</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="">uwngle;</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 </d> </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> <ode 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> <coe 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 titl="">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 ¹, ², and ³.
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">← Index</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="acknowledgements.html">Acknowledgements →</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 à pô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...]
</ul></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">← 13 Things that you can't do with this specification because they are better handled using other technologies that are further described herein</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="references.html">References →</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">← 7 User Interaction</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="syntax.html">9 The HTML syntax →</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"><host-specific></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"><host-specific></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<MessagePort> <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">← 12 Obsolete features</a> –
<a href="Overview.html#contents">Table of contents</a> –
<a href="index.html">Index →</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> –
<a href="infrastructure.html">2 Common infrastructure →</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 5 originally started in late 2003, as a proof
of concept to show that it was possible to extend HTML 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 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 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 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 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="">--></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 — 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><!DOCTYPE HTML>
<html>
<head>
<title>Sample page</title>
</head>
<body>
<h1>Sample page</h1>
<p>This is a <a href="demo.html">simple</a> sample.</p>
</body>
</html></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=""><body></code>", and an <a href="syntax.html#syntax-end-tag" title="syntax-end-tag">end tag</a>, such as "<code title=""></body></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"><p>This is <em>very <strong>wrong</em>!</strong></p></pre><pre><p>This <em>is <strong>correct</strong>.</em></p></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><a href="demo.html">simple</a></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><!DOCTYPE HTML>
<html>
<head>
<title>Sample styled page</title>
<style>
body { background: navy; color: yellow; }
</style>
</head>
<body>
<h1>Sample styled page</h1>
<p>This page is just a demo.</p>
</body>
</html></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 UTC