Update DoC

Tue, 17 Jul 2012 19:27:08 -0400

author
fantasai <fantasai.cvs@inkedblade.net>
date
Tue, 17 Jul 2012 19:27:08 -0400
changeset 6256
be8e25e26840
parent 6255
75c6d58ad779
child 6257
7db0c07048a4

Update DoC

css3-flexbox/issues-lc-2012.html file | annotate | diff | comparison | revisions
cssom/Overview.html file | annotate | diff | comparison | revisions
cssom/Overview.src.html file | annotate | diff | comparison | revisions
     1.1 --- a/css3-flexbox/issues-lc-2012.html	Tue Jul 17 16:26:41 2012 -0700
     1.2 +++ b/css3-flexbox/issues-lc-2012.html	Tue Jul 17 19:27:08 2012 -0400
     1.3 @@ -207,7 +207,7 @@
     1.4  Response: <a href="http://lists.w3.org/Archives/Public/www-style/2012Jul/0274.html">http://lists.w3.org/Archives/Public/www-style/2012Jul/0274.html</a>
     1.5  Closed:   Accepted
     1.6  </pre>
     1.7 -<pre class="a" id="issue-21">
     1.8 +<pre class="open" id="issue-21">
     1.9  Issue 21. <a href="issue-21">#</a>
    1.10  Summary:  Tables as flex items underdefined
    1.11  From:     fantasai
     2.1 --- a/cssom/Overview.html	Tue Jul 17 16:26:41 2012 -0700
     2.2 +++ b/cssom/Overview.html	Tue Jul 17 19:27:08 2012 -0400
     2.3 @@ -1,1227 +1,1853 @@
     2.4 -<!DOCTYPE html><html lang="en-US"><head>
     2.5 -  <meta charset="utf-8">
     2.6 +<!DOCTYPE html>
     2.7 +
     2.8 +<html lang=en-US>
     2.9 + <head><meta charset=utf-8>
    2.10 +
    2.11    <title>CSS Object Model (CSSOM)</title>
    2.12 -  <link href="cssom.css" rel="stylesheet">
    2.13 -  <link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel="stylesheet">
    2.14 - </head>
    2.15 - <body class="draft">
    2.16 -  <div class="head">
    2.17 +  <link href=cssom.css rel=stylesheet>
    2.18 +  <link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel=stylesheet>
    2.19 +
    2.20 + <body class=draft>
    2.21 +  <div class=head> <!--begin-logo-->
    2.22 +   <p><a href="http://www.w3.org/"><img alt=W3C height=48
    2.23 +    src="http://www.w3.org/Icons/w3c_home" width=72></a> <!--end-logo-->
    2.24 +    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    2.25 +    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    2.26 +    
    2.27 +
    2.28 +   <h1 id=cssom>CSS Object Model (CSSOM)</h1>
    2.29 +   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    2.30     
    2.31 -<!--begin-logo-->
    2.32 -<p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
    2.33 -<!--end-logo-->
    2.34 -
    2.35 +   <h2 class="no-num no-toc" id=w3c-doctype>Editor's Draft 17 July 2012</h2>
    2.36 +
    2.37 +   <dl>
    2.38 +    <dt>This Version:
    2.39 +
    2.40 +    <dd class=dontpublish><a
    2.41 +     href="http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom/Overview.html">http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom/Overview.html</a>
    2.42 +
    2.43 +    <dd class=publish><a
    2.44 +     href="http://www.w3.org/TR/2012/ED-www-style-20120717/">http://www.w3.org/TR/2012/ED-www-style-20120717/</a>
    2.45 +
    2.46 +    <dt class=dontpublish>Participate:
    2.47 +
    2.48 +    <dd class=dontpublish><a
    2.49 +     href="mailto:www-style@w3.org?subject==%5Bcssom%5D%20">www-style@w3.org</a>
    2.50 +     (<a href="http://lists.w3.org/Archives/Public/www-style/">archives</a>)
    2.51 +
    2.52 +    <dd class=dontpublish><a
    2.53 +     href="https://www.w3.org/Bugs/Public/enter_bug.cgi?product=CSS&amp;component=CSSOM">File
    2.54 +     a bug</a>
    2.55 +
    2.56 +    <dd class=dontpublish><a href="http://wiki.whatwg.org/wiki/IRC">IRC: #css
    2.57 +     on Freenode</a>
    2.58 +
    2.59 +    <dt class=publish>Latest Version:
    2.60 +
    2.61 +    <dd class=publish><a
    2.62 +     href="http://www.w3.org/TR/www-style/">http://www.w3.org/TR/www-style/</a>
    2.63 +
    2.64 +    <dt class=publish>Latest Editor's draft:
    2.65 +
    2.66 +    <dd class=publish><a
    2.67 +     href="http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom/Overview.html">http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom/Overview.html</a>
    2.68 +
    2.69 +    <dt class=dontpublish>Previous Version:
    2.70 +
    2.71 +    <dd class=dontpublish><a
    2.72 +     href="http://www.w3.org/TR/2011/WD-cssom-20110712/">http://www.w3.org/TR/2011/WD-cssom-20110712/</a>
    2.73 +
    2.74 +    <dd class=dontpublish><a
    2.75 +     href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/">http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/</a>
    2.76 +
    2.77 +    <dt>Editors:
    2.78 +
    2.79 +    <dd><a href="http://www.w3.org/wiki/User:Gadams">Glenn Adams</a> (<a
    2.80 +     href="http://www.cox.com/">Cox Communications, Inc.</a>) &lt;<a
    2.81 +     href="mailto:glenn.adams@cox.com">glenn.adams@cox.com</a>&gt;
    2.82 +
    2.83 +    <dd><a>Shane Stephens</a> (<a href="http://www.google.com/">Google,
    2.84 +     Inc.</a>) &lt;<a href="mailto:shans@google.com">shans@google.com</a>&gt;
    2.85 +
    2.86 +    <dt>Previous Editor:
    2.87 +
    2.88 +    <dd><a href="http://annevankesteren.nl/">Anne van Kesteren</a> (<a
    2.89 +     href="http://www.opera.com/">Opera Software ASA</a>) &lt;<a
    2.90 +     href="mailto:annevk@opera.com">annevk@opera.com</a>&gt;
    2.91 +   </dl>
    2.92 +
    2.93 +   <p class="dontpublish copyright"><a
    2.94 +    href="http://creativecommons.org/publicdomain/zero/1.0/" rel=license><img
    2.95 +    alt=CC0 src="http://i.creativecommons.org/p/zero/1.0/80x15.png"></a> To
    2.96 +    the extent possible under law, the editors have waived all copyright and
    2.97 +    related or neighboring rights to this work. In addition, as of 17 July
    2.98 +    2012, the editors have made this specification available under the <a
    2.99 +    href="http://www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0"
   2.100 +    rel=license>Open Web Foundation Agreement, Version 1.0</a>.</p>
   2.101 +
   2.102 +   <div class=publish><!--begin-copyright-->
   2.103 +    <p class=copyright><a
   2.104 +     href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
   2.105 +     rel=license>Copyright</a> © 2012 <a href="http://www.w3.org/"><abbr
   2.106 +     title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a
   2.107 +     href="http://www.csail.mit.edu/"><abbr
   2.108 +     title="Massachusetts Institute of Technology">MIT</abbr></a>, <a
   2.109 +     href="http://www.ercim.eu/"><abbr
   2.110 +     title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>,
   2.111 +     <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
   2.112 +     href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
   2.113 +     <a
   2.114 +     href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
   2.115 +     and <a
   2.116 +     href="http://www.w3.org/Consortium/Legal/copyright-documents">document
   2.117 +     use</a> rules apply.</p>
   2.118 +    <!--end-copyright--></div>
   2.119 +  </div>
   2.120 +
   2.121 +  <hr class=top>
   2.122 +  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.123 +
   2.124 +  <h2 class="no-num no-toc" id=abstract>Abstract</h2>
   2.125 +
   2.126 +  <p>CSSOM defines APIs (including generic parsing and serialization rules)
   2.127 +   for Media Queries, Selectors, and of course CSS itself.</p>
   2.128 +  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.129 +
   2.130 +  <h2 class="no-num no-toc" id=sotd>Status of this Document</h2>
   2.131 +
   2.132 +  <p><em>This section describes the status of this document at the time of
   2.133 +   its publication. Other documents may supersede this document. A list of
   2.134 +   current W3C publications and the latest revision of this technical report
   2.135 +   can be found in the <a href="http://www.w3.org/TR/">W3C technical reports
   2.136 +   index at http://www.w3.org/TR/.</a></em>
   2.137 +
   2.138 +  <p class=note> Note: This draft is not web-compatible and should not be
   2.139 +   used as a basis for implementation. Please reverse-engineer some existing
   2.140 +   implementation instead, or worst-case use <a href="#DOM-LEVEL-2-STYLE"
   2.141 +   rel=biblioentry>[DOM-LEVEL-2-STYLE]<!--{{DOM-LEVEL-2-STYLE}}--></a>, while
   2.142 +   we sort out what this specification should actually say.
   2.143 +
   2.144 +  <p class=dontpublish>This is the 17 July 2012 Editor's Draft of CSSOM.
   2.145 +   Please send comments to <a
   2.146 +   href="mailto:www-style@w3.org?subject=%5Bcssom%5D%20">www-style@w3.org</a>
   2.147 +   (<a href="http://lists.w3.org/Archives/Public/www-style/">archived</a>)
   2.148 +   with <samp>[cssom]</samp> at the start of the subject line.
   2.149 +
   2.150 +  <p class=publish>This is the 17 July 2012 First Public Working Draft of
   2.151 +   CSSOM, produced by the <a href="http://www.w3.org/Style/CSS/members">CSS
   2.152 +   Working Group</a> (part of the <a href="http://www.w3.org/Style/">Style
   2.153 +   Activity</a>). <!--XXX remove "First Public" after initial publication -->
   2.154 +   
   2.155 +
   2.156 +  <p>This document was produced by a group operating under the <a
   2.157 +   href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February
   2.158 +   2004 W3C Patent Policy</a>. W3C maintains a <a
   2.159 +   href="http://www.w3.org/2004/01/pp-impl/32061/status"
   2.160 +   rel=disclosure>public list of any patent disclosures</a> made in
   2.161 +   connection with the deliverables of the group; that page also includes
   2.162 +   instructions for disclosing a patent. An individual who has actual
   2.163 +   knowledge of a patent which the individual believes contains <a
   2.164 +   href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
   2.165 +   Claim(s)</a> must disclose the information in accordance with <a
   2.166 +   href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
   2.167 +   6 of the W3C Patent Policy</a>.
   2.168 +
   2.169 +  <p>Publication as a Working Draft does not imply endorsement by the W3C
   2.170 +   Membership. This is a draft document and may be updated, replaced or
   2.171 +   obsoleted by other documents at any time. It is inappropriate to cite this
   2.172 +   document as other than work in progress.</p>
   2.173 +  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.174 +
   2.175 +  <h2 class="no-num no-toc" id=toc>Table of Contents</h2>
   2.176 +  <!--begin-toc-->
   2.177 +
   2.178 +  <ul class=toc>
   2.179 +   <li><a href="#introduction"><span class=secno>1. </span>Introduction</a>
   2.180 +    <ul class=toc>
   2.181 +     <li><a href="#history"><span class=secno>1.1. </span>History</a>
   2.182 +    </ul>
   2.183 +
   2.184 +   <li><a href="#conformance"><span class=secno>2. </span>Conformance</a>
   2.185 +
   2.186 +   <li><a href="#terminology"><span class=secno>3. </span>Terminology</a>
   2.187 +    <ul class=toc>
   2.188 +     <li><a href="#common-serializing-idioms"><span class=secno>3.1.
   2.189 +      </span>Common Serializing Idioms</a>
   2.190 +    </ul>
   2.191 +
   2.192 +   <li><a href="#media-queries"><span class=secno>4. </span>Media Queries</a>
   2.193 +    
   2.194 +    <ul class=toc>
   2.195 +     <li><a href="#parsing-media-queries"><span class=secno>4.1.
   2.196 +      </span>Parsing Media Queries</a>
   2.197 +
   2.198 +     <li><a href="#serializing-media-queries"><span class=secno>4.2.
   2.199 +      </span>Serializing Media Queries</a>
   2.200 +      <ul class=toc>
   2.201 +       <li><a href="#serializing-media-feature-values"><span
   2.202 +        class=secno>4.2.1. </span>Serializing Media Feature Values</a>
   2.203 +      </ul>
   2.204 +
   2.205 +     <li><a href="#comparing-media-queries"><span class=secno>4.3.
   2.206 +      </span>Comparing Media Queries</a>
   2.207 +
   2.208 +     <li><a href="#the-medialist-interface"><span class=secno>4.4. </span>The
   2.209 +      <code>MediaList</code> Interface</a>
   2.210 +    </ul>
   2.211 +
   2.212 +   <li><a href="#selectors"><span class=secno>5. </span>Selectors</a>
   2.213 +    <ul class=toc>
   2.214 +     <li><a href="#parsing-selectors"><span class=secno>5.1. </span>Parsing
   2.215 +      Selectors</a>
   2.216 +
   2.217 +     <li><a href="#serializing-selectors"><span class=secno>5.2.
   2.218 +      </span>Serializing Selectors</a>
   2.219 +    </ul>
   2.220 +
   2.221 +   <li><a href="#css"><span class=secno>6. </span>CSS</a>
   2.222 +    <ul class=toc>
   2.223 +     <li><a href="#style-sheet0"><span class=secno>6.1. </span>Style
   2.224 +      Sheet</a>
   2.225 +      <ul class=toc>
   2.226 +       <li><a href="#the-stylesheet-interface"><span class=secno>6.1.1.
   2.227 +        </span>The <code>StyleSheet</code> Interface</a>
   2.228 +
   2.229 +       <li><a href="#the-cssstylesheet-interface"><span class=secno>6.1.2.
   2.230 +        </span>The <code>CSSStyleSheet</code> Interface</a>
   2.231 +      </ul>
   2.232 +
   2.233 +     <li><a href="#style-sheet-collections"><span class=secno>6.2.
   2.234 +      </span>Style Sheet Collections</a>
   2.235 +      <ul class=toc>
   2.236 +       <li><a href="#the-http-default-style-header"><span class=secno>6.2.1.
   2.237 +        </span>The HTTP <code>Default-Style</code> Header</a>
   2.238 +
   2.239 +       <li><a href="#the-stylesheetlist-sequence"><span class=secno>6.2.2.
   2.240 +        </span>The <code>StyleSheetList</code> Sequence</a>
   2.241 +
   2.242 +       <li><a href="#extensions-to-the-document-interface"><span
   2.243 +        class=secno>6.2.3. </span>Extensions to the <code>Document</code>
   2.244 +        Interface</a>
   2.245 +
   2.246 +       <li><a href="#interaction-with-the-user-interface"><span
   2.247 +        class=secno>6.2.4. </span>Interaction with the User Interface</a>
   2.248 +        <ul class=toc>
   2.249 +         <li><a href="#persisting-the-selected-style-sheet-set"><span
   2.250 +          class=secno>6.2.4.1. </span>Persisting the selected style sheet
   2.251 +          set</a>
   2.252 +        </ul>
   2.253 +
   2.254 +       <li><a href="#examples"><span class=secno>6.2.5. </span>Examples</a>
   2.255 +      </ul>
   2.256 +
   2.257 +     <li><a href="#style-sheet-association"><span class=secno>6.3.
   2.258 +      </span>Style Sheet Association</a>
   2.259 +      <ul class=toc>
   2.260 +       <li><a href="#the-linkstyle-interface"><span class=secno>6.3.1.
   2.261 +        </span>The <code>LinkStyle</code> Interface</a>
   2.262 +
   2.263 +       <li><a href="#requirements-on-specifications"><span class=secno>6.3.2.
   2.264 +        </span>Requirements on specifications</a>
   2.265 +
   2.266 +       <li><a href="#requirements-on-user-agents-implementing"><span
   2.267 +        class=secno>6.3.3. </span>Requirements on User Agents Implementing
   2.268 +        the <span><code>xml-stylesheet</code> processing
   2.269 +        instruction</span></a>
   2.270 +
   2.271 +       <li><a href="#requirements-on-user-agents-implementing0"><span
   2.272 +        class=secno>6.3.4. </span>Requirements on User Agents Implementing
   2.273 +        the HTTP <code>Link</code> Header</a>
   2.274 +      </ul>
   2.275 +
   2.276 +     <li><a href="#css-rules"><span class=secno>6.4. </span>CSS Rules</a>
   2.277 +      <ul class=toc>
   2.278 +       <li><a href="#the-cssrulelist-sequence"><span class=secno>6.4.1.
   2.279 +        </span>The <code>CSSRuleList</code> Sequence</a>
   2.280 +
   2.281 +       <li><a href="#the-cssrule-interface"><span class=secno>6.4.2.
   2.282 +        </span>The <code>CSSRule</code> Interface</a>
   2.283 +
   2.284 +       <li><a href="#the-cssstylerule-interface"><span class=secno>6.4.3.
   2.285 +        </span>The <code>CSSStyleRule</code> Interface</a>
   2.286 +
   2.287 +       <li><a href="#the-cssimportrule-interface"><span class=secno>6.4.4.
   2.288 +        </span>The <code>CSSImportRule</code> Interface</a>
   2.289 +
   2.290 +       <li><a href="#the-cssmediarule-interface"><span class=secno>6.4.5.
   2.291 +        </span>The <code>CSSMediaRule</code> Interface</a>
   2.292 +
   2.293 +       <li><a href="#the-cssfontfacerule-interface"><span class=secno>6.4.6.
   2.294 +        </span>The <code>CSSFontFaceRule</code> Interface</a>
   2.295 +
   2.296 +       <li><a href="#the-csspagerule-interface"><span class=secno>6.4.7.
   2.297 +        </span>The <code>CSSPageRule</code> Interface</a>
   2.298 +
   2.299 +       <li><a href="#the-cssnamespacerule-interface"><span class=secno>6.4.8.
   2.300 +        </span>The <code>CSSNamespaceRule</code> Interface</a>
   2.301 +      </ul>
   2.302 +
   2.303 +     <li><a href="#css-declaration-blocks"><span class=secno>6.5. </span>CSS
   2.304 +      Declaration Blocks</a>
   2.305 +      <ul class=toc>
   2.306 +       <li><a href="#the-cssstyledeclaration-interface"><span
   2.307 +        class=secno>6.5.1. </span>The <code>CSSStyleDeclaration</code>
   2.308 +        Interface</a>
   2.309 +      </ul>
   2.310 +
   2.311 +     <li><a href="#css-values"><span class=secno>6.6. </span>CSS Values</a>
   2.312 +      <ul class=toc>
   2.313 +       <li><a href="#parsing-css-values"><span class=secno>6.6.1.
   2.314 +        </span>Parsing CSS Values</a>
   2.315 +
   2.316 +       <li><a href="#serializing-css-values"><span class=secno>6.6.2.
   2.317 +        </span>Serializing CSS Values</a>
   2.318 +        <ul class=toc>
   2.319 +         <li><a href="#examples0"><span class=secno>6.6.2.1.
   2.320 +          </span>Examples</a>
   2.321 +        </ul>
   2.322 +      </ul>
   2.323 +    </ul>
   2.324 +
   2.325 +   <li><a href="#dom-access-to-css-declaration-blocks"><span class=secno>7.
   2.326 +    </span>DOM Access to CSS Declaration Blocks</a>
   2.327 +    <ul class=toc>
   2.328 +     <li><a href="#the-elementcssinlinestyle-interface"><span
   2.329 +      class=secno>7.1. </span>The <code>ElementCSSInlineStyle</code>
   2.330 +      Interface</a>
   2.331 +
   2.332 +     <li><a href="#extensions-to-the-window-interface"><span class=secno>7.2.
   2.333 +      </span>Extensions to the <code>Window</code> Interface</a>
   2.334 +    </ul>
   2.335 +
   2.336 +   <li><a href="#resolved-values"><span class=secno>8. </span>Resolved
   2.337 +    Values</a>
   2.338 +
   2.339 +   <li><a href="#iana-considerations"><span class=secno>9. </span>IANA
   2.340 +    Considerations</a>
   2.341 +    <ul class=toc>
   2.342 +     <li><a href="#default-style"><span class=secno>9.1.
   2.343 +      </span><code>Default-Style</code></a>
   2.344 +    </ul>
   2.345 +
   2.346 +   <li class=no-num><a href="#references">References</a>
   2.347 +    <ul class=toc>
   2.348 +     <li class=no-num><a href="#normative-references">Normative
   2.349 +      references</a>
   2.350 +
   2.351 +     <li class=no-num><a href="#informative-references">Informative
   2.352 +      references</a>
   2.353 +    </ul>
   2.354 +
   2.355 +   <li class=no-num><a href="#acknowledgments">Acknowledgments</a>
   2.356 +  </ul>
   2.357 +  <!--end-toc-->
   2.358 +  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.359 +
   2.360 +  <h2 id=introduction><span class=secno>1. </span>Introduction</h2>
   2.361 +
   2.362 +  <p class=XXX>...</p>
   2.363 +  <!-- ........................................................................................................................ -->
   2.364 +  <!-- ........................................................................................................................ -->
   2.365 +
   2.366 +  <h3 id=history><span class=secno>1.1. </span>History</h3>
   2.367 +
   2.368 +  <p>Several interfaces from DOM Level 2 Style <a
   2.369 +   href="http://lists.w3.org/Archives/Public/www-style/2003Oct/0347.html"
   2.370 +   title="[CSSOM] CSSValue and related interfaces (message from the CSS WG)">have
   2.371 +   been obsoleted</a> because they were thought to be too awkward for
   2.372 +   frequent use. This specification no longer contains those features.
   2.373 +   <code>DOMImplementationCSS</code> and <code>CSSCharsetRule</code> have
   2.374 +   been removed as well as they were not deemed necessary.</p>
   2.375 +  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.376 +
   2.377 +  <h2 id=conformance><span class=secno>2. </span>Conformance</h2>
   2.378 +
   2.379 +  <p>All diagrams, examples, and notes in this specification are
   2.380 +   non-normative, as are all sections explicitly marked non-normative.
   2.381 +   Everything else in this specification is normative.
   2.382 +
   2.383 +  <p>The key words "MUST", "MUST NOT", "REQUIRED", <!--"SHALL", "SHALL
   2.384 +  NOT",-->
   2.385 +   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in the
   2.386 +   normative parts of this document are to be interpreted as described in
   2.387 +   RFC2119. For readability, these words do not appear in all uppercase
   2.388 +   letters in this specification. <span data-anolis-ref>RFC2119</span>
   2.389 +
   2.390 +  <p>Requirements phrased in the imperative as part of algorithms (such as
   2.391 +   "strip any leading space characters" or "return false and terminate these
   2.392 +   steps") are to be interpreted with the meaning of the key word ("must",
   2.393 +   "should", "may", etc) used in introducing the algorithm.
   2.394 +
   2.395 +  <p>Conformance requirements phrased as algorithms or specific steps may be
   2.396 +   implemented in any manner, so long as the end result is equivalent. (In
   2.397 +   particular, the algorithms defined in this specification are intended to
   2.398 +   be easy to follow, and not intended to be performant.)
   2.399 +
   2.400 +  <p id=hardwareLimitations>User agents may impose implementation-specific
   2.401 +   limits on otherwise unconstrained inputs, e.g. to prevent denial of
   2.402 +   service attacks, to guard against running out of memory, or to work around
   2.403 +   platform-specific limitations.
   2.404 +
   2.405 +  <p>When a method or an attribute is said to call another method or
   2.406 +   attribute, the user agent must invoke its internal API for that attribute
   2.407 +   or method so that e.g. the author can't change the behavior by overriding
   2.408 +   attributes or methods with custom properties or functions in ECMAScript.
   2.409 +
   2.410 +  <p>Unless otherwise stated, string comparisons are done in a <span
   2.411 +   data-anolis-spec=dom>case-sensitive</span> manner.
   2.412     <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.413 -   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.414 -
   2.415 -   <h1 id="cssom">CSS Object Model (CSSOM)</h1>
   2.416 -
   2.417 -   <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.418 -
   2.419 -   <h2 class="no-num no-toc" id="w3c-doctype">Editor's Draft 17 July 2012</h2>
   2.420 -
   2.421 -   <dl>
   2.422 -
   2.423 -    <dt>This Version:</dt>
   2.424 -    <dd class="dontpublish"><a href="http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom/Overview.html">http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom/Overview.html</a></dd>
   2.425 -    <dt class="dontpublish">Participate:</dt>
   2.426 -    <dd class="dontpublish"><a href="mailto:www-style@w3.org?subject==%5Bcssom%5D%20">www-style@w3.org</a> (<a href="http://lists.w3.org/Archives/Public/www-style/">archives</a>)</dd>
   2.427 -    <dd class="dontpublish"><a href="https://www.w3.org/Bugs/Public/enter_bug.cgi?product=CSS&amp;component=CSSOM">File a bug</a></dd>
   2.428 -    <dd class="dontpublish"><a href="http://wiki.whatwg.org/wiki/IRC">IRC: #css on Freenode</a></dd>
   2.429 -
   2.430 -    <dt class="dontpublish">Previous Version:</dt>
   2.431 -    <dd class="dontpublish"><a href="http://www.w3.org/TR/2011/WD-cssom-20110712/">http://www.w3.org/TR/2011/WD-cssom-20110712/</a></dd>
   2.432 -    <dd class="dontpublish"><a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/">http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/</a></dd>
   2.433 -
   2.434 -    <dt>Editors:</dt>
   2.435 -    <dd><a href="http://www.w3.org/wiki/User:Gadams">Glenn Adams</a>
   2.436 -    (<a href="http://www.cox.com/">Cox Communications, Inc.</a>)
   2.437 -    &lt;<a href="mailto:glenn.adams@cox.com">glenn.adams@cox.com</a>&gt;</dd>
   2.438 -    <dd><a>Shane Stephens</a>
   2.439 -    (<a href="http://www.google.com/">Google, Inc.</a>)
   2.440 -    &lt;<a href="mailto:shans@google.com">shans@google.com</a>&gt;</dd>
   2.441 -
   2.442 -    <dt>Previous Editor:</dt>
   2.443 -    <dd><a href="http://annevankesteren.nl/">Anne van Kesteren</a>
   2.444 -    (<a href="http://www.opera.com/">Opera Software ASA</a>)
   2.445 -    &lt;<a href="mailto:annevk@opera.com">annevk@opera.com</a>&gt;</dd>
   2.446 -   </dl>
   2.447 -
   2.448 -   <p class="dontpublish copyright"><a href="http://creativecommons.org/publicdomain/zero/1.0/" rel="license"><img alt="CC0" src="http://i.creativecommons.org/p/zero/1.0/80x15.png"></a>
   2.449 -   To the extent possible under law, the editors have waived all copyright and
   2.450 -   related or neighboring rights to this work. In addition, as of
   2.451 -   17 July 2012, the editors have made this specification available
   2.452 -   under the <a href="http://www.openwebfoundation.org/legal/the-owf-1-0-agreements/owfa-1-0" rel="license">Open
   2.453 -   Web Foundation Agreement, Version 1.0</a>.</p>
   2.454 -   </div>
   2.455 -
   2.456 -  <hr class="top">
   2.457 -
   2.458 +   
   2.459 +
   2.460 +  <h2 id=terminology><span class=secno>3. </span>Terminology</h2>
   2.461 +
   2.462 +  <p>Terminology used in this specification is from <cite>DOM4</cite>,
   2.463 +   <cite>HTML</cite>, <cite>Associating Style Sheets with XML
   2.464 +   documents</cite> and <cite>XML</cite> <span data-anolis-ref>DOM</span>
   2.465 +   <span data-anolis-ref>HTML</span> <span data-anolis-ref>XMLSS</span> <span
   2.466 +   data-anolis-ref>XML</span>
   2.467 +
   2.468 +  <p class=XXX><dfn id=supported-styling-language>supported styling
   2.469 +   language</dfn>
   2.470 +
   2.471 +  <p>When this specification talks about object <code><var>A</var></code>
   2.472 +   where <code><var>A</var></code> is actually an interface, it generally
   2.473 +   means an object implementing interface <code><var>A</var></code>.
   2.474 +
   2.475 +  <p>The term <dfn id=whitespace>whitespace</dfn> is used as defined in CSS.
   2.476 +   <!--XXX <a href="#ref-css">[CSS]</a>--></p>
   2.477 +  <!-- ........................................................................................................................ -->
   2.478 +  <!-- ........................................................................................................................ -->
   2.479 +
   2.480 +  <h3 id=common-serializing-idioms><span class=secno>3.1. </span>Common
   2.481 +   Serializing Idioms</h3>
   2.482 +
   2.483 +  <p>To <dfn id=serialize-a-character>serialize a character</dfn> means to
   2.484 +   create a string of "<code>\</code>" (U+005C), followed by the character.
   2.485 +
   2.486 +  <p>To <dfn id=serialize-a-character-as-code-point>serialize a character as
   2.487 +   code point</dfn> means to create a string of "<code>\</code>" (U+005C),
   2.488 +   followed by the Unicode code point as the smallest possible number of
   2.489 +   hexadecimal digits in the range 0-9 a-f (U+0030 to U+0039 and U+0061 to
   2.490 +   U+0066) to represent the code point in base 16, followed by a space
   2.491 +   (U+0020).
   2.492 +
   2.493 +  <p>To <dfn id=serialize-an-identifier>serialize an identifier</dfn> means
   2.494 +   to create a string represented by the concatenation of, for each character
   2.495 +   of the identifier:
   2.496 +
   2.497 +  <ul>
   2.498 +   <li>If the character is in the range U+0000 to U+001F or U+007F to U+009F,
   2.499 +    the character <a href="#serialize-a-character-as-code-point"
   2.500 +    title="serialize a character as code point">escaped as code point</a>.
   2.501 +
   2.502 +   <li>If the character is the first character and is in the range 0-9
   2.503 +    (U+0030 to U+0039), the character <a
   2.504 +    href="#serialize-a-character-as-code-point"
   2.505 +    title="serialize a character as code point">escaped as code point</a>.
   2.506 +
   2.507 +   <li>If the character is the second character and is in the range 0-9
   2.508 +    (U+0030 to U+0039) and the first character is a "<code>-</code>"
   2.509 +    (U+002D), the character <a href="#serialize-a-character-as-code-point"
   2.510 +    title="serialize a character as code point">escaped as code point</a>.
   2.511 +
   2.512 +   <li>If the character is the second character and is "<code>-</code>"
   2.513 +    (U+002D) and the first character is "<code>-</code>" too, the <a
   2.514 +    href="#serialize-a-character" title="serialize a character">escaped</a>
   2.515 +    character.
   2.516 +
   2.517 +   <li>If the character is not handled by one of the above rules and is
   2.518 +    greater than or equal to U+0080, is "<code>-</code>" (U+002D) or
   2.519 +    "<code>_</code>" (U+005F), or is in one of the ranges 0-9 (U+0030 to
   2.520 +    U+0039), A-Z (U+0041 to U+005A), or a-z (U+0061 to U+007A), the character
   2.521 +    itself.
   2.522 +
   2.523 +   <li>Otherwise, the <a href="#serialize-a-character"
   2.524 +    title="serialize a character">escaped</a> character.
   2.525 +  </ul>
   2.526 +
   2.527 +  <p>To <dfn id=serialize-a-string>serialize a string</dfn> means to create a
   2.528 +   string represented by ‘<code class=css><code>"</code></code>’
   2.529 +   (U+0022), followed by the result of applying the rules below to each
   2.530 +   character of the given string, followed by ‘<code
   2.531 +   class=css><code>"</code></code>’ (U+0022):
   2.532 +
   2.533 +  <ul>
   2.534 +   <li>If the character is in the range U+0000 to U+001F or U+007F to U+009F,
   2.535 +    the character <a href="#serialize-a-character-as-code-point"
   2.536 +    title="serialize a character as code point">escaped as code point</a>.
   2.537 +
   2.538 +   <li>If the character is ‘<code class=css><code>"</code></code>’
   2.539 +    (U+0022) or ‘<code class=css><code>\</code></code>’ (U+005C), the <a
   2.540 +    href="#serialize-a-character" title="serialize a character">escaped</a>
   2.541 +    character.
   2.542 +
   2.543 +   <li>Otherwise, the character itself.
   2.544 +  </ul>
   2.545 +
   2.546 +  <p class=note>"<code>'</code>" (U+0027) is not escaped because strings are
   2.547 +   always serialized with ‘<code class=css><code>"</code></code>’
   2.548 +   (U+0022).
   2.549 +
   2.550 +  <p>To <dfn id=serialize-a-url>serialize a URL</dfn> means to create a
   2.551 +   string represented by "<code>url(</code>", followed by the <a
   2.552 +   href="#serialize-a-string" title="serialize a string">string escaped</a>
   2.553 +   value of the given string, followed by "<code>)</code>".
   2.554 +
   2.555 +  <p>To <dfn id=serialize-a-comma-separated-list>serialize a comma-separated
   2.556 +   list</dfn> concatenate all items of the list in list order while
   2.557 +   separating them by "<code>,</code>" (U+002C), followed by a space
   2.558 +   (U+0020).
   2.559 +
   2.560 +  <p>To <dfn id=serialize-a-whitespace-separated-list>serialize a
   2.561 +   whitespace-separated list</dfn> concatenate all items of the list in list
   2.562 +   order while separating them a space (U+0020).</p>
   2.563    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.564  
   2.565 -  <h2 class="no-num no-toc" id="abstract">Abstract</h2>
   2.566 -
   2.567 -  <p>CSSOM defines APIs (including generic parsing and serialization rules)
   2.568 -  for Media Queries, Selectors, and of course CSS itself.</p>
   2.569 -
   2.570 -  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.571 -
   2.572 -  <h2 class="no-num no-toc" id="sotd">Status of this Document</h2>
   2.573 -
   2.574 -  <p><em>This section describes the status of this document at the time of
   2.575 -  its publication. Other documents may supersede this document. A list of
   2.576 -  current W3C publications and the latest revision of this technical report
   2.577 -  can be found in the
   2.578 -  <a href="http://www.w3.org/TR/">W3C technical reports index at http://www.w3.org/TR/.</a></em>
   2.579 -
   2.580 -  <p class="dontpublish">This is the 17 July 2012 Editor's Draft of CSSOM. Please send comments to
   2.581 -  <a href="mailto:www-style@w3.org?subject=%5Bcssom%5D%20">www-style@w3.org</a>
   2.582 -  (<a href="http://lists.w3.org/Archives/Public/www-style/">archived</a>)
   2.583 -  with <samp>[cssom]</samp> at the start of the subject line.
   2.584 -
   2.585 -  <p>This document was produced by a group operating under the
   2.586 -  <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent Policy</a>.
   2.587 -  W3C maintains a
   2.588 -  <a href="http://www.w3.org/2004/01/pp-impl/32061/status" rel="disclosure">public list of any patent disclosures</a>
   2.589 -  made in connection with the deliverables of the group; that page also
   2.590 -  includes instructions for disclosing a patent. An individual who has
   2.591 -  actual knowledge of a patent which the individual believes contains
   2.592 -  <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a>
   2.593 -  must disclose the information in accordance with
   2.594 -  <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the W3C Patent Policy</a>.</p>
   2.595 -
   2.596 -  <p>Publication as a Working Draft does not imply endorsement by the W3C
   2.597 -  Membership. This is a draft document and may be updated, replaced or
   2.598 -  obsoleted by other documents at any time. It is inappropriate to cite this
   2.599 -  document as other than work in progress.</p>
   2.600 -
   2.601 -  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.602 -
   2.603 -  <h2 class="no-num no-toc" id="toc">Table of Contents</h2>
   2.604 -
   2.605 -  
   2.606 -<!--begin-toc-->
   2.607 -<ol class="toc">
   2.608 - <li><a href="#introduction"><span class="secno">1 </span>Introduction</a>
   2.609 -  <ol class="toc">
   2.610 -   <li><a href="#history"><span class="secno">1.1 </span>History</a></ol></li>
   2.611 - <li><a href="#conformance"><span class="secno">2 </span>Conformance</a></li>
   2.612 - <li><a href="#terminology"><span class="secno">3 </span>Terminology</a>
   2.613 -  <ol class="toc">
   2.614 -   <li><a href="#common-serializing-idioms"><span class="secno">3.1 </span>Common Serializing Idioms</a></ol></li>
   2.615 - <li><a href="#media-queries"><span class="secno">4 </span>Media Queries</a>
   2.616 -  <ol class="toc">
   2.617 -   <li><a href="#parsing-media-queries"><span class="secno">4.1 </span>Parsing Media Queries</a></li>
   2.618 -   <li><a href="#serializing-media-queries"><span class="secno">4.2 </span>Serializing Media Queries</a>
   2.619 -    <ol class="toc">
   2.620 -     <li><a href="#serializing-media-feature-values"><span class="secno">4.2.1 </span>Serializing Media Feature Values</a></ol></li>
   2.621 -   <li><a href="#comparing-media-queries"><span class="secno">4.3 </span>Comparing Media Queries</a></li>
   2.622 -   <li><a href="#the-medialist-interface"><span class="secno">4.4 </span>The <code>MediaList</code> Interface</a></ol></li>
   2.623 - <li><a href="#selectors"><span class="secno">5 </span>Selectors</a>
   2.624 -  <ol class="toc">
   2.625 -   <li><a href="#parsing-selectors"><span class="secno">5.1 </span>Parsing Selectors</a></li>
   2.626 -   <li><a href="#serializing-selectors"><span class="secno">5.2 </span>Serializing Selectors</a></ol></li>
   2.627 - <li><a href="#css"><span class="secno">6 </span>CSS</a>
   2.628 -  <ol class="toc">
   2.629 -   <li><a href="#style-sheet-0"><span class="secno">6.1 </span>Style Sheet</a>
   2.630 -    <ol class="toc">
   2.631 -     <li><a href="#the-stylesheet-interface"><span class="secno">6.1.1 </span>The <code>StyleSheet</code> Interface</a></li>
   2.632 -     <li><a href="#the-cssstylesheet-interface"><span class="secno">6.1.2 </span>The <code>CSSStyleSheet</code> Interface</a></ol></li>
   2.633 -   <li><a href="#style-sheet-collections"><span class="secno">6.2 </span>Style Sheet Collections</a>
   2.634 -    <ol class="toc">
   2.635 -     <li><a href="#the-http-default-style-header"><span class="secno">6.2.1 </span>The HTTP <code>Default-Style</code> Header</a></li>
   2.636 -     <li><a href="#the-stylesheetlist-sequence"><span class="secno">6.2.2 </span>The <code>StyleSheetList</code> Sequence</a></li>
   2.637 -     <li><a href="#extensions-to-the-document-interface"><span class="secno">6.2.3 </span>Extensions to the <code>Document</code> Interface</a></li>
   2.638 -     <li><a href="#interaction-with-the-user-interface"><span class="secno">6.2.4 </span>Interaction with the User Interface</a>
   2.639 -      <ol class="toc">
   2.640 -       <li><a href="#persisting-the-selected-style-sheet-set"><span class="secno">6.2.4.1 </span>Persisting the selected style sheet set</a></ol></li>
   2.641 -     <li><a href="#examples"><span class="secno">6.2.5 </span>Examples</a></ol></li>
   2.642 -   <li><a href="#style-sheet-association"><span class="secno">6.3 </span>Style Sheet Association</a>
   2.643 -    <ol class="toc">
   2.644 -     <li><a href="#the-linkstyle-interface"><span class="secno">6.3.1 </span>The <code>LinkStyle</code> Interface</a></li>
   2.645 -     <li><a href="#requirements-on-specifications"><span class="secno">6.3.2 </span>Requirements on specifications</a></li>
   2.646 -     <li><a href="#requirements-on-user-agents-implementing-the-xml-stylesheet-processing-instruction"><span class="secno">6.3.3 </span>Requirements on User Agents Implementing the
   2.647 -  <span><code>xml-stylesheet</code> processing instruction</span></a></li>
   2.648 -     <li><a href="#requirements-on-user-agents-implementing-the-http-link-header"><span class="secno">6.3.4 </span>Requirements on User Agents Implementing the HTTP
   2.649 -  <code>Link</code> Header</a></ol></li>
   2.650 -   <li><a href="#css-rules"><span class="secno">6.4 </span>CSS Rules</a>
   2.651 -    <ol class="toc">
   2.652 -     <li><a href="#the-cssrulelist-sequence"><span class="secno">6.4.1 </span>The <code>CSSRuleList</code> Sequence</a></li>
   2.653 -     <li><a href="#the-cssrule-interface"><span class="secno">6.4.2 </span>The <code>CSSRule</code> Interface</a></li>
   2.654 -     <li><a href="#the-cssstylerule-interface"><span class="secno">6.4.3 </span>The <code>CSSStyleRule</code> Interface</a></li>
   2.655 -     <li><a href="#the-cssimportrule-interface"><span class="secno">6.4.4 </span>The <code>CSSImportRule</code> Interface</a></li>
   2.656 -     <li><a href="#the-cssmediarule-interface"><span class="secno">6.4.5 </span>The <code>CSSMediaRule</code> Interface</a></li>
   2.657 -     <li><a href="#the-cssfontfacerule-interface"><span class="secno">6.4.6 </span>The <code>CSSFontFaceRule</code> Interface</a></li>
   2.658 -     <li><a href="#the-csspagerule-interface"><span class="secno">6.4.7 </span>The <code>CSSPageRule</code> Interface</a></li>
   2.659 -     <li><a href="#the-cssnamespacerule-interface"><span class="secno">6.4.8 </span>The <code>CSSNamespaceRule</code> Interface</a></ol></li>
   2.660 -   <li><a href="#css-declaration-blocks"><span class="secno">6.5 </span>CSS Declaration Blocks</a>
   2.661 -    <ol class="toc">
   2.662 -     <li><a href="#the-cssstyledeclaration-interface"><span class="secno">6.5.1 </span>The <code>CSSStyleDeclaration</code> Interface</a></ol></li>
   2.663 -   <li><a href="#css-values"><span class="secno">6.6 </span>CSS Values</a>
   2.664 -    <ol class="toc">
   2.665 -     <li><a href="#parsing-css-values"><span class="secno">6.6.1 </span>Parsing CSS Values</a></li>
   2.666 -     <li><a href="#serializing-css-values"><span class="secno">6.6.2 </span>Serializing CSS Values</a>
   2.667 -      <ol class="toc">
   2.668 -       <li><a href="#examples-0"><span class="secno">6.6.2.1 </span>Examples</a></ol></ol></ol></li>
   2.669 - <li><a href="#dom-access-to-css-declaration-blocks"><span class="secno">7 </span>DOM Access to CSS Declaration Blocks</a>
   2.670 -  <ol class="toc">
   2.671 -   <li><a href="#the-elementcssinlinestyle-interface"><span class="secno">7.1 </span>The <code>ElementCSSInlineStyle</code> Interface</a></li>
   2.672 -   <li><a href="#extensions-to-the-window-interface"><span class="secno">7.2 </span>Extensions to the <code>Window</code> Interface</a></ol></li>
   2.673 - <li><a href="#resolved-values"><span class="secno">8 </span>Resolved Values</a></li>
   2.674 - <li><a href="#iana-considerations"><span class="secno">9 </span>IANA Considerations</a>
   2.675 -  <ol class="toc">
   2.676 -   <li><a href="#default-style"><span class="secno">9.1 </span><code>Default-Style</code></a></ol></li>
   2.677 - <li><a class="no-num" href="#references">References</a>
   2.678 -  <ol class="toc">
   2.679 -   <li><a class="no-num" href="#normative-references">Normative references</a></li>
   2.680 -   <li><a class="no-num" href="#informative-references">Informative references</a></ol></li>
   2.681 - <li><a class="no-num" href="#acknowledgments">Acknowledgments</a></ol>
   2.682 -<!--end-toc-->
   2.683 -
   2.684 -  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.685 -
   2.686 -  <h2 id="introduction"><span class="secno">1 </span>Introduction</h2>
   2.687 -
   2.688 -  <p class="XXX">...</p>
   2.689 -
   2.690 +  <h2 id=media-queries><span class=secno>4. </span>Media Queries</h2>
   2.691 +
   2.692 +  <p>Media queries are defined by the Media Queries specification. This
   2.693 +   section defines various concepts around media queries, including their API
   2.694 +   and serialization form.</p>
   2.695 +  <!-- XXX ref -->
   2.696    <!-- ........................................................................................................................ -->
   2.697    <!-- ........................................................................................................................ -->
   2.698  
   2.699 -  <h3 id="history"><span class="secno">1.1 </span>History</h3>
   2.700 -
   2.701 -  <p>Several interfaces from DOM Level 2 Style
   2.702 -  <a href="http://lists.w3.org/Archives/Public/www-style/2003Oct/0347.html" title="[CSSOM] CSSValue and related interfaces (message from the CSS WG)">have
   2.703 -  been obsoleted</a> because they were thought to be too awkward for
   2.704 -  frequent use. This specification no longer contains those features.
   2.705 -  <code>DOMImplementationCSS</code> and <code>CSSCharsetRule</code> have
   2.706 -  been removed as well as they were not deemed necessary.</p>
   2.707 -
   2.708 -  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.709 -
   2.710 -  <h2 id="conformance"><span class="secno">2 </span>Conformance</h2>
   2.711 -
   2.712 -  <p>All diagrams, examples, and notes in this specification are
   2.713 -  non-normative, as are all sections explicitly marked non-normative.
   2.714 -  Everything else in this specification is normative.
   2.715 -
   2.716 -  <p>The key words "MUST", "MUST NOT", "REQUIRED", <!--"SHALL", "SHALL
   2.717 -  NOT",--> "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
   2.718 -  "OPTIONAL" in the normative parts of this document are to be
   2.719 -  interpreted as described in RFC2119. For readability, these words do
   2.720 -  not appear in all uppercase letters in this specification.
   2.721 -  <a href="#refsRFC2119">[RFC2119]</a>
   2.722 -
   2.723 -  <p>Requirements phrased in the imperative as part of algorithms
   2.724 -  (such as "strip any leading space characters" or "return false and
   2.725 -  terminate these steps") are to be interpreted with the meaning of the
   2.726 -  key word ("must", "should", "may", etc) used in introducing the
   2.727 -  algorithm.
   2.728 -
   2.729 -  <p>Conformance requirements phrased as algorithms or specific steps
   2.730 -  may be implemented in any manner, so long as the end result is
   2.731 -  equivalent. (In particular, the algorithms defined in this
   2.732 -  specification are intended to be easy to follow, and not intended to
   2.733 -  be performant.)
   2.734 -
   2.735 -  <p id="hardwareLimitations">User agents may impose
   2.736 -  implementation-specific limits on otherwise unconstrained inputs,
   2.737 -  e.g. to prevent denial of service attacks, to guard against running
   2.738 -  out of memory, or to work around platform-specific limitations.
   2.739 -
   2.740 -  <p>When a method or an attribute is said to call another method or attribute, the user agent must invoke its internal API for that attribute or method so that e.g. the author can't change the behavior by overriding attributes or methods with custom properties or functions in ECMAScript.
   2.741 -
   2.742 -  <p>Unless otherwise stated, string comparisons are done in a
   2.743 -  <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#case-sensitive">case-sensitive</a> manner.
   2.744 -
   2.745 -  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.746 -
   2.747 -  <h2 id="terminology"><span class="secno">3 </span>Terminology</h2>
   2.748 -
   2.749 -  <p>Terminology used in this specification is from
   2.750 -  <cite>DOM4</cite>,
   2.751 -  <cite>HTML</cite>,
   2.752 -  <cite>Associating Style Sheets with XML documents</cite>
   2.753 -  and
   2.754 -  <cite>XML</cite>
   2.755 -  <a href="#refsDOM">[DOM]</a>
   2.756 -  <a href="#refsHTML">[HTML]</a>
   2.757 -  <a href="#refsXMLSS">[XMLSS]</a>
   2.758 -  <a href="#refsXML">[XML]</a>
   2.759 -
   2.760 -  <p class="XXX"><dfn id="supported-styling-language">supported styling language</dfn>
   2.761 -
   2.762 -  <p>When this specification talks about object
   2.763 -  <code><var>A</var></code> where <code><var>A</var></code> is actually an interface, it generally means an object implementing interface
   2.764 -  <code><var>A</var></code>.</p>
   2.765 -
   2.766 -  <p>The term <dfn id="whitespace">whitespace</dfn> is used as defined in CSS.
   2.767 -  <!--XXX <a href="#ref-css">[CSS]</a>--></p>
   2.768 -
   2.769 +  <h3 id=parsing-media-queries><span class=secno>4.1. </span>Parsing Media
   2.770 +   Queries</h3>
   2.771 +
   2.772 +  <p>To <dfn id=parse-a-media-query-list>parse a media query list</dfn> for a
   2.773 +   given string <var>s</var> into a media query list is defined in the Media
   2.774 +   Queries specification. Return the list of one or more media queries that
   2.775 +   the algorithm defined there gives.</p>
   2.776 +  <!-- XXX ref -->
   2.777 +
   2.778 +  <p class=note>A media query that ends up being "ignored" will turn into
   2.779 +   "<code>not all</code>".
   2.780 +
   2.781 +  <p>To <dfn id=parse-a-media-query>parse a media query</dfn> for a given
   2.782 +   string <var>s</var> means to follow the <a
   2.783 +   href="#parse-a-media-query-list">parse a media query list</a> steps and
   2.784 +   return null if more than one media query is returned or a media query if a
   2.785 +   single media query is returned.
   2.786 +
   2.787 +  <p class=note>Again, a media query that ends up being "ignored" will turn
   2.788 +   into "<code>not all</code>".</p>
   2.789    <!-- ........................................................................................................................ -->
   2.790 -  <!-- ........................................................................................................................ -->
   2.791 -
   2.792 -  <h3 id="common-serializing-idioms"><span class="secno">3.1 </span>Common Serializing Idioms</h3>
   2.793 -
   2.794 -  <p>To <dfn id="serialize-a-character">serialize a character</dfn> means to create a string of
   2.795 -  "<code>\</code>" (U+005C), followed by the character.</p>
   2.796 -
   2.797 -  <p>To <dfn id="serialize-a-character-as-code-point">serialize a character as code point</dfn> means to create a
   2.798 -  string of "<code>\</code>" (U+005C), followed by the Unicode code point as
   2.799 -  the smallest possible number of hexadecimal digits in the range 0-9 a-f
   2.800 -  (U+0030 to U+0039 and U+0061 to U+0066) to represent the code point in
   2.801 -  base 16, followed by a space (U+0020).</p>
   2.802 -
   2.803 -  <p>To <dfn id="serialize-an-identifier">serialize an identifier</dfn> means to create a string represented
   2.804 -  by the concatenation of, for each character of the identifier:</p>
   2.805 -
   2.806 -  <ul>
   2.807 -   <li>If the character is in the range U+0000 to U+001F or U+007F to
   2.808 -   U+009F, the character
   2.809 -   <a href="#serialize-a-character-as-code-point" title="serialize a character as code point">escaped as code point</a>.</li>
   2.810 -   <li>If the character is the first character and is in the range 0-9
   2.811 -   (U+0030 to U+0039), the character
   2.812 -   <a href="#serialize-a-character-as-code-point" title="serialize a character as code point">escaped as code point</a>.</li>
   2.813 -   <li>If the character is the second character and is in the range 0-9
   2.814 -   (U+0030 to U+0039) and the first character is a "<code>-</code>"
   2.815 -   (U+002D), the character
   2.816 -   <a href="#serialize-a-character-as-code-point" title="serialize a character as code point">escaped as code point</a>.</li>
   2.817 -   <li>If the character is the second character and is "<code>-</code>"
   2.818 -   (U+002D) and the first character is "<code>-</code>" too, the
   2.819 -   <a href="#serialize-a-character" title="serialize a character">escaped</a> character.</li>
   2.820 -   <li>If the character is not handled by one of the above rules and is
   2.821 -   greater than or equal to U+0080, is "<code>-</code>" (U+002D) or
   2.822 -   "<code>_</code>" (U+005F), or is in one of the ranges 0-9 (U+0030 to
   2.823 -   U+0039), A-Z (U+0041 to U+005A), or a-z (U+0061 to U+007A), the character
   2.824 -   itself.</li>
   2.825 -   <li>Otherwise, the <a href="#serialize-a-character" title="serialize a character">escaped</a>
   2.826 -   character.</li>
   2.827 -  </ul>
   2.828 -
   2.829 -  <p>To <dfn id="serialize-a-string">serialize a string</dfn> means to create a string represented
   2.830 -  by '<code>"</code>' (U+0022), followed by the result of applying the rules
   2.831 -  below to each character of the given string, followed by
   2.832 -  '<code>"</code>' (U+0022):</p>
   2.833 -
   2.834 -  <ul>
   2.835 -   <li>If the character is in the range U+0000 to U+001F or U+007F to
   2.836 -   U+009F, the character
   2.837 -   <a href="#serialize-a-character-as-code-point" title="serialize a character as code point">escaped as code point</a>.</li>
   2.838 -   <li>If the character is '<code>"</code>' (U+0022) or '<code>\</code>'
   2.839 -   (U+005C), the <a href="#serialize-a-character" title="serialize a character">escaped</a> character.</li>
   2.840 -   <li>Otherwise, the character itself.</li>
   2.841 -  </ul>
   2.842 -
   2.843 -  <p class="note">"<code>'</code>" (U+0027) is not escaped because strings
   2.844 -  are always serialized with '<code>"</code>' (U+0022).</p>
   2.845 -
   2.846 -  <p>To <dfn id="serialize-a-url">serialize a URL</dfn> means to create a string represented by
   2.847 -  "<code>url(</code>", followed by the
   2.848 -  <a href="#serialize-a-string" title="serialize a string">string escaped</a> value of the given
   2.849 -  string, followed by "<code>)</code>".</p>
   2.850 -
   2.851 -  <p>To <dfn id="serialize-a-comma-separated-list">serialize a comma-separated list</dfn> concatenate all items of
   2.852 -  the list in list order while separating them by "<code>,</code>" (U+002C),
   2.853 -  followed by a space (U+0020).</p>
   2.854 -
   2.855 -  <p>To <dfn id="serialize-a-whitespace-separated-list">serialize a whitespace-separated list</dfn> concatenate all
   2.856 -  items of the list in list order while separating them a space (U+0020).</p>
   2.857 -
   2.858 -  <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
   2.859 -
   2.860 -  <h2 id="media-queries"><span class="secno">4 </span>Media Queries</h2>
   2.861 -
   2.862 -  <p>Media queries are defined by the Media Queries specification. This
   2.863 -  section defines various concepts around media queries, including their API
   2.864 -  and serialization form.</p>
   2.865 -
   2.866 -  <!-- XXX ref -->
   2.867 -
   2.868 -  <!-- ........................................................................................................................ -->
   2.869 -  <!-- ........................................................................................................................ -->
   2.870 -
   2.871 -  <h3 id="parsing-media-queries"><span class="secno">4.1 </span>Parsing Media Queries</h3>
   2.872 -
   2.873 -  <p>To
   2.874 -  <dfn id="parse-a-media-query-list">parse a media query list</dfn> for a
   2.875 -  given string <var>s</var> into a media query list is defined in
   2.876 -  the Media Queries specification. Return the list of one or more media
   2.877 -  queries that the algorithm defined there gives.</p> <!-- XXX ref -->
   2.878 -
   2.879 -  <p class="note">A media query that ends up being "ignored" will turn
   2.880 -  into "<code>not all</code>".</p>
   2.881 -
   2.882 -  <p>To
   2.883 -  <dfn id="parse-a-media-query">parse a media query</dfn> for a given string
   2.884 -  <var>s</var> means to follow the
   2.885 -  <a href="#parse-a-media-query-list">parse a media query list</a> steps and return null if more
   2.886 -  than one media query is returned or a media query if a
   2.887 -  single media query is returned.</p>
   2.888 -
   2.889 -  <p class="note">Again, a media query that ends up being "ignored" will
   2.890 -  turn into "<code>not all</code>".</p>
   2.891 -
   2.892 -  <!-- ........................................................................................................................ -->
   2.893 -
   2.894 -  <h3 id="serializing-media-queries"><span class="secno">4.2 </span>Serializing Media Queries</h3>
   2.895 -
   2.896 -  <p>To
   2.897 -  <dfn id="serialize-a-media-query-list">serialize a media query list</dfn>
   2.898 -  run these steps:</p>
   2.899 +
   2.900 +  <h3 id=serializing-media-queries><span class=secno>4.2. </span>Serializing
   2.901 +   Media Queries</h3>
   2.902 +
   2.903 +  <p>To <dfn id=serialize-a-media-query-list>serialize a media query
   2.904 +   list</dfn> run these steps:
   2.905  
   2.906    <ol>
   2.907 -   <li><p>If the media query list is empty return the empty string and
   2.908 -   terminate these steps.</li>
   2.909 -
   2.910 -   <li><p><a href="#serialize-a-media-query" title="serialize a media query">Serialize</a> each
   2.911 -   media query in the list of media queries, sort them in lexicographical
   2.912 -   order, and then
   2.913 -   <a href="#serialize-a-comma-separated-list" title="serialize a comma-separated list">serialize</a> the
   2.914 -   list.</li>
   2.915 +   <li>
   2.916 +    <p>If the media query list is empty return the empty string and terminate
   2.917 +     these steps.
   2.918 +
   2.919 +   <li>
   2.920 +    <p><a href="#serialize-a-media-query"
   2.921 +     title="serialize a media query">Serialize</a> each media query in the
   2.922 +     list of media queries, sort them in lexicographical order, and then <a
   2.923 +     href="#serialize-a-comma-separated-list"
   2.924 +     title="serialize a comma-separated list">serialize</a> the list.
   2.925    </ol>
   2.926  
   2.927 -  <p>To
   2.928 -  <dfn id="serialize-a-media-query">serialize a media query</dfn> let
   2.929 -  <var>s</var> be the empty string, run the steps below, and
   2.930 -  finally return <var>s</var>:</p>
   2.931 +  <p>To <dfn id=serialize-a-media-query>serialize a media query</dfn> let
   2.932 +   <var>s</var> be the empty string, run the steps below, and finally return
   2.933 +   <var>s</var>:
   2.934  
   2.935    <ol>
   2.936 -   <li><p>If the media query is negated append "<code>not</code>", followed
   2.937 -   by a space (U+0020), to <var>s</var>.</li>
   2.938 -
   2.939 -   <li><p>Let <var>type</var> be the media type of the media query,
   2.940 -   <a href="#serialize-an-identifier" title="serialize an identifier">escaped</a> and
   2.941 -   <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.</li>
   2.942 -
   2.943 -   <li><p>If the media query does not contain media features append
   2.944 -   <var>type</var>, to <var>s</var>,
   2.945 -   then return <var>s</var> and terminate this algorithm.</li>
   2.946 -
   2.947 -   <li><p>If <var>type</var> is not "<code>all</code>" or if the
   2.948 -   media query is negated append <var>type</var>, followed by a
   2.949 -   space (U+0020), followed by "<code>and</code>", followed by a space
   2.950 -   (U+0020), to <var>s</var>.</li>
   2.951 -
   2.952 -   <li><p>Sort the media features in lexicographical order.</li>
   2.953 +   <li>
   2.954 +    <p>If the media query is negated append "<code>not</code>", followed by a
   2.955 +     space (U+0020), to <var>s</var>.
   2.956 +
   2.957 +   <li>
   2.958 +    <p>Let <var>type</var> be the media type of the media query, <a
   2.959 +     href="#serialize-an-identifier"
   2.960 +     title="serialize an identifier">escaped</a> and <span
   2.961 +     data-anolis-spec=dom>converted to ASCII lowercase</span>.
   2.962 +
   2.963 +   <li>
   2.964 +    <p>If the media query does not contain media features append
   2.965 +     <var>type</var>, to <var>s</var>, then return <var>s</var> and terminate
   2.966 +     this algorithm.
   2.967 +
   2.968 +   <li>
   2.969 +    <p>If <var>type</var> is not "<code>all</code>" or if the media query is
   2.970 +     negated append <var>type</var>, followed by a space (U+0020), followed
   2.971 +     by "<code>and</code>", followed by a space (U+0020), to <var>s</var>.
   2.972 +
   2.973 +   <li>
   2.974 +    <p>Sort the media features in lexicographical order.
   2.975  
   2.976     <li>
   2.977      <p>Then, for each media feature:</p>
   2.978  
   2.979      <ol>
   2.980       <li>Append a "<code>(</code>" (U+0028), followed by the media feature
   2.981 -     name, <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#converted-to-ascii-lowercase">converted to ASCII lowercase</a>,
   2.982 -     to <var>s</var>.<p></li>
   2.983 -
   2.984 -     <li><p>If a value is given append a "<code>:</code>" (U+003A), followed
   2.985 -     by a space (U+0020), followed by the
   2.986 -     <a href="#serialize-a-media-feature-value" title="serialize a media feature value">serialized media feature value</a>,
   2.987 -     to <var>s</var>.</li>
   2.988 -
   2.989 -     <li><p>Append a "<code>)</code>" (U+0029) to
   2.990 -     <var>s</var>.</li>
   2.991 -
   2.992 -     <li><p>If this is not the last media feature append a space (U+0020),
   2.993 -     followed by "<code>and</code>", followed by a space (U+0020), to
   2.994 -     <var>s</var>.</li>
   2.995 +      name, <span data-anolis-spec=dom>converted to ASCII lowercase</span>,
   2.996 +      to <var>s</var>.
   2.997 +      <p>
   2.998 +
   2.999 +     <li>
  2.1000 +      <p>If a value is given append a "<code>:</code>" (U+003A), followed by
  2.1001 +       a space (U+0020), followed by the <a
  2.1002 +       href="#serialize-a-media-feature-value"
  2.1003 +       title="serialize a media feature value">serialized media feature
  2.1004 +       value</a>, to <var>s</var>.
  2.1005 +
  2.1006 +     <li>
  2.1007 +      <p>Append a "<code>)</code>" (U+0029) to <var>s</var>.
  2.1008 +
  2.1009 +     <li>
  2.1010 +      <p>If this is not the last media feature append a space (U+0020),
  2.1011 +       followed by "<code>and</code>", followed by a space (U+0020), to
  2.1012 +       <var>s</var>.
  2.1013      </ol>
  2.1014 -   </li>
  2.1015    </ol>
  2.1016  
  2.1017 -  <div class="example">
  2.1018 +  <div class=example>
  2.1019     <p>Here are some examples of input (first column) and output (second
  2.1020 -   column):</p>
  2.1021 +    column):</p>
  2.1022  
  2.1023     <table>
  2.1024      <thead>
  2.1025 -     <tr><th>Input<th>Output
  2.1026 +     <tr>
  2.1027 +      <th>Input
  2.1028 +
  2.1029 +      <th>Output
  2.1030 +
  2.1031      <tbody>
  2.1032       <tr>
  2.1033 -      <td><code>not screen and (min-WIDTH:5px) AND (max-width:40px  )</code>
  2.1034 +      <td><code>not screen and (min-WIDTH:5px) AND (max-width:40px )</code>
  2.1035 +
  2.1036        <td><code>not screen and (max-width: 40px) and (min-width: 5px)</code>
  2.1037 +
  2.1038       <tr>
  2.1039        <td><code>all and (color) and (color)</code>
  2.1040 +
  2.1041        <td><code>(color)</code>
  2.1042     </table>
  2.1043    </div>
  2.1044 -
  2.1045 -
  2.1046    <!-- ........................................................................................................................ -->
  2.1047  
  2.1048 -  <h4 id="serializing-media-feature-values"><span class="secno">4.2.1 </span>Serializing Media Feature Values</h4>
  2.1049 -
  2.1050 -  <p class="XXX">This should probably be done in terms of mapping it to
  2.1051 -  serializing CSS values as media features are defined in terms of CSS
  2.1052 -  values after all.</p>
  2.1053 -
  2.1054 -  <p>To <dfn id="serialize-a-media-feature-value">serialize a media feature value</dfn>
  2.1055 -  named <var>v</var> locate <var>v</var> in the first
  2.1056 -  column of the table below and use the serialization format described in
  2.1057 -  the second column:</p>
  2.1058 +  <h4 id=serializing-media-feature-values><span class=secno>4.2.1.
  2.1059 +   </span>Serializing Media Feature Values</h4>
  2.1060 +
  2.1061 +  <p class=XXX>This should probably be done in terms of mapping it to
  2.1062 +   serializing CSS values as media features are defined in terms of CSS
  2.1063 +   values after all.
  2.1064 +
  2.1065 +  <p>To <dfn id=serialize-a-media-feature-value>serialize a media feature
  2.1066 +   value</dfn> named <var>v</var> locate <var>v</var> in the first column of
  2.1067 +   the table below and use the serialization format described in the second
  2.1068 +   column:
  2.1069  
  2.1070    <table>
  2.1071 -   <tr>
  2.1072 -    <th>Media Feature
  2.1073 -    <th>Serialization
  2.1074 -   <tr>
  2.1075 -    <td><code>width</code>
  2.1076 -    <td>...
  2.1077 -   <tr>
  2.1078 -    <td><code>height</code>
  2.1079 -    <td>...
  2.1080 -   <tr>
  2.1081 -    <td><code>device-width</code>
  2.1082 -    <td>...
  2.1083 -   <tr>
  2.1084 -    <td><code>device-height</code>
  2.1085 -    <td>...
  2.1086 -   <tr>
  2.1087 -    <td><code>orientation</code>
  2.1088 -    <td>
  2.1089 -     <p>If the value is `<code>portrait</code>`: "<code>portrait</code>".</p>
  2.1090 -     <p>If the value is `<code>landscape</code>`: "<code>landscape</code>".</p>
  2.1091 -   <tr>
  2.1092 -    <td><code>aspect-ratio</code>
  2.1093 -    <td>...
  2.1094 -   <tr>
  2.1095 -    <td><code>device-aspect-ratio</code>
  2.1096 -    <td>...
  2.1097 -   <tr>
  2.1098 -    <td><code>color</code>
  2.1099 -    <td>...
  2.1100 -   <tr>
  2.1101 -    <td><code>color-index</code>
  2.1102 -    <td>...
  2.1103 -   <tr>
  2.1104 -    <td><code>monochrome</code>
  2.1105 -    <td>...
  2.1106 -   <tr>
  2.1107 -    <td><code>resolution</code>
  2.1108 -    <td>...
  2.1109 -   <tr>
  2.1110 -    <td><code>scan</code>
  2.1111 -    <td>
  2.1112 -     <p>If the value is `<code>progressive</code>`: "<code>progressive</code>".</p>
  2.1113 -     <p>If the value is `<code>interlace</code>`: "<code>interlace</code>".</p>
  2.1114 -   <tr>
  2.1115 -    <td><code>grid</code>
  2.1116 -    <td>...
  2.1117 +   <tbody>
  2.1118 +    <tr>
  2.1119 +     <th>Media Feature
  2.1120 +
  2.1121 +     <th>Serialization
  2.1122 +
  2.1123 +    <tr>
  2.1124 +     <td><code>width</code>
  2.1125 +
  2.1126 +     <td>...
  2.1127 +
  2.1128 +    <tr>
  2.1129 +     <td><code>height</code>
  2.1130 +
  2.1131 +     <td>...
  2.1132 +
  2.1133 +    <tr>
  2.1134 +     <td><code>device-width</code>
  2.1135 +
  2.1136 +     <td>...
  2.1137 +
  2.1138 +    <tr>
  2.1139 +     <td><code>device-height</code>
  2.1140 +
  2.1141 +     <td>...
  2.1142 +
  2.1143 +    <tr>
  2.1144 +     <td><code>orientation</code>
  2.1145 +
  2.1146 +     <td>
  2.1147 +      <p>If the value is `<code>portrait</code>`: "<code>portrait</code>".</p>
  2.1148 +
  2.1149 +      <p>If the value is `<code>landscape</code>`: "<code>landscape</code>".</p>
  2.1150 +
  2.1151 +    <tr>
  2.1152 +     <td><code>aspect-ratio</code>
  2.1153 +
  2.1154 +     <td>...
  2.1155 +
  2.1156 +    <tr>
  2.1157 +     <td><code>device-aspect-ratio</code>
  2.1158 +
  2.1159 +     <td>...
  2.1160 +
  2.1161 +    <tr>
  2.1162 +     <td><code>color</code>
  2.1163 +
  2.1164 +     <td>...
  2.1165 +
  2.1166 +    <tr>
  2.1167 +     <td><code>color-index</code>
  2.1168 +
  2.1169 +     <td>...
  2.1170 +
  2.1171 +    <tr>
  2.1172 +     <td><code>monochrome</code>
  2.1173 +
  2.1174 +     <td>...
  2.1175 +
  2.1176 +    <tr>
  2.1177 +     <td><code>resolution</code>
  2.1178 +
  2.1179 +     <td>...
  2.1180 +
  2.1181 +    <tr>
  2.1182 +     <td><code>scan</code>
  2.1183 +
  2.1184 +     <td>
  2.1185 +      <p>If the value is `<code>progressive</code>`:
  2.1186 +       "<code>progressive</code>".</p>
  2.1187 +
  2.1188 +      <p>If the value is `<code>interlace</code>`: "<code>interlace</code>".</p>
  2.1189 +
  2.1190 +    <tr>
  2.1191 +     <td><code>grid</code>
  2.1192 +
  2.1193 +     <td>...
  2.1194    </table>
  2.1195  
  2.1196    <p>Other specifications can extend this table and vendor-prefixed media
  2.1197 -  features can have custom serialization formats as well.</p>
  2.1198 -
  2.1199 +   features can have custom serialization formats as well.</p>
  2.1200    <!-- ........................................................................................................................ -->
  2.1201    <!-- ........................................................................................................................ -->
  2.1202  
  2.1203 -  <h3 id="comparing-media-queries"><span class="secno">4.3 </span>Comparing Media Queries</h3>
  2.1204 -
  2.1205 -  <p>To
  2.1206 -  <dfn id="compare-media-queries">compare media queries</dfn>
  2.1207 -  <var>m1</var> and <var>m2</var> means to
  2.1208 -  <a href="#serialize-a-media-query" title="serialize a media query">serialize</a> them both and
  2.1209 -  return true if they are a
  2.1210 -  <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#case-sensitive">case-sensitive</a> match and false if they
  2.1211 -  are not.</p>
  2.1212 -
  2.1213 +  <h3 id=comparing-media-queries><span class=secno>4.3. </span>Comparing
  2.1214 +   Media Queries</h3>
  2.1215 +
  2.1216 +  <p>To <dfn id=compare-media-queries>compare media queries</dfn>
  2.1217 +   <var>m1</var> and <var>m2</var> means to <a
  2.1218 +   href="#serialize-a-media-query"
  2.1219 +   title="serialize a media query">serialize</a> them both and return true if
  2.1220 +   they are a <span data-anolis-spec=dom>case-sensitive</span> match and
  2.1221 +   false if they are not.</p>
  2.1222    <!-- ........................................................................................................................ -->
  2.1223    <!-- ........................................................................................................................ -->
  2.1224  
  2.1225 -  <h3 id="the-medialist-interface"><span class="secno">4.4 </span>The <code>MediaList</code> Interface</h3>
  2.1226 -
  2.1227 -  <p>An object that implements the <a class="idlType" href="#widl-def-MediaList"><code>MediaList</code></a> interface has an associated <dfn id="collection-of-media-queries">collection of media queries</dfn>.</p>
  2.1228 -<pre class="idl"><span class="idlInterface" id="widl-def-MediaList">interface <span class="idlInterfaceID">MediaList</span> {
  2.1229 -<span class="idlAttribute">    stringifier attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-MediaList-mediaText">mediaText</a></span>;</span>
  2.1230 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>unsigned long</a></span> <span class="idlAttrName"><a href="#widl-MediaList-length">length</a></span>;</span>
  2.1231 -<span class="idlMethod">    <span class="idlMethType"><a>DOMString</a></span> <span class="idlMethName"><a href="#widl-MediaList-item-DOMString-unsigned-long-index">item</a></span> (<span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span> <span class="idlParamName">index</span></span>);</span>
  2.1232 -<span class="idlMethod">    <span class="idlMethType"><a>void</a></span> <span class="idlMethName"><a href="#widl-MediaList-appendMedium-void-DOMString-medium">appendMedium</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">medium</span></span>);</span>
  2.1233 -<span class="idlMethod">    <span class="idlMethType"><a>void</a></span> <span class="idlMethName"><a href="#widl-MediaList-deleteMedium-void-DOMString-medium">deleteMedium</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">medium</span></span>);</span>
  2.1234 +  <h3 id=the-medialist-interface><span class=secno>4.4. </span>The
  2.1235 +   <code>MediaList</code> Interface</h3>
  2.1236 +
  2.1237 +  <p>An object that implements the <a class=idlType
  2.1238 +   href="#widl-def-MediaList"><code>MediaList</code></a> interface has an
  2.1239 +   associated <dfn id=collection-of-media-queries>collection of media
  2.1240 +   queries</dfn>.
  2.1241 +
  2.1242 +  <pre class=idl><span class=idlInterface
  2.1243 +   id=widl-def-MediaList>interface <span
  2.1244 +   class=idlInterfaceID>MediaList</span> {
  2.1245 +<span
  2.1246 +   class=idlAttribute>    stringifier attribute <span
  2.1247 +   class=idlAttrType><a>DOMString</a></span> <span class=idlAttrName><a
  2.1248 +   href="#widl-MediaList-mediaText">mediaText</a></span>;</span>
  2.1249 +<span
  2.1250 +   class=idlAttribute>    readonly attribute <span
  2.1251 +   class=idlAttrType><a>unsigned long</a></span> <span class=idlAttrName><a
  2.1252 +   href="#widl-MediaList-length">length</a></span>;</span>
  2.1253 +<span
  2.1254 +   class=idlMethod>    <span class=idlMethType><a>DOMString</a></span> <span
  2.1255 +   class=idlMethName><a
  2.1256 +   href="#widl-MediaList-item-DOMString-unsigned-long-index">item</a></span> (<span
  2.1257 +   class=idlParam><span class=idlParamType><a>unsigned long</a></span> <span
  2.1258 +   class=idlParamName>index</span></span>);</span>
  2.1259 +<span
  2.1260 +   class=idlMethod>    <span class=idlMethType><a>void</a></span> <span
  2.1261 +   class=idlMethName><a
  2.1262 +   href="#widl-MediaList-appendMedium-void-DOMString-medium">appendMedium</a></span> (<span
  2.1263 +   class=idlParam><span class=idlParamType><a>DOMString</a></span> <span
  2.1264 +   class=idlParamName>medium</span></span>);</span>
  2.1265 +<span
  2.1266 +   class=idlMethod>    <span class=idlMethType><a>void</a></span> <span
  2.1267 +   class=idlMethName><a
  2.1268 +   href="#widl-MediaList-deleteMedium-void-DOMString-medium">deleteMedium</a></span> (<span
  2.1269 +   class=idlParam><span class=idlParamType><a>DOMString</a></span> <span
  2.1270 +   class=idlParamName>medium</span></span>);</span>
  2.1271  };</span></pre>
  2.1272 -<dl class="attributes">
  2.1273 -<dt class="attribute" id="widl-MediaList-mediaText">
  2.1274 -<code>mediaText</code> of type <span class="idlAttrType"><a>DOMString</a></span></dt>
  2.1275 -<dd>
  2.1276 -<p>The <code>mediaText</code> attribute must return a <a href="#serialize-a-media-query-list" title="serialize a media query list">serialization</a>   of the <a href="#collection-of-media-queries">collection of media queries</a>.</p>   <p>Setting the <code>mediaText</code> attribute must run these steps:   <ol>    <li><p>Empty the <a href="#collection-of-media-queries">collection of media queries</a>.</li>    <li><p>If the given value is the empty string terminate these steps.</li>    <li><p>Append all the media queries as a result of <a href="#parse-a-media-query-list" title="parse a media query list">parsing</a> the given    value to the <a href="#collection-of-media-queries">collection of media queries</a>.</li>   </ol></dd>
  2.1277 -<dt class="attribute" id="widl-MediaList-length">
  2.1278 -<code>length</code> of type <span class="idlAttrType"><a>unsigned long</a></span>, readonly</dt>
  2.1279 -<dd>
  2.1280 -<p>The <code>length</code> attribute must return the number of media queries in the <a href="#collection-of-media-queries">collection of media queries</a>.</dd>
  2.1281 -</dl>
  2.1282 -<dl class="methods">
  2.1283 -<dt class="method" id="widl-MediaList-item-DOMString-unsigned-long-index">
  2.1284 -<code>item</code> (<span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span></span>), returns <span class="idlMethType"><a>DOMString</a></span></dt>
  2.1285 -<dd>
  2.1286 -<p>The <code>item</code> method must return the media query in the <a href="#collection-of-media-queries">collection of media queries</a> given by   <var>index</var>, or null, if <var>index</var> is greater than or equal to the number of media queries in the   <a href="#collection-of-media-queries">collection of media queries</a>.</dd>
  2.1287 -<dt class="method" id="widl-MediaList-appendMedium-void-DOMString-medium">
  2.1288 -<code>appendMedium</code> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span></span>), returns <span class="idlMethType"><a>void</a></span></dt>
  2.1289 -<dd>
  2.1290 -<p>The <code>appendMedium</code> method must run these steps:</p>   <ol>    <li><p>Let <var>m</var> be the result of <a href="#parse-a-media-query" title="parse a media query">parsing</a> the given value.</li>    <li><p>If <var>m</var> is null terminate these steps.</li>    <li><p>If <a href="#compare-media-queries" title="compare media queries">comparing</a> <var>m</var> with any of the media queries in the    <a href="#collection-of-media-queries">collection of media queries</a> returns true terminate these steps.</li>    <li><p>Append <var>m</var> to the <a href="#collection-of-media-queries">collection of media queries</a>.</li>   </ol></dd>
  2.1291 -<dt class="method" id="widl-MediaList-deleteMedium-void-DOMString-medium">
  2.1292 -<code>deleteMedium</code> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span></span>), returns <span class="idlMethType"><a>void</a></span></dt>
  2.1293 -<dd>
  2.1294 -<p>The <code>deleteMedium</code> method must run these steps:</p>   <ol>    <li><p>Let <var>m</var> be the result of <a href="#parse-a-media-query" title="parse a media query">parsing</a> the given value.</li>    <li><p>If <var>m</var> is null terminate these steps.</li>    <li><p>Remove any media query from the <a href="#collection-of-media-queries">collection of media queries</a> for which    <a href="#compare-media-queries" title="compare media queries">comparing</a> the media query with <var>m</var> returns true.</li>   </ol></dd>
  2.1295 -</dl>
  2.1296 -<p>To <dfn id="create-a-medialist-object">create a <code>MediaList</code> object</dfn> from a string <var>s</var>, run these steps:</p>   <ol>    <li><p>Create a new {@name} object.</li>    <li><p>Set its <span title="dom-MediaList-mediaText">mediaText</span> attribute to <var>s</var>.</li>    <li><p>Return the newly created <code>{@name}</code> object.</li>   </ol>
  2.1297 -
  2.1298 +
  2.1299 +  <dl class=attributes>
  2.1300 +   <dt class=attribute id=widl-MediaList-mediaText> <code>mediaText</code> of
  2.1301 +    type <span class=idlAttrType><a>DOMString</a></span>
  2.1302 +
  2.1303 +   <dd>
  2.1304 +    <p>The <code>mediaText</code> attribute must return a <a
  2.1305 +     href="#serialize-a-media-query-list"
  2.1306 +     title="serialize a media query list">serialization</a> of the <a
  2.1307 +     href="#collection-of-media-queries">collection of media queries</a>.</p>
  2.1308 +
  2.1309 +    <p>Setting the <code>mediaText</code> attribute must run these steps:
  2.1310 +
  2.1311 +    <ol>
  2.1312 +     <li>
  2.1313 +      <p>Empty the <a href="#collection-of-media-queries">collection of media
  2.1314 +       queries</a>.
  2.1315 +
  2.1316 +     <li>
  2.1317 +      <p>If the given value is the empty string terminate these steps.
  2.1318 +
  2.1319 +     <li>
  2.1320 +      <p>Append all the media queries as a result of <a
  2.1321 +       href="#parse-a-media-query-list"
  2.1322 +       title="parse a media query list">parsing</a> the given value to the <a
  2.1323 +       href="#collection-of-media-queries">collection of media queries</a>.
  2.1324 +    </ol>
  2.1325 +
  2.1326 +   <dt class=attribute id=widl-MediaList-length> <code>length</code> of type
  2.1327 +    <span class=idlAttrType><a>unsigned long</a></span>, readonly
  2.1328 +
  2.1329 +   <dd>
  2.1330 +    <p>The <code>length</code> attribute must return the number of media
  2.1331 +     queries in the <a href="#collection-of-media-queries">collection of
  2.1332 +     media queries</a>.
  2.1333 +  </dl>
  2.1334 +
  2.1335 +  <dl class=methods>
  2.1336 +   <dt class=method id=widl-MediaList-item-DOMString-unsigned-long-index>
  2.1337 +    <code>item</code> (<span class=idlParam><span
  2.1338 +    class=idlParamType><a>unsigned long</a></span></span>), returns <span
  2.1339 +    class=idlMethType><a>DOMString</a></span>
  2.1340 +
  2.1341 +   <dd>
  2.1342 +    <p>The <code>item</code> method must return the media query in the <a
  2.1343 +     href="#collection-of-media-queries">collection of media queries</a>
  2.1344 +     given by <var>index</var>, or null, if <var>index</var> is greater than
  2.1345 +     or equal to the number of media queries in the <a
  2.1346 +     href="#collection-of-media-queries">collection of media queries</a>.
  2.1347 +
  2.1348 +   <dt class=method id=widl-MediaList-appendMedium-void-DOMString-medium>
  2.1349 +    <code>appendMedium</code> (<span class=idlParam><span
  2.1350 +    class=idlParamType><a>DOMString</a></span></span>), returns <span
  2.1351 +    class=idlMethType><a>void</a></span>
  2.1352 +
  2.1353 +   <dd>
  2.1354 +    <p>The <code>appendMedium</code> method must run these steps:</p>
  2.1355 +
  2.1356 +    <ol>
  2.1357 +     <li>
  2.1358 +      <p>Let <var>m</var> be the result of <a href="#parse-a-media-query"
  2.1359 +       title="parse a media query">parsing</a> the given value.
  2.1360 +
  2.1361 +     <li>
  2.1362 +      <p>If <var>m</var> is null terminate these steps.
  2.1363 +
  2.1364 +     <li>
  2.1365 +      <p>If <a href="#compare-media-queries"
  2.1366 +       title="compare media queries">comparing</a> <var>m</var> with any of
  2.1367 +       the media queries in the <a
  2.1368 +       href="#collection-of-media-queries">collection of media queries</a>
  2.1369 +       returns true terminate these steps.
  2.1370 +
  2.1371 +     <li>
  2.1372 +      <p>Append <var>m</var> to the <a
  2.1373 +       href="#collection-of-media-queries">collection of media queries</a>.
  2.1374 +    </ol>
  2.1375 +
  2.1376 +   <dt class=method id=widl-MediaList-deleteMedium-void-DOMString-medium>
  2.1377 +    <code>deleteMedium</code> (<span class=idlParam><span
  2.1378 +    class=idlParamType><a>DOMString</a></span></span>), returns <span
  2.1379 +    class=idlMethType><a>void</a></span>
  2.1380 +
  2.1381 +   <dd>
  2.1382 +    <p>The <code>deleteMedium</code> method must run these steps:</p>
  2.1383 +
  2.1384 +    <ol>
  2.1385 +     <li>
  2.1386 +      <p>Let <var>m</var> be the result of <a href="#parse-a-media-query"
  2.1387 +       title="parse a media query">parsing</a> the given value.
  2.1388 +
  2.1389 +     <li>
  2.1390 +      <p>If <var>m</var> is null terminate these steps.
  2.1391 +
  2.1392 +     <li>
  2.1393 +      <p>Remove any media query from the <a
  2.1394 +       href="#collection-of-media-queries">collection of media queries</a>
  2.1395 +       for which <a href="#compare-media-queries"
  2.1396 +       title="compare media queries">comparing</a> the media query with
  2.1397 +       <var>m</var> returns true.
  2.1398 +    </ol>
  2.1399 +  </dl>
  2.1400 +
  2.1401 +  <p>To <dfn id=create-a-medialist-object>create a <code>MediaList</code>
  2.1402 +   object</dfn> from a string <var>s</var>, run these steps:
  2.1403 +
  2.1404 +  <ol>
  2.1405 +   <li>
  2.1406 +    <p>Create a new {@name} object.
  2.1407 +
  2.1408 +   <li>
  2.1409 +    <p>Set its <span title=dom-MediaList-mediaText>mediaText</span> attribute
  2.1410 +     to <var>s</var>.
  2.1411 +
  2.1412 +   <li>
  2.1413 +    <p>Return the newly created <code>{@name}</code> object.
  2.1414 +  </ol>
  2.1415    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  2.1416  
  2.1417 -  <h2 id="selectors"><span class="secno">5 </span>Selectors</h2>
  2.1418 +  <h2 id=selectors><span class=secno>5. </span>Selectors</h2>
  2.1419  
  2.1420    <p>Selectors are defined in the Selectors specification. This section
  2.1421 -  mainly defines how to serialize them.</p> <!-- XXX ref -->
  2.1422 -
  2.1423 +   mainly defines how to serialize them.</p>
  2.1424 +  <!-- XXX ref -->
  2.1425    <!-- XXX ref universal selector etc? some are in <span> some not -->
  2.1426 -
  2.1427    <!-- ........................................................................................................................ -->
  2.1428    <!-- ........................................................................................................................ -->
  2.1429  
  2.1430 -  <h3 id="parsing-selectors"><span class="secno">5.1 </span>Parsing Selectors</h3>
  2.1431 -
  2.1432 -  <p>To
  2.1433 -  <dfn id="parse-a-group-of-selectors">parse a group of selectors</dfn>
  2.1434 -  means to parse the value using the <code>selectors_group</code>
  2.1435 -  production defined in the Selectors specification and return either a
  2.1436 -  group of selectors if parsing did not fail or null if parsing did
  2.1437 -  fail.</p> <!-- XXX ref -->
  2.1438 -
  2.1439 +  <h3 id=parsing-selectors><span class=secno>5.1. </span>Parsing Selectors</h3>
  2.1440 +
  2.1441 +  <p>To <dfn id=parse-a-group-of-selectors>parse a group of selectors</dfn>
  2.1442 +   means to parse the value using the <code>selectors_group</code> production
  2.1443 +   defined in the Selectors specification and return either a group of
  2.1444 +   selectors if parsing did not fail or null if parsing did fail.</p>
  2.1445 +  <!-- XXX ref -->
  2.1446    <!-- ........................................................................................................................ -->
  2.1447    <!-- ........................................................................................................................ -->
  2.1448  
  2.1449 -  <h3 id="serializing-selectors"><span class="secno">5.2 </span>Serializing Selectors</h3>
  2.1450 +  <h3 id=serializing-selectors><span class=secno>5.2. </span>Serializing
  2.1451 +   Selectors</h3>
  2.1452    <!-- http://dump.testsuite.org/2009/cssom/serializing-selectors.htm -->
  2.1453  
  2.1454 -  <p>To
  2.1455 -  <dfn id="serialize-a-group-of-selectors">serialize a group of selectors</dfn>
  2.1456 -  <a href="#serialize-a-selector" title="serialize a selector">serialize</a> each selector in the
  2.1457 -  group of selectors and then
  2.1458 -  <a href="#serialize-a-comma-separated-list" title="serialize a comma-separated list">serialize</a> the
  2.1459 -  group.</p>
  2.1460 -
  2.1461 -  <p>To <dfn id="serialize-a-selector">serialize a selector</dfn> let
  2.1462 -  <var>s</var> be the empty string, run the steps below for each
  2.1463 -  part of the chain of the selector, and finally return
  2.1464 -  <var>s</var>:</p>
  2.1465 +  <p>To <dfn id=serialize-a-group-of-selectors>serialize a group of
  2.1466 +   selectors</dfn> <a href="#serialize-a-selector"
  2.1467 +   title="serialize a selector">serialize</a> each selector in the group of
  2.1468 +   selectors and then <a href="#serialize-a-comma-separated-list"
  2.1469 +   title="serialize a comma-separated list">serialize</a> the group.
  2.1470 +
  2.1471 +  <p>To <dfn id=serialize-a-selector>serialize a selector</dfn> let
  2.1472 +   <var>s</var> be the empty string, run the steps below for each part of the
  2.1473 +   chain of the selector, and finally return <var>s</var>:
  2.1474  
  2.1475    <ol>
  2.1476 -   <li><p>If there is only one <span>simple selector</span> in the
  2.1477 -   <span>sequence of simple selectors</span> which is a
  2.1478 -   <span>universal selector</span>, append the result of
  2.1479 -   <a href="#serialize-a-simple-selector" title="serialize a simple selector">serializing</a> the
  2.1480 -   <span>universal selector</span> to <var>s</var>.</li>
  2.1481 -
  2.1482 -   <li><p>Otherwise, for each <span>simple selector</span> in the
  2.1483 -   <span>sequence of simple selectors</span> that is not a
  2.1484 -   universal selector of which the <span>namespace prefix</span> maps to
  2.1485 -   the null namespace (not in a namespace) or of which the
  2.1486 -   <span>namespace prefix</span> maps to a namespace that is not the
  2.1487 -   <span>default namespace</span>
  2.1488 -   <a href="#serialize-a-simple-selector" title="serialize a simple selector">serialize</a> the
  2.1489 -   <span>simple selector</span> and append the result to
  2.1490 -   <var>s</var>.</li>
  2.1491 -
  2.1492 -   <li><p>If this is not the last part of the chain of the selector append a
  2.1493 -   space (U+0020), followed by the combinator
  2.1494 -   "<code>&gt;</code>",
  2.1495 -   "<code>+</code>", or
  2.1496 -   "<code>~</code>"
  2.1497 -   as appropriate, followed by another space (U+0020) if the combinator was
  2.1498 -   not whitespace, to <var>s</var>.</li>
  2.1499 -
  2.1500 -   <li><p>If this is the last part of the chain of the selector and there is
  2.1501 -   a pseudo-element, append "<code>::</code>" followed by the name of the
  2.1502 -   pseudo-class, to <var>s</var>.</li>
  2.1503 +   <li>
  2.1504 +    <p>If there is only one <span>simple selector</span> in the
  2.1505 +     <span>sequence of simple selectors</span> which is a <span>universal
  2.1506 +     selector</span>, append the result of <a
  2.1507 +     href="#serialize-a-simple-selector"
  2.1508 +     title="serialize a simple selector">serializing</a> the <span>universal
  2.1509 +     selector</span> to <var>s</var>.
  2.1510 +
  2.1511 +   <li>
  2.1512 +    <p>Otherwise, for each <span>simple selector</span> in the <span>sequence
  2.1513 +     of simple selectors</span> that is not a universal selector of which the
  2.1514 +     <span>namespace prefix</span> maps to the null namespace (not in a
  2.1515 +     namespace) or of which the <span>namespace prefix</span> maps to a
  2.1516 +     namespace that is not the <span>default namespace</span> <a
  2.1517 +     href="#serialize-a-simple-selector"
  2.1518 +     title="serialize a simple selector">serialize</a> the <span>simple
  2.1519 +     selector</span> and append the result to <var>s</var>.
  2.1520 +
  2.1521 +   <li>
  2.1522 +    <p>If this is not the last part of the chain of the selector append a
  2.1523 +     space (U+0020), followed by the combinator "<code>&gt;</code>",
  2.1524 +     "<code>+</code>", or "<code>~</code>" as appropriate, followed by
  2.1525 +     another space (U+0020) if the combinator was not whitespace, to
  2.1526 +     <var>s</var>.
  2.1527 +
  2.1528 +   <li>
  2.1529 +    <p>If this is the last part of the chain of the selector and there is a
  2.1530 +     pseudo-element, append "<code>::</code>" followed by the name of the
  2.1531 +     pseudo-class, to <var>s</var>.
  2.1532    </ol>
  2.1533  
  2.1534 -
  2.1535 -  <p>To
  2.1536 -  <dfn id="serialize-a-simple-selector">serialize a simple selector</dfn>
  2.1537 -  let <var>s</var> be the empty string, run the steps below, and
  2.1538 -  finally return <var>s</var>:</p>
  2.1539 -
  2.1540 -  <dl class="switch">
  2.1541 -   <dt>type selector</dt>
  2.1542 -   <dt>universal selector</dt>
  2.1543 +  <p>To <dfn id=serialize-a-simple-selector>serialize a simple selector</dfn>
  2.1544 +   let <var>s</var> be the empty string, run the steps below, and finally
  2.1545 +   return <var>s</var>:
  2.1546 +
  2.1547 +  <dl class=switch>
  2.1548 +   <dt>type selector
  2.1549 +
  2.1550 +   <dt>universal selector
  2.1551 +
  2.1552     <dd>
  2.1553      <ol>
  2.1554 -     <li><p>If the <span>namespace prefix</span> maps to a namespace that is
  2.1555 -     not the <span>default namespace</span> and is not the
  2.1556 -     null namespace (not in a namespace) append the
  2.1557 -     <a href="#serialize-an-identifier" title="serialize an identifier">escaped</a>
  2.1558 -     <span>namespace prefix</span>, followed by a "<code>|</code>" (U+007C)
  2.1559 -     to <var>s</var>.</li>
  2.1560 -
  2.1561 -     <li><p>If the <span>namespace prefix</span> maps to a namespace that is
  2.1562 -     the null namespace (not in a namespace) append
  2.1563 -     "<code>|</code>" (U+007C) to <var>s</var>.</li>
  2.1564 +     <li>
  2.1565 +      <p>If the <span>namespace prefix</span> maps to a namespace that is not
  2.1566 +       the <span>default namespace</span> and is not the null namespace (not
  2.1567 +       in a namespace) append the <a href="#serialize-an-identifier"
  2.1568 +       title="serialize an identifier">escaped</a> <span>namespace
  2.1569 +       prefix</span>, followed by a "<code>|</code>" (U+007C) to
  2.1570 +       <var>s</var>.
  2.1571 +
  2.1572 +     <li>
  2.1573 +      <p>If the <span>namespace prefix</span> maps to a namespace that is the
  2.1574 +       null namespace (not in a namespace) append "<code>|</code>" (U+007C)
  2.1575 +       to <var>s</var>.
  2.1576 +     </li>
  2.1577       <!-- This includes |* -->
  2.1578  
  2.1579 -     <li><p>If this is a type selector append the
  2.1580 -     <a href="#serialize-an-identifier" title="serialize an identifier">escaped</a> element name to
  2.1581 -     <var>s</var>.</li>
  2.1582 -
  2.1583 -     <li><p>If this is a universal selector append "<code>*</code>" (U+002A)
  2.1584 -     to <var>s</var>.</li>
  2.1585 +     <li>
  2.1586 +      <p>If this is a type selector append the <a
  2.1587 +       href="#serialize-an-identifier"
  2.1588 +       title="serialize an identifier">escaped</a> element name to
  2.1589 +       <var>s</var>.
  2.1590 +
  2.1591 +     <li>
  2.1592 +      <p>If this is a universal selector append "<code>*</code>" (U+002A) to
  2.1593 +       <var>s</var>.
  2.1594      </ol>
  2.1595 -   </dd>
  2.1596 -
  2.1597 -   <dt>attribute selector</dt>
  2.1598 +
  2.1599 +   <dt>attribute selector
  2.1600 +
  2.1601     <dd>
  2.1602      <ol>
  2.1603 -     <li><p>Append "<code>[</code>" (U+005B) to
  2.1604 -     <var>s</var>.</li>
  2.1605 -
  2.1606 -     <li><p>If the <span>namespace prefix</span> maps to a namespace that is
  2.1607 -     not the null namespace (not in a namespace) append the
  2.1608 -     <a href="#serialize-an-identifier" title="serialize an identifier">escaped</a>
  2.1609 -     <span>namespace prefix</span>, followed by a "<code>|</code>" (U+007C)
  2.1610 -     to <var>s</var>.</li>
  2.1611 -
  2.1612 -     <li><p>If the <span>namespace prefix</span> maps to a namespace that is
  2.1613 -     the null namespace (not in a namespace) append
  2.1614 -     "<code>|</code>" (U+007C) to <var>s</var>.</li>
  2.1615 +     <li>
  2.1616 +      <p>Append "<code>[</code>" (U+005B) to <var>s</var>.
  2.1617 +
  2.1618 +     <li>
  2.1619 +      <p>If the <span>namespace prefix</span> maps to a namespace that is not
  2.1620 +       the null namespace (not in a namespace) append the <a
  2.1621 +       href="#serialize-an-identifier"
  2.1622 +       title="serialize an identifier">escaped</a> <span>namespace
  2.1623 +       prefix</span>, followed by a "<code>|</code>" (U+007C) to
  2.1624 +       <var>s</var>.
  2.1625 +
  2.1626 +     <li>
  2.1627 +      <p>If the <span>namespace prefix</span> maps to a namespace that is the
  2.1628 +       null namespace (not in a namespace) append "<code>|</code>" (U+007C)
  2.1629 +       to <var>s</var>.
  2.1630 +     </li>
  2.1631       <!-- This includes |* -->
  2.1632  
  2.1633 -     <li><p>Append the <a href="#serialize-an-identifier" title="serialize an identifier">escaped</a>
  2.1634 -     attribute name to <var>s</var>.</li>
  2.1635 -
  2.1636 -     <li><p>If there is an attribute value specified, append
  2.1637 -     "<code>=</code>",
  2.1638 -     "<code>~=</code>",
  2.1639 -     "<code>|=</code>",
  2.1640 -     "<code>^=</code>",
  2.1641 -     "<code>$=</code>", or
  2.1642 -     "<code>*=</code>"
  2.1643 -     as appropriate (depending on the type of attribute selector), followed
  2.1644 -     by the <a href="#serialize-a-string" title="serialize a string">string escaped</a>
  2.1645 -     attribute value, to <var>s</var>.</li>
  2.1646 -
  2.1647 -     <li><p>Append "<code>]</code>" (U+005D) to
  2.1648 -     <var>s</var>.</li>
  2.1649 +     <li>
  2.1650 +      <p>Append the <a href="#serialize-an-identifier"
  2.1651 +       title="serialize an identifier">escaped</a> attribute name to
  2.1652 +       <var>s</var>.
  2.1653 +
  2.1654 +     <li>
  2.1655 +      <p>If there is an attribute value specified, append "<code>=</code>",
  2.1656 +       "<code>~=</code>", "<code>|=</code>", "<code>^=</code>",
  2.1657 +       "<code>$=</code>", or "<code>*=</code>" as appropriate (depending on
  2.1658 +       the type of attribute selector), followed by the <a
  2.1659 +       href="#serialize-a-string" title="serialize a string">string
  2.1660 +       escaped</a> attribute value, to <var>s</var>.
  2.1661 +
  2.1662 +     <li>
  2.1663 +      <p>Append "<code>]</code>" (U+005D) to <var>s</var>.
  2.1664      </ol>
  2.1665 -   </dd>
  2.1666 -
  2.1667 -   <dt>class selector</dt>
  2.1668 -   <dd><p>Append a "<code>.</code>" (U+002E), followed by the
  2.1669 -   <a href="#serialize-an-identifier" title="serialize an identifier">escaped</a> class name to
  2.1670 -   <var>s</var>.</dd>
  2.1671 -
  2.1672 -   <dt>ID selector</dt>
  2.1673 -   <dd><p>Append a "<code>#</code>" (U+0023), followed by the
  2.1674 -   <a href="#serialize-an-identifier" title="serialize an identifier">escaped</a> ID to
  2.1675 -   <var>s</var>.</dd>
  2.1676 -
  2.1677 -   <dt>pseudo-class</dt>
  2.1678 +
  2.1679 +   <dt>class selector
  2.1680 +
  2.1681     <dd>
  2.1682 -    <p>If the pseudo-class does not accept arguments append
  2.1683 -    "<code>:</code>" (U+003A), followed by the name of the pseudo-class, to
  2.1684 -    <var>s</var>.</p>
  2.1685 +    <p>Append a "<code>.</code>" (U+002E), followed by the <a
  2.1686 +     href="#serialize-an-identifier"
  2.1687 +     title="serialize an identifier">escaped</a> class name to <var>s</var>.
  2.1688 +
  2.1689 +   <dt>ID selector
  2.1690 +
  2.1691 +   <dd>
  2.1692 +    <p>Append a "<code>#</code>" (U+0023), followed by the <a
  2.1693 +     href="#serialize-an-identifier"
  2.1694 +     title="serialize an identifier">escaped</a> ID to <var>s</var>.
  2.1695 +
  2.1696 +   <dt>pseudo-class
  2.1697 +
  2.1698 +   <dd>
  2.1699 +    <p>If the pseudo-class does not accept arguments append "<code>:</code>"
  2.1700 +     (U+003A), followed by the name of the pseudo-class, to <var>s</var>.</p>
  2.1701  
  2.1702      <p>Otherwise, append "<code>:</code>" (U+003A), followed by the name of
  2.1703 -    the pseudo-class, followed by "<code>(</code>" (U+0028), followed by the
  2.1704 -    value of the pseudo-class argument determined as per below, followed by
  2.1705 -    "<code>)</code>" (U+0029), to <var>s</var>.</p>
  2.1706 -
  2.1707 -    <dl class="switch">
  2.1708 -     <dt><code>:lang()</code></dt>
  2.1709 -     <dd><p>The <a href="#serialize-an-identifier" title="serialize an identifier">escaped</a>
  2.1710 -     value.</dd>
  2.1711 -
  2.1712 -     <dt><code>:nth-child()</code></dt>
  2.1713 -     <dt><code>:nth-last-child()</code></dt>
  2.1714 -     <dt><code>:nth-of-type()</code></dt>
  2.1715 -     <dt><code>:nth-last-of-type()</code></dt>
  2.1716 +     the pseudo-class, followed by "<code>(</code>" (U+0028), followed by the
  2.1717 +     value of the pseudo-class argument determined as per below, followed by
  2.1718 +     "<code>)</code>" (U+0029), to <var>s</var>.</p>
  2.1719 +
  2.1720 +    <dl class=switch>
  2.1721 +     <dt><code>:lang()</code>
  2.1722 +
  2.1723 +     <dd>
  2.1724 +      <p>The <a href="#serialize-an-identifier"
  2.1725 +       title="serialize an identifier">escaped</a> value.
  2.1726 +
  2.1727 +     <dt><code>:nth-child()</code>
  2.1728 +
  2.1729 +     <dt><code>:nth-last-child()</code>
  2.1730 +
  2.1731 +     <dt><code>:nth-of-type()</code>
  2.1732 +
  2.1733 +     <dt><code>:nth-last-of-type()</code>
  2.1734 +
  2.1735       <dd>
  2.1736        <ol>
  2.1737 -       <li><p>If the value is odd let the value be
  2.1738 -       "<code>2n+1</code>".</li>
  2.1739 -
  2.1740 -       <li><p>If the value is even let the value be
  2.1741 -       "<code>2n</code>".</li>
  2.1742 -
  2.1743 -       <li><p>If <var>a</var> is zero let the value be
  2.1744 -       <var>b</var>
  2.1745 -       <a href="#serialize-a-css-value-component" title="serialize a CSS component value">serialized</a> as &lt;integer&gt;.</li>
  2.1746 -
  2.1747 -       <li><p>If <var>a</var> is one or minus one and
  2.1748 -       <var>b</var> is zero let the value be
  2.1749 -       "<code>n</code>" (U+006E).</li>
  2.1750 -
  2.1751 -       <li><p>If <var>a</var> is one or minus one let the value be
  2.1752 -       "<code>n</code>" (U+006E), followed by
  2.1753 -       "<code>+</code>" (U+002B) if <var>b</var> is positive,
  2.1754 -       followed by <var>b</var>
  2.1755 -       <a href="#serialize-a-css-value-component" title="serialize a CSS component value">serialized</a> as &lt;integer&gt;.</li>
  2.1756 -
  2.1757 -       <li><p>If <var>b</var> is zero let the value be
  2.1758 -       <var>a</var>
  2.1759 -       <a href="#serialize-a-css-value-component" title="serialize a CSS component value">serialized</a> as &lt;integer&gt;,
  2.1760 -       followed by "<code>n</code>" (U+006E).</li>
  2.1761 -
  2.1762 -       <li><p>Otherwise let the value be
  2.1763 -       <var>a</var>
  2.1764 -       <a href="#serialize-a-css-value-component" title="serialize a CSS component value">serialized</a> as &lt;integer&gt;,
  2.1765 -       followed by "<code>n</code>" (U+006E), followed by
  2.1766 -       "<code>+</code>" (U+002B) if <var>b</var> is positive,
  2.1767 -       followed by <var>b</var>
  2.1768 -       <a href="#serialize-a-css-value-component" title="serialize a CSS component value">serialized</a> as &lt;integer&gt;.</li>
  2.1769 +       <li>
  2.1770 +        <p>If the value is odd let the value be "<code>2n+1</code>".
  2.1771 +
  2.1772 +       <li>
  2.1773 +        <p>If the value is even let the value be "<code>2n</code>".
  2.1774 +
  2.1775 +       <li>
  2.1776 +        <p>If <var>a</var> is zero let the value be <var>b</var> <a
  2.1777 +         href="#serialize-a-css-value-component"
  2.1778 +         title="serialize a CSS component value">serialized</a> as
  2.1779 +         &lt;integer&gt;.
  2.1780 +
  2.1781 +       <li>
  2.1782 +        <p>If <var>a</var> is one or minus one and <var>b</var> is zero let
  2.1783 +         the value be "<code>n</code>" (U+006E).
  2.1784 +
  2.1785 +       <li>
  2.1786 +        <p>If <var>a</var> is one or minus one let the value be
  2.1787 +         "<code>n</code>" (U+006E), followed by "<code>+</code>" (U+002B) if
  2.1788 +         <var>b</var> is positive, followed by <var>b</var> <a
  2.1789 +         href="#serialize-a-css-value-component"
  2.1790 +         title="serialize a CSS component value">serialized</a> as
  2.1791 +         &lt;integer&gt;.
  2.1792 +
  2.1793 +       <li>
  2.1794 +        <p>If <var>b</var> is zero let the value be <var>a</var> <a
  2.1795 +         href="#serialize-a-css-value-component"
  2.1796 +         title="serialize a CSS component value">serialized</a> as
  2.1797 +         &lt;integer&gt;, followed by "<code>n</code>" (U+006E).
  2.1798 +
  2.1799 +       <li>
  2.1800 +        <p>Otherwise let the value be <var>a</var> <a
  2.1801 +         href="#serialize-a-css-value-component"
  2.1802 +         title="serialize a CSS component value">serialized</a> as
  2.1803 +         &lt;integer&gt;, followed by "<code>n</code>" (U+006E), followed by
  2.1804 +         "<code>+</code>" (U+002B) if <var>b</var> is positive, followed by
  2.1805 +         <var>b</var> <a href="#serialize-a-css-value-component"
  2.1806 +         title="serialize a CSS component value">serialized</a> as
  2.1807 +         &lt;integer&gt;.
  2.1808        </ol>
  2.1809 -     </dd>
  2.1810 -
  2.1811 -     <dt><code>:not()</code></dt>
  2.1812 -     <dd><p>The result of serializing the value using the rules for
  2.1813 -     <a href="#serialize-a-group-of-selectors" title="serialize a group of selectors">serializing a group of selectors</a>.</dd>
  2.1814 +
  2.1815 +     <dt><code>:not()</code>
  2.1816 +
  2.1817 +     <dd>
  2.1818 +      <p>The result of serializing the value using the rules for <a
  2.1819 +       href="#serialize-a-group-of-selectors"
  2.1820 +       title="serialize a group of selectors">serializing a group of
  2.1821 +       selectors</a>.
  2.1822      </dl>
  2.1823 -   </dd>
  2.1824    </dl>
  2.1825 -
  2.1826    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  2.1827  
  2.1828 -  <h2 id="css"><span class="secno">6 </span>CSS</h2>
  2.1829 -
  2.1830 +  <h2 id=css><span class=secno>6. </span>CSS</h2>
  2.1831    <!-- ........................................................................................................................ -->
  2.1832    <!-- ........................................................................................................................ -->
  2.1833  
  2.1834 -  <h3 id="style-sheet-0"><span class="secno">6.1 </span>Style Sheet</h3>
  2.1835 -
  2.1836 +  <h3 id=style-sheet0><span class=secno>6.1. </span>Style Sheet</h3>
  2.1837    <!-- XXX
  2.1838     element inserted into the DOM, style sheet created, element removed from
  2.1839     the DOM, what happens to StyleSheet?
  2.1840    -->
  2.1841  
  2.1842 -  <p>A <dfn id="style-sheet">style sheet</dfn> is an abstract concept that
  2.1843 -  represents a style sheet as defined by the CSS specification. In the DOM a
  2.1844 -  <a href="#style-sheet">style sheet</a> is a <code>CSSStyleSheet</code> object. A
  2.1845 -  <a href="#style-sheet">style sheet</a> has a number of associated properties:</p>
  2.1846 +  <p>A <dfn id=style-sheet>style sheet</dfn> is an abstract concept that
  2.1847 +   represents a style sheet as defined by the CSS specification. In the DOM a
  2.1848 +   <a href="#style-sheet">style sheet</a> is a <code>CSSStyleSheet</code>
  2.1849 +   object. A <a href="#style-sheet">style sheet</a> has a number of
  2.1850 +   associated properties:
  2.1851  
  2.1852    <dl>
  2.1853 -   <dt><dfn id="style-sheet-type">style sheet type</dfn></dt>
  2.1854 -   <dd><p>The literal string "<code>text/css</code>".</dd>
  2.1855 -
  2.1856 -   <dt><dfn id="style-sheet-location">style sheet location</dfn></dt>
  2.1857 -   <dd><p>The <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#url">URL</a> of the
  2.1858 -   <a href="#style-sheet">style sheet</a> or null if the <a href="#style-sheet">style sheet</a> was
  2.1859 -   embedded.</dd>
  2.1860 -
  2.1861 -   <dt><dfn id="style-sheet-parent">style sheet parent</dfn></dt>
  2.1862 -   <dd><p>The <a href="#style-sheet">style sheet</a> that is the parent of the
  2.1863 -   <a href="#style-sheet">style sheet</a>.</dd>
  2.1864 -
  2.1865 -   <dt><dfn id="style-sheet-owner-node">style sheet owner node</dfn></dt>
  2.1866 -   <dd><p>The DOM node associated with the <a href="#style-sheet">style sheet</a> or
  2.1867 -   null if there is no associated DOM node.</dd>
  2.1868 -
  2.1869 -   <dt><dfn id="style-sheet-owner-css-rule">style sheet owner CSS rule</dfn></dt>
  2.1870 -   <dd><p>The <span>CSS rule</span> in the <a href="#style-sheet-parent">style sheet parent</a>
  2.1871 -   that caused the inclusion of the <a href="#style-sheet">style sheet</a> or null if
  2.1872 -   there is no such <span>CSS rule</span>.</dd>
  2.1873 -
  2.1874 -   <dt><dfn id="style-sheet-media">style sheet media</dfn></dt>
  2.1875 +   <dt><dfn id=style-sheet-type>style sheet type</dfn>
  2.1876 +
  2.1877     <dd>
  2.1878 -    <p>The <code>MediaList</code> object associated with the
  2.1879 -    <a href="#style-sheet">style sheet</a>.</p>
  2.1880 -
  2.1881 -    <p>If this property is set to a string run the
  2.1882 -    <a href="#create-a-medialist-object">create a <code>MediaList</code> object</a> steps for that
  2.1883 -    string and associate the returned object with the
  2.1884 -    <a href="#style-sheet">style sheet</a>.</p>
  2.1885 -   </dd>
  2.1886 -
  2.1887 -   <dt><dfn id="style-sheet-title">style sheet title</dfn></dt>
  2.1888 +    <p>The literal string "<code>text/css</code>".
  2.1889 +
  2.1890 +   <dt><dfn id=style-sheet-location>style sheet location</dfn>
  2.1891 +
  2.1892     <dd>
  2.1893 -    <p>The title of the <a href="#style-sheet">style sheet</a>. It is said to be empty
  2.1894 -    if the title is the empty string.</p>
  2.1895 -
  2.1896 -    <div class="example">
  2.1897 -     <p>In these examples the <a href="#style-sheet-title">style sheet title</a> ends up being
  2.1898 -     empty:</p>
  2.1899 +    <p>The <span data-anolis-spec=html>URL</span> of the <a
  2.1900 +     href="#style-sheet">style sheet</a> or null if the <a
  2.1901 +     href="#style-sheet">style sheet</a> was embedded.
  2.1902 +
  2.1903 +   <dt><dfn id=style-sheet-parent>style sheet parent</dfn>
  2.1904 +
  2.1905 +   <dd>
  2.1906 +    <p>The <a href="#style-sheet">style sheet</a> that is the parent of the
  2.1907 +     <a href="#style-sheet">style sheet</a>.
  2.1908 +
  2.1909 +   <dt><dfn id=style-sheet-owner-node>style sheet owner node</dfn>
  2.1910 +
  2.1911 +   <dd>
  2.1912 +    <p>The DOM node associated with the <a href="#style-sheet">style
  2.1913 +     sheet</a> or null if there is no associated DOM node.
  2.1914 +
  2.1915 +   <dt><dfn id=style-sheet-owner-css-rule>style sheet owner CSS rule</dfn>
  2.1916 +
  2.1917 +   <dd>
  2.1918 +    <p>The <span>CSS rule</span> in the <a href="#style-sheet-parent">style
  2.1919 +     sheet parent</a> that caused the inclusion of the <a
  2.1920 +     href="#style-sheet">style sheet</a> or null if there is no such
  2.1921 +     <span>CSS rule</span>.
  2.1922 +
  2.1923 +   <dt><dfn id=style-sheet-media>style sheet media</dfn>
  2.1924 +
  2.1925 +   <dd>
  2.1926 +    <p>The <code>MediaList</code> object associated with the <a
  2.1927 +     href="#style-sheet">style sheet</a>.</p>
  2.1928 +
  2.1929 +    <p>If this property is set to a string run the <a
  2.1930 +     href="#create-a-medialist-object">create a <code>MediaList</code>
  2.1931 +     object</a> steps for that string and associate the returned object with
  2.1932 +     the <a href="#style-sheet">style sheet</a>.</p>
  2.1933 +
  2.1934 +   <dt><dfn id=style-sheet-title>style sheet title</dfn>
  2.1935 +
  2.1936 +   <dd>
  2.1937 +    <p>The title of the <a href="#style-sheet">style sheet</a>. It is said to
  2.1938 +     be empty if the title is the empty string.</p>
  2.1939 +
  2.1940 +    <div class=example>
  2.1941 +     <p>In these examples the <a href="#style-sheet-title">style sheet
  2.1942 +      title</a> ends up being empty:</p>
  2.1943  
  2.1944       <pre>&lt;style&gt; body { background:papayawhip } &lt;/style&gt;</pre>
  2.1945  
  2.1946       <pre>&lt;style&gt; body { background:orange } &lt;/style&gt;</pre>
  2.1947      </div>
  2.1948 -   </dd>
  2.1949 -
  2.1950 -   <dt><dfn id="style-sheet-alternate-flag">style sheet alternate flag</dfn></dt>
  2.1951 +
  2.1952 +   <dt><dfn id=style-sheet-alternate-flag>style sheet alternate flag</dfn>
  2.1953 +
  2.1954     <dd>
  2.1955      <p>Either set or unset. Unset by default.</p>
  2.1956  
  2.1957 -    <div class="example">
  2.1958 -     <p>The following <a href="#style-sheet" title="style sheet">style sheets</a> have
  2.1959 -     their <a href="#style-sheet-alternate-flag">style sheet alternate flag</a> set:</p>
  2.1960 +    <div class=example>
  2.1961 +     <p>The following <a href="#style-sheet" title="style sheet">style
  2.1962 +      sheets</a> have their <a href="#style-sheet-alternate-flag">style sheet
  2.1963 +      alternate flag</a> set:</p>
  2.1964  
  2.1965       <pre><code>&lt;?xml-stylesheet alternate="yes" title="x" href="data:text/css,…"?&gt;</code></pre>
  2.1966  
  2.1967       <pre><code>&lt;link rel="alternate stylesheet" title="x" href="data:text/css,…"&gt;</code></pre>
  2.1968      </div>
  2.1969 -   </dd>
  2.1970 -
  2.1971 -   <dt><dfn id="style-sheet-disabled-flag">style sheet disabled flag</dfn></dt>
  2.1972 +
  2.1973 +   <dt><dfn id=style-sheet-disabled-flag>style sheet disabled flag</dfn>
  2.1974 +
  2.1975     <dd>
  2.1976      <p>Either set or unset. Unset by default.</p>
  2.1977  
  2.1978 -    <p class="note">Even when unset it does not necessarily mean that the
  2.1979 -    <a href="#style-sheet">style sheet</a> is actually used for rendering.</p>
  2.1980 -   </dd>
  2.1981 -
  2.1982 -
  2.1983 -   <dt><dfn id="style-sheet-css-rules">style sheet CSS rules</dfn></dt>
  2.1984 -   <dd><p>The <span title="CSS rule">CSS rules</span> associated with the
  2.1985 -   <a href="#style-sheet">style sheet</a>.</dd>
  2.1986 +    <p class=note>Even when unset it does not necessarily mean that the <a
  2.1987 +     href="#style-sheet">style sheet</a> is actually used for rendering.</p>
  2.1988 +
  2.1989 +   <dt><dfn id=style-sheet-css-rules>style sheet CSS rules</dfn>
  2.1990 +
  2.1991 +   <dd>
  2.1992 +    <p>The <span title="CSS rule">CSS rules</span> associated with the <a
  2.1993 +     href="#style-sheet">style sheet</a>.
  2.1994    </dl>
  2.1995  
  2.1996 -  <p>When you are to <a href="#create-a-style-sheet">create a style sheet</a> the above properties,
  2.1997 -  with the exception of <a href="#style-sheet-type">style sheet type</a> and
  2.1998 -  <a href="#style-sheet-css-rules">style sheet CSS rules</a>, are to be set to
  2.1999 -  their proper values.</p>
  2.2000 -
  2.2001 +  <p>When you are to <a href="#create-a-style-sheet">create a style sheet</a>
  2.2002 +   the above properties, with the exception of <a
  2.2003 +   href="#style-sheet-type">style sheet type</a> and <a
  2.2004 +   href="#style-sheet-css-rules">style sheet CSS rules</a>, are to be set to
  2.2005 +   their proper values.</p>
  2.2006    <!-- same-origin restrictions -->
  2.2007 -
  2.2008    <!-- ........................................................................................................................ -->
  2.2009  
  2.2010 -  <h4 id="the-stylesheet-interface"><span class="secno">6.1.1 </span>The <code>StyleSheet</code> Interface</h4>
  2.2011 -
  2.2012 -  <p>The <code>StyleSheet</code> interface represents an abstract, base style sheet.</p>
  2.2013 -<pre class="idl"><span class="idlInterface" id="widl-def-StyleSheet">interface <span class="idlInterfaceID">StyleSheet</span> {
  2.2014 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-StyleSheet-type">type</a></span>;</span>
  2.2015 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-StyleSheet-href">href</a></span>;</span>
  2.2016 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>Node</a></span> <span class="idlAttrName"><a href="#widl-StyleSheet-ownerNode">ownerNode</a></span>;</span>
  2.2017 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>StyleSheet</a></span> <span class="idlAttrName"><a href="#widl-StyleSheet-parentStyleSheet">parentStyleSheet</a></span>;</span>
  2.2018 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-StyleSheet-title">title</a></span>;</span>
  2.2019 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>MediaList</a></span> <span class="idlAttrName"><a href="#widl-StyleSheet-media">media</a></span>;</span>
  2.2020 -<span class="idlAttribute">    attribute <span class="idlAttrType"><a>boolean</a></span> <span class="idlAttrName"><a href="#widl-StyleSheet-disabled">disabled</a></span>;</span>
  2.2021 +  <h4 id=the-stylesheet-interface><span class=secno>6.1.1. </span>The
  2.2022 +   <code>StyleSheet</code> Interface</h4>
  2.2023 +
  2.2024 +  <p>The <code>StyleSheet</code> interface represents an abstract, base style
  2.2025 +   sheet.
  2.2026 +
  2.2027 +  <pre class=idl><span class=idlInterface
  2.2028 +   id=widl-def-StyleSheet>interface <span
  2.2029 +   class=idlInterfaceID>StyleSheet</span> {
  2.2030 +<span
  2.2031 +   class=idlAttribute>    readonly attribute <span
  2.2032 +   class=idlAttrType><a>DOMString</a></span> <span class=idlAttrName><a
  2.2033 +   href="#widl-StyleSheet-type">type</a></span>;</span>
  2.2034 +<span
  2.2035 +   class=idlAttribute>    readonly attribute <span
  2.2036 +   class=idlAttrType><a>DOMString</a></span> <span class=idlAttrName><a
  2.2037 +   href="#widl-StyleSheet-href">href</a></span>;</span>
  2.2038 +<span
  2.2039 +   class=idlAttribute>    readonly attribute <span
  2.2040 +   class=idlAttrType><a>Node</a></span> <span class=idlAttrName><a
  2.2041 +   href="#widl-StyleSheet-ownerNode">ownerNode</a></span>;</span>
  2.2042 +<span
  2.2043 +   class=idlAttribute>    readonly attribute <span
  2.2044 +   class=idlAttrType><a>StyleSheet</a></span> <span class=idlAttrName><a
  2.2045 +   href="#widl-StyleSheet-parentStyleSheet">parentStyleSheet</a></span>;</span>
  2.2046 +<span
  2.2047 +   class=idlAttribute>    readonly attribute <span
  2.2048 +   class=idlAttrType><a>DOMString</a></span> <span class=idlAttrName><a
  2.2049 +   href="#widl-StyleSheet-title">title</a></span>;</span>
  2.2050 +<span
  2.2051 +   class=idlAttribute>    readonly attribute <span
  2.2052 +   class=idlAttrType><a>MediaList</a></span> <span class=idlAttrName><a
  2.2053 +   href="#widl-StyleSheet-media">media</a></span>;</span>
  2.2054 +<span
  2.2055 +   class=idlAttribute>    attribute <span
  2.2056 +   class=idlAttrType><a>boolean</a></span> <span class=idlAttrName><a
  2.2057 +   href="#widl-StyleSheet-disabled">disabled</a></span>;</span>
  2.2058  };</span></pre>
  2.2059 -<dl class="attributes">
  2.2060 -<dt class="attribute" id="widl-StyleSheet-type">
  2.2061 -<code>type</code> of type <span class="idlAttrType"><a>DOMString</a></span>, readonly</dt>
  2.2062 -<dd>
  2.2063 -<p>The <code>type</code> attribute must return the <a href="#style-sheet-type">style sheet type</a>.</dd>
  2.2064 -<dt class="attribute" id="widl-StyleSheet-href">
  2.2065 -<code>href</code> of type <span class="idlAttrType"><a>DOMString</a></span>, readonly</dt>
  2.2066 -<dd>
  2.2067 -<p>The <code>href</code> attribute must return the <a href="#style-sheet-location">style sheet location</a>.</dd>
  2.2068 -<dt class="attribute" id="widl-StyleSheet-ownerNode">
  2.2069 -<code>ownerNode</code> of type <span class="idlAttrType"><a>Node</a></span>, readonly</dt>
  2.2070 -<dd>
  2.2071 -<p>The <code>ownerNode</code> attribute must return the <a href="#style-sheet-owner-node">style sheet owner node</a>.</dd>
  2.2072 -<dt class="attribute" id="widl-StyleSheet-parentStyleSheet">
  2.2073 -<code>parentStyleSheet</code> of type <span class="idlAttrType"><a>StyleSheet</a></span>, readonly</dt>
  2.2074 -<dd>
  2.2075 -<p>The <code>parentStyleSheet</code> attribute must return the <a href="#style-sheet-parent">style sheet parent</a>.</dd>
  2.2076 -<dt class="attribute" id="widl-StyleSheet-title">
  2.2077 -<code>title</code> of type <span class="idlAttrType"><a>DOMString</a></span>, readonly</dt>
  2.2078 -<dd>
  2.2079 -<p>The <code>title</code> attribute must return the <a href="#style-sheet-title">style sheet title</a>.</dd>
  2.2080 -<dt class="attribute" id="widl-StyleSheet-media">
  2.2081 -<code>media</code> of type <span class="idlAttrType"><a>MediaList</a></span>, readonly</dt>
  2.2082 -<dd>
  2.2083 -<p>The <code>media</code> attribute must return the <a href="#style-sheet-media">style sheet media</a>.</dd>
  2.2084 -<dt class="attribute" id="widl-StyleSheet-disabled">
  2.2085 -<code>disabled</code> of type <span class="idlAttrType"><a>boolean</a></span></dt>
  2.2086 -<dd>
  2.2087 -<p>The <code>disabled</code> attribute must return true if the <a href="#style-sheet-disabled-flag">style sheet disabled flag</a>    is set, or false otherwise.</p>    <p>Setting the <code>disabled</code> attribute must set the <a href="#style-sheet-disabled-flag">style sheet disabled flag</a>    if the new value is true, or unset the <a href="#style-sheet-disabled-flag">style sheet disabled flag</a> otherwise.</dd>
  2.2088 -</dl>
  2.2089 -
  2.2090 -
  2.2091 +
  2.2092 +  <dl class=attributes>
  2.2093 +   <dt class=attribute id=widl-StyleSheet-type> <code>type</code> of type
  2.2094 +    <span class=idlAttrType><a>DOMString</a></span>, readonly
  2.2095 +
  2.2096 +   <dd>
  2.2097 +    <p>The <code>type</code> attribute must return the <a
  2.2098 +     href="#style-sheet-type">style sheet type</a>.
  2.2099 +
  2.2100 +   <dt class=attribute id=widl-StyleSheet-href> <code>href</code> of type
  2.2101 +    <span class=idlAttrType><a>DOMString</a></span>, readonly
  2.2102 +
  2.2103 +   <dd>
  2.2104 +    <p>The <code>href</code> attribute must return the <a
  2.2105 +     href="#style-sheet-location">style sheet location</a>.
  2.2106 +
  2.2107 +   <dt class=attribute id=widl-StyleSheet-ownerNode> <code>ownerNode</code>
  2.2108 +    of type <span class=idlAttrType><a>Node</a></span>, readonly
  2.2109 +
  2.2110 +   <dd>
  2.2111 +    <p>The <code>ownerNode</code> attribute must return the <a
  2.2112 +     href="#style-sheet-owner-node">style sheet owner node</a>.
  2.2113 +
  2.2114 +   <dt class=attribute id=widl-StyleSheet-parentStyleSheet>
  2.2115 +    <code>parentStyleSheet</code> of type <span
  2.2116 +    class=idlAttrType><a>StyleSheet</a></span>, readonly
  2.2117 +
  2.2118 +   <dd>
  2.2119 +    <p>The <code>parentStyleSheet</code> attribute must return the <a
  2.2120 +     href="#style-sheet-parent">style sheet parent</a>.
  2.2121 +
  2.2122 +   <dt class=attribute id=widl-StyleSheet-title> <code>title</code> of type
  2.2123 +    <span class=idlAttrType><a>DOMString</a></span>, readonly
  2.2124 +
  2.2125 +   <dd>
  2.2126 +    <p>The <code>title</code> attribute must return the <a
  2.2127 +     href="#style-sheet-title">style sheet title</a>.
  2.2128 +
  2.2129 +   <dt class=attribute id=widl-StyleSheet-media> <code>media</code> of type
  2.2130 +    <span class=idlAttrType><a>MediaList</a></span>, readonly
  2.2131 +
  2.2132 +   <dd>
  2.2133 +    <p>The <code>media</code> attribute must return the <a
  2.2134 +     href="#style-sheet-media">style sheet media</a>.
  2.2135 +
  2.2136 +   <dt class=attribute id=widl-StyleSheet-disabled> <code>disabled</code> of
  2.2137 +    type <span class=idlAttrType><a>boolean</a></span>
  2.2138 +
  2.2139 +   <dd>
  2.2140 +    <p>The <code>disabled</code> attribute must return true if the <a
  2.2141 +     href="#style-sheet-disabled-flag">style sheet disabled flag</a> is set,
  2.2142 +     or false otherwise.</p>
  2.2143 +
  2.2144 +    <p>Setting the <code>disabled</code> attribute must set the <a
  2.2145 +     href="#style-sheet-disabled-flag">style sheet disabled flag</a> if the
  2.2146 +     new value is true, or unset the <a
  2.2147 +     href="#style-sheet-disabled-flag">style sheet disabled flag</a>
  2.2148 +     otherwise.
  2.2149 +  </dl>
  2.2150    <!-- ........................................................................................................................ -->
  2.2151  
  2.2152 -  <h4 id="the-cssstylesheet-interface"><span class="secno">6.1.2 </span>The <code>CSSStyleSheet</code> Interface</h4>
  2.2153 -
  2.2154 -  <p>The <code>CSSStyleSheet</code> interface represents a CSS <a href="#style-sheet">style sheet</a> rule.</p>
  2.2155 -<pre class="idl"><span class="idlInterface" id="widl-def-CSSStyleSheet">interface <span class="idlInterfaceID">CSSStyleSheet</span> {
  2.2156 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSRule</a></span> <span class="idlAttrName"><a href="#widl-CSSStyleSheet-ownerRule">ownerRule</a></span>;</span>
  2.2157 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSRuleList</a></span> <span class="idlAttrName"><a href="#widl-CSSStyleSheet-cssRules">cssRules</a></span>;</span>
  2.2158 -<span class="idlMethod">    <span class="idlMethType"><a>unsigned long</a></span> <span class="idlMethName"><a href="#widl-CSSStyleSheet-insertRule-unsigned-long-DOMString-rule-unsigned-long-index">insertRule</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">rule</span></span>, <span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span> <span class="idlParamName">index</span></span>);</span>
  2.2159 -<span class="idlMethod">    <span class="idlMethType"><a>void</a></span> <span class="idlMethName"><a href="#widl-CSSStyleSheet-deleteRule-void-unsigned-long-index">deleteRule</a></span> (<span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span> <span class="idlParamName">index</span></span>);</span>
  2.2160 +  <h4 id=the-cssstylesheet-interface><span class=secno>6.1.2. </span>The
  2.2161 +   <code>CSSStyleSheet</code> Interface</h4>
  2.2162 +
  2.2163 +  <p>The <code>CSSStyleSheet</code> interface represents a CSS <a
  2.2164 +   href="#style-sheet">style sheet</a> rule.
  2.2165 +
  2.2166 +  <pre class=idl><span class=idlInterface
  2.2167 +   id=widl-def-CSSStyleSheet>interface <span
  2.2168 +   class=idlInterfaceID>CSSStyleSheet</span> {
  2.2169 +<span
  2.2170 +   class=idlAttribute>    readonly attribute <span
  2.2171 +   class=idlAttrType><a>CSSRule</a></span> <span class=idlAttrName><a
  2.2172 +   href="#widl-CSSStyleSheet-ownerRule">ownerRule</a></span>;</span>
  2.2173 +<span
  2.2174 +   class=idlAttribute>    readonly attribute <span
  2.2175 +   class=idlAttrType><a>CSSRuleList</a></span> <span class=idlAttrName><a
  2.2176 +   href="#widl-CSSStyleSheet-cssRules">cssRules</a></span>;</span>
  2.2177 +<span
  2.2178 +   class=idlMethod>    <span
  2.2179 +   class=idlMethType><a>unsigned long</a></span> <span class=idlMethName><a
  2.2180 +   href="#widl-CSSStyleSheet-insertRule-unsigned-long-DOMString-rule-unsigned-long-index">insertRule</a></span> (<span
  2.2181 +   class=idlParam><span class=idlParamType><a>DOMString</a></span> <span
  2.2182 +   class=idlParamName>rule</span></span>, <span class=idlParam><span
  2.2183 +   class=idlParamType><a>unsigned long</a></span> <span
  2.2184 +   class=idlParamName>index</span></span>);</span>
  2.2185 +<span
  2.2186 +   class=idlMethod>    <span class=idlMethType><a>void</a></span> <span
  2.2187 +   class=idlMethName><a
  2.2188 +   href="#widl-CSSStyleSheet-deleteRule-void-unsigned-long-index">deleteRule</a></span> (<span
  2.2189 +   class=idlParam><span class=idlParamType><a>unsigned long</a></span> <span
  2.2190 +   class=idlParamName>index</span></span>);</span>
  2.2191  };</span></pre>
  2.2192 -<dl class="attributes">
  2.2193 -<dt class="attribute" id="widl-CSSStyleSheet-ownerRule">
  2.2194 -<code>ownerRule</code> of type <span class="idlAttrType"><a>CSSRule</a></span>, readonly</dt>
  2.2195 -<dd>
  2.2196 -<p>The <code>ownerRule</code> attribute must return the <a href="#style-sheet-owner-css-rule">style sheet owner CSS rule</a>.</dd>
  2.2197 -<dt class="attribute" id="widl-CSSStyleSheet-cssRules">
  2.2198 -<code>cssRules</code> of type <span class="idlAttrType"><a>CSSRuleList</a></span>, readonly</dt>
  2.2199 -<dd>
  2.2200 -<p>The <code>cssRules</code> attribute must return a <code>CSSRuleList</code> object representing the <a href="#style-sheet-css-rules">style    sheet CSS rules</a>.</p>    <p class="note">CSS rules that were dropped during parsing can not be    found using APIs described by this specification.</dd>
  2.2201 -</dl>
  2.2202 -<dl class="methods">
  2.2203 -<dt class="method" id="widl-CSSStyleSheet-insertRule-unsigned-long-DOMString-rule-unsigned-long-index">
  2.2204 -<code>insertRule</code> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span></span>, <span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span></span>), returns <span class="idlMethType"><a>unsigned long</a></span></dt>
  2.2205 -<dd>
  2.2206 -<p>The <code>insertRule</code> operation must <a href="#insert-a-css-rule">insert a CSS rule</a> <var>rule</var> the in CSS rule    list returned by <code title="dom-CSSStyleSheet-cssRules">cssRules</code> at    <var>index</var>.</dd>
  2.2207 -<dt class="method" id="widl-CSSStyleSheet-deleteRule-void-unsigned-long-index">
  2.2208 -<code>deleteRule</code> (<span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span></span>), returns <span class="idlMethType"><a>void</a></span></dt>
  2.2209 -<dd>
  2.2210 -<p>The <code>deleteRule</code> operation must <a href="#remove-a-css-rule">remove a CSS rule</a> from the CSS rule list returned by    <code title="dom-CSSStyleSheet-cssRules">cssRules</code> at <var>index</var>.</dd>
  2.2211 -</dl>
  2.2212 -
  2.2213 -
  2.2214 +
  2.2215 +  <dl class=attributes>
  2.2216 +   <dt class=attribute id=widl-CSSStyleSheet-ownerRule>
  2.2217 +    <code>ownerRule</code> of type <span
  2.2218 +    class=idlAttrType><a>CSSRule</a></span>, readonly
  2.2219 +
  2.2220 +   <dd>
  2.2221 +    <p>The <code>ownerRule</code> attribute must return the <a
  2.2222 +     href="#style-sheet-owner-css-rule">style sheet owner CSS rule</a>.
  2.2223 +
  2.2224 +   <dt class=attribute id=widl-CSSStyleSheet-cssRules> <code>cssRules</code>
  2.2225 +    of type <span class=idlAttrType><a>CSSRuleList</a></span>, readonly
  2.2226 +
  2.2227 +   <dd>
  2.2228 +    <p>The <code>cssRules</code> attribute must return a
  2.2229 +     <code>CSSRuleList</code> object representing the <a
  2.2230 +     href="#style-sheet-css-rules">style sheet CSS rules</a>.</p>
  2.2231 +
  2.2232 +    <p class=note>CSS rules that were dropped during parsing can not be found
  2.2233 +     using APIs described by this specification.
  2.2234 +  </dl>
  2.2235 +
  2.2236 +  <dl class=methods>
  2.2237 +   <dt class=method
  2.2238 +    id=widl-CSSStyleSheet-insertRule-unsigned-long-DOMString-rule-unsigned-long-index>
  2.2239 +    <code>insertRule</code> (<span class=idlParam><span
  2.2240 +    class=idlParamType><a>DOMString</a></span></span>, <span
  2.2241 +    class=idlParam><span class=idlParamType><a>unsigned
  2.2242 +    long</a></span></span>), returns <span class=idlMethType><a>unsigned
  2.2243 +    long</a></span>
  2.2244 +
  2.2245 +   <dd>
  2.2246 +    <p>The <code>insertRule</code> operation must <a
  2.2247 +     href="#insert-a-css-rule">insert a CSS rule</a> <var>rule</var> the in
  2.2248 +     CSS rule list returned by <code
  2.2249 +     title=dom-CSSStyleSheet-cssRules>cssRules</code> at <var>index</var>.
  2.2250 +
  2.2251 +   <dt class=method
  2.2252 +    id=widl-CSSStyleSheet-deleteRule-void-unsigned-long-index>
  2.2253 +    <code>deleteRule</code> (<span class=idlParam><span
  2.2254 +    class=idlParamType><a>unsigned long</a></span></span>), returns <span
  2.2255 +    class=idlMethType><a>void</a></span>
  2.2256 +
  2.2257 +   <dd>
  2.2258 +    <p>The <code>deleteRule</code> operation must <a
  2.2259 +     href="#remove-a-css-rule">remove a CSS rule</a> from the CSS rule list
  2.2260 +     returned by <code title=dom-CSSStyleSheet-cssRules>cssRules</code> at
  2.2261 +     <var>index</var>.
  2.2262 +  </dl>
  2.2263    <!-- ........................................................................................................................ -->
  2.2264    <!-- ........................................................................................................................ -->
  2.2265  
  2.2266 -  <h3 id="style-sheet-collections"><span class="secno">6.2 </span>Style Sheet Collections</h3>
  2.2267 +  <h3 id=style-sheet-collections><span class=secno>6.2. </span>Style Sheet
  2.2268 +   Collections</h3>
  2.2269  
  2.2270    <p>Below various new concepts are defined that are associated with each
  2.2271 -  <code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#document">Document</a></code> object.</p>
  2.2272 -
  2.2273 -  <p>Each <code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#document">Document</a></code> has an associated list of zero or more
  2.2274 -  <a href="#style-sheet" title="style sheet">style sheets</a>, named the
  2.2275 -  <dfn id="document-style-sheets">document style sheets</dfn>. This is
  2.2276 -  an ordered list that contains all
  2.2277 -  <a href="#style-sheet" title="style sheet">style sheets</a> associated with the
  2.2278 -  <code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#document">Document</a></code>, in
  2.2279 -  <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-tree-order" title="concept-tree-order">tree order</a>, with
  2.2280 -  <a href="#style-sheet" title="style sheet">style sheets</a> created from HTTP
  2.2281 -  <code title="http-link">Link</code> headers first, if any, in header
  2.2282 -  order.</p>
  2.2283 -
  2.2284 -  <p>To <dfn id="create-a-style-sheet">create a style sheet</dfn>, run these
  2.2285 -  steps:</p>
  2.2286 +   <code data-anolis-spec=dom>Document</code> object.
  2.2287 +
  2.2288 +  <p>Each <code data-anolis-spec=dom>Document</code> has an associated list
  2.2289 +   of zero or more <a href="#style-sheet" title="style sheet">style
  2.2290 +   sheets</a>, named the <dfn id=document-style-sheets>document style
  2.2291 +   sheets</dfn>. This is an ordered list that contains all <a
  2.2292 +   href="#style-sheet" title="style sheet">style sheets</a> associated with
  2.2293 +   the <code data-anolis-spec=dom>Document</code>, in <span
  2.2294 +   data-anolis-spec=dom title=concept-tree-order>tree order</span>, with <a
  2.2295 +   href="#style-sheet" title="style sheet">style sheets</a> created from HTTP
  2.2296 +   <code title=http-link>Link</code> headers first, if any, in header order.
  2.2297 +
  2.2298 +  <p>To <dfn id=create-a-style-sheet>create a style sheet</dfn>, run these
  2.2299 +   steps:
  2.2300  
  2.2301    <ol>
  2.2302 -   <li><p>Create a new <a href="#style-sheet">style sheet</a> object and set its
  2.2303 -   properties as specified.</li>
  2.2304 -
  2.2305 -   <li><p>Then run the <a href="#add-a-style-sheet">add a style sheet</a> steps for the newly
  2.2306 -   created <a href="#style-sheet">style sheet</a>.</li>
  2.2307 +   <li>
  2.2308 +    <p>Create a new <a href="#style-sheet">style sheet</a> object and set its
  2.2309 +     properties as specified.
  2.2310 +
  2.2311 +   <li>
  2.2312 +    <p>Then run the <a href="#add-a-style-sheet">add a style sheet</a> steps
  2.2313 +     for the newly created <a href="#style-sheet">style sheet</a>.
  2.2314    </ol>
  2.2315  
  2.2316 -  <p>To <dfn id="add-a-style-sheet">add a style sheet</dfn>, run these
  2.2317 -  steps:</p>
  2.2318 +  <p>To <dfn id=add-a-style-sheet>add a style sheet</dfn>, run these steps:
  2.2319  
  2.2320    <ol>
  2.2321 -   <li><p>Add the <a href="#style-sheet">style sheet</a> to the list of
  2.2322 -   <a href="#document-style-sheets">document style sheets</a> at the appropriate location. The
  2.2323 -   remainder of these steps deal with the
  2.2324 -   <a href="#style-sheet-disabled-flag">style sheet disabled flag</a>.</li>
  2.2325 -
  2.2326 -   <li><p>If the <a href="#style-sheet-disabled-flag">style sheet disabled flag</a> is set, terminate
  2.2327 -   these steps.</li>
  2.2328 -
  2.2329 -   <li><p>If the <a href="#style-sheet-title">style sheet title</a> is non-empty, the
  2.2330 -   <a href="#style-sheet-alternate-flag">style sheet alternate flag</a> is unset, and
  2.2331 -   <a href="#preferred-style-sheet-set-name">preferred style sheet set name</a> is the empty string
  2.2332 -   <a href="#change-the-preferred-style-sheet-set-name">change the preferred style sheet set name</a> to the
  2.2333 -   <a href="#style-sheet-title">style sheet title</a>.</li>
  2.2334 -
  2.2335     <li>
  2.2336 -    <p>If any of the following is true unset the
  2.2337 -    <a href="#style-sheet-disabled-flag">style sheet disabled flag</a> and terminate these steps:
  2.2338 +    <p>Add the <a href="#style-sheet">style sheet</a> to the list of <a
  2.2339 +     href="#document-style-sheets">document style sheets</a> at the
  2.2340 +     appropriate location. The remainder of these steps deal with the <a
  2.2341 +     href="#style-sheet-disabled-flag">style sheet disabled flag</a>.
  2.2342 +
  2.2343 +   <li>
  2.2344 +    <p>If the <a href="#style-sheet-disabled-flag">style sheet disabled
  2.2345 +     flag</a> is set, terminate these steps.
  2.2346 +
  2.2347 +   <li>
  2.2348 +    <p>If the <a href="#style-sheet-title">style sheet title</a> is
  2.2349 +     non-empty, the <a href="#style-sheet-alternate-flag">style sheet
  2.2350 +     alternate flag</a> is unset, and <a
  2.2351 +     href="#preferred-style-sheet-set-name">preferred style sheet set
  2.2352 +     name</a> is the empty string <a
  2.2353 +     href="#change-the-preferred-style-sheet-set-name">change the preferred
  2.2354 +     style sheet set name</a> to the <a href="#style-sheet-title">style sheet
  2.2355 +     title</a>.
  2.2356 +
  2.2357 +   <li>
  2.2358 +    <p>If any of the following is true unset the <a
  2.2359 +     href="#style-sheet-disabled-flag">style sheet disabled flag</a> and
  2.2360 +     terminate these steps:
  2.2361  
  2.2362      <ul>
  2.2363 -     <li><p>The <a href="#style-sheet-title">style sheet title</a> is empty.</li>
  2.2364 -     <li><p>The <a href="#last-style-sheet-set-name">last style sheet set name</a> is null and the
  2.2365 -     <a href="#style-sheet-title">style sheet title</a> is a
  2.2366 -     <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#case-sensitive">case-sensitive</a> match
  2.2367 -     for the <a href="#preferred-style-sheet-set-name">preferred style sheet set name</a>.</li>
  2.2368 -     <li><p>The <a href="#style-sheet-title">style sheet title</a> is a
  2.2369 -     <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#case-sensitive">case-sensitive</a> match for the
  2.2370 -     <a href="#last-style-sheet-set-name">last style sheet set name</a>.</li>
  2.2371 +     <li>
  2.2372 +      <p>The <a href="#style-sheet-title">style sheet title</a> is empty.
  2.2373 +
  2.2374 +     <li>
  2.2375 +      <p>The <a href="#last-style-sheet-set-name">last style sheet set
  2.2376 +       name</a> is null and the <a href="#style-sheet-title">style sheet
  2.2377 +       title</a> is a <span data-anolis-spec=dom>case-sensitive</span> match
  2.2378 +       for the <a href="#preferred-style-sheet-set-name">preferred style
  2.2379 +       sheet set name</a>.
  2.2380 +
  2.2381 +     <li>
  2.2382 +      <p>The <a href="#style-sheet-title">style sheet title</a> is a <span
  2.2383 +       data-anolis-spec=dom>case-sensitive</span> match for the <a
  2.2384 +       href="#last-style-sheet-set-name">last style sheet set name</a>.
  2.2385      </ul>
  2.2386 -   </li>
  2.2387 -
  2.2388 -   <li><p>Set the <a href="#style-sheet-disabled-flag">style sheet disabled flag</a>.</li>
  2.2389 +
  2.2390 +   <li>
  2.2391 +    <p>Set the <a href="#style-sheet-disabled-flag">style sheet disabled
  2.2392 +     flag</a>.
  2.2393    </ol>
  2.2394  
  2.2395 -  <p>A <dfn id="persistent-style-sheet">persistent style sheet</dfn> is a
  2.2396 -  <a href="#style-sheet">style sheet</a> from the <a href="#document-style-sheets">document style sheets</a>
  2.2397 -  whose <a href="#style-sheet-title">style sheet title</a> is the empty string and whose
  2.2398 -  <a href="#style-sheet-alternate-flag">style sheet alternate flag</a> is unset.</p>
  2.2399 -
  2.2400 -  <p>A <dfn id="style-sheet-set">style sheet set</dfn> is an ordered
  2.2401 -  collection of one or more <a href="#style-sheet" title="style sheet">style sheets</a>
  2.2402 -  from the <a href="#document-style-sheets">document style sheets</a> which have an identical
  2.2403 -  <a href="#style-sheet-title">style sheet title</a> that is not the empty string.</p>
  2.2404 -
  2.2405 -  <p>A <dfn id="style-sheet-set-name">style sheet set name</dfn> is the
  2.2406 -  <a href="#style-sheet-title">style sheet title</a> the <a href="#style-sheet-set">style sheet set</a> has in
  2.2407 -  common.</p>
  2.2408 -
  2.2409 -  <p>An <dfn id="enabled-style-sheet-set">enabled style sheet set</dfn> is a
  2.2410 -  <a href="#style-sheet-set">style sheet set</a> of which each <a href="#style-sheet">style sheet</a> has
  2.2411 -  its <a href="#style-sheet-disabled-flag">style sheet disabled flag</a> unset.</p>
  2.2412 -
  2.2413 -  <p>To <dfn id="enable-a-style-sheet-set">enable a style sheet set</dfn>
  2.2414 -  with name <var>name</var>, run these steps:</p>
  2.2415 +  <p>A <dfn id=persistent-style-sheet>persistent style sheet</dfn> is a <a
  2.2416 +   href="#style-sheet">style sheet</a> from the <a
  2.2417 +   href="#document-style-sheets">document style sheets</a> whose <a
  2.2418 +   href="#style-sheet-title">style sheet title</a> is the empty string and
  2.2419 +   whose <a href="#style-sheet-alternate-flag">style sheet alternate flag</a>
  2.2420 +   is unset.
  2.2421 +
  2.2422 +  <p>A <dfn id=style-sheet-set>style sheet set</dfn> is an ordered collection
  2.2423 +   of one or more <a href="#style-sheet" title="style sheet">style sheets</a>
  2.2424 +   from the <a href="#document-style-sheets">document style sheets</a> which
  2.2425 +   have an identical <a href="#style-sheet-title">style sheet title</a> that
  2.2426 +   is not the empty string.
  2.2427 +
  2.2428 +  <p>A <dfn id=style-sheet-set-name>style sheet set name</dfn> is the <a
  2.2429 +   href="#style-sheet-title">style sheet title</a> the <a
  2.2430 +   href="#style-sheet-set">style sheet set</a> has in common.
  2.2431 +
  2.2432 +  <p>An <dfn id=enabled-style-sheet-set>enabled style sheet set</dfn> is a <a
  2.2433 +   href="#style-sheet-set">style sheet set</a> of which each <a
  2.2434 +   href="#style-sheet">style sheet</a> has its <a
  2.2435 +   href="#style-sheet-disabled-flag">style sheet disabled flag</a> unset.
  2.2436 +
  2.2437 +  <p>To <dfn id=enable-a-style-sheet-set>enable a style sheet set</dfn> with
  2.2438 +   name <var>name</var>, run these steps:
  2.2439  
  2.2440    <ol>
  2.2441 -   <li><p>If <var>name</var> is the empty string, set the
  2.2442 -   <a href="#style-sheet-disabled-flag">style sheet disabled flag</a> for each <a href="#style-sheet">style sheet</a>
  2.2443 -   that is in a <a href="#style-sheet-set">style sheet set</a> and terminate these steps.</li>
  2.2444 -
  2.2445 -   <li><p>Unset the <a href="#style-sheet-disabled-flag">style sheet disabled flag</a> for each
  2.2446 -   <a href="#style-sheet">style sheet</a> in a <a href="#style-sheet-set">style sheet set</a> whose
  2.2447 -   <a href="#style-sheet-set-name">style sheet set name</a> is a
  2.2448 -   <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#case-sensitive">case-sensitive</a> match for
  2.2449 -   <var>name</var> and set it for all other
  2.2450 -   <a href="#style-sheet" title="style sheet">style sheets</a> in a
  2.2451 -   <a href="#style-sheet-set">style sheet set</a>.</li>
  2.2452 +   <li>
  2.2453 +    <p>If <var>name</var> is the empty string, set the <a
  2.2454 +     href="#style-sheet-disabled-flag">style sheet disabled flag</a> for each
  2.2455 +     <a href="#style-sheet">style sheet</a> that is in a <a
  2.2456 +     href="#style-sheet-set">style sheet set</a> and terminate these steps.
  2.2457 +
  2.2458 +   <li>
  2.2459 +    <p>Unset the <a href="#style-sheet-disabled-flag">style sheet disabled
  2.2460 +     flag</a> for each <a href="#style-sheet">style sheet</a> in a <a
  2.2461 +     href="#style-sheet-set">style sheet set</a> whose <a
  2.2462 +     href="#style-sheet-set-name">style sheet set name</a> is a <span
  2.2463 +     data-anolis-spec=dom>case-sensitive</span> match for <var>name</var> and
  2.2464 +     set it for all other <a href="#style-sheet" title="style sheet">style
  2.2465 +     sheets</a> in a <a href="#style-sheet-set">style sheet set</a>.
  2.2466    </ol>
  2.2467  
  2.2468 -  <p>To <dfn id="select-a-style-sheet-set">select a style sheet set</dfn>
  2.2469 -  with name <var>name</var>, run these steps:</p>
  2.2470 +  <p>To <dfn id=select-a-style-sheet-set>select a style sheet set</dfn> with
  2.2471 +   name <var>name</var>, run these steps:
  2.2472  
  2.2473    <ol>
  2.2474 -   <li><p><a href="#enable-a-style-sheet-set">Enable a style sheet set</a> with name
  2.2475 -   <var>name</var>.</li>
  2.2476 -
  2.2477 -   <li><p>Set <a href="#last-style-sheet-set-name">last style sheet set name</a> to
  2.2478 -   <var>name</var>.</li>
  2.2479 +   <li>
  2.2480 +    <p><a href="#enable-a-style-sheet-set">Enable a style sheet set</a> with
  2.2481 +     name <var>name</var>.
  2.2482 +
  2.2483 +   <li>
  2.2484 +    <p>Set <a href="#last-style-sheet-set-name">last style sheet set name</a>
  2.2485 +     to <var>name</var>.
  2.2486    </ol>
  2.2487  
  2.2488 -  <p>A <dfn id="last-style-sheet-set-name">last style sheet set name</dfn>
  2.2489 -  is a concept to determine what <a href="#style-sheet-set">style sheet set</a> was last
  2.2490 -  <a href="#select-a-style-sheet-set" title="select a style sheet set">selected</a>. Initially its
  2.2491 -  value is null.</p>
  2.2492 -
  2.2493 -  <p>A
  2.2494 -  <dfn id="preferred-style-sheet-set-name">preferred style sheet set name</dfn>
  2.2495 -  is a concept to determine which
  2.2496 -  <a href="#style-sheet" title="style sheet">style sheets</a> need to have their
  2.2497 -  <a href="#style-sheet-disabled-flag">style sheet disabled flag</a> unset. Initially its value
  2.2498 -  is the empty string.
  2.2499 -
  2.2500 -  <p>To
  2.2501 -  <dfn id="change-the-preferred-style-sheet-set-name">change the preferred style sheet set name</dfn>
  2.2502 -  with name <var>name</var>, run these steps:</p>
  2.2503 +  <p>A <dfn id=last-style-sheet-set-name>last style sheet set name</dfn> is a
  2.2504 +   concept to determine what <a href="#style-sheet-set">style sheet set</a>
  2.2505 +   was last <a href="#select-a-style-sheet-set"
  2.2506 +   title="select a style sheet set">selected</a>. Initially its value is
  2.2507 +   null.
  2.2508 +
  2.2509 +  <p>A <dfn id=preferred-style-sheet-set-name>preferred style sheet set
  2.2510 +   name</dfn> is a concept to determine which <a href="#style-sheet"
  2.2511 +   title="style sheet">style sheets</a> need to have their <a
  2.2512 +   href="#style-sheet-disabled-flag">style sheet disabled flag</a> unset.
  2.2513 +   Initially its value is the empty string.
  2.2514 +
  2.2515 +  <p>To <dfn id=change-the-preferred-style-sheet-set-name>change the
  2.2516 +   preferred style sheet set name</dfn> with name <var>name</var>, run these
  2.2517 +   steps:
  2.2518  
  2.2519    <ol>
  2.2520 -   <li><p>Let the <a href="#preferred-style-sheet-set-name">preferred style sheet set name</a> be
  2.2521 -   <var>current</var>.</li>
  2.2522 -
  2.2523 -   <li><p>Set <a href="#preferred-style-sheet-set-name">preferred style sheet set name</a> to
  2.2524 -   <var>name</var>.</li>
  2.2525 -
  2.2526 -   <li><p>If <var>name</var> is not a
  2.2527 -   <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#case-sensitive">case-sensitive</a> match for
  2.2528 -   <var>current</var> and
  2.2529 -   <a href="#last-style-sheet-set-name">last style sheet set name</a> is null
  2.2530 -   <a href="#enable-a-style-sheet-set">enable a style sheet set</a> with name
  2.2531 -   <var>new</var>.</li>
  2.2532 +   <li>
  2.2533 +    <p>Let the <a href="#preferred-style-sheet-set-name">preferred style
  2.2534 +     sheet set name</a> be <var>current</var>.
  2.2535 +
  2.2536 +   <li>
  2.2537 +    <p>Set <a href="#preferred-style-sheet-set-name">preferred style sheet
  2.2538 +     set name</a> to <var>name</var>.
  2.2539 +
  2.2540 +   <li>
  2.2541 +    <p>If <var>name</var> is not a <span
  2.2542 +     data-anolis-spec=dom>case-sensitive</span> match for <var>current</var>
  2.2543 +     and <a href="#last-style-sheet-set-name">last style sheet set name</a>
  2.2544 +     is null <a href="#enable-a-style-sheet-set">enable a style sheet set</a>
  2.2545 +     with name <var>new</var>.
  2.2546    </ol>
  2.2547 -
  2.2548    <!-- XXX ought to define "applied"
  2.2549  
  2.2550    thoughts:
  2.2551      depends on disabled flag, alternate flag, media queries, sheesh
  2.2552     -->
  2.2553 -
  2.2554    <!-- ........................................................................................................................ -->
  2.2555  
  2.2556 -  <h4 id="the-http-default-style-header"><span class="secno">6.2.1 </span>The HTTP <code>Default-Style</code> Header</h4>
  2.2557 -
  2.2558 -  <p>The HTTP <code title="http-default-style"><a href="#default-style">Default-Style</a></code> header
  2.2559 -  can be used to set the <a href="#preferred-style-sheet-set-name">preferred style sheet set name</a>
  2.2560 -  influencing which <a href="#style-sheet-set">style sheet set</a> is (initially) the
  2.2561 -  <a href="#enabled-style-sheet-set">enabled style sheet set</a>.</p>
  2.2562 -
  2.2563 -  <p>For each HTTP <code title="http-default-style"><a href="#default-style">Default-Style</a></code>
  2.2564 -  header, in header order, the user agent must
  2.2565 -  <a href="#change-the-preferred-style-sheet-set-name">change the preferred style sheet set name</a> with name being the
  2.2566 -  value of the header.</p>
  2.2567 -
  2.2568 +  <h4 id=the-http-default-style-header><span class=secno>6.2.1. </span>The
  2.2569 +   HTTP <code>Default-Style</code> Header</h4>
  2.2570 +
  2.2571 +  <p>The HTTP <a href="#default-style0"><code
  2.2572 +   title=http-default-style>Default-Style</code></a> header can be used to
  2.2573 +   set the <a href="#preferred-style-sheet-set-name">preferred style sheet
  2.2574 +   set name</a> influencing which <a href="#style-sheet-set">style sheet
  2.2575 +   set</a> is (initially) the <a href="#enabled-style-sheet-set">enabled
  2.2576 +   style sheet set</a>.
  2.2577 +
  2.2578 +  <p>For each HTTP <a href="#default-style0"><code
  2.2579 +   title=http-default-style>Default-Style</code></a> header, in header order,
  2.2580 +   the user agent must <a
  2.2581 +   href="#change-the-preferred-style-sheet-set-name">change the preferred
  2.2582 +   style sheet set name</a> with name being the value of the header.</p>
  2.2583    <!-- ........................................................................................................................ -->
  2.2584  
  2.2585 -  <h4 id="the-stylesheetlist-sequence"><span class="secno">6.2.2 </span>The <code>StyleSheetList</code> Sequence</h4>
  2.2586 -
  2.2587 -  <p>The <code>StyleSheetList</code> sequence represents an ordered collection of <span title="style sheets">style sheets</span>.</p>
  2.2588 -<pre class="idl">[[TBD - TYPEDEF]]
  2.2589 +  <h4 id=the-stylesheetlist-sequence><span class=secno>6.2.2. </span>The
  2.2590 +   <code>StyleSheetList</code> Sequence</h4>
  2.2591 +
  2.2592 +  <p>The <code>StyleSheetList</code> sequence represents an ordered
  2.2593 +   collection of <a href="#style-sheet" title="style sheets">style
  2.2594 +   sheets</a>.
  2.2595 +
  2.2596 +  <pre class=idl>[[TBD - TYPEDEF]]
  2.2597  </pre>
  2.2598 -
  2.2599 -
  2.2600    <!-- ........................................................................................................................ -->
  2.2601  
  2.2602 -  <h4 id="extensions-to-the-document-interface"><span class="secno">6.2.3 </span>Extensions to the <code>Document</code> Interface</h4>
  2.2603 -
  2.2604 -  
  2.2605 -<pre class="idl"><span class="idlInterface" id="widl-def-Document">partial interface <span class="idlInterfaceID">Document</span> {
  2.2606 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>StyleSheetList</a></span> <span class="idlAttrName"><a href="#widl-Document-styleSheets">styleSheets</a></span>;</span>
  2.2607 -<span class="idlAttribute">    attribute <span class="idlAttrType"><a>DOMString</a>?</span> <span class="idlAttrName"><a href="#widl-Document-selectedStyleSheetSet">selectedStyleSheetSet</a></span>;</span>
  2.2608 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>DOMString</a>?</span> <span class="idlAttrName"><a href="#widl-Document-lastStyleSheetSet">lastStyleSheetSet</a></span>;</span>
  2.2609 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>DOMString</a>?</span> <span class="idlAttrName"><a href="#widl-Document-preferredStyleSheetSet">preferredStyleSheetSet</a></span>;</span>
  2.2610 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>DOMStringList</a></span> <span class="idlAttrName"><a href="#widl-Document-styleSheetSets">styleSheetSets</a></span>;</span>
  2.2611 -<span class="idlMethod">    <span class="idlMethType"><a>void</a></span> <span class="idlMethName"><a href="#widl-Document-enableStyleSheetsForSet-void-DOMString-name">enableStyleSheetsForSet</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a>?</span> <span class="idlParamName">name</span></span>);</span>
  2.2612 +  <h4 id=extensions-to-the-document-interface><span class=secno>6.2.3.
  2.2613 +   </span>Extensions to the <code>Document</code> Interface</h4>
  2.2614 +
  2.2615 +  <pre class=idl><span class=idlInterface
  2.2616 +   id=widl-def-Document>partial interface <span
  2.2617 +   class=idlInterfaceID>Document</span> {
  2.2618 +<span
  2.2619 +   class=idlAttribute>    readonly attribute <span
  2.2620 +   class=idlAttrType><a>StyleSheetList</a></span> <span class=idlAttrName><a
  2.2621 +   href="#widl-Document-styleSheets">styleSheets</a></span>;</span>
  2.2622 +<span
  2.2623 +   class=idlAttribute>    attribute <span
  2.2624 +   class=idlAttrType><a>DOMString</a>?</span> <span class=idlAttrName><a
  2.2625 +   href="#widl-Document-selectedStyleSheetSet">selectedStyleSheetSet</a></span>;</span>
  2.2626 +<span
  2.2627 +   class=idlAttribute>    readonly attribute <span
  2.2628 +   class=idlAttrType><a>DOMString</a>?</span> <span class=idlAttrName><a
  2.2629 +   href="#widl-Document-lastStyleSheetSet">lastStyleSheetSet</a></span>;</span>
  2.2630 +<span
  2.2631 +   class=idlAttribute>    readonly attribute <span
  2.2632 +   class=idlAttrType><a>DOMString</a>?</span> <span class=idlAttrName><a
  2.2633 +   href="#widl-Document-preferredStyleSheetSet">preferredStyleSheetSet</a></span>;</span>
  2.2634 +<span
  2.2635 +   class=idlAttribute>    readonly attribute <span
  2.2636 +   class=idlAttrType><a>DOMStringList</a></span> <span class=idlAttrName><a
  2.2637 +   href="#widl-Document-styleSheetSets">styleSheetSets</a></span>;</span>
  2.2638 +<span
  2.2639 +   class=idlMethod>    <span class=idlMethType><a>void</a></span> <span
  2.2640 +   class=idlMethName><a
  2.2641 +   href="#widl-Document-enableStyleSheetsForSet-void-DOMString-name">enableStyleSheetsForSet</a></span> (<span
  2.2642 +   class=idlParam><span class=idlParamType><a>DOMString</a>?</span> <span
  2.2643 +   class=idlParamName>name</span></span>);</span>
  2.2644  };</span></pre>
  2.2645 -<dl class="attributes">
  2.2646 -<dt class="attribute" id="widl-Document-styleSheets">
  2.2647 -<code>styleSheets</code> of type <span class="idlAttrType"><a>StyleSheetList</a></span>, readonly</dt>
  2.2648 -<dd>
  2.2649 -<p>The <code>styleSheets</code> attribute must return a <code>StyleSheetList</code> sequence representing    the <a href="#document-style-sheets">document style sheets</a>.</p>    <p class="note">Because of historical IDL limitations the <code>styleSheets</code> attribute    used to be on a separate interface, <code>DocumentStyle</code>.</dd>
  2.2650 -<dt class="attribute" id="widl-Document-selectedStyleSheetSet">
  2.2651 -<code>selectedStyleSheetSet</code> of type <span class="idlAttrType"><a>DOMString</a></span></dt>
  2.2652 -<dd>
  2.2653 -<p>The <code>selectedStyleSheetSet</code> attribute must, on getting, must run these steps:</p>    <ol>      <li><p>If there is a single <a href="#enabled-style-sheet-set">enabled style sheet set</a> and no      other <a href="#document-style-sheets">document style sheets</a> with a non-empty      <a href="#style-sheet-title">style sheet title</a> have the      <a href="#style-sheet-disabled-flag">style sheet disabled flag</a> unset, return the      <a href="#style-sheet-set-name">style sheet set name</a> of the      <a href="#enabled-style-sheet-set">enabled style sheet set</a> and terminate these steps.</li>            <li><p>Otherwise, if <a href="#style-sheet" title="style sheet">style sheets</a> from      different <a href="#style-sheet-set" title="style sheet set">style sheet sets</a> have      their <a href="#style-sheet-disabled-flag">style sheet disabled flag</a> unset, return      null and terminate these steps.</li>            <li>       <p>Otherwise, return the empty string.</p>             <p class="note">At this point either all       <a href="#style-sheet" title="style sheet">style sheets</a> with a non-empty       <a href="#style-sheet-title">style sheet title</a> have the       <a href="#style-sheet-disabled-flag">style sheet disabled flag</a> set, or there are no such       <a href="#style-sheet" title="style sheet">style sheets</a>.</p>      </li>     </ol>        <p>On setting the    <code title="dom-Document-selectedStyleSheetSet">selectedStyleSheetSet</code>    attribute these steps must be run:</p>        <ol>      <li><p>If the value is null terminate this set of steps.</li>      <li><p>Otherwise, <a href="#select-a-style-sheet-set">select a style sheet set</a> with as name the      value passed.</li>    </ol>        <p>From the DOM's perspective, all views have the same    <code title="dom-Document-selectedStyleSheetSet">selectedStyleSheetSet</code>.    If a user agent supports multiple views with different selected    alternative style sheets, then this attribute (and the    <code>StyleSheet</code> interface's    <code title="dom-StyleSheet-disabled">disabled</code> attribute)    must return and set the value for the default    view.</dd>
  2.2654 -<dt class="attribute" id="widl-Document-lastStyleSheetSet">
  2.2655 -<code>lastStyleSheetSet</code> of type <span class="idlAttrType"><a>DOMString</a></span>, readonly</dt>
  2.2656 -<dd>
  2.2657 -<p>The <code>lastStyleSheetSet</code> attribute must  return the <a href="#last-style-sheet-set-name">last style sheet set name</a>.</p>    <p class="note">This attribute is initially null.</dd>
  2.2658 -<dt class="attribute" id="widl-Document-preferredStyleSheetSet">
  2.2659 -<code>preferredStyleSheetSet</code> of type <span class="idlAttrType"><a>DOMString</a></span>, readonly</dt>
  2.2660 -<dd>
  2.2661 -<p>The <code>preferredStyleSheetSet</code> attribute must  return the <a href="#preferred-style-sheet-set-name">preferred style sheet set name</a>.</p>    <p class="note">Unlike <code title="dom-Document-lastStyleSheetSet">lastStyleSheetSet</code>,    this attribute is initially the empty string.</dd>
  2.2662 -<dt class="attribute" id="widl-Document-styleSheetSets">
  2.2663 -<code>styleSheetSets</code> of type <span class="idlAttrType"><a>DOMStringList</a></span>, readonly</dt>
  2.2664 -<dd>
  2.2665 -<p>The <code>styleSheetSets</code> attribute must  return a list of the <a href="#style-sheet-set-name" title="style sheet set name">style    sheet set names</a> of the <a href="#style-sheet-set" title="style sheet set">style sheet sets</a>, in order    of the <a href="#document-style-sheets">document style sheets</a>.</dd>
  2.2666 -</dl>
  2.2667 -<dl class="methods">
  2.2668 -<dt class="method" id="widl-Document-enableStyleSheetsForSet-void-DOMString-name">
  2.2669 -<code>enableStyleSheetsForSet</code> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a>?</span></span>), returns <span class="idlMethType"><a>void</a></span></dt>
  2.2670 -<dd>
  2.2671 -<p>The <code>enableStyleSheetsForSet</code> operation must, when invoked, run these steps:</p>    <ol>      <li><p>If <var>name</var> is null terminate these steps.</li>      <li><p><a href="#enable-a-style-sheet-set">Enable a style sheet set</a> with name <var>name</var>.</li>    </ol>    <p class="note"><a href="#style-sheet" title="Style sheet">Style sheets</a> with an    empty <a href="#style-sheet-title">style sheet title</a> are never affected by this method.    This method does not change the values of the    <code title="dom-Document-lastStyleSheetSet">lastStyleSheetSet</code> or    <code title="dom-Document-preferredStyleSheetSet">preferredStyleSheetSet</code> attributes.</dd>
  2.2672 -</dl>
  2.2673 -
  2.2674 -
  2.2675 +
  2.2676 +  <dl class=attributes>
  2.2677 +   <dt class=attribute id=widl-Document-styleSheets> <code>styleSheets</code>
  2.2678 +    of type <span class=idlAttrType><a>StyleSheetList</a></span>, readonly
  2.2679 +
  2.2680 +   <dd>
  2.2681 +    <p>The <code>styleSheets</code> attribute must return a
  2.2682 +     <code>StyleSheetList</code> sequence representing the <a
  2.2683 +     href="#document-style-sheets">document style sheets</a>.</p>
  2.2684 +
  2.2685 +    <p class=note>Because of historical IDL limitations the
  2.2686 +     <code>styleSheets</code> attribute used to be on a separate interface,
  2.2687 +     <code>DocumentStyle</code>.
  2.2688 +
  2.2689 +   <dt class=attribute id=widl-Document-selectedStyleSheetSet>
  2.2690 +    <code>selectedStyleSheetSet</code> of type <span
  2.2691 +    class=idlAttrType><a>DOMString</a></span>
  2.2692 +
  2.2693 +   <dd>
  2.2694 +    <p>The <code>selectedStyleSheetSet</code> attribute must, on getting,
  2.2695 +     must run these steps:</p>
  2.2696 +
  2.2697 +    <ol>
  2.2698 +     <li>
  2.2699 +      <p>If there is a single <a href="#enabled-style-sheet-set">enabled
  2.2700 +       style sheet set</a> and no other <a
  2.2701 +       href="#document-style-sheets">document style sheets</a> with a
  2.2702 +       non-empty <a href="#style-sheet-title">style sheet title</a> have the
  2.2703 +       <a href="#style-sheet-disabled-flag">style sheet disabled flag</a>
  2.2704 +       unset, return the <a href="#style-sheet-set-name">style sheet set
  2.2705 +       name</a> of the <a href="#enabled-style-sheet-set">enabled style sheet
  2.2706 +       set</a> and terminate these steps.
  2.2707 +
  2.2708 +     <li>
  2.2709 +      <p>Otherwise, if <a href="#style-sheet" title="style sheet">style
  2.2710 +       sheets</a> from different <a href="#style-sheet-set"
  2.2711 +       title="style sheet set">style sheet sets</a> have their <a
  2.2712 +       href="#style-sheet-disabled-flag">style sheet disabled flag</a> unset,
  2.2713 +       return null and terminate these steps.
  2.2714 +
  2.2715 +     <li>
  2.2716 +      <p>Otherwise, return the empty string.</p>
  2.2717 +
  2.2718 +      <p class=note>At this point either all <a href="#style-sheet"
  2.2719 +       title="style sheet">style sheets</a> with a non-empty <a
  2.2720 +       href="#style-sheet-title">style sheet title</a> have the <a
  2.2721 +       href="#style-sheet-disabled-flag">style sheet disabled flag</a> set,
  2.2722 +       or there are no such <a href="#style-sheet" title="style sheet">style
  2.2723 +       sheets</a>.</p>
  2.2724 +    </ol>
  2.2725 +
  2.2726 +    <p>On setting the <code
  2.2727 +     title=dom-Document-selectedStyleSheetSet>selectedStyleSheetSet</code>
  2.2728 +     attribute these steps must be run:</p>
  2.2729 +
  2.2730 +    <ol>
  2.2731 +     <li>
  2.2732 +      <p>If the value is null terminate this set of steps.
  2.2733 +
  2.2734 +     <li>
  2.2735 +      <p>Otherwise, <a href="#select-a-style-sheet-set">select a style sheet
  2.2736 +       set</a> with as name the value passed.
  2.2737 +    </ol>
  2.2738 +
  2.2739 +    <p>From the DOM's perspective, all views have the same <code
  2.2740 +     title=dom-Document-selectedStyleSheetSet>selectedStyleSheetSet</code>.
  2.2741 +     If a user agent supports multiple views with different selected
  2.2742 +     alternative style sheets, then this attribute (and the
  2.2743 +     <code>StyleSheet</code> interface's <code
  2.2744 +     title=dom-StyleSheet-disabled>disabled</code> attribute) must return and
  2.2745 +     set the value for the default view.
  2.2746 +
  2.2747 +   <dt class=attribute id=widl-Document-lastStyleSheetSet>
  2.2748 +    <code>lastStyleSheetSet</code> of type <span
  2.2749 +    class=idlAttrType><a>DOMString</a></span>, readonly
  2.2750 +
  2.2751 +   <dd>
  2.2752 +    <p>The <code>lastStyleSheetSet</code> attribute must return the <a
  2.2753 +     href="#last-style-sheet-set-name">last style sheet set name</a>.</p>
  2.2754 +
  2.2755 +    <p class=note>This attribute is initially null.
  2.2756 +
  2.2757 +   <dt class=attribute id=widl-Document-preferredStyleSheetSet>
  2.2758 +    <code>preferredStyleSheetSet</code> of type <span
  2.2759 +    class=idlAttrType><a>DOMString</a></span>, readonly
  2.2760 +
  2.2761 +   <dd>
  2.2762 +    <p>The <code>preferredStyleSheetSet</code> attribute must return the <a
  2.2763 +     href="#preferred-style-sheet-set-name">preferred style sheet set
  2.2764 +     name</a>.</p>
  2.2765 +
  2.2766 +    <p class=note>Unlike <code
  2.2767 +     title=dom-Document-lastStyleSheetSet>lastStyleSheetSet</code>, this
  2.2768 +     attribute is initially the empty string.
  2.2769 +
  2.2770 +   <dt class=attribute id=widl-Document-styleSheetSets>
  2.2771 +    <code>styleSheetSets</code> of type <span
  2.2772 +    class=idlAttrType><a>DOMStringList</a></span>, readonly
  2.2773 +
  2.2774 +   <dd>
  2.2775 +    <p>The <code>styleSheetSets</code> attribute must return a list of the <a
  2.2776 +     href="#style-sheet-set-name" title="style sheet set name">style sheet
  2.2777 +     set names</a> of the <a href="#style-sheet-set"
  2.2778 +     title="style sheet set">style sheet sets</a>, in order of the <a
  2.2779 +     href="#document-style-sheets">document style sheets</a>.
  2.2780 +  </dl>
  2.2781 +
  2.2782 +  <dl class=methods>
  2.2783 +   <dt class=method
  2.2784 +    id=widl-Document-enableStyleSheetsForSet-void-DOMString-name>
  2.2785 +    <code>enableStyleSheetsForSet</code> (<span class=idlParam><span
  2.2786 +    class=idlParamType><a>DOMString</a>?</span></span>), returns <span
  2.2787 +    class=idlMethType><a>void</a></span>
  2.2788 +
  2.2789 +   <dd>
  2.2790 +    <p>The <code>enableStyleSheetsForSet</code> operation must, when invoked,
  2.2791 +     run these steps:</p>
  2.2792 +
  2.2793 +    <ol>
  2.2794 +     <li>
  2.2795 +      <p>If <var>name</var> is null terminate these steps.
  2.2796 +
  2.2797 +     <li>
  2.2798 +      <p><a href="#enable-a-style-sheet-set">Enable a style sheet set</a>
  2.2799 +       with name <var>name</var>.
  2.2800 +    </ol>
  2.2801 +
  2.2802 +    <p class=note><a href="#style-sheet" title="Style sheet">Style sheets</a>
  2.2803 +     with an empty <a href="#style-sheet-title">style sheet title</a> are
  2.2804 +     never affected by this method. This method does not change the values of
  2.2805 +     the <code title=dom-Document-lastStyleSheetSet>lastStyleSheetSet</code>
  2.2806 +     or <code
  2.2807 +     title=dom-Document-preferredStyleSheetSet>preferredStyleSheetSet</code>
  2.2808 +     attributes.
  2.2809 +  </dl>
  2.2810    <!-- ........................................................................................................................ -->
  2.2811  
  2.2812 -  <h4 id="interaction-with-the-user-interface"><span class="secno">6.2.4 </span>Interaction with the User Interface</h4>
  2.2813 -
  2.2814 -  <p>The user interface of Web browsers that support style sheets
  2.2815 -  should list the style sheet titles given in the
  2.2816 -  <code title="dom-Document-styleSheetSets">styleSheetSets</code> list,
  2.2817 -  showing the
  2.2818 -  <code title="dom-Document-selectedStyleSheetSet">selectedStyleSheetSet</code>
  2.2819 -  as the selected style sheet set, leaving none selected if it is
  2.2820 -  null or the empty string, and selecting an extra option
  2.2821 -  "Basic Page Style" (or similar) if it is the empty string and the
  2.2822 -  <code title="dom-Document-preferredStyleSheetSet">preferredStyleSheetSet</code>
  2.2823 -  is the empty string as well.</p>
  2.2824 -
  2.2825 -  <p>Selecting a style sheet from this list should
  2.2826 -  use the <a href="#select-a-style-sheet-set">select a style sheet set</a> set of steps. This
  2.2827 -  (by definition) affects the
  2.2828 -  <code title="dom-Document-lastStyleSheetSet">lastStyleSheetSet</code>
  2.2829 -  attribute.</p>
  2.2830 -
  2.2831 -  <h5 id="persisting-the-selected-style-sheet-set"><span class="secno">6.2.4.1 </span>Persisting the selected style sheet set</h5>
  2.2832 +  <h4 id=interaction-with-the-user-interface><span class=secno>6.2.4.
  2.2833 +   </span>Interaction with the User Interface</h4>
  2.2834 +
  2.2835 +  <p>The user interface of Web browsers that support style sheets should list
  2.2836 +   the style sheet titles given in the <code
  2.2837 +   title=dom-Document-styleSheetSets>styleSheetSets</code> list, showing the
  2.2838 +   <code
  2.2839 +   title=dom-Document-selectedStyleSheetSet>selectedStyleSheetSet</code> as
  2.2840 +   the selected style sheet set, leaving none selected if it is null or the
  2.2841 +   empty string, and selecting an extra option "Basic Page Style" (or
  2.2842 +   similar) if it is the empty string and the <code
  2.2843 +   title=dom-Document-preferredStyleSheetSet>preferredStyleSheetSet</code> is
  2.2844 +   the empty string as well.
  2.2845 +
  2.2846 +  <p>Selecting a style sheet from this list should use the <a
  2.2847 +   href="#select-a-style-sheet-set">select a style sheet set</a> set of
  2.2848 +   steps. This (by definition) affects the <code
  2.2849 +   title=dom-Document-lastStyleSheetSet>lastStyleSheetSet</code> attribute.
  2.2850 +
  2.2851 +  <h5 id=persisting-the-selected-style-sheet-set><span class=secno>6.2.4.1.
  2.2852 +   </span>Persisting the selected style sheet set</h5>
  2.2853  
  2.2854    <p>If a user agent persist the selected style sheet set, they should use
  2.2855 -  the value of the
  2.2856 -  <code title="dom-Document-selectedStyleSheetSet">selectedStyleSheetSet</code>
  2.2857 -  attribute, or if that is null, the
  2.2858 -  <code title="dom-Document-lastStyleSheetSet">lastStyleSheetSet</code>
  2.2859 -  attribute, when leaving the page (or at some other time) to determine the
  2.2860 -  set name to store. If that is null then the style sheet set should not be
  2.2861 -  persisted.</p>
  2.2862 +   the value of the <code
  2.2863 +   title=dom-Document-selectedStyleSheetSet>selectedStyleSheetSet</code>
  2.2864 +   attribute, or if that is null, the <code
  2.2865 +   title=dom-Document-lastStyleSheetSet>lastStyleSheetSet</code> attribute,
  2.2866 +   when leaving the page (or at some other time) to determine the set name to
  2.2867 +   store. If that is null then the style sheet set should not be persisted.
  2.2868  
  2.2869    <p>When re-setting the style sheet set to the persisted value (which can
  2.2870 -  happen at any time, typically at the first time the style sheets are
  2.2871 -  needed for styling the document, after the <code>&lt;head&gt;</code> of
  2.2872 -  the document has been parsed, after any scripts that are not dependent on
  2.2873 -  computed style have executed), the style sheet set
  2.2874 -  should be set by using the
  2.2875 -  <a href="#select-a-style-sheet-set">select a style sheet set</a> set of steps as if the user had
  2.2876 -  selected the set manually.</p>
  2.2877 -
  2.2878 -  <p class="note">This specification does not give any suggestions on
  2.2879 -  how user agents should decide to persist the style sheet set or whether or
  2.2880 -  how to persist the selected set across pages.</p>
  2.2881 -
  2.2882 +   happen at any time, typically at the first time the style sheets are
  2.2883 +   needed for styling the document, after the <code>&lt;head&gt;</code> of
  2.2884 +   the document has been parsed, after any scripts that are not dependent on
  2.2885 +   computed style have executed), the style sheet set should be set by using
  2.2886 +   the <a href="#select-a-style-sheet-set">select a style sheet set</a> set
  2.2887 +   of steps as if the user had selected the set manually.
  2.2888 +
  2.2889 +  <p class=note>This specification does not give any suggestions on how user
  2.2890 +   agents should decide to persist the style sheet set or whether or how to
  2.2891 +   persist the selected set across pages.</p>
  2.2892    <!-- XXX this UI section suggests we may want to introduce a few more
  2.2893         idioms -->
  2.2894 -
  2.2895    <!-- ........................................................................................................................ -->
  2.2896  
  2.2897 -  <h4 id="examples"><span class="secno">6.2.5 </span>Examples</h4>
  2.2898 -
  2.2899 -  <div class="example">
  2.2900 +  <h4 id=examples><span class=secno>6.2.5. </span>Examples</h4>
  2.2901 +
  2.2902 +  <div class=example>
  2.2903     <p>Thus, in the following HTML snippet:</p>
  2.2904  
  2.2905     <pre>&lt;link rel="alternate stylesheet" title="foo" href="a"&gt;
  2.2906 @@ -1234,14 +1860,14 @@
  2.2907  &lt;link rel="alternate stylesheet" title="foo" href="c"&gt;
  2.2908  &lt;link rel="alternate stylesheet" title="bar" href="d"&gt;</pre>
  2.2909  
  2.2910 -   <p>...the style sheets that end up enabled are style sheets "a", "b",
  2.2911 -   and "c", the
  2.2912 -   <code title="dom-Document-selectedStyleSheetSet">selectedStyleSheetSet</code>
  2.2913 -   attribute would return null,
  2.2914 -   <code title="dom-Document-lastStyleSheetSet">lastStyleSheetSet</code>
  2.2915 -   would return "foo", and
  2.2916 -   <code title="dom-Document-preferredStyleSheetSet">preferredStyleSheetSet</code>
  2.2917 -   would return the empty string.</p>
  2.2918 +   <p>...the style sheets that end up enabled are style sheets "a", "b", and
  2.2919 +    "c", the <code
  2.2920 +    title=dom-Document-selectedStyleSheetSet>selectedStyleSheetSet</code>
  2.2921 +    attribute would return null, <code
  2.2922 +    title=dom-Document-lastStyleSheetSet>lastStyleSheetSet</code> would
  2.2923 +    return "foo", and <code
  2.2924 +    title=dom-Document-preferredStyleSheetSet>preferredStyleSheetSet</code>
  2.2925 +    would return the empty string.</p>
  2.2926  
  2.2927     <p>Similarly, in the following HTML snippet:</p>
  2.2928  
  2.2929 @@ -1258,670 +1884,1198 @@
  2.2930    var after = document.preferredStyleSheetSet;
  2.2931  &lt;/script&gt;</pre>
  2.2932  
  2.2933 -   <p>...the "before" variable will be equal to the empty string, the
  2.2934 -   "after" variable will be equal to "foo", and style sheets "a" and "c"
  2.2935 -   will be enabled. This is the case even though the first script block
  2.2936 -   sets style sheet "b" to be enabled, because upon parsing the
  2.2937 -   following <code>&lt;link&gt;</code> element, the
  2.2938 -   <code title="dom-Document-preferredStyleSheetSet">preferredStyleSheetSet</code>
  2.2939 -   is set and the
  2.2940 -   <code title="dom-Document-enableStyleSheetsForSet">enableStyleSheetsForSet()</code>
  2.2941 -   method is called (since
  2.2942 -   <code title="dom-Document-selectedStyleSheetSet">selectedStyleSheetSet</code>
  2.2943 -   was never set
  2.2944 -   explicitly, leaving
  2.2945 -   <code title="dom-Document-lastStyleSheetSet">lastStyleSheetSet</code> at
  2.2946 -   null throughout), which changes which style sheets are enabled and which
  2.2947 -   are not.</p>
  2.2948 +   <p>...the "before" variable will be equal to the empty string, the "after"
  2.2949 +    variable will be equal to "foo", and style sheets "a" and "c" will be
  2.2950 +    enabled. This is the case even though the first script block sets style
  2.2951 +    sheet "b" to be enabled, because upon parsing the following
  2.2952 +    <code>&lt;link&gt;</code> element, the <code
  2.2953 +    title=dom-Document-preferredStyleSheetSet>preferredStyleSheetSet</code>
  2.2954 +    is set and the <code
  2.2955 +    title=dom-Document-enableStyleSheetsForSet>enableStyleSheetsForSet()</code>
  2.2956 +    method is called (since <code
  2.2957 +    title=dom-Document-selectedStyleSheetSet>selectedStyleSheetSet</code> was
  2.2958 +    never set explicitly, leaving <code
  2.2959 +    title=dom-Document-lastStyleSheetSet>lastStyleSheetSet</code> at null
  2.2960 +    throughout), which changes which style sheets are enabled and which are
  2.2961 +    not.</p>
  2.2962    </div>
  2.2963 -
  2.2964    <!-- ........................................................................................................................ -->
  2.2965    <!-- ........................................................................................................................ -->
  2.2966  
  2.2967 -  <h3 id="style-sheet-association"><span class="secno">6.3 </span>Style Sheet Association</h3>
  2.2968 -
  2.2969 -  <p>This section defines the interface a
  2.2970 -  <a href="#style-sheet-owner-node">style sheet owner node</a> of a <a href="#style-sheet">style sheet</a> has to
  2.2971 -  implement and defines the requirements for
  2.2972 -  <a class="external" href="http://www.w3.org/TR/xml-stylesheet/#dt-xml-stylesheet" title="xml-stylesheet processing instruction">xml-stylesheet processing instructions</a>
  2.2973 -  and HTTP <code title="http-link">Link</code> headers when the link
  2.2974 -  relation type is an
  2.2975 -  <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#ascii-case-insensitive">ASCII case-insensitive</a> match for
  2.2976 -  "<code>stylesheet</code>" since nobody else was interested in
  2.2977 -  defining this.</p>
  2.2978 -
  2.2979 -  <p class="note">The editor is in good hope that HTML and SVG will define the
  2.2980 -  appropriate processing in their respective specifications, in terms of
  2.2981 -  this specification, in due course.</p>
  2.2982 -
  2.2983 -
  2.2984 +  <h3 id=style-sheet-association><span class=secno>6.3. </span>Style Sheet
  2.2985 +   Association</h3>
  2.2986 +
  2.2987 +  <p>This section defines the interface a <a
  2.2988 +   href="#style-sheet-owner-node">style sheet owner node</a> of a <a
  2.2989 +   href="#style-sheet">style sheet</a> has to implement and defines the
  2.2990 +   requirements for <span data-anolis-spec=xmlss
  2.2991 +   title="xml-stylesheet processing instruction">xml-stylesheet processing
  2.2992 +   instructions</span> and HTTP <code title=http-link>Link</code> headers
  2.2993 +   when the link relation type is an <span data-anolis-spec=dom>ASCII
  2.2994 +   case-insensitive</span> match for "<code>stylesheet</code>" since nobody
  2.2995 +   else was interested in defining this.
  2.2996 +
  2.2997 +  <p class=note>The editor is in good hope that HTML and SVG will define the
  2.2998 +   appropriate processing in their respective specifications, in terms of
  2.2999 +   this specification, in due course.</p>
  2.3000    <!-- ........................................................................................................................ -->
  2.3001  
  2.3002 -  <h4 id="the-linkstyle-interface"><span class="secno">6.3.1 </span>The <code>LinkStyle</code> Interface</h4>
  2.3003 -
  2.3004 -  <p>The <dfn id="associated-style-sheet">associated style sheet</dfn> of a node is the <a href="#style-sheet">style sheet</a> in the list of  <a href="#document-style-sheets">document style sheets</a> of which the <a href="#style-sheet-owner-node">style sheet owner node</a> implements the <code>LinkStyle</code> interface.</p>
  2.3005 -<pre class="idl"><span class="idlInterface" id="widl-def-LinkStyle">interface <span class="idlInterfaceID">LinkStyle</span> {
  2.3006 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>StyleSheet</a></span> <span class="idlAttrName"><a href="#widl-LinkStyle-sheet">sheet</a></span>;</span>
  2.3007 +  <h4 id=the-linkstyle-interface><span class=secno>6.3.1. </span>The
  2.3008 +   <code>LinkStyle</code> Interface</h4>
  2.3009 +
  2.3010 +  <p>The <dfn id=associated-style-sheet>associated style sheet</dfn> of a
  2.3011 +   node is the <a href="#style-sheet">style sheet</a> in the list of <a
  2.3012 +   href="#document-style-sheets">document style sheets</a> of which the <a
  2.3013 +   href="#style-sheet-owner-node">style sheet owner node</a> implements the
  2.3014 +   <code>LinkStyle</code> interface.
  2.3015 +
  2.3016 +  <pre class=idl><span class=idlInterface
  2.3017 +   id=widl-def-LinkStyle>interface <span
  2.3018 +   class=idlInterfaceID>LinkStyle</span> {
  2.3019 +<span
  2.3020 +   class=idlAttribute>    readonly attribute <span
  2.3021 +   class=idlAttrType><a>StyleSheet</a></span> <span class=idlAttrName><a
  2.3022 +   href="#widl-LinkStyle-sheet">sheet</a></span>;</span>
  2.3023  };</span></pre>
  2.3024 -<dl class="attributes">
  2.3025 -<dt class="attribute" id="widl-LinkStyle-sheet">
  2.3026 -<code>sheet</code> of type <span class="idlAttrType"><a>StyleSheet</a></span>, readonly</dt>
  2.3027 -<dd>
  2.3028 -<p>The <code>sheet</code> attribute must return the <a href="#associated-style-sheet">associated style sheet</a> for the node, or null,    if there is no <a href="#associated-style-sheet">associated style sheet</a>.</dd>
  2.3029 -</dl>
  2.3030 -
  2.3031 -
  2.3032 -  <div class="example">
  2.3033 -   <p>In the following HTML snippet the first HTML <code>style</code>
  2.3034 -   element has a <code>sheet</code> attribute that returns a
  2.3035 -   <code>StyleSheet</code> object representing the style sheet, but for
  2.3036 -   the second <code>style</code> attribute it returns null.
  2.3037 -   (Assuming the user agent supports CSS (<code>text/css</code>) and does
  2.3038 -   not support ExampleSheets (<code>text/example-sheets</code>).</p>
  2.3039 +
  2.3040 +  <dl class=attributes>
  2.3041 +   <dt class=attribute id=widl-LinkStyle-sheet> <code>sheet</code> of type
  2.3042 +    <span class=idlAttrType><a>StyleSheet</a></span>, readonly
  2.3043 +
  2.3044 +   <dd>
  2.3045 +    <p>The <code>sheet</code> attribute must return the <a
  2.3046 +     href="#associated-style-sheet">associated style sheet</a> for the node,
  2.3047 +     or null, if there is no <a href="#associated-style-sheet">associated
  2.3048 +     style sheet</a>.
  2.3049 +  </dl>
  2.3050 +
  2.3051 +  <div class=example>
  2.3052 +   <p>In the following HTML snippet the first HTML <code>style</code> element
  2.3053 +    has a <code>sheet</code> attribute that returns a <code>StyleSheet</code>
  2.3054 +    object representing the style sheet, but for the second
  2.3055 +    <code>style</code> attribute it returns null. (Assuming the user agent
  2.3056 +    supports CSS (<code>text/css</code>) and does not support ExampleSheets
  2.3057 +    (<code>text/example-sheets</code>).</p>
  2.3058  
  2.3059     <pre>&lt;style type=text/css&gt; body { background:lime } &lt;/style&gt;
  2.3060  &lt;style type=text/example-sheets&gt; $(body).background := lime &lt;/style&gt;</pre>
  2.3061    </div>
  2.3062  
  2.3063 -  <p class="note">Whether or not the node refers to a style sheet is defined
  2.3064 -  by the specification that defines the semantics of said node.</p>
  2.3065 -
  2.3066 +  <p class=note>Whether or not the node refers to a style sheet is defined by
  2.3067 +   the specification that defines the semantics of said node.</p>
  2.3068    <!-- ........................................................................................................................ -->
  2.3069  
  2.3070 -  <h4 id="requirements-on-specifications"><span class="secno">6.3.2 </span>Requirements on specifications</h4>
  2.3071 +  <h4 id=requirements-on-specifications><span class=secno>6.3.2.
  2.3072 +   </span>Requirements on specifications</h4>
  2.3073  
  2.3074    <p>Specifications introducing new ways of associating style sheets through
  2.3075 -  the DOM should define which nodes implement the
  2.3076 -  <code>LinkStyle</code> interface. When doing so, they
  2.3077 -  must also define when a <a href="#style-sheet">style sheet</a> is
  2.3078 -  <a href="#create-a-style-sheet" title="create a style sheet">created</a>.</p>
  2.3079 -
  2.3080 -
  2.3081 -
  2.3082 -
  2.3083 +   the DOM should define which nodes implement the <code>LinkStyle</code>
  2.3084 +   interface. When doing so, they must also define when a <a
  2.3085 +   href="#style-sheet">style sheet</a> is <a href="#create-a-style-sheet"
  2.3086 +   title="create a style sheet">created</a>.</p>
  2.3087    <!-- ........................................................................................................................ -->
  2.3088  
  2.3089 -  <h4 id="requirements-on-user-agents-implementing-the-xml-stylesheet-processing-instruction"><span class="secno">6.3.3 </span>Requirements on User Agents Implementing the
  2.3090 -  <span><code>xml-stylesheet</code> processing instruction</span></h4>
  2.3091 -
  2.3092 +  <h4 id=requirements-on-user-agents-implementing><span class=secno>6.3.3.
  2.3093 +   </span>Requirements on User Agents Implementing the
  2.3094 +   <span><code>xml-stylesheet</code> processing instruction</span></h4>
  2.3095    <!-- XXX load/error events, reparse -->
  2.3096  
  2.3097 -  
  2.3098 -<pre class="idl">[[TBD - IMPLEMENTS]]
  2.3099 +  <pre class=idl>[[TBD - IMPLEMENTS]]
  2.3100  </pre>
  2.3101 -
  2.3102 -
  2.3103    <!--
  2.3104    <pre class="idl"><span data-anolis-spec=dom>ProcessingInstruction</span> implements <span>LinkStyle</span>;</pre>
  2.3105    -->
  2.3106  
  2.3107 -  <p>For each
  2.3108 -  <a class="external" href="http://www.w3.org/TR/xml-stylesheet/#dt-xml-stylesheet"><code>xml-stylesheet</code> processing instruction</a>
  2.3109 -  that is not part of the
  2.3110 -  <a class="external" href="http://www.w3.org/TR/xml/#dt-doctype">document type declaration</a> and has an
  2.3111 -  <code>href</code>
  2.3112 -  <a class="external" href="http://www.w3.org/TR/xml-stylesheet/#dt-pseudo-attribute">pseudo-attribute</a> these steps must
  2.3113 -  (unless otherwise stated) be run:</p>
  2.3114 +  <p>For each <span data-anolis-spec=xmlss><code>xml-stylesheet</code>
  2.3115 +   processing instruction</span> that is not part of the <span
  2.3116 +   data-anolis-spec=xml>document type declaration</span> and has an
  2.3117 +   <code>href</code> <span data-anolis-spec=xmlss>pseudo-attribute</span>
  2.3118 +   these steps must (unless otherwise stated) be run:
  2.3119  
  2.3120    <ol>
  2.3121 -   <li><p>Let <var>title</var> be the value of the
  2.3122 -   <code>title</code> <a class="external" href="http://www.w3.org/TR/xml-stylesheet/#dt-pseudo-attribute">pseudo-attribute</a> or the empty string if the
  2.3123 -   <code>title</code> <a class="external" href="http://www.w3.org/TR/xml-stylesheet/#dt-pseudo-attribute">pseudo-attribute</a> is not specified.</li>
  2.3124 -
  2.3125 -   <li><p>If there is an <code>alternate</code> <a class="external" href="http://www.w3.org/TR/xml-stylesheet/#dt-pseudo-attribute">pseudo-attribute</a>
  2.3126 -   whose value is a <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#case-sensitive">case-sensitive</a> match
  2.3127 -   for "<code>yes</code>" and <var>title</var> is the
  2.3128 -   empty string terminate these steps.</li>
  2.3129 -
  2.3130 -   <li><p>If there is a <code>type</code> <a class="external" href="http://www.w3.org/TR/xml-stylesheet/#dt-pseudo-attribute">pseudo-attribute</a> whose
  2.3131 -   value is not a <a href="#supported-styling-language">supported styling language</a> the user agent
  2.3132 -   may terminate these steps.</li>
  2.3133 -
  2.3134 -   <li><p><a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#resolve-a-url" title="Resolve a URL">Resolve</a>
  2.3135 -   the <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#url">URL</a> specified by the
  2.3136 -   <code>href</code> <a class="external" href="http://www.w3.org/TR/xml-stylesheet/#dt-pseudo-attribute">pseudo-attribute</a> and then
  2.3137 -   <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/fetching-resources.html#fetch">fetch</a> it.</li>
  2.3138 -
  2.3139     <li>
  2.3140 -    <p>When the resource is available, the document is in
  2.3141 -    <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-quirks-mode" title="concept-quirks-mode">quirks mode</a>
  2.3142 -    and the
  2.3143 -    <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/fetching-resources.html#content-type">Content-Type metadata</a> of
  2.3144 -    the resource is not a <a href="#supported-styling-language">supported styling language</a> change the
  2.3145 -    <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/fetching-resources.html#content-type">Content-Type metadata</a> of the resource
  2.3146 -    to <code>text/css</code>.</p>
  2.3147 -
  2.3148 -    <p class="note">This step might never actually happen, but is included
  2.3149 -    here in case other specifications change, to keep things consistent.</p>
  2.3150 -   </li>
  2.3151 -
  2.3152 -   <li><p>If the resource is not in a
  2.3153 -   <a href="#supported-styling-language">supported styling language</a> terminate these steps.</li>
  2.3154 +    <p>Let <var>title</var> be the value of the <code>title</code> <span
  2.3155 +     data-anolis-spec=xmlss>pseudo-attribute</span> or the empty string if
  2.3156 +     the <code>title</code> <span
  2.3157 +     data-anolis-spec=xmlss>pseudo-attribute</span> is not specified.
  2.3158  
  2.3159     <li>
  2.3160 -    <p><a href="#create-a-style-sheet">Create a style sheet</a> with the following properties:</p>
  2.3161 +    <p>If there is an <code>alternate</code> <span
  2.3162 +     data-anolis-spec=xmlss>pseudo-attribute</span> whose value is a <span
  2.3163 +     data-anolis-spec=dom>case-sensitive</span> match for "<code>yes</code>"
  2.3164 +     and <var>title</var> is the empty string terminate these steps.
  2.3165 +
  2.3166 +   <li>
  2.3167 +    <p>If there is a <code>type</code> <span
  2.3168 +     data-anolis-spec=xmlss>pseudo-attribute</span> whose value is not a <a
  2.3169 +     href="#supported-styling-language">supported styling language</a> the
  2.3170 +     user agent may terminate these steps.
  2.3171 +
  2.3172 +   <li>
  2.3173 +    <p><span data-anolis-spec=html title="Resolve a URL">Resolve</span> the
  2.3174 +     <span data-anolis-spec=html>URL</span> specified by the
  2.3175 +     <code>href</code> <span data-anolis-spec=xmlss>pseudo-attribute</span>
  2.3176 +     and then <span data-anolis-spec=html>fetch</span> it.
  2.3177 +
  2.3178 +   <li>
  2.3179 +    <p>When the resource is available, the document is in <span
  2.3180 +     data-anolis-spec=dom title=concept-quirks-mode>quirks mode</span> and
  2.3181 +     the <span data-anolis-spec=html>Content-Type metadata</span> of the
  2.3182 +     resource is not a <a href="#supported-styling-language">supported
  2.3183 +     styling language</a> change the <span data-anolis-spec=html>Content-Type
  2.3184 +     metadata</span> of the resource to <code>text/css</code>.</p>
  2.3185 +
  2.3186 +    <p class=note>This step might never actually happen, but is included here
  2.3187 +     in case other specifications change, to keep things consistent.</p>
  2.3188 +
  2.3189 +   <li>
  2.3190 +    <p>If the resource is not in a <a
  2.3191 +     href="#supported-styling-language">supported styling language</a>
  2.3192 +     terminate these steps.
  2.3193 +
  2.3194 +   <li>
  2.3195 +    <p><a href="#create-a-style-sheet">Create a style sheet</a> with the
  2.3196 +     following properties:</p>
  2.3197  
  2.3198      <dl>
  2.3199 -     <dt><a href="#style-sheet-location">style sheet location</a></dt>
  2.3200 -     <dd><p>The <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#absolute-url">absolute URL</a> of the
  2.3201 -     resource.</dd>
  2.3202 -
  2.3203 -     <dt><a href="#style-sheet-parent">style sheet parent</a></dt>
  2.3204 -     <dd><p>null</dd>
  2.3205 -
  2.3206 -     <dt><a href="#style-sheet-owner-node">style sheet owner node</a></dt>
  2.3207 -     <dd><p>The node.</dd>
  2.3208 -
  2.3209 -     <dt><a href="#style-sheet-owner-css-rule">style sheet owner CSS rule</a></dt>
  2.3210 -     <dd><p>null</dd>
  2.3211 -
  2.3212 -     <dt><a href="#style-sheet-media">style sheet media</a></dt>
  2.3213 -     <dd><p>The value of the <code>media</code> <a class="external" href="http://www.w3.org/TR/xml-stylesheet/#dt-pseudo-attribute">pseudo-attribute</a>
  2.3214 -     if any, or the empty string otherwise.</dd>
  2.3215 -
  2.3216 -     <dt><a href="#style-sheet-title">style sheet title</a></dt>
  2.3217 -     <dd><p><var>title</var></dd>
  2.3218 -
  2.3219 -     <dt><a href="#style-sheet-alternate-flag">style sheet alternate flag</a></dt>
  2.3220 -     <dd><p>Set if the <code>alternate</code> <a class="external" href="http://www.w3.org/TR/xml-stylesheet/#dt-pseudo-attribute">pseudo-attribute</a>
  2.3221 -     value is a <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#case-sensitive">case-sensitive</a> match for
  2.3222 -     "<code>yes</code>", or unset otherwise.
  2.3223 +     <dt><a href="#style-sheet-location">style sheet location</a>
  2.3224 +
  2.3225 +     <dd>
  2.3226 +      <p>The <span data-anolis-spec=html>absolute URL</span> of the resource.
  2.3227 +
  2.3228 +     <dt><a href="#style-sheet-parent">style sheet parent</a>
  2.3229 +
  2.3230 +     <dd>
  2.3231 +      <p>null
  2.3232 +
  2.3233 +     <dt><a href="#style-sheet-owner-node">style sheet owner node</a>
  2.3234 +
  2.3235 +     <dd>
  2.3236 +      <p>The node.
  2.3237 +
  2.3238 +     <dt><a href="#style-sheet-owner-css-rule">style sheet owner CSS rule</a>
  2.3239 +
  2.3240 +     <dd>
  2.3241 +      <p>null
  2.3242 +
  2.3243 +     <dt><a href="#style-sheet-media">style sheet media</a>
  2.3244 +
  2.3245 +     <dd>
  2.3246 +      <p>The value of the <code>media</code> <span
  2.3247 +       data-anolis-spec=xmlss>pseudo-attribute</span> if any, or the empty
  2.3248 +       string otherwise.
  2.3249 +
  2.3250 +     <dt><a href="#style-sheet-title">style sheet title</a>
  2.3251 +
  2.3252 +     <dd>
  2.3253 +      <p><var>title</var>
  2.3254 +
  2.3255 +     <dt><a href="#style-sheet-alternate-flag">style sheet alternate flag</a>
  2.3256 +
  2.3257 +     <dd>
  2.3258 +      <p>Set if the <code>alternate</code> <span
  2.3259 +       data-anolis-spec=xmlss>pseudo-attribute</span> value is a <span
  2.3260 +       data-anolis-spec=dom>case-sensitive</span> match for
  2.3261 +       "<code>yes</code>", or unset otherwise.
  2.3262      </dl>
  2.3263 -   </li>
  2.3264    </ol>
  2.3265 -
  2.3266 -
  2.3267 -
  2.3268    <!-- ........................................................................................................................ -->
  2.3269  
  2.3270 -  <h4 id="requirements-on-user-agents-implementing-the-http-link-header"><span class="secno">6.3.4 </span>Requirements on User Agents Implementing the HTTP
  2.3271 -  <code>Link</code> Header</h4>
  2.3272 -
  2.3273 +  <h4 id=requirements-on-user-agents-implementing0><span class=secno>6.3.4.
  2.3274 +   </span>Requirements on User Agents Implementing the HTTP <code>Link</code>
  2.3275 +   Header</h4>
  2.3276    <!-- XXX ref, one day -->
  2.3277 -
  2.3278    <!-- XXX deal with media param -->
  2.3279  
  2.3280 -  <p>For each HTTP <code title="http-link">Link</code> header of which one
  2.3281 -  of the link relation types is an
  2.3282 -  <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#ascii-case-insensitive">ASCII case-insensitive</a> match
  2.3283 -  for "<code>stylesheet</code>" these steps
  2.3284 -  must be run:</p>
  2.3285 +  <p>For each HTTP <code title=http-link>Link</code> header of which one of
  2.3286 +   the link relation types is an <span data-anolis-spec=dom>ASCII
  2.3287 +   case-insensitive</span> match for "<code>stylesheet</code>" these steps
  2.3288 +   must be run:
  2.3289  
  2.3290    <ol>
  2.3291 -   <li><p>Let <var>title</var> be the value of the first of all the
  2.3292 -   <code>title</code> and <code>title*</code> parameters.
  2.3293 -   If there are no such parameters it is the empty string.</li>
  2.3294 -
  2.3295 -   <li><p>If one of the (other) link relation types is an
  2.3296 -   <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#ascii-case-insensitive">ASCII case-insensitive</a> match for
  2.3297 -   "<code>alternate</code>" and <var>title</var> is the
  2.3298 -   empty string terminate these steps.</li>
  2.3299 -
  2.3300 -   <li><p><a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#resolve-a-url" title="Resolve a URL">Resolve</a>
  2.3301 -   the specified <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#url">URL</a> and
  2.3302 -   <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/fetching-resources.html#fetch">fetch</a> it.</li>
  2.3303 -
  2.3304 -   <li><p>When the resource is available, the document is in
  2.3305 -   <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-quirks-mode" title="concept-quirks-mode">quirks mode</a>
  2.3306 -   and the <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/fetching-resources.html#content-type">Content-Type metadata</a> of
  2.3307 -   the resource is not a <a href="#supported-styling-language">supported styling language</a> change the
  2.3308 -   <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/fetching-resources.html#content-type">Content-Type metadata</a> of the resource
  2.3309 -   to <code>text/css</code>.</li>
  2.3310 -
  2.3311 -   <li><p>If the resource is not in a
  2.3312 -   <a href="#supported-styling-language">supported styling language</a> terminate these steps.</li>
  2.3313 -
  2.3314     <li>
  2.3315 -    <p><a href="#create-a-style-sheet">Create a style sheet</a> with the following properties:</p>
  2.3316 +    <p>Let <var>title</var> be the value of the first of all the
  2.3317 +     <code>title</code> and <code>title*</code> parameters. If there are no
  2.3318 +     such parameters it is the empty string.
  2.3319 +
  2.3320 +   <li>
  2.3321 +    <p>If one of the (other) link relation types is an <span
  2.3322 +     data-anolis-spec=dom>ASCII case-insensitive</span> match for
  2.3323 +     "<code>alternate</code>" and <var>title</var> is the empty string
  2.3324 +     terminate these steps.
  2.3325 +
  2.3326 +   <li>
  2.3327 +    <p><span data-anolis-spec=html title="Resolve a URL">Resolve</span> the
  2.3328 +     specified <span data-anolis-spec=html>URL</span> and <span
  2.3329 +     data-anolis-spec=html>fetch</span> it.
  2.3330 +
  2.3331 +   <li>
  2.3332 +    <p>When the resource is available, the document is in <span
  2.3333 +     data-anolis-spec=dom title=concept-quirks-mode>quirks mode</span> and
  2.3334 +     the <span data-anolis-spec=html>Content-Type metadata</span> of the
  2.3335 +     resource is not a <a href="#supported-styling-language">supported
  2.3336 +     styling language</a> change the <span data-anolis-spec=html>Content-Type
  2.3337 +     metadata</span> of the resource to <code>text/css</code>.
  2.3338 +
  2.3339 +   <li>
  2.3340 +    <p>If the resource is not in a <a
  2.3341 +     href="#supported-styling-language">supported styling language</a>
  2.3342 +     terminate these steps.
  2.3343 +
  2.3344 +   <li>
  2.3345 +    <p><a href="#create-a-style-sheet">Create a style sheet</a> with the
  2.3346 +     following properties:</p>
  2.3347  
  2.3348      <dl>
  2.3349 -     <dt><a href="#style-sheet-location">style sheet location</a></dt>
  2.3350 -     <dd><p>The <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#absolute-url">absolute URL</a> of the
  2.3351 -     resource.</dd>
  2.3352 -
  2.3353 -     <dt><a href="#style-sheet-owner-node">style sheet owner node</a></dt>
  2.3354 -     <dd><p>null</dd>
  2.3355 -
  2.3356 -     <dt><a href="#style-sheet-parent">style sheet parent</a></dt>
  2.3357 -     <dd><p>null</dd>
  2.3358 -
  2.3359 -     <dt><a href="#style-sheet-owner-node">style sheet owner node</a></dt>
  2.3360 -     <dd><p>null</dd>
  2.3361 -
  2.3362 -     <dt><a href="#style-sheet-owner-css-rule">style sheet owner CSS rule</a></dt>
  2.3363 -     <dd><p>null</dd>
  2.3364 -
  2.3365 -     <dt><a href="#style-sheet-media">style sheet media</a></dt>
  2.3366 -     <dd><p>The value of the first <code>media</code> parameter.</dd>
  2.3367 +     <dt><a href="#style-sheet-location">style sheet location</a>
  2.3368 +
  2.3369 +     <dd>
  2.3370 +      <p>The <span data-anolis-spec=html>absolute URL</span> of the resource.
  2.3371 +
  2.3372 +     <dt><a href="#style-sheet-owner-node">style sheet owner node</a>
  2.3373 +
  2.3374 +     <dd>
  2.3375 +      <p>null
  2.3376 +
  2.3377 +     <dt><a href="#style-sheet-parent">style sheet parent</a>
  2.3378 +
  2.3379 +     <dd>
  2.3380 +      <p>null
  2.3381 +
  2.3382 +     <dt><a href="#style-sheet-owner-node">style sheet owner node</a>
  2.3383 +
  2.3384 +     <dd>
  2.3385 +      <p>null
  2.3386 +
  2.3387 +     <dt><a href="#style-sheet-owner-css-rule">style sheet owner CSS rule</a>
  2.3388 +
  2.3389 +     <dd>
  2.3390 +      <p>null
  2.3391 +
  2.3392 +     <dt><a href="#style-sheet-media">style sheet media</a>
  2.3393 +
  2.3394 +     <dd>
  2.3395 +      <p>The value of the first <code>media</code> parameter.
  2.3396 +     </dd>
  2.3397       <!-- XXX register media parameter? bah -->
  2.3398  
  2.3399 -     <dt><a href="#style-sheet-title">style sheet title</a></dt>
  2.3400 -     <dd><p><var>title</var></dd>
  2.3401 -
  2.3402 -     <dt><a href="#style-sheet-alternate-flag">style sheet alternate flag</a></dt>
  2.3403 -     <dd><p>Set if one of the specified link relation type for this HTTP
  2.3404 -     <code title="http-link">Link</code> header is an
  2.3405 -     <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#ascii-case-insensitive">ASCII case-insensitive</a> match for
  2.3406 -     "<code>alternate</code>", or false otherwise.
  2.3407 +     <dt><a href="#style-sheet-title">style sheet title</a>
  2.3408 +
  2.3409 +     <dd>
  2.3410 +      <p><var>title</var>
  2.3411 +
  2.3412 +     <dt><a href="#style-sheet-alternate-flag">style sheet alternate flag</a>
  2.3413 +
  2.3414 +     <dd>
  2.3415 +      <p>Set if one of the specified link relation type for this HTTP <code
  2.3416 +       title=http-link>Link</code> header is an <span
  2.3417 +       data-anolis-spec=dom>ASCII case-insensitive</span> match for
  2.3418 +       "<code>alternate</code>", or false otherwise.
  2.3419      </dl>
  2.3420 -   </li>
  2.3421    </ol>
  2.3422 -
  2.3423    <!-- ........................................................................................................................ -->
  2.3424    <!-- ........................................................................................................................ -->
  2.3425  
  2.3426 -  <h3 id="css-rules"><span class="secno">6.4 </span>CSS Rules</h3>
  2.3427 -
  2.3428 -  <p>To <dfn id="parse-a-css-rule">parse a CSS rule</dfn> ...</p>
  2.3429 -
  2.3430 -  <p>To <dfn id="serialize-a-css-rule">serialize a CSS rule</dfn> depends on the type of CSS rule, as
  2.3431 -  follows:</p>
  2.3432 -
  2.3433 -  <dl class="switch">
  2.3434 -   <dt><code>CSSStyleRule</code></dt>
  2.3435 -   <dd class="XXX">...</dd>
  2.3436 -
  2.3437 -   <dt><code>CSSImportRule</code></dt>
  2.3438 +  <h3 id=css-rules><span class=secno>6.4. </span>CSS Rules</h3>
  2.3439 +
  2.3440 +  <p>To <dfn id=parse-a-css-rule>parse a CSS rule</dfn> ...
  2.3441 +
  2.3442 +  <p>To <dfn id=serialize-a-css-rule>serialize a CSS rule</dfn> depends on
  2.3443 +   the type of CSS rule, as follows:
  2.3444 +
  2.3445 +  <dl class=switch>
  2.3446 +   <dt><code>CSSStyleRule</code>
  2.3447 +
  2.3448 +   <dd class=XXX>...
  2.3449 +
  2.3450 +   <dt><code>CSSImportRule</code>
  2.3451 +
  2.3452     <dd>
  2.3453      <p>The result of concatenating these strings:</p>
  2.3454 +
  2.3455      <ol>
  2.3456       <li>The literal string "<code>@import</code>", followed by a space
  2.3457 -     (U+0020), followed by the <a href="#serialize-a-url" title="serialize a URL">URL escaped</a>
  2.3458 -     value of the <code title="dom-CSSImportRule-href">href</code>
  2.3459 -     attribute.</li>
  2.3460 +      (U+0020), followed by the <a href="#serialize-a-url"
  2.3461 +      title="serialize a URL">URL escaped</a> value of the <code
  2.3462 +      title=dom-CSSImportRule-href>href</code> attribute.
  2.3463 +
  2.3464       <li>If the associated <code>MediaList</code> object is not empty, a
  2.3465 -     space (U+0020), followed by the value of the
  2.3466 -     <code title="dom-MediaList-mediaText">mediaText</code> attribute of the
  2.3467 -     associated <code>MediaList</code> object.</li>
  2.3468 -     <li>A "<code>;</code>" (U+003B).</li>
  2.3469 +      space (U+0020), followed by the value of the <code
  2.3470 +      title=dom-MediaList-mediaText>mediaText</code> attribute of the
  2.3471 +      associated <code>MediaList</code> object.
  2.3472 +
  2.3473 +     <li>A "<code>;</code>" (U+003B).
  2.3474      </ol>
  2.3475 -   </dd>
  2.3476 -
  2.3477 -   <dt><code>CSSMediaRule</code></dt>
  2.3478 -   <dd class="XXX">...</dd>
  2.3479 -
  2.3480 -   <dt><code>CSSFontFaceRule</code></dt>
  2.3481 -   <dd class="XXX">...</dd>
  2.3482 -
  2.3483 -   <dt><code>CSSPageRule</code></dt>
  2.3484 -   <dd class="XXX">...</dd>
  2.3485 -
  2.3486 -   <dt><code>CSSNamespaceRule</code></dt>
  2.3487 -   <dd><p>The literal string "<code>@namespace</code>", followed by a space
  2.3488 -   (U+0020), followed by the
  2.3489 -   <a href="#serialize-an-identifier" title="serialize an identifier">identifier escaped</a> value of the
  2.3490 -   <code title="dom-CSSNamespaceRule-prefix">prefix</code> attribute (if
  2.3491 -   any), followed by a space (U+0020) if there is a prefix, followed by the
  2.3492 -   <a href="#serialize-a-url" title="serialize a URL">URL escaped</a> value of the
  2.3493 -   <code title="dom-CSSNamespaceRule-namespaceURI">namespaceURI</code>
  2.3494 -   attribute, followed the character "<code>;</code>" (U+003B).</dd>
  2.3495 +
  2.3496 +   <dt><code>CSSMediaRule</code>
  2.3497 +
  2.3498 +   <dd class=XXX>...
  2.3499 +
  2.3500 +   <dt><code>CSSFontFaceRule</code>
  2.3501 +
  2.3502 +   <dd class=XXX>...
  2.3503 +
  2.3504 +   <dt><code>CSSPageRule</code>
  2.3505 +
  2.3506 +   <dd class=XXX>...
  2.3507 +
  2.3508 +   <dt><code>CSSNamespaceRule</code>
  2.3509 +
  2.3510 +   <dd>
  2.3511 +    <p>The literal string "<code>@namespace</code>", followed by a space
  2.3512 +     (U+0020), followed by the <a href="#serialize-an-identifier"
  2.3513 +     title="serialize an identifier">identifier escaped</a> value of the
  2.3514 +     <code title=dom-CSSNamespaceRule-prefix>prefix</code> attribute (if
  2.3515 +     any), followed by a space (U+0020) if there is a prefix, followed by the
  2.3516 +     <a href="#serialize-a-url" title="serialize a URL">URL escaped</a> value
  2.3517 +     of the <code title=dom-CSSNamespaceRule-namespaceURI>namespaceURI</code>
  2.3518 +     attribute, followed the character "<code>;</code>" (U+003B).
  2.3519    </dl>
  2.3520  
  2.3521 -  <p>To <dfn id="insert-a-css-rule">insert a CSS rule</dfn> <var>rule</var> into a
  2.3522 -  CSS rule list <var>list</var> at location
  2.3523 -  <var>index</var> follow these steps:</p>
  2.3524 +  <p>To <dfn id=insert-a-css-rule>insert a CSS rule</dfn> <var>rule</var>
  2.3525 +   into a CSS rule list <var>list</var> at location <var>index</var> follow
  2.3526 +   these steps:
  2.3527  
  2.3528    <ol>
  2.3529 -   <li><p>If <var>index</var> is negative or greater than the
  2.3530 -   length of the <var>list</var>,
  2.3531 -   <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-throw" title="concept-throw">throw</a> an
  2.3532 -   "<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#indexsizeerror">IndexSizeError</a></code>" exception and
  2.3533 -   terminate these steps.</li>
  2.3534 -
  2.3535 -   <li><p><a href="#parse-a-css-rule" title="Parse a CSS rule">Parse</a>
  2.3536 -   <var>rule</var>.</li>
  2.3537 -
  2.3538 -   <li><p>If parsing failed terminate these steps.</li>
  2.3539 -
  2.3540 -   <li><p>If the new object can not be inserted within the
  2.3541 -   <var>list</var> at the given <var>index</var> due to
  2.3542 -   limitations of the CSS specification,
  2.3543 -   <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-throw" title="concept-throw">throw</a> an
  2.3544 -   "<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#hierarchyrequesterror">HierarchyRequestError</a></code>" exception and
  2.3545 -   terminate these steps.</li>
  2.3546 -
  2.3547 -   <li><p>Insert the new object at the given <var>index</var>
  2.3548 -   within the <var>list</var>.</li>
  2.3549 +   <li>
  2.3550 +    <p>If <var>index</var> is negative or greater than the length of the
  2.3551 +     <var>list</var>, <span data-anolis-spec=dom
  2.3552 +     title=concept-throw>throw</span> an "<code
  2.3553 +     data-anolis-spec=dom>IndexSizeError</code>" exception and terminate
  2.3554 +     these steps.
  2.3555 +
  2.3556 +   <li>
  2.3557 +    <p><a href="#parse-a-css-rule" title="Parse a CSS rule">Parse</a>
  2.3558 +     <var>rule</var>.
  2.3559 +
  2.3560 +   <li>
  2.3561 +    <p>If parsing failed terminate these steps.
  2.3562 +
  2.3563 +   <li>
  2.3564 +    <p>If the new object can not be inserted within the <var>list</var> at
  2.3565 +     the given <var>index</var> due to limitations of the CSS specification,
  2.3566 +     <span data-anolis-spec=dom title=concept-throw>throw</span> an "<code
  2.3567 +     data-anolis-spec=dom>HierarchyRequestError</code>" exception and
  2.3568 +     terminate these steps.
  2.3569 +
  2.3570 +   <li>
  2.3571 +    <p>Insert the new object at the given <var>index</var> within the
  2.3572 +     <var>list</var>.
  2.3573    </ol>
  2.3574  
  2.3575 -  <p>To <dfn id="remove-a-css-rule">remove a CSS rule</dfn> from CSS rule list
  2.3576 -  <var>list</var> at location <var>index</var> follow
  2.3577 -  these steps:</p>
  2.3578 +  <p>To <dfn id=remove-a-css-rule>remove a CSS rule</dfn> from CSS rule list
  2.3579 +   <var>list</var> at location <var>index</var> follow these steps:
  2.3580  
  2.3581    <ol>
  2.3582 -   <li><p>If <var>index</var> is negative or greater than the
  2.3583 -   length of the <var>list</var>
  2.3584 -   <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-throw" title="concept-throw">throw</a> an
  2.3585 -   "<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#indexsizeerror">IndexSizeError</a></code>" exception and terminate these steps.</li>
  2.3586 -
  2.3587 -   <li><p>Remove the object at <var>index</var> from
  2.3588 -   <var>list</var>.</li>
  2.3589 +   <li>
  2.3590 +    <p>If <var>index</var> is negative or greater than the length of the
  2.3591 +     <var>list</var> <span data-anolis-spec=dom
  2.3592 +     title=concept-throw>throw</span> an "<code
  2.3593 +     data-anolis-spec=dom>IndexSizeError</code>" exception and terminate
  2.3594 +     these steps.
  2.3595 +
  2.3596 +   <li>
  2.3597 +    <p>Remove the object at <var>index</var> from <var>list</var>.
  2.3598    </ol>
  2.3599 -
  2.3600 -
  2.3601    <!-- ........................................................................................................................ -->
  2.3602  
  2.3603 -  <h4 id="the-cssrulelist-sequence"><span class="secno">6.4.1 </span>The <code>CSSRuleList</code> Sequence</h4>
  2.3604 -
  2.3605 -  <p>The <code>CSSRuleList</code> sequence represents an ordered collection of CSS style rules.</p>
  2.3606 -<pre class="idl">[[TBD - TYPEDEF]]
  2.3607 +  <h4 id=the-cssrulelist-sequence><span class=secno>6.4.1. </span>The
  2.3608 +   <code>CSSRuleList</code> Sequence</h4>
  2.3609 +
  2.3610 +  <p>The <code>CSSRuleList</code> sequence represents an ordered collection
  2.3611 +   of CSS style rules.
  2.3612 +
  2.3613 +  <pre class=idl>[[TBD - TYPEDEF]]
  2.3614  </pre>
  2.3615 -
  2.3616 -
  2.3617    <!-- ........................................................................................................................ -->
  2.3618  
  2.3619 -  <h4 id="the-cssrule-interface"><span class="secno">6.4.2 </span>The <code>CSSRule</code> Interface</h4>
  2.3620 -
  2.3621 -  <p>The <code>CSSRule</code> interface represents an abstract, base CSS style rule. Each  distinct CSS style rule type is represented by a distinct interface that  inherits from this interface.</p>
  2.3622 -<pre class="idl"><span class="idlInterface" id="widl-def-CSSRule">interface <span class="idlInterfaceID">CSSRule</span> {
  2.3623 -<span class="idlConst">    const <span class="idlConstType"><a>unsigned short</a></span> <span class="idlConstName"><a href="#widl-CSSRule-STYLE_RULE">STYLE_RULE</a></span> = <span class="idlConstValue">1</span>;</span>
  2.3624 -<span class="idlConst">    const <span class="idlConstType"><a>unsigned short</a></span> <span class="idlConstName"><a href="#widl-CSSRule-IMPORT_RULE">IMPORT_RULE</a></span> = <span class="idlConstValue">3</span>;</span>
  2.3625 -<span class="idlConst">    const <span class="idlConstType"><a>unsigned short</a></span> <span class="idlConstName"><a href="#widl-CSSRule-MEDIA_RULE">MEDIA_RULE</a></span> = <span class="idlConstValue">4</span>;</span>
  2.3626 -<span class="idlConst">    const <span class="idlConstType"><a>unsigned short</a></span> <span class="idlConstName"><a href="#widl-CSSRule-FONT_FACE_RULE">FONT_FACE_RULE</a></span> = <span class="idlConstValue">5</span>;</span>
  2.3627 -<span class="idlConst">    const <span class="idlConstType"><a>unsigned short</a></span> <span class="idlConstName"><a href="#widl-CSSRule-PAGE_RULE">PAGE_RULE</a></span> = <span class="idlConstValue">6</span>;</span>
  2.3628 -<span class="idlConst">    const <span class="idlConstType"><a>unsigned short</a></span> <span class="idlConstName"><a href="#widl-CSSRule-NAMESPACE_RULE">NAMESPACE_RULE</a></span> = <span class="idlConstValue">10</span>;</span>
  2.3629 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>unsigned short</a></span> <span class="idlAttrName"><a href="#widl-CSSRule-type">type</a></span>;</span>
  2.3630 -<span class="idlAttribute">    attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-CSSRule-cssText">cssText</a></span>;</span>
  2.3631 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSRule</a></span> <span class="idlAttrName"><a href="#widl-CSSRule-parentRule">parentRule</a></span>;</span>
  2.3632 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSStyleSheet</a></span> <span class="idlAttrName"><a href="#widl-CSSRule-parentStyleSheet">parentStyleSheet</a></span>;</span>
  2.3633 +  <h4 id=the-cssrule-interface><span class=secno>6.4.2. </span>The
  2.3634 +   <code>CSSRule</code> Interface</h4>
  2.3635 +
  2.3636 +  <p>The <code>CSSRule</code> interface represents an abstract, base CSS
  2.3637 +   style rule. Each distinct CSS style rule type is represented by a distinct
  2.3638 +   interface that inherits from this interface.
  2.3639 +
  2.3640 +  <pre class=idl><span class=idlInterface id=widl-def-CSSRule>interface <span
  2.3641 +   class=idlInterfaceID>CSSRule</span> {
  2.3642 +<span class=idlConst>    const <span
  2.3643 +   class=idlConstType><a>unsigned short</a></span> <span
  2.3644 +   class=idlConstName><a
  2.3645 +   href="#widl-CSSRule-STYLE_RULE">STYLE_RULE</a></span> = <span
  2.3646 +   class=idlConstValue>1</span>;</span>
  2.3647 +<span class=idlConst>    const <span
  2.3648 +   class=idlConstType><a>unsigned short</a></span> <span
  2.3649 +   class=idlConstName><a
  2.3650 +   href="#widl-CSSRule-IMPORT_RULE">IMPORT_RULE</a></span> = <span
  2.3651 +   class=idlConstValue>3</span>;</span>
  2.3652 +<span class=idlConst>    const <span
  2.3653 +   class=idlConstType><a>unsigned short</a></span> <span
  2.3654 +   class=idlConstName><a
  2.3655 +   href="#widl-CSSRule-MEDIA_RULE">MEDIA_RULE</a></span> = <span
  2.3656 +   class=idlConstValue>4</span>;</span>
  2.3657 +<span class=idlConst>    const <span
  2.3658 +   class=idlConstType><a>unsigned short</a></span> <span
  2.3659 +   class=idlConstName><a
  2.3660 +   href="#widl-CSSRule-FONT_FACE_RULE">FONT_FACE_RULE</a></span> = <span
  2.3661 +   class=idlConstValue>5</span>;</span>
  2.3662 +<span class=idlConst>    const <span
  2.3663 +   class=idlConstType><a>unsigned short</a></span> <span
  2.3664 +   class=idlConstName><a
  2.3665 +   href="#widl-CSSRule-PAGE_RULE">PAGE_RULE</a></span> = <span
  2.3666 +   class=idlConstValue>6</span>;</span>
  2.3667 +<span class=idlConst>    const <span
  2.3668 +   class=idlConstType><a>unsigned short</a></span> <span
  2.3669 +   class=idlConstName><a
  2.3670 +   href="#widl-CSSRule-NAMESPACE_RULE">NAMESPACE_RULE</a></span> = <span
  2.3671 +   class=idlConstValue>10</span>;</span>
  2.3672 +<span
  2.3673 +   class=idlAttribute>    readonly attribute <span
  2.3674 +   class=idlAttrType><a>unsigned short</a></span> <span class=idlAttrName><a
  2.3675 +   href="#widl-CSSRule-type">type</a></span>;</span>
  2.3676 +<span
  2.3677 +   class=idlAttribute>    attribute <span
  2.3678 +   class=idlAttrType><a>DOMString</a></span> <span class=idlAttrName><a
  2.3679 +   href="#widl-CSSRule-cssText">cssText</a></span>;</span>
  2.3680 +<span
  2.3681 +   class=idlAttribute>    readonly attribute <span
  2.3682 +   class=idlAttrType><a>CSSRule</a></span> <span class=idlAttrName><a
  2.3683 +   href="#widl-CSSRule-parentRule">parentRule</a></span>;</span>
  2.3684 +<span
  2.3685 +   class=idlAttribute>    readonly attribute <span
  2.3686 +   class=idlAttrType><a>CSSStyleSheet</a></span> <span class=idlAttrName><a
  2.3687 +   href="#widl-CSSRule-parentStyleSheet">parentStyleSheet</a></span>;</span>
  2.3688  };</span></pre>
  2.3689 -<dl class="constants">
  2.3690 -<dt class="constant" id="widl-CSSRule-STYLE_RULE">
  2.3691 -<code>STYLE_RULE</code> of type <span class="idlConstType"><a>unsigned short</a></span>, with value 1</dt>
  2.3692 -<dd>
  2.3693 -<p>When the value of the <code>type</code> attribute is <code>STYLE_RULE</code>, then the object that implements    this interface must implement the <code>CSSStyleRule</code> interface.</dd>
  2.3694 -<dt class="constant" id="widl-CSSRule-IMPORT_RULE">
  2.3695 -<code>IMPORT_RULE</code> of type <span class="idlConstType"><a>unsigned short</a></span>, with value 3</dt>
  2.3696 -<dd>
  2.3697 -<p>When the value of the <code>type</code> attribute is <code>IMPORT_RULE</code>, then the object that implements    this interface must implement the <code>CSSImportRule</code> interface.</dd>
  2.3698 -<dt class="constant" id="widl-CSSRule-MEDIA_RULE">
  2.3699 -<code>MEDIA_RULE</code> of type <span class="idlConstType"><a>unsigned short</a></span>, with value 4</dt>
  2.3700 -<dd>
  2.3701 -<p>When the value of the <code>type</code> attribute is <code>MEDIA_RULE</code>, then the object that implements    this interface must implement the <code>CSSMediaRule</code> interface.</dd>
  2.3702 -<dt class="constant" id="widl-CSSRule-FONT_FACE_RULE">
  2.3703 -<code>FONT_FACE_RULE</code> of type <span class="idlConstType"><a>unsigned short</a></span>, with value 5</dt>
  2.3704 -<dd>
  2.3705 -<p>When the value of the <code>type</code> attribute is <code>FONT_FACE_RULE</code>, then the object that implements    this interface must implement the <code>CSSFontFaceRule</code> interface.</dd>
  2.3706 -<dt class="constant" id="widl-CSSRule-PAGE_RULE">
  2.3707 -<code>PAGE_RULE</code> of type <span class="idlConstType"><a>unsigned short</a></span>, with value 6</dt>
  2.3708 -<dd>
  2.3709 -<p>When the value of the <code>type</code> attribute is <code>PAGE_RULE</code>, then the object that implements    this interface must implement the <code>CSSPageRule</code> interface.</dd>
  2.3710 -<dt class="constant" id="widl-CSSRule-NAMESPACE_RULE">
  2.3711 -<code>NAMESPACE_RULE</code> of type <span class="idlConstType"><a>unsigned short</a></span>, with value 10</dt>
  2.3712 -<dd>
  2.3713 -<p>When the value of the <code>type</code> attribute is <code>NAMESPACE_RULE</code>, then the object that implements    this interface must implement the <code>CSSNamespaceRule</code> interface.</dd>
  2.3714 -</dl>
  2.3715 -<dl class="attributes">
  2.3716 -<dt class="attribute" id="widl-CSSRule-type">
  2.3717 -<code>type</code> of type <span class="idlAttrType"><a>unsigned short</a></span>, readonly</dt>
  2.3718 -<dd>
  2.3719 -<p>The <code>type</code> attribute must return one of the following values:     <code>STYLE_RULE</code>,     <code>IMPORT_RULE</code>,     <code>MEDIA_RULE</code>,     <code>FONT_FACE_RULE</code>,     <code>PAGE_RULE</code>,     <code>NAMESPACE_RULE</code>,     or a registered extension value.    </p>    <p>The values 0 and 2, formerly known as <code>UNKNOWN_RULE</code> and <code>CHARSET_RULE</code>, respectively, are made     obsolete by this specification. These values will not be re-allocated in the future and shall remain reserved.</p>    <p class="note">Constants for new and proprietary rule types are coordinated     on the <a href="http://wiki.csswg.org/spec/cssom-constants">CSSOM Constants</a> wiki page.</dd>
  2.3720 -<dt class="attribute" id="widl-CSSRule-cssText">
  2.3721 -<code>cssText</code> of type <span class="idlAttrType"><a>DOMString</a></span></dt>
  2.3722 -<dd>
  2.3723 -<p>The <code>cssText</code> attribute must return a <a href="#serialize-a-css-rule" title="serialize a CSS rule">serialization</a> of the    <span>CSS rule</span>.</p>    <p>On setting the <code>cssText</code> attribute these steps must be run:</p>    <ol>     <li><p><a href="#parse-a-css-rule" title="Parse a CSS rule">Parse</a> the value.</li>     <li><p>If parsing failed terminate this algorithm.</li>     <li><p>If the <code title="dom-CSSRule-type">type</code> of the new     object does not match the <code title="dom-CSSRule-type">type</code> of     the current object     <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-throw" title="concept-throw">throw</a> an     '<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#invalidmodificationerror">InvalidModificationError</a></code>' exception.</li>     <li><p>Replace the current object with the new object.</li>    </ol></dd>
  2.3724 -<dt class="attribute" id="widl-CSSRule-parentRule">
  2.3725 -<code>parentRule</code> of type <span class="idlAttrType"><a>CSSRule</a></span>, readonly</dt>
  2.3726 -<dd>
  2.3727 -<p>The <code>parentRule</code> attribute must return the nearest enclosing rule of the current rule or null, if    there is no enclosing rule.</p>    <p class="note">For example, <code>@media</code> can enclose a rule.</dd>
  2.3728 -<dt class="attribute" id="widl-CSSRule-parentStyleSheet">
  2.3729 -<code>parentStyleSheet</code> of type <span class="idlAttrType"><a>CSSStyleSheet</a></span>, readonly</dt>
  2.3730 -<dd>
  2.3731 -<p>The <code>parentStyleSheet</code> attribute must return the <code>CSSStyleSheet</code> object that contains the the    current rule.</dd>
  2.3732 -</dl>
  2.3733 -
  2.3734 -
  2.3735 +
  2.3736 +  <dl class=constants>
  2.3737 +   <dt class=constant id="widl-CSSRule-STYLE_RULE"> <code>STYLE_RULE</code>
  2.3738 +    of type <span class=idlConstType><a>unsigned short</a></span>, with value
  2.3739 +    1
  2.3740 +
  2.3741 +   <dd>
  2.3742 +    <p>When the value of the <code>type</code> attribute is
  2.3743 +     <code>STYLE_RULE</code>, then the object that implements this interface
  2.3744 +     must implement the <code>CSSStyleRule</code> interface.
  2.3745 +
  2.3746 +   <dt class=constant id="widl-CSSRule-IMPORT_RULE"> <code>IMPORT_RULE</code>
  2.3747 +    of type <span class=idlConstType><a>unsigned short</a></span>, with value
  2.3748 +    3
  2.3749 +
  2.3750 +   <dd>
  2.3751 +    <p>When the value of the <code>type</code> attribute is
  2.3752 +     <code>IMPORT_RULE</code>, then the object that implements this interface
  2.3753 +     must implement the <code>CSSImportRule</code> interface.
  2.3754 +
  2.3755 +   <dt class=constant id="widl-CSSRule-MEDIA_RULE"> <code>MEDIA_RULE</code>
  2.3756 +    of type <span class=idlConstType><a>unsigned short</a></span>, with value
  2.3757 +    4
  2.3758 +
  2.3759 +   <dd>
  2.3760 +    <p>When the value of the <code>type</code> attribute is
  2.3761 +     <code>MEDIA_RULE</code>, then the object that implements this interface
  2.3762 +     must implement the <code>CSSMediaRule</code> interface.
  2.3763 +
  2.3764 +   <dt class=constant id="widl-CSSRule-FONT_FACE_RULE">
  2.3765 +    <code>FONT_FACE_RULE</code> of type <span class=idlConstType><a>unsigned
  2.3766 +    short</a></span>, with value 5
  2.3767 +
  2.3768 +   <dd>
  2.3769 +    <p>When the value of the <code>type</code> attribute is
  2.3770 +     <code>FONT_FACE_RULE</code>, then the object that implements this
  2.3771 +     interface must implement the <code>CSSFontFaceRule</code> interface.
  2.3772 +
  2.3773 +   <dt class=constant id="widl-CSSRule-PAGE_RULE"> <code>PAGE_RULE</code> of
  2.3774 +    type <span class=idlConstType><a>unsigned short</a></span>, with value 6
  2.3775 +
  2.3776 +   <dd>
  2.3777 +    <p>When the value of the <code>type</code> attribute is
  2.3778 +     <code>PAGE_RULE</code>, then the object that implements this interface
  2.3779 +     must implement the <code>CSSPageRule</code> interface.
  2.3780 +
  2.3781 +   <dt class=constant id="widl-CSSRule-NAMESPACE_RULE">
  2.3782 +    <code>NAMESPACE_RULE</code> of type <span class=idlConstType><a>unsigned
  2.3783 +    short</a></span>, with value 10
  2.3784 +
  2.3785 +   <dd>
  2.3786 +    <p>When the value of the <code>type</code> attribute is
  2.3787 +     <code>NAMESPACE_RULE</code>, then the object that implements this
  2.3788 +     interface must implement the <code>CSSNamespaceRule</code> interface.
  2.3789 +  </dl>
  2.3790 +
  2.3791 +  <dl class=attributes>
  2.3792 +   <dt class=attribute id=widl-CSSRule-type> <code>type</code> of type <span
  2.3793 +    class=idlAttrType><a>unsigned short</a></span>, readonly
  2.3794 +
  2.3795 +   <dd>
  2.3796 +    <p>The <code>type</code> attribute must return one of the following
  2.3797 +     values: <code>STYLE_RULE</code>, <code>IMPORT_RULE</code>,
  2.3798 +     <code>MEDIA_RULE</code>, <code>FONT_FACE_RULE</code>,
  2.3799 +     <code>PAGE_RULE</code>, <code>NAMESPACE_RULE</code>, or a registered
  2.3800 +     extension value.</p>
  2.3801 +
  2.3802 +    <p>The values 0 and 2, formerly known as <code>UNKNOWN_RULE</code> and
  2.3803 +     <code>CHARSET_RULE</code>, respectively, are made obsolete by this
  2.3804 +     specification. These values will not be re-allocated in the future and
  2.3805 +     shall remain reserved.</p>
  2.3806 +
  2.3807 +    <p class=note>Constants for new and proprietary rule types are
  2.3808 +     coordinated on the <a
  2.3809 +     href="http://wiki.csswg.org/spec/cssom-constants">CSSOM Constants</a>
  2.3810 +     wiki page.
  2.3811 +
  2.3812 +   <dt class=attribute id=widl-CSSRule-cssText> <code>cssText</code> of type
  2.3813 +    <span class=idlAttrType><a>DOMString</a></span>
  2.3814 +
  2.3815 +   <dd>
  2.3816 +    <p>The <code>cssText</code> attribute must return a <a
  2.3817 +     href="#serialize-a-css-rule"
  2.3818 +     title="serialize a CSS rule">serialization</a> of the <span>CSS
  2.3819 +     rule</span>.</p>
  2.3820 +
  2.3821 +    <p>On setting the <code>cssText</code> attribute these steps must be run:</p>
  2.3822 +
  2.3823 +    <ol>
  2.3824 +     <li>
  2.3825 +      <p><a href="#parse-a-css-rule" title="Parse a CSS rule">Parse</a> the
  2.3826 +       value.
  2.3827 +
  2.3828 +     <li>
  2.3829 +      <p>If parsing failed terminate this algorithm.
  2.3830 +
  2.3831 +     <li>
  2.3832 +      <p>If the <code title=dom-CSSRule-type>type</code> of the new object
  2.3833 +       does not match the <code title=dom-CSSRule-type>type</code> of the
  2.3834 +       current object <span data-anolis-spec=dom
  2.3835 +       title=concept-throw>throw</span> an ‘<code class=css><code
  2.3836 +       data-anolis-spec=dom>InvalidModificationError</code></code>’
  2.3837 +       exception.
  2.3838 +
  2.3839 +     <li>
  2.3840 +      <p>Replace the current object with the new object.
  2.3841 +    </ol>
  2.3842 +
  2.3843 +   <dt class=attribute id=widl-CSSRule-parentRule> <code>parentRule</code> of
  2.3844 +    type <span class=idlAttrType><a>CSSRule</a></span>, readonly
  2.3845 +
  2.3846 +   <dd>
  2.3847 +    <p>The <code>parentRule</code> attribute must return the nearest
  2.3848 +     enclosing rule of the current rule or null, if there is no enclosing
  2.3849 +     rule.</p>
  2.3850 +
  2.3851 +    <p class=note>For example, <code>@media</code> can enclose a rule.
  2.3852 +
  2.3853 +   <dt class=attribute id=widl-CSSRule-parentStyleSheet>
  2.3854 +    <code>parentStyleSheet</code> of type <span
  2.3855 +    class=idlAttrType><a>CSSStyleSheet</a></span>, readonly
  2.3856 +
  2.3857 +   <dd>
  2.3858 +    <p>The <code>parentStyleSheet</code> attribute must return the
  2.3859 +     <code>CSSStyleSheet</code> object that contains the the current rule.
  2.3860 +  </dl>
  2.3861    <!-- ........................................................................................................................ -->
  2.3862  
  2.3863 -  <h4 id="the-cssstylerule-interface"><span class="secno">6.4.3 </span>The <code>CSSStyleRule</code> Interface</h4>
  2.3864 -
  2.3865 -  <p>The <code>CSSStyleRule</code> interface represents a rule set.</p>
  2.3866 -<pre class="idl"><span class="idlInterface" id="widl-def-CSSStyleRule">interface <span class="idlInterfaceID">CSSStyleRule</span> {
  2.3867 -<span class="idlAttribute">    attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-CSSStyleRule-selectorText">selectorText</a></span>;</span>
  2.3868 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSStyleDeclaration</a></span> <span class="idlAttrName"><a href="#widl-CSSStyleRule-style">style</a></span>;</span>
  2.3869 +  <h4 id=the-cssstylerule-interface><span class=secno>6.4.3. </span>The
  2.3870 +   <code>CSSStyleRule</code> Interface</h4>
  2.3871 +
  2.3872 +  <p>The <code>CSSStyleRule</code> interface represents a rule set.
  2.3873 +
  2.3874 +  <pre class=idl><span class=idlInterface
  2.3875 +   id=widl-def-CSSStyleRule>interface <span
  2.3876 +   class=idlInterfaceID>CSSStyleRule</span> {
  2.3877 +<span
  2.3878 +   class=idlAttribute>    attribute <span
  2.3879 +   class=idlAttrType><a>DOMString</a></span> <span class=idlAttrName><a
  2.3880 +   href="#widl-CSSStyleRule-selectorText">selectorText</a></span>;</span>
  2.3881 +<span
  2.3882 +   class=idlAttribute>    readonly attribute <span
  2.3883 +   class=idlAttrType><a>CSSStyleDeclaration</a></span> <span
  2.3884 +   class=idlAttrName><a
  2.3885 +   href="#widl-CSSStyleRule-style">style</a></span>;</span>
  2.3886  };</span></pre>
  2.3887 -<dl class="attributes">
  2.3888 -<dt class="attribute" id="widl-CSSStyleRule-selectorText">
  2.3889 -<code>selectorText</code> of type <span class="idlAttrType"><a>DOMString</a></span></dt>
  2.3890 -<dd>
  2.3891 -<p>The <code>selectorText</code> attribute, on getting, must return the result of <a href="#serialize-a-group-of-selectors" title="serialize a group of selectors">serializing</a> the associated    <span>group of selectors</span>.</p>    <p>On setting the <code>selectorText</code> attribute these steps must be run:</p>    <ol>      <li><p>Run the <a href="#parse-a-group-of-selectors">parse a group of selectors</a> algorithm on the given value.</li>      <li><p>If the algorithm returns a non-null value replace the associated <span>group of selectors</span> with the returned value.</li>      <li><p>Otherwise, if the algorithm returns a null value, do nothing.</li>    </ol></dd>
  2.3892 -<dt class="attribute" id="widl-CSSStyleRule-style">
  2.3893 -<code>style</code> of type <span class="idlAttrType"><a>CSSStyleDeclaration</a></span>, readonly</dt>
  2.3894 -<dd>
  2.3895 -<p>The <code>style</code> attribute must return a <code>CSSStyleDeclaration</code> object for the rule set.</dd>
  2.3896 -</dl>
  2.3897 -
  2.3898 -
  2.3899 +
  2.3900 +  <dl class=attributes>
  2.3901 +   <dt class=attribute id=widl-CSSStyleRule-selectorText>
  2.3902 +    <code>selectorText</code> of type <span
  2.3903 +    class=idlAttrType><a>DOMString</a></span>
  2.3904 +
  2.3905 +   <dd>
  2.3906 +    <p>The <code>selectorText</code> attribute, on getting, must return the
  2.3907 +     result of <a href="#serialize-a-group-of-selectors"
  2.3908 +     title="serialize a group of selectors">serializing</a> the associated
  2.3909 +     <span>group of selectors</span>.</p>
  2.3910 +
  2.3911 +    <p>On setting the <code>selectorText</code> attribute these steps must be
  2.3912 +     run:</p>
  2.3913 +
  2.3914 +    <ol>
  2.3915 +     <li>
  2.3916 +      <p>Run the <a href="#parse-a-group-of-selectors">parse a group of
  2.3917 +       selectors</a> algorithm on the given value.
  2.3918 +
  2.3919 +     <li>
  2.3920 +      <p>If the algorithm returns a non-null value replace the associated
  2.3921 +       <span>group of selectors</span> with the returned value.
  2.3922 +
  2.3923 +     <li>
  2.3924 +      <p>Otherwise, if the algorithm returns a null value, do nothing.
  2.3925 +    </ol>
  2.3926 +
  2.3927 +   <dt class=attribute id=widl-CSSStyleRule-style> <code>style</code> of type
  2.3928 +    <span class=idlAttrType><a>CSSStyleDeclaration</a></span>, readonly
  2.3929 +
  2.3930 +   <dd>
  2.3931 +    <p>The <code>style</code> attribute must return a
  2.3932 +     <code>CSSStyleDeclaration</code> object for the rule set.
  2.3933 +  </dl>
  2.3934    <!-- ........................................................................................................................ -->
  2.3935  
  2.3936 -  <h4 id="the-cssimportrule-interface"><span class="secno">6.4.4 </span>The <code>CSSImportRule</code> Interface</h4>
  2.3937 -
  2.3938 -  <p>The <code>CSSImportRule</code> interface represents an <code>@import</code> rule.</p>
  2.3939 -<pre class="idl"><span class="idlInterface" id="widl-def-CSSImportRule">interface <span class="idlInterfaceID">CSSImportRule</span> {
  2.3940 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-CSSImportRule-href">href</a></span>;</span>
  2.3941 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>MediaList</a></span> <span class="idlAttrName"><a href="#widl-CSSImportRule-media">media</a></span>;</span>
  2.3942 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSStyleSheet</a></span> <span class="idlAttrName"><a href="#widl-CSSImportRule-styleSheet">styleSheet</a></span>;</span>
  2.3943 +  <h4 id=the-cssimportrule-interface><span class=secno>6.4.4. </span>The
  2.3944 +   <code>CSSImportRule</code> Interface</h4>
  2.3945 +
  2.3946 +  <p>The <code>CSSImportRule</code> interface represents an
  2.3947 +   <code>@import</code> rule.
  2.3948 +
  2.3949 +  <pre class=idl><span class=idlInterface
  2.3950 +   id=widl-def-CSSImportRule>interface <span
  2.3951 +   class=idlInterfaceID>CSSImportRule</span> {
  2.3952 +<span
  2.3953 +   class=idlAttribute>    readonly attribute <span
  2.3954 +   class=idlAttrType><a>DOMString</a></span> <span class=idlAttrName><a
  2.3955 +   href="#widl-CSSImportRule-href">href</a></span>;</span>
  2.3956 +<span
  2.3957 +   class=idlAttribute>    readonly attribute <span
  2.3958 +   class=idlAttrType><a>MediaList</a></span> <span class=idlAttrName><a
  2.3959 +   href="#widl-CSSImportRule-media">media</a></span>;</span>
  2.3960 +<span
  2.3961 +   class=idlAttribute>    readonly attribute <span
  2.3962 +   class=idlAttrType><a>CSSStyleSheet</a></span> <span class=idlAttrName><a
  2.3963 +   href="#widl-CSSImportRule-styleSheet">styleSheet</a></span>;</span>
  2.3964  };</span></pre>
  2.3965 -<dl class="attributes">
  2.3966 -<dt class="attribute" id="widl-CSSImportRule-href">
  2.3967 -<code>href</code> of type <span class="idlAttrType"><a>DOMString</a></span>, readonly</dt>
  2.3968 -<dd>
  2.3969 -<p>The <code>href</code> attribute must return the <span>URL</span> specified by the <code>@import</code> rule.</p>    <p class="note">To get the resolved <span>URL</span> use the <code title="dom-StyleSheet-href">href</code>    attribute of the associated <a href="#style-sheet">style sheet</a>.</dd>
  2.3970 -<dt class="attribute" id="widl-CSSImportRule-media">
  2.3971 -<code>media</code> of type <span class="idlAttrType"><a>MediaList</a></span>, readonly</dt>
  2.3972 -<dd>
  2.3973 -<p>The <code>media</code> attribute must return the value of the <code title="dom-StyleSheet-media">media</code>    attribute of the associated <a href="#style-sheet">style sheet</a>.</dd>
  2.3974 -<dt class="attribute" id="widl-CSSImportRule-styleSheet">
  2.3975 -<code>styleSheet</code> of type <span class="idlAttrType"><a>CSSStyleSheet</a></span>, readonly</dt>
  2.3976 -<dd>
  2.3977 -<p>The <code>styleSheet</code> attribute must return the associated <a href="#style-sheet">style sheet</a>.</p>    <p class="note">If loading of the style sheet fails its <code title="dom-CSSStyleSheet-cssRules">cssRules</code>    list is simply empty, i.e., an <code>@import</code> rule always has an associated <a href="#style-sheet">style sheet</a>.</dd>
  2.3978 -</dl>
  2.3979 -
  2.3980 -
  2.3981 +
  2.3982 +  <dl class=attributes>
  2.3983 +   <dt class=attribute id=widl-CSSImportRule-href> <code>href</code> of type
  2.3984 +    <span class=idlAttrType><a>DOMString</a></span>, readonly
  2.3985 +
  2.3986 +   <dd>
  2.3987 +    <p>The <code>href</code> attribute must return the <span>URL</span>
  2.3988 +     specified by the <code>@import</code> rule.</p>
  2.3989 +
  2.3990 +    <p class=note>To get the resolved <span>URL</span> use the <code
  2.3991 +     title=dom-StyleSheet-href>href</code> attribute of the associated <a
  2.3992 +     href="#style-sheet">style sheet</a>.
  2.3993 +
  2.3994 +   <dt class=attribute id=widl-CSSImportRule-media> <code>media</code> of
  2.3995 +    type <span class=idlAttrType><a>MediaList</a></span>, readonly
  2.3996 +
  2.3997 +   <dd>
  2.3998 +    <p>The <code>media</code> attribute must return the value of the <code
  2.3999 +     title=dom-StyleSheet-media>media</code> attribute of the associated <a
  2.4000 +     href="#style-sheet">style sheet</a>.
  2.4001 +
  2.4002 +   <dt class=attribute id=widl-CSSImportRule-styleSheet>
  2.4003 +    <code>styleSheet</code> of type <span
  2.4004 +    class=idlAttrType><a>CSSStyleSheet</a></span>, readonly
  2.4005 +
  2.4006 +   <dd>
  2.4007 +    <p>The <code>styleSheet</code> attribute must return the associated <a
  2.4008 +     href="#style-sheet">style sheet</a>.</p>
  2.4009 +
  2.4010 +    <p class=note>If loading of the style sheet fails its <code
  2.4011 +     title=dom-CSSStyleSheet-cssRules>cssRules</code> list is simply empty,
  2.4012 +     i.e., an <code>@import</code> rule always has an associated <a
  2.4013 +     href="#style-sheet">style sheet</a>.
  2.4014 +  </dl>
  2.4015    <!-- ........................................................................................................................ -->
  2.4016  
  2.4017 -  <h4 id="the-cssmediarule-interface"><span class="secno">6.4.5 </span>The <code>CSSMediaRule</code> Interface</h4>
  2.4018 -
  2.4019 -  <p>The <code>CSSMediaRule</code> interface represents a <code>@media</code> rule.</p>
  2.4020 -<pre class="idl"><span class="idlInterface" id="widl-def-CSSMediaRule">interface <span class="idlInterfaceID">CSSMediaRule</span> {
  2.4021 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>MediaList</a></span> <span class="idlAttrName"><a href="#widl-CSSMediaRule-media">media</a></span>;</span>
  2.4022 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSRuleList</a></span> <span class="idlAttrName"><a href="#widl-CSSMediaRule-cssRules">cssRules</a></span>;</span>
  2.4023 -<span class="idlMethod">    <span class="idlMethType"><a>unsigned long</a></span> <span class="idlMethName"><a href="#widl-CSSMediaRule-insertRule-unsigned-long-DOMString-rule-unsigned-long-index">insertRule</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">rule</span></span>, <span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span> <span class="idlParamName">index</span></span>);</span>
  2.4024 -<span class="idlMethod">    <span class="idlMethType"><a>void</a></span> <span class="idlMethName"><a href="#widl-CSSMediaRule-deleteRule-void-unsigned-long-index">deleteRule</a></span> (<span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span> <span class="idlParamName">index</span></span>);</span>
  2.4025 +  <h4 id=the-cssmediarule-interface><span class=secno>6.4.5. </span>The
  2.4026 +   <code>CSSMediaRule</code> Interface</h4>
  2.4027 +
  2.4028 +  <p>The <code>CSSMediaRule</code> interface represents a <code>@media</code>
  2.4029 +   rule.
  2.4030 +
  2.4031 +  <pre class=idl><span class=idlInterface
  2.4032 +   id=widl-def-CSSMediaRule>interface <span
  2.4033 +   class=idlInterfaceID>CSSMediaRule</span> {
  2.4034 +<span
  2.4035 +   class=idlAttribute>    readonly attribute <span
  2.4036 +   class=idlAttrType><a>MediaList</a></span> <span class=idlAttrName><a
  2.4037 +   href="#widl-CSSMediaRule-media">media</a></span>;</span>
  2.4038 +<span
  2.4039 +   class=idlAttribute>    readonly attribute <span
  2.4040 +   class=idlAttrType><a>CSSRuleList</a></span> <span class=idlAttrName><a
  2.4041 +   href="#widl-CSSMediaRule-cssRules">cssRules</a></span>;</span>
  2.4042 +<span
  2.4043 +   class=idlMethod>    <span
  2.4044 +   class=idlMethType><a>unsigned long</a></span> <span class=idlMethName><a
  2.4045 +   href="#widl-CSSMediaRule-insertRule-unsigned-long-DOMString-rule-unsigned-long-index">insertRule</a></span> (<span
  2.4046 +   class=idlParam><span class=idlParamType><a>DOMString</a></span> <span
  2.4047 +   class=idlParamName>rule</span></span>, <span class=idlParam><span
  2.4048 +   class=idlParamType><a>unsigned long</a></span> <span
  2.4049 +   class=idlParamName>index</span></span>);</span>
  2.4050 +<span
  2.4051 +   class=idlMethod>    <span class=idlMethType><a>void</a></span> <span
  2.4052 +   class=idlMethName><a
  2.4053 +   href="#widl-CSSMediaRule-deleteRule-void-unsigned-long-index">deleteRule</a></span> (<span
  2.4054 +   class=idlParam><span class=idlParamType><a>unsigned long</a></span> <span
  2.4055 +   class=idlParamName>index</span></span>);</span>
  2.4056  };</span></pre>
  2.4057 -<dl class="attributes">
  2.4058 -<dt class="attribute" id="widl-CSSMediaRule-media">
  2.4059 -<code>media</code> of type <span class="idlAttrType"><a>MediaList</a></span>, readonly</dt>
  2.4060 -<dd>
  2.4061 -<p>The <code>media</code> attribute must return a <code>MediaList</code> object for the list of media queries specified    with the <code>@media</code> rule.</dd>
  2.4062 -<dt class="attribute" id="widl-CSSMediaRule-cssRules">
  2.4063 -<code>cssRules</code> of type <span class="idlAttrType"><a>CSSRuleList</a></span>, readonly</dt>
  2.4064 -<dd>
  2.4065 -<p>The <code>cssRules</code> attribute must return a <code>CSSRuleList</code> object for the list of CSS rules specified    with the <code>@media</code> rule.</dd>
  2.4066 -</dl>
  2.4067 -<dl class="methods">
  2.4068 -<dt class="method" id="widl-CSSMediaRule-insertRule-unsigned-long-DOMString-rule-unsigned-long-index">
  2.4069 -<code>insertRule</code> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span></span>, <span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span></span>), returns <span class="idlMethType"><a>unsigned long</a></span></dt>
  2.4070 -<dd>
  2.4071 -<p>The <code>insertRule</code> operation must <a href="#insert-a-css-rule">insert a CSS rule</a> <var>rule</var> into the CSS rule list    returned by <code title="dom-CSSMediaRule-cssRules">cssRules</code> at <var>index</var>.</dd>
  2.4072 -<dt class="method" id="widl-CSSMediaRule-deleteRule-void-unsigned-long-index">
  2.4073 -<code>deleteRule</code> (<span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span></span>), returns <span class="idlMethType"><a>void</a></span></dt>
  2.4074 -<dd>
  2.4075 -<p>The <code>deleteRule</code> operation must <a href="#remove-a-css-rule">remove a CSS rule</a> from the CSS rule list returned by    <code title="dom-CSSMediaRule-cssRules">cssRules</code> at <var>index</var>.</dd>
  2.4076 -</dl>
  2.4077 -
  2.4078 -
  2.4079 +
  2.4080 +  <dl class=attributes>
  2.4081 +   <dt class=attribute id=widl-CSSMediaRule-media> <code>media</code> of type
  2.4082 +    <span class=idlAttrType><a>MediaList</a></span>, readonly
  2.4083 +
  2.4084 +   <dd>
  2.4085 +    <p>The <code>media</code> attribute must return a <code>MediaList</code>
  2.4086 +     object for the list of media queries specified with the
  2.4087 +     <code>@media</code> rule.
  2.4088 +
  2.4089 +   <dt class=attribute id=widl-CSSMediaRule-cssRules> <code>cssRules</code>
  2.4090 +    of type <span class=idlAttrType><a>CSSRuleList</a></span>, readonly
  2.4091 +
  2.4092 +   <dd>
  2.4093 +    <p>The <code>cssRules</code> attribute must return a
  2.4094 +     <code>CSSRuleList</code> object for the list of CSS rules specified with
  2.4095 +     the <code>@media</code> rule.
  2.4096 +  </dl>
  2.4097 +
  2.4098 +  <dl class=methods>
  2.4099 +   <dt class=method
  2.4100 +    id=widl-CSSMediaRule-insertRule-unsigned-long-DOMString-rule-unsigned-long-index>
  2.4101 +    <code>insertRule</code> (<span class=idlParam><span
  2.4102 +    class=idlParamType><a>DOMString</a></span></span>, <span
  2.4103 +    class=idlParam><span class=idlParamType><a>unsigned
  2.4104 +    long</a></span></span>), returns <span class=idlMethType><a>unsigned
  2.4105 +    long</a></span>
  2.4106 +
  2.4107 +   <dd>
  2.4108 +    <p>The <code>insertRule</code> operation must <a
  2.4109 +     href="#insert-a-css-rule">insert a CSS rule</a> <var>rule</var> into the
  2.4110 +     CSS rule list returned by <code
  2.4111 +     title=dom-CSSMediaRule-cssRules>cssRules</code> at <var>index</var>.
  2.4112 +
  2.4113 +   <dt class=method id=widl-CSSMediaRule-deleteRule-void-unsigned-long-index>
  2.4114 +    <code>deleteRule</code> (<span class=idlParam><span
  2.4115 +    class=idlParamType><a>unsigned long</a></span></span>), returns <span
  2.4116 +    class=idlMethType><a>void</a></span>
  2.4117 +
  2.4118 +   <dd>
  2.4119 +    <p>The <code>deleteRule</code> operation must <a
  2.4120 +     href="#remove-a-css-rule">remove a CSS rule</a> from the CSS rule list
  2.4121 +     returned by <code title=dom-CSSMediaRule-cssRules>cssRules</code> at
  2.4122 +     <var>index</var>.
  2.4123 +  </dl>
  2.4124    <!-- ........................................................................................................................ -->
  2.4125  
  2.4126 -  <h4 id="the-cssfontfacerule-interface"><span class="secno">6.4.6 </span>The <code>CSSFontFaceRule</code> Interface</h4>
  2.4127 -
  2.4128 -  <p>The <code>CSSFontFaceRule</code> interface represents a <code>@font-face</code> rule.</p>
  2.4129 -<pre class="idl"><span class="idlInterface" id="widl-def-CSSFontFaceRule">interface <span class="idlInterfaceID">CSSFontFaceRule</span> {
  2.4130 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSStyleDeclaration</a></span> <span class="idlAttrName"><a href="#widl-CSSFontFaceRule-style">style</a></span>;</span>
  2.4131 +  <h4 id=the-cssfontfacerule-interface><span class=secno>6.4.6. </span>The
  2.4132 +   <code>CSSFontFaceRule</code> Interface</h4>
  2.4133 +
  2.4134 +  <p>The <code>CSSFontFaceRule</code> interface represents a
  2.4135 +   <code>@font-face</code> rule.
  2.4136 +
  2.4137 +  <pre class=idl><span class=idlInterface
  2.4138 +   id=widl-def-CSSFontFaceRule>interface <span
  2.4139 +   class=idlInterfaceID>CSSFontFaceRule</span> {
  2.4140 +<span
  2.4141 +   class=idlAttribute>    readonly attribute <span
  2.4142 +   class=idlAttrType><a>CSSStyleDeclaration</a></span> <span
  2.4143 +   class=idlAttrName><a
  2.4144 +   href="#widl-CSSFontFaceRule-style">style</a></span>;</span>
  2.4145  };</span></pre>
  2.4146 -<dl class="attributes">
  2.4147 -<dt class="attribute" id="widl-CSSFontFaceRule-style">
  2.4148 -<code>style</code> of type <span class="idlAttrType"><a>CSSStyleDeclaration</a></span>, readonly</dt>
  2.4149 -<dd>
  2.4150 -<p>The <code>style</code> attribute must return a <code>CSSStyleDeclaration</code> block that contains the property    declarations specified within the <code>@font-face</code> rule.</dd>
  2.4151 -</dl>
  2.4152 -
  2.4153 -
  2.4154 +
  2.4155 +  <dl class=attributes>
  2.4156 +   <dt class=attribute id=widl-CSSFontFaceRule-style> <code>style</code> of
  2.4157 +    type <span class=idlAttrType><a>CSSStyleDeclaration</a></span>, readonly
  2.4158 +
  2.4159 +   <dd>
  2.4160 +    <p>The <code>style</code> attribute must return a
  2.4161 +     <code>CSSStyleDeclaration</code> block that contains the property
  2.4162 +     declarations specified within the <code>@font-face</code> rule.
  2.4163 +  </dl>
  2.4164    <!-- ........................................................................................................................ -->
  2.4165  
  2.4166 -  <h4 id="the-csspagerule-interface"><span class="secno">6.4.7 </span>The <code>CSSPageRule</code> Interface</h4>
  2.4167 - 
  2.4168 -  <p>The <code>CSSPageRule</code> interface represents a <code>@page</code> rule.</p>  <p class="note">Need to define the rules for  <dfn id="parse-a-css-page-selector">parse a CSS page selector</dfn> and  <dfn id="serialize-a-css-page-selector">serialize a CSS page selector</dfn>.</p>
  2.4169 -<pre class="idl"><span class="idlInterface" id="widl-def-CSSPageRule">interface <span class="idlInterfaceID">CSSPageRule</span> {
  2.4170 -<span class="idlAttribute">    attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-CSSPageRule-selectorText">selectorText</a></span>;</span>
  2.4171 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSStyleDeclaration</a></span> <span class="idlAttrName"><a href="#widl-CSSPageRule-style">style</a></span>;</span>
  2.4172 +  <h4 id=the-csspagerule-interface><span class=secno>6.4.7. </span>The
  2.4173 +   <code>CSSPageRule</code> Interface</h4>
  2.4174 +
  2.4175 +  <p>The <code>CSSPageRule</code> interface represents a <code>@page</code>
  2.4176 +   rule.
  2.4177 +
  2.4178 +  <p class=note>Need to define the rules for <dfn
  2.4179 +   id=parse-a-css-page-selector>parse a CSS page selector</dfn> and <dfn
  2.4180 +   id=serialize-a-css-page-selector>serialize a CSS page selector</dfn>.
  2.4181 +
  2.4182 +  <pre class=idl><span class=idlInterface
  2.4183 +   id=widl-def-CSSPageRule>interface <span
  2.4184 +   class=idlInterfaceID>CSSPageRule</span> {
  2.4185 +<span
  2.4186 +   class=idlAttribute>    attribute <span
  2.4187 +   class=idlAttrType><a>DOMString</a></span> <span class=idlAttrName><a
  2.4188 +   href="#widl-CSSPageRule-selectorText">selectorText</a></span>;</span>
  2.4189 +<span
  2.4190 +   class=idlAttribute>    readonly attribute <span
  2.4191 +   class=idlAttrType><a>CSSStyleDeclaration</a></span> <span
  2.4192 +   class=idlAttrName><a
  2.4193 +   href="#widl-CSSPageRule-style">style</a></span>;</span>
  2.4194  };</span></pre>
  2.4195 -<dl class="attributes">
  2.4196 -<dt class="attribute" id="widl-CSSPageRule-selectorText">
  2.4197 -<code>selectorText</code> of type <span class="idlAttrType"><a>DOMString</a></span></dt>
  2.4198 -<dd>
  2.4199 -<p>The <code>selectorText</code> attribute, on getting, must return the result of <a href="#serialize-a-css-page-selector" title="serialize a CSS page selector">serializing</a>    the associated <span>CSS page selector</span>.</p>    <p>On setting the <code>selectorText</code> attribute these steps must be run:</p>    <ol>    <li><p>Run the <a href="#parse-a-css-page-selector">parse a CSS page selector</a> algorithm on the given value.</li>    <li><p>If the algorithm returns a non-null value replace the associated <span>CSS page selector</span> with the returned value.</li>    <li><p>Otherwise, if the algorithm returns a null value, do nothing.</li>    </ol></dd>
  2.4200 -<dt class="attribute" id="widl-CSSPageRule-style">
  2.4201 -<code>style</code> of type <span class="idlAttrType"><a>CSSStyleDeclaration</a></span>, readonly</dt>
  2.4202 -<dd>
  2.4203 -<p>The <code>style</code> attribute must return a <code>CSSStyleDeclaration</code> for the <code>@page</code> rule.</dd>
  2.4204 -</dl>
  2.4205 -
  2.4206 -
  2.4207 +
  2.4208 +  <dl class=attributes>
  2.4209 +   <dt class=attribute id=widl-CSSPageRule-selectorText>
  2.4210 +    <code>selectorText</code> of type <span
  2.4211 +    class=idlAttrType><a>DOMString</a></span>
  2.4212 +
  2.4213 +   <dd>
  2.4214 +    <p>The <code>selectorText</code> attribute, on getting, must return the
  2.4215 +     result of <a href="#serialize-a-css-page-selector"
  2.4216 +     title="serialize a CSS page selector">serializing</a> the associated
  2.4217 +     <span>CSS page selector</span>.</p>
  2.4218 +
  2.4219 +    <p>On setting the <code>selectorText</code> attribute these steps must be
  2.4220 +     run:</p>
  2.4221 +
  2.4222 +    <ol>
  2.4223 +     <li>
  2.4224 +      <p>Run the <a href="#parse-a-css-page-selector">parse a CSS page
  2.4225 +       selector</a> algorithm on the given value.
  2.4226 +
  2.4227 +     <li>
  2.4228 +      <p>If the algorithm returns a non-null value replace the associated
  2.4229 +       <span>CSS page selector</span> with the returned value.
  2.4230 +
  2.4231 +     <li>
  2.4232 +      <p>Otherwise, if the algorithm returns a null value, do nothing.
  2.4233 +    </ol>
  2.4234 +
  2.4235 +   <dt class=attribute id=widl-CSSPageRule-style> <code>style</code> of type
  2.4236 +    <span class=idlAttrType><a>CSSStyleDeclaration</a></span>, readonly
  2.4237 +
  2.4238 +   <dd>
  2.4239 +    <p>The <code>style</code> attribute must return a
  2.4240 +     <code>CSSStyleDeclaration</code> for the <code>@page</code> rule.
  2.4241 +  </dl>
  2.4242    <!-- ........................................................................................................................ -->
  2.4243  
  2.4244 -  <h4 id="the-cssnamespacerule-interface"><span class="secno">6.4.8 </span>The <code>CSSNamespaceRule</code> Interface</h4>
  2.4245 -
  2.4246 -  <p>The <code>CSSNamespaceRule</code> interface represents a <code>@namespace</code> rule.</p>
  2.4247 -<pre class="idl"><span class="idlInterface" id="widl-def-CSSNamespaceRule">interface <span class="idlInterfaceID">CSSNamespaceRule</span> {
  2.4248 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-CSSNamespaceRule-namespaceURI">namespaceURI</a></span>;</span>
  2.4249 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>DOMString</a>?</span> <span class="idlAttrName"><a href="#widl-CSSNamespaceRule-prefix">prefix</a></span>;</span>
  2.4250 +  <h4 id=the-cssnamespacerule-interface><span class=secno>6.4.8. </span>The
  2.4251 +   <code>CSSNamespaceRule</code> Interface</h4>
  2.4252 +
  2.4253 +  <p>The <code>CSSNamespaceRule</code> interface represents a
  2.4254 +   <code>@namespace</code> rule.
  2.4255 +
  2.4256 +  <pre class=idl><span class=idlInterface
  2.4257 +   id=widl-def-CSSNamespaceRule>interface <span
  2.4258 +   class=idlInterfaceID>CSSNamespaceRule</span> {
  2.4259 +<span
  2.4260 +   class=idlAttribute>    readonly attribute <span
  2.4261 +   class=idlAttrType><a>DOMString</a></span> <span class=idlAttrName><a
  2.4262 +   href="#widl-CSSNamespaceRule-namespaceURI">namespaceURI</a></span>;</span>
  2.4263 +<span
  2.4264 +   class=idlAttribute>    readonly attribute <span
  2.4265 +   class=idlAttrType><a>DOMString</a>?</span> <span class=idlAttrName><a
  2.4266 +   href="#widl-CSSNamespaceRule-prefix">prefix</a></span>;</span>
  2.4267  };</span></pre>
  2.4268 -<dl class="attributes">
  2.4269 -<dt class="attribute" id="widl-CSSNamespaceRule-namespaceURI">
  2.4270 -<code>namespaceURI</code> of type <span class="idlAttrType"><a>DOMString</a></span>, readonly</dt>
  2.4271 -<dd>
  2.4272 -<p>The <code>namespaceURI</code> attribute must return the namespace of the <code>@namespace</code> rule.</dd>
  2.4273 -<dt class="attribute" id="widl-CSSNamespaceRule-prefix">
  2.4274 -<code>prefix</code> of type <span class="idlAttrType"><a>DOMString</a></span>, readonly</dt>
  2.4275 -<dd>
  2.4276 -<p>The <code>prefix</code> attribute must return the prefix of the <code>@namespace</code> rule or the    empty string if there is no prefix.</dd>
  2.4277 -</dl>
  2.4278 -
  2.4279 -
  2.4280 +
  2.4281 +  <dl class=attributes>
  2.4282 +   <dt class=attribute id=widl-CSSNamespaceRule-namespaceURI>
  2.4283 +    <code>namespaceURI</code> of type <span
  2.4284 +    class=idlAttrType><a>DOMString</a></span>, readonly
  2.4285 +
  2.4286 +   <dd>
  2.4287 +    <p>The <code>namespaceURI</code> attribute must return the namespace of
  2.4288 +     the <code>@namespace</code> rule.
  2.4289 +
  2.4290 +   <dt class=attribute id=widl-CSSNamespaceRule-prefix> <code>prefix</code>
  2.4291 +    of type <span class=idlAttrType><a>DOMString</a></span>, readonly
  2.4292 +
  2.4293 +   <dd>
  2.4294 +    <p>The <code>prefix</code> attribute must return the prefix of the
  2.4295 +     <code>@namespace</code> rule or the empty string if there is no prefix.
  2.4296 +  </dl>
  2.4297    <!-- ........................................................................................................................ -->
  2.4298    <!-- ........................................................................................................................ -->
  2.4299  
  2.4300 -  <h3 id="css-declaration-blocks"><span class="secno">6.5 </span>CSS Declaration Blocks</h3>
  2.4301 -
  2.4302 -  <p>A <dfn id="css-declaration-block">CSS declaration block</dfn> is an ordered collection of CSS
  2.4303 -  properties with their associated values, also named CSS declarations. In
  2.4304 -  the DOM a <a href="#css-declaration-block">CSS declaration block</a> is a
  2.4305 -  <code>CSSStyleDeclaration</code> object. A
  2.4306 -  <a href="#css-declaration-block">CSS declaration block</a> has two associated properties:</p>
  2.4307 +  <h3 id=css-declaration-blocks><span class=secno>6.5. </span>CSS Declaration
  2.4308 +   Blocks</h3>
  2.4309 +
  2.4310 +  <p>A <dfn id=css-declaration-block>CSS declaration block</dfn> is an
  2.4311 +   ordered collection of CSS properties with their associated values, also
  2.4312 +   named CSS declarations. In the DOM a <a href="#css-declaration-block">CSS
  2.4313 +   declaration block</a> is a <code>CSSStyleDeclaration</code> object. A <a
  2.4314 +   href="#css-declaration-block">CSS declaration block</a> has two associated
  2.4315 +   properties:
  2.4316  
  2.4317    <dl>
  2.4318 -   <dt><dfn id="css-declaration-block-readonly-flag">CSS declaration block readonly flag</dfn></dt>
  2.4319 -   <dd><p>Unset if the object can be manipulated. Set if it can not be
  2.4320 -   manipulated. Unless otherwise stated it is unset.</dd>
  2.4321 -
  2.4322 -   <dt><dfn id="css-declaration-block-declarations">CSS declaration block declarations</dfn></dt>
  2.4323 -   <dd><p>The CSS declarations associated with the object.</dd>
  2.4324 +   <dt><dfn id=css-declaration-block-readonly-flag>CSS declaration block
  2.4325 +    readonly flag</dfn>
  2.4326 +
  2.4327 +   <dd>
  2.4328 +    <p>Unset if the object can be manipulated. Set if it can not be
  2.4329 +     manipulated. Unless otherwise stated it is unset.
  2.4330 +
  2.4331 +   <dt><dfn id=css-declaration-block-declarations>CSS declaration block
  2.4332 +    declarations</dfn>
  2.4333 +
  2.4334 +   <dd>
  2.4335 +    <p>The CSS declarations associated with the object.
  2.4336    </dl>
  2.4337  
  2.4338 -  <p class="note">The <a href="#css-declaration-block-declarations">CSS declaration block declarations</a> are
  2.4339 -  ordered. This matters for the
  2.4340 -  <code title="dom-CSSStyleDeclaration-item">item()</code> method.</p>
  2.4341 -
  2.4342 -
  2.4343 -  <p class="XXX">To
  2.4344 -  <dfn id="parse-a-css-declaration-block">parse a CSS declaration block</dfn>
  2.4345 -  ...</p>
  2.4346 -
  2.4347 -  <p class="XXX">To
  2.4348 -  <dfn id="serialize-a-css-declaration-block">serialize a CSS declaration block</dfn>
  2.4349 -  ...</p>
  2.4350 -
  2.4351 -
  2.4352 -
  2.4353 +  <p class=note>The <a href="#css-declaration-block-declarations">CSS
  2.4354 +   declaration block declarations</a> are ordered. This matters for the <code
  2.4355 +   title=dom-CSSStyleDeclaration-item>item()</code> method.
  2.4356 +
  2.4357 +  <p class=XXX>To <dfn id=parse-a-css-declaration-block>parse a CSS
  2.4358 +   declaration block</dfn> ...
  2.4359 +
  2.4360 +  <p class=XXX>To <dfn id=serialize-a-css-declaration-block>serialize a CSS
  2.4361 +   declaration block</dfn> ...</p>
  2.4362    <!-- ........................................................................................................................ -->
  2.4363  
  2.4364 -  <h4 id="the-cssstyledeclaration-interface"><span class="secno">6.5.1 </span>The <code>CSSStyleDeclaration</code> Interface</h4>
  2.4365 -
  2.4366 -  <p>The <code>CSSStyleDeclaration</code> interface represents a <a href="#css-declaration-block">CSS declaration block</a>, including its underlying state, where this    underlying state depends upon the source of the <code>CSSStyleDeclaration</code> instance.</p>
  2.4367 -<pre class="idl"><span class="idlInterface" id="widl-def-CSSStyleDeclaration">interface <span class="idlInterfaceID">CSSStyleDeclaration</span> {
  2.4368 -<span class="idlAttribute">    attribute <span class="idlAttrType"><a>DOMString</a></span> <span class="idlAttrName"><a href="#widl-CSSStyleDeclaration-cssText">cssText</a></span>;</span>
  2.4369 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>unsigned long</a></span> <span class="idlAttrName"><a href="#widl-CSSStyleDeclaration-length">length</a></span>;</span>
  2.4370 -<span class="idlMethod">    <span class="idlMethType"><a>DOMString</a></span> <span class="idlMethName"><a href="#widl-CSSStyleDeclaration-item-DOMString-unsigned-long-index">item</a></span> (<span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span> <span class="idlParamName">index</span></span>);</span>
  2.4371 -<span class="idlMethod">    <span class="idlMethType"><a>DOMString</a></span> <span class="idlMethName"><a href="#widl-CSSStyleDeclaration-getPropertyValue-DOMString-DOMString-property">getPropertyValue</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">property</span></span>);</span>
  2.4372 -<span class="idlMethod">    <span class="idlMethType"><a>DOMString</a></span> <span class="idlMethName"><a href="#widl-CSSStyleDeclaration-getPropertyPriority-DOMString-DOMString-property">getPropertyPriority</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">property</span></span>);</span>
  2.4373 -<span class="idlMethod">    <span class="idlMethType"><a>void</a></span> <span class="idlMethName"><a href="#widl-CSSStyleDeclaration-setProperty-void-DOMString-property-DOMString-value-DOMString-priority">setProperty</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">property</span></span>, <span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">value</span></span>, <span class="idlParam">optional <span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">priority</span></span>);</span>
  2.4374 -<span class="idlMethod">    <span class="idlMethType"><a>DOMString</a></span> <span class="idlMethName"><a href="#widl-CSSStyleDeclaration-removeProperty-DOMString-DOMString-property">removeProperty</a></span> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">property</span></span>);</span>
  2.4375 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSRule</a></span> <span class="idlAttrName"><a href="#widl-CSSStyleDeclaration-parentRule">parentRule</a></span>;</span>
  2.4376 +  <h4 id=the-cssstyledeclaration-interface><span class=secno>6.5.1.
  2.4377 +   </span>The <code>CSSStyleDeclaration</code> Interface</h4>
  2.4378 +
  2.4379 +  <p>The <code>CSSStyleDeclaration</code> interface represents a <a
  2.4380 +   href="#css-declaration-block">CSS declaration block</a>, including its
  2.4381 +   underlying state, where this underlying state depends upon the source of
  2.4382 +   the <code>CSSStyleDeclaration</code> instance.
  2.4383 +
  2.4384 +  <pre class=idl><span class=idlInterface
  2.4385 +   id=widl-def-CSSStyleDeclaration>interface <span
  2.4386 +   class=idlInterfaceID>CSSStyleDeclaration</span> {
  2.4387 +<span
  2.4388 +   class=idlAttribute>    attribute <span
  2.4389 +   class=idlAttrType><a>DOMString</a></span> <span class=idlAttrName><a
  2.4390 +   href="#widl-CSSStyleDeclaration-cssText">cssText</a></span>;</span>
  2.4391 +<span
  2.4392 +   class=idlAttribute>    readonly attribute <span
  2.4393 +   class=idlAttrType><a>unsigned long</a></span> <span class=idlAttrName><a
  2.4394 +   href="#widl-CSSStyleDeclaration-length">length</a></span>;</span>
  2.4395 +<span
  2.4396 +   class=idlMethod>    <span class=idlMethType><a>DOMString</a></span> <span
  2.4397 +   class=idlMethName><a
  2.4398 +   href="#widl-CSSStyleDeclaration-item-DOMString-unsigned-long-index">item</a></span> (<span
  2.4399 +   class=idlParam><span class=idlParamType><a>unsigned long</a></span> <span
  2.4400 +   class=idlParamName>index</span></span>);</span>
  2.4401 +<span
  2.4402 +   class=idlMethod>    <span class=idlMethType><a>DOMString</a></span> <span
  2.4403 +   class=idlMethName><a
  2.4404 +   href="#widl-CSSStyleDeclaration-getPropertyValue-DOMString-DOMString-property">getPropertyValue</a></span> (<span
  2.4405 +   class=idlParam><span class=idlParamType><a>DOMString</a></span> <span
  2.4406 +   class=idlParamName>property</span></span>);</span>
  2.4407 +<span
  2.4408 +   class=idlMethod>    <span class=idlMethType><a>DOMString</a></span> <span
  2.4409 +   class=idlMethName><a
  2.4410 +   href="#widl-CSSStyleDeclaration-getPropertyPriority-DOMString-DOMString-property">getPropertyPriority</a></span> (<span
  2.4411 +   class=idlParam><span class=idlParamType><a>DOMString</a></span> <span
  2.4412 +   class=idlParamName>property</span></span>);</span>
  2.4413 +<span
  2.4414 +   class=idlMethod>    <span class=idlMethType><a>void</a></span> <span
  2.4415 +   class=idlMethName><a
  2.4416 +   href="#widl-CSSStyleDeclaration-setProperty-void-DOMString-property-DOMString-value-DOMString-priority">setProperty</a></span> (<span
  2.4417 +   class=idlParam><span class=idlParamType><a>DOMString</a></span> <span
  2.4418 +   class=idlParamName>property</span></span>, <span class=idlParam><span
  2.4419 +   class=idlParamType><a>DOMString</a></span> <span
  2.4420 +   class=idlParamName>value</span></span>, <span
  2.4421 +   class=idlParam>optional <span
  2.4422 +   class=idlParamType><a>DOMString</a></span> <span
  2.4423 +   class=idlParamName>priority</span></span>);</span>
  2.4424 +<span
  2.4425 +   class=idlMethod>    <span class=idlMethType><a>DOMString</a></span> <span
  2.4426 +   class=idlMethName><a
  2.4427 +   href="#widl-CSSStyleDeclaration-removeProperty-DOMString-DOMString-property">removeProperty</a></span> (<span
  2.4428 +   class=idlParam><span class=idlParamType><a>DOMString</a></span> <span
  2.4429 +   class=idlParamName>property</span></span>);</span>
  2.4430 +<span
  2.4431 +   class=idlAttribute>    readonly attribute <span
  2.4432 +   class=idlAttrType><a>CSSRule</a></span> <span class=idlAttrName><a
  2.4433 +   href="#widl-CSSStyleDeclaration-parentRule">parentRule</a></span>;</span>
  2.4434  };</span></pre>
  2.4435 -<dl class="attributes">
  2.4436 -<dt class="attribute" id="widl-CSSStyleDeclaration-cssText">
  2.4437 -<code>cssText</code> of type <span class="idlAttrType"><a>DOMString</a></span></dt>
  2.4438 -<dd>
  2.4439 -<p>The <code>cssText</code> attribute must return the result of <a href="#serialize-a-css-declaration-block" title="serialize a CSS declaration block">serializing</a> the    <a href="#css-declaration-block-declarations">CSS declaration block declarations</a>.</p>    <p>Setting the <code>cssText</code> attribute must run these steps:    <ol>      <li><p>If the <a href="#css-declaration-block-readonly-flag">CSS declaration block readonly flag</a> is set, <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-throw" title="concept-throw">throw</a> a        <code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#nomodificationallowederror">NoModificationAllowedError</a></code> exception and terminate these steps.</li>      <li><p>Empty the <a href="#css-declaration-block-declarations">CSS declaration block declarations</a>.</li>      <li><p><a href="#parse-a-css-declaration-block" title="Parse a CSS declaration block">Parse</a> the given value and, if the return value is not null, insert it into the        <a href="#css-declaration-block-declarations">CSS declaration block declarations</a>.</li>    </ol></dd>
  2.4440 -<dt class="attribute" id="widl-CSSStyleDeclaration-length">
  2.4441 -<code>length</code> of type <span class="idlAttrType"><a>unsigned long</a></span>, readonly</dt>
  2.4442 -<dd>
  2.4443 -<p>The <code>length</code> attribute must return the number of declarations in the <span>collection of CSS declarations</span>.</dd>
  2.4444 -<dt class="attribute" id="widl-CSSStyleDeclaration-parentRule">
  2.4445 -<code>parentRule</code> of type <span class="idlAttrType"><a>CSSRule</a></span>, readonly</dt>
  2.4446 -<dd>
  2.4447 -<p>The <code>parentRule</code> attribute must return the <code>CSSrule</code> object the <code>CSSStyleDeclaration</code> is object is associated with    or null if it is not associated with a <code>CSSrule</code> object.</dd>
  2.4448 -</dl>
  2.4449 -<dl class="methods">
  2.4450 -<dt class="method" id="widl-CSSStyleDeclaration-item-DOMString-unsigned-long-index">
  2.4451 -<code>item</code> (<span class="idlParam"><span class="idlParamType"><a>unsigned long</a></span></span>), returns <span class="idlMethType"><a>DOMString</a></span></dt>
  2.4452 -<dd>
  2.4453 -<p>The <code>item</code> operation must return the property at position <var>index</var>.</dd>
  2.4454 -<dt class="method" id="widl-CSSStyleDeclaration-getPropertyValue-DOMString-DOMString-property">
  2.4455 -<code>getPropertyValue</code> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span></span>), returns <span class="idlMethType"><a>DOMString</a></span></dt>
  2.4456 -<dd>
  2.4457 -<p>The <code>getPropertyValue</code> operation must ...</dd>
  2.4458 -<dt class="method" id="widl-CSSStyleDeclaration-getPropertyPriority-DOMString-DOMString-property">
  2.4459 -<code>getPropertyPriority</code> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span></span>), returns <span class="idlMethType"><a>DOMString</a></span></dt>
  2.4460 -<dd>
  2.4461 -<p>The <code>getPropertyPriority</code> operation, when invoked, if <var>property</var> is an <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#ascii-case-insensitive">ASCII case-insensitive</a>    match for a property that has a priority user agents must return the canonical priority of that property as given in the    syntax definition. Otherwise, the empty string must be returned.</p>    <p class="example">E.g. for <code>background-color:lime !IMPORTANT</code> the return value would be '<code>important</code>'.</dd>
  2.4462 -<dt class="method" id="widl-CSSStyleDeclaration-setProperty-void-DOMString-property-DOMString-value-DOMString-priority">
  2.4463 -<code>setProperty</code> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span></span>, <span class="idlParam"><span class="idlParamType"><a>DOMString</a></span></span>, <span class="idlParam">optional <span class="idlParamType"><a>DOMString</a></span></span>), returns <span class="idlMethType"><a>void</a></span></dt>
  2.4464 -<dd>
  2.4465 -<p>The <code>setProperty</code> operation must run these steps:</p>    <ol>      <li><p>If the <a href="#css-declaration-block-readonly-flag">CSS declaration block readonly flag</a> is set, <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-throw" title="concept-throw">throw</a>        an '<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#nomodificationallowederror">NoModificationAllowedError</a></code>' and terminate these steps.</li>      <li><p>If <var>property</var> is not an <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#ascii-case-insensitive">ASCII case-insensitive</a> match for a supported property,        terminate this algorithm.</li>      <li><p>If <var>value</var> is the empty string, invoke <code title="dom-CSSStyleDeclaration-removeProperty">removeProperty()</code>        with <var>property</var> as argument and terminate this algorithm.</li>      <li><p>If the <var>priority</var> argument has been omitted let <var>priority</var> be the empty string.</li>      <li><p>If <var>priority</var> is neither a valid priority nor the empty string terminate this algorithm.</li>      <li>        <p>If <a href="#parse-a-css-value" title="parse a CSS value">parsing the <var>value</var></a> returns null terminate this algorithm.        <p class="note"><var>value</var> can not include '<code>!important</code>'.</p>      </li>      <li><p>Finally, set <var>property</var> to <var>value</var> with priority <var>priority</var> when <var>priority</var>        is not the empty string. Otherwise set <var>property</var> to <var>value</var>.</li>    </ol></dd>
  2.4466 -<dt class="method" id="widl-CSSStyleDeclaration-removeProperty-DOMString-DOMString-property">
  2.4467 -<code>removeProperty</code> (<span class="idlParam"><span class="idlParamType"><a>DOMString</a></span></span>), returns <span class="idlMethType"><a>DOMString</a></span></dt>
  2.4468 -<dd>
  2.4469 -<p>The <code>removeProperty</code> operation must run these steps:</p>    <ol>     <li><p>If the <a href="#css-declaration-block-readonly-flag">CSS declaration block readonly flag</a> is set, <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-throw" title="concept-throw">throw</a> a       '<code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#nomodificationallowederror">NoModificationAllowedError</a></code>' and terminate these steps.</li>     <li><p>If <var>property</var> is an <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#ascii-case-insensitive">ASCII case-insensitive</a> match for a property of a declaration in the       <span>collection of CSS declarations</span> remove the declaration.</li>    </ol></dd>
  2.4470 -</dl>
  2.4471 -
  2.4472 +
  2.4473 +  <dl class=attributes>
  2.4474 +   <dt class=attribute id=widl-CSSStyleDeclaration-cssText>
  2.4475 +    <code>cssText</code> of type <span
  2.4476 +    class=idlAttrType><a>DOMString</a></span>
  2.4477 +
  2.4478 +   <dd>
  2.4479 +    <p>The <code>cssText</code> attribute must return the result of <a
  2.4480 +     href="#serialize-a-css-declaration-block"
  2.4481 +     title="serialize a CSS declaration block">serializing</a> the <a
  2.4482 +     href="#css-declaration-block-declarations">CSS declaration block
  2.4483 +     declarations</a>.</p>
  2.4484 +
  2.4485 +    <p>Setting the <code>cssText</code> attribute must run these steps:
  2.4486 +
  2.4487 +    <ol>
  2.4488 +     <li>
  2.4489 +      <p>If the <a href="#css-declaration-block-readonly-flag">CSS
  2.4490 +       declaration block readonly flag</a> is set, <span data-anolis-spec=dom
  2.4491 +       title=concept-throw>throw</span> a <code
  2.4492 +       data-anolis-spec=dom>NoModificationAllowedError</code> exception and
  2.4493 +       terminate these steps.
  2.4494 +
  2.4495 +     <li>
  2.4496 +      <p>Empty the <a href="#css-declaration-block-declarations">CSS
  2.4497 +       declaration block declarations</a>.
  2.4498 +
  2.4499 +     <li>
  2.4500 +      <p><a href="#parse-a-css-declaration-block"
  2.4501 +       title="Parse a CSS declaration block">Parse</a> the given value and,
  2.4502 +       if the return value is not null, insert it into the <a
  2.4503 +       href="#css-declaration-block-declarations">CSS declaration block
  2.4504 +       declarations</a>.
  2.4505 +    </ol>
  2.4506 +
  2.4507 +   <dt class=attribute id=widl-CSSStyleDeclaration-length>
  2.4508 +    <code>length</code> of type <span class=idlAttrType><a>unsigned
  2.4509 +    long</a></span>, readonly
  2.4510 +
  2.4511 +   <dd>
  2.4512 +    <p>The <code>length</code> attribute must return the number of
  2.4513 +     declarations in the <span>collection of CSS declarations</span>.
  2.4514 +
  2.4515 +   <dt class=attribute id=widl-CSSStyleDeclaration-parentRule>
  2.4516 +    <code>parentRule</code> of type <span
  2.4517 +    class=idlAttrType><a>CSSRule</a></span>, readonly
  2.4518 +
  2.4519 +   <dd>
  2.4520 +    <p>The <code>parentRule</code> attribute must return the
  2.4521 +     <code>CSSrule</code> object the <code>CSSStyleDeclaration</code> is
  2.4522 +     object is associated with or null if it is not associated with a
  2.4523 +     <code>CSSrule</code> object.
  2.4524 +  </dl>
  2.4525 +
  2.4526 +  <dl class=methods>
  2.4527 +   <dt class=method
  2.4528 +    id=widl-CSSStyleDeclaration-item-DOMString-unsigned-long-index>
  2.4529 +    <code>item</code> (<span class=idlParam><span
  2.4530 +    class=idlParamType><a>unsigned long</a></span></span>), returns <span
  2.4531 +    class=idlMethType><a>DOMString</a></span>
  2.4532 +
  2.4533 +   <dd>
  2.4534 +    <p>The <code>item</code> operation must return the property at position
  2.4535 +     <var>index</var>.
  2.4536 +
  2.4537 +   <dt class=method
  2.4538 +    id=widl-CSSStyleDeclaration-getPropertyValue-DOMString-DOMString-property>
  2.4539 +    <code>getPropertyValue</code> (<span class=idlParam><span
  2.4540 +    class=idlParamType><a>DOMString</a></span></span>), returns <span
  2.4541 +    class=idlMethType><a>DOMString</a></span>
  2.4542 +
  2.4543 +   <dd>
  2.4544 +    <p>The <code>getPropertyValue</code> operation must ...
  2.4545 +
  2.4546 +   <dt class=method
  2.4547 +    id=widl-CSSStyleDeclaration-getPropertyPriority-DOMString-DOMString-property>
  2.4548 +    <code>getPropertyPriority</code> (<span class=idlParam><span
  2.4549 +    class=idlParamType><a>DOMString</a></span></span>), returns <span
  2.4550 +    class=idlMethType><a>DOMString</a></span>
  2.4551 +
  2.4552 +   <dd>
  2.4553 +    <p>The <code>getPropertyPriority</code> operation, when invoked, if
  2.4554 +     <var>property</var> is an <span data-anolis-spec=dom>ASCII
  2.4555 +     case-insensitive</span> match for a property that has a priority user
  2.4556 +     agents must return the canonical priority of that property as given in
  2.4557 +     the syntax definition. Otherwise, the empty string must be returned.</p>
  2.4558 +
  2.4559 +    <p class=example>E.g. for <code>background-color:lime !IMPORTANT</code>
  2.4560 +     the return value would be ‘<code
  2.4561 +     class=css><code>important</code></code>’.
  2.4562 +
  2.4563 +   <dt class=method
  2.4564 +    id=widl-CSSStyleDeclaration-setProperty-void-DOMString-property-DOMString-value-DOMString-priority>
  2.4565 +    <code>setProperty</code> (<span class=idlParam><span
  2.4566 +    class=idlParamType><a>DOMString</a></span></span>, <span
  2.4567 +    class=idlParam><span class=idlParamType><a>DOMString</a></span></span>,
  2.4568 +    <span class=idlParam>optional <span
  2.4569 +    class=idlParamType><a>DOMString</a></span></span>), returns <span
  2.4570 +    class=idlMethType><a>void</a></span>
  2.4571 +
  2.4572 +   <dd>
  2.4573 +    <p>The <code>setProperty</code> operation must run these steps:</p>
  2.4574 +
  2.4575 +    <ol>
  2.4576 +     <li>
  2.4577 +      <p>If the <a href="#css-declaration-block-readonly-flag">CSS
  2.4578 +       declaration block readonly flag</a> is set, <span data-anolis-spec=dom
  2.4579 +       title=concept-throw>throw</span> an ‘<code class=css><code
  2.4580 +       data-anolis-spec=dom>NoModificationAllowedError</code></code>’ and
  2.4581 +       terminate these steps.
  2.4582 +
  2.4583 +     <li>
  2.4584 +      <p>If <var>property</var> is not an <span data-anolis-spec=dom>ASCII
  2.4585 +       case-insensitive</span> match for a supported property, terminate this
  2.4586 +       algorithm.
  2.4587 +
  2.4588 +     <li>
  2.4589 +      <p>If <var>value</var> is the empty string, invoke <code
  2.4590 +       title=dom-CSSStyleDeclaration-removeProperty>removeProperty()</code>
  2.4591 +       with <var>property</var> as argument and terminate this algorithm.
  2.4592 +
  2.4593 +     <li>
  2.4594 +      <p>If the <var>priority</var> argument has been omitted let
  2.4595 +       <var>priority</var> be the empty string.
  2.4596 +
  2.4597 +     <li>
  2.4598 +      <p>If <var>priority</var> is neither a valid priority nor the empty
  2.4599 +       string terminate this algorithm.
  2.4600 +
  2.4601 +     <li>
  2.4602 +      <p>If <a href="#parse-a-css-value" title="parse a CSS value">parsing
  2.4603 +       the <var>value</var></a> returns null terminate this algorithm.
  2.4604 +
  2.4605 +      <p class=note><var>value</var> can not include ‘<code
  2.4606 +       class=css><code>!important</code></code>’.</p>
  2.4607 +
  2.4608 +     <li>
  2.4609 +      <p>Finally, set <var>property</var> to <var>value</var> with priority
  2.4610 +       <var>priority</var> when <var>priority</var> is not the empty string.
  2.4611 +       Otherwise set <var>property</var> to <var>value</var>.
  2.4612 +    </ol>
  2.4613 +
  2.4614 +   <dt class=method
  2.4615 +    id=widl-CSSStyleDeclaration-removeProperty-DOMString-DOMString-property>
  2.4616 +    <code>removeProperty</code> (<span class=idlParam><span
  2.4617 +    class=idlParamType><a>DOMString</a></span></span>), returns <span
  2.4618 +    class=idlMethType><a>DOMString</a></span>
  2.4619 +
  2.4620 +   <dd>
  2.4621 +    <p>The <code>removeProperty</code> operation must run these steps:</p>
  2.4622 +
  2.4623 +    <ol>
  2.4624 +     <li>
  2.4625 +      <p>If the <a href="#css-declaration-block-readonly-flag">CSS
  2.4626 +       declaration block readonly flag</a> is set, <span data-anolis-spec=dom
  2.4627 +       title=concept-throw>throw</span> a ‘<code class=css><code
  2.4628 +       data-anolis-spec=dom>NoModificationAllowedError</code></code>’ and
  2.4629 +       terminate these steps.
  2.4630 +
  2.4631 +     <li>
  2.4632 +      <p>If <var>property</var> is an <span data-anolis-spec=dom>ASCII
  2.4633 +       case-insensitive</span> match for a property of a declaration in the
  2.4634 +       <span>collection of CSS declarations</span> remove the declaration.
  2.4635 +    </ol>
  2.4636 +  </dl>
  2.4637  
  2.4638    <hr>
  2.4639  
  2.4640 -  <p>For the table below, the IDL attribute in the first column
  2.4641 -  must return the result of invoking
  2.4642 -  <code title="dom-CSSStyleDeclaration-getPropertyValue">getPropertyValue()</code>
  2.4643 -  with as argument the CSS property given in the second column on the same
  2.4644 -  row.</p>
  2.4645 -
  2.4646 -  <p>Similarly for the table below, setting the IDL attribute in the
  2.4647 -  first column must invoke
  2.4648 -  <code title="dom-CSSStyleDeclaration-setProperty">setProperty()</code>
  2.4649 -  with as first argument the CSS property given in the second column on the
  2.4650 -  same row, as second argument the given value, and no third argument. Any
  2.4651 -  exceptions thrown must be re-thrown.</p>
  2.4652 +  <p>For the table below, the IDL attribute in the first column must return
  2.4653 +   the result of invoking <code
  2.4654 +   title=dom-CSSStyleDeclaration-getPropertyValue>getPropertyValue()</code>
  2.4655 +   with as argument the CSS property given in the second column on the same
  2.4656 +   row.
  2.4657 +
  2.4658 +  <p>Similarly for the table below, setting the IDL attribute in the first
  2.4659 +   column must invoke <code
  2.4660 +   title=dom-CSSStyleDeclaration-setProperty>setProperty()</code> with as
  2.4661 +   first argument the CSS property given in the second column on the same
  2.4662 +   row, as second argument the given value, and no third argument. Any
  2.4663 +   exceptions thrown must be re-thrown.
  2.4664  
  2.4665    <table>
  2.4666     <thead>
  2.4667      <tr>
  2.4668       <th>IDL attribute
  2.4669 +
  2.4670       <th>CSS property
  2.4671 -   <tbody>
  2.4672 -<!--CSSOM-DECLARATIONTABLE-->
  2.4673 +
  2.4674 +   <tbody><!--CSSOM-DECLARATIONTABLE-->
  2.4675    </table>
  2.4676 -
  2.4677 -<!--
  2.4678 +  <!--
  2.4679    <h4>CSS Properties</h4>
  2.4680  
  2.4681    <p>The DOM attribute name of a CSS property can be found by using the
  2.4682 @@ -1945,94 +3099,102 @@
  2.4683    <code><var><strong>V</strong>endor</var><var><strong>P</strong>roperty</var></code>
  2.4684    for instance.</p>
  2.4685  -->
  2.4686 -
  2.4687    <!-- ........................................................................................................................ -->
  2.4688    <!-- ........................................................................................................................ -->
  2.4689  
  2.4690 -  <h3 id="css-values"><span class="secno">6.6 </span>CSS Values</h3>
  2.4691 -
  2.4692 +  <h3 id=css-values><span class=secno>6.6. </span>CSS Values</h3>
  2.4693    <!-- ........................................................................................................................ -->
  2.4694  
  2.4695 -  <h4 id="parsing-css-values"><span class="secno">6.6.1 </span>Parsing CSS Values</h4>
  2.4696 -
  2.4697 -  <p>To <dfn id="parse-a-css-value">parse a CSS value</dfn> for a given
  2.4698 -  <var>property</var> means to a parse the given value according to
  2.4699 -  the definition of the property that is an
  2.4700 -  <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#ascii-case-insensitive">ASCII case-insensitive</a> match for
  2.4701 -  <var>property</var> in the CSS specification. If the given value
  2.4702 -  is <span>ignored</span> return null. Otherwise return the CSS value for
  2.4703 -  the given <var>property</var>.</p>
  2.4704 -
  2.4705 -  <p class="note">"<code>!important</code>" declarations are not
  2.4706 -  part of the property value space and will therefore cause
  2.4707 -  <a href="#parse-a-css-value">parse a CSS value</a> to return null.</p>
  2.4708 -
  2.4709 -
  2.4710 +  <h4 id=parsing-css-values><span class=secno>6.6.1. </span>Parsing CSS
  2.4711 +   Values</h4>
  2.4712 +
  2.4713 +  <p>To <dfn id=parse-a-css-value>parse a CSS value</dfn> for a given
  2.4714 +   <var>property</var> means to a parse the given value according to the
  2.4715 +   definition of the property that is an <span data-anolis-spec=dom>ASCII
  2.4716 +   case-insensitive</span> match for <var>property</var> in the CSS
  2.4717 +   specification. If the given value is <span>ignored</span> return null.
  2.4718 +   Otherwise return the CSS value for the given <var>property</var>.
  2.4719 +
  2.4720 +  <p class=note>"<code>!important</code>" declarations are not part of the
  2.4721 +   property value space and will therefore cause <a
  2.4722 +   href="#parse-a-css-value">parse a CSS value</a> to return null.</p>
  2.4723    <!-- ........................................................................................................................ -->
  2.4724  
  2.4725 -  <h4 id="serializing-css-values"><span class="secno">6.6.2 </span>Serializing CSS Values</h4>
  2.4726 -
  2.4727 +  <h4 id=serializing-css-values><span class=secno>6.6.2. </span>Serializing
  2.4728 +   CSS Values</h4>
  2.4729    <!-- based on http://damowmow.com/playground/canon.txt -->
  2.4730  
  2.4731 -  <p>To <dfn id="serialize-a-css-value">serialize a CSS value</dfn> follow
  2.4732 -  these rules:</p>
  2.4733 +  <p>To <dfn id=serialize-a-css-value>serialize a CSS value</dfn> follow
  2.4734 +   these rules:
  2.4735  
  2.4736    <ul>
  2.4737 -   <li><p><a href="#serialize-a-css-value-component" title="Serialize a CSS component value">Serialize</a> any
  2.4738 -   CSS component values in the value.</li>
  2.4739 -
  2.4740 -   <li><p>Where multiple CSS component values can appear in any order
  2.4741 -   without changing the meaning of the value (typically represented by a
  2.4742 -   double bar <code>||</code> in the value syntax), use the order as given
  2.4743 -   in the syntax.</li>
  2.4744 +   <li>
  2.4745 +    <p><a href="#serialize-a-css-value-component"
  2.4746 +     title="Serialize a CSS component value">Serialize</a> any CSS component
  2.4747 +     values in the value.
  2.4748 +
  2.4749 +   <li>
  2.4750 +    <p>Where multiple CSS component values can appear in any order without
  2.4751 +     changing the meaning of the value (typically represented by a double bar
  2.4752 +     <code>||</code> in the value syntax), use the order as given in the
  2.4753 +     syntax.
  2.4754 +   </li>
  2.4755     <!-- <code>&lt;border-width> &lt;border-style> &lt;color></code>
  2.4756     for <code>border</code> -->
  2.4757  
  2.4758     <li>
  2.4759      <p>Where CSS component values of the value can be omitted without
  2.4760 -    changing the meaning of the value (e.g. initial values in shorthand
  2.4761 -    properties), omit them. If this would remove all the values, then
  2.4762 -    include the first allowed value.</p>
  2.4763 -
  2.4764 -    <p class="example">E.g. <code>margin: 20px 20px</code> becomes
  2.4765 -    <code>margin: 20px</code>.</p>
  2.4766 -
  2.4767 -    <p class="example">E.g. the value <code>0</code> for the
  2.4768 -    '<code>border</code>' property.</p>
  2.4769 -   </li>
  2.4770 -
  2.4771 -   <li><p>If the value of a shorthand property is requested and it cannot be
  2.4772 -   computed because the properties associated with the shorthand have values
  2.4773 -   that cannot be represented by the shorthand the serialization is the
  2.4774 -   empty string.</li>
  2.4775 -
  2.4776 -   <li><p>If a value has a <a href="#whitespace">whitespace</a>-separated list of
  2.4777 -   CSS component values,
  2.4778 -   <a href="#serialize-a-whitespace-separated-list" title="serialize a whitespace-separated list">serialize</a> the
  2.4779 -   value as a whitespace-separated list.</li>
  2.4780 -
  2.4781 -   <li><p>If a value has a comma-separated list of
  2.4782 -   CSS component values,
  2.4783 -   <a href="#serialize-a-comma-separated-list" title="serialize a comma-separated list">serialize</a> the
  2.4784 -   value as a comma-separated list.</li>
  2.4785 +     changing the meaning of the value (e.g. initial values in shorthand
  2.4786 +     properties), omit them. If this would remove all the values, then
  2.4787 +     include the first allowed value.</p>
  2.4788 +
  2.4789 +    <p class=example>E.g. <code>margin: 20px 20px</code> becomes
  2.4790 +     <code>margin: 20px</code>.</p>
  2.4791 +
  2.4792 +    <p class=example>E.g. the value <code>0</code> for the ‘<code
  2.4793 +     class=css><code>border</code></code>’ property.</p>
  2.4794 +
  2.4795 +   <li>
  2.4796 +    <p>If the value of a shorthand property is requested and it cannot be
  2.4797 +     computed because the properties associated with the shorthand have
  2.4798 +     values that cannot be represented by the shorthand the serialization is
  2.4799 +     the empty string.
  2.4800 +
  2.4801 +   <li>
  2.4802 +    <p>If a value has a <a href="#whitespace">whitespace</a>-separated list
  2.4803 +     of CSS component values, <a
  2.4804 +     href="#serialize-a-whitespace-separated-list"
  2.4805 +     title="serialize a whitespace-separated list">serialize</a> the value as
  2.4806 +     a whitespace-separated list.
  2.4807 +
  2.4808 +   <li>
  2.4809 +    <p>If a value has a comma-separated list of CSS component values, <a
  2.4810 +     href="#serialize-a-comma-separated-list"
  2.4811 +     title="serialize a comma-separated list">serialize</a> the value as a
  2.4812 +     comma-separated list.
  2.4813    </ul>
  2.4814  
  2.4815 -
  2.4816 -  <p>To
  2.4817 -  <dfn id="serialize-a-css-value-component">serialize a CSS component value</dfn>
  2.4818 -  depends on the component, as follows:</p>
  2.4819 -
  2.4820 -  <dl class="switch">
  2.4821 -   <dt>keyword</dt>
  2.4822 -   <dd><p>The keyword
  2.4823 -   <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.</dd>
  2.4824 -
  2.4825 -   <dt>&lt;angle&gt;</dt>
  2.4826 -   <dd><p>The number of degrees serialized as per &lt;number&gt; followed by
  2.4827 -   the literal string "<code>deg</code>".</dd>
  2.4828 -
  2.4829 -   <dt>&lt;color&gt;</dt>
  2.4830 -   <dd><p class="XXX">preserve system colors, maybe color keywords...</dd>
  2.4831 +  <p>To <dfn id=serialize-a-css-value-component>serialize a CSS component
  2.4832 +   value</dfn> depends on the component, as follows:
  2.4833 +
  2.4834 +  <dl class=switch>
  2.4835 +   <dt>keyword
  2.4836 +
  2.4837 +   <dd>
  2.4838 +    <p>The keyword <span data-anolis-spec=dom>converted to ASCII
  2.4839 +     lowercase</span>.
  2.4840 +
  2.4841 +   <dt>&lt;angle&gt;
  2.4842 +
  2.4843 +   <dd>
  2.4844 +    <p>The number of degrees serialized as per &lt;number&gt; followed by the
  2.4845 +     literal string "<code>deg</code>".
  2.4846 +
  2.4847 +   <dt>&lt;color&gt;
  2.4848 +
  2.4849 +   <dd>
  2.4850 +    <p class=XXX>preserve system colors, maybe color keywords...
  2.4851 +   </dd>
  2.4852     <!--
  2.4853       <dt>It is a system color</dt>
  2.4854  
  2.4855 @@ -2066,193 +3228,342 @@
  2.4856       <dd>The color is <code>rgba(0, 0, 0, 0)</code>.</dd>
  2.4857     -->
  2.4858  
  2.4859 -   <dt>&lt;counter&gt;</dt>
  2.4860 +   <dt>&lt;counter&gt;
  2.4861 +
  2.4862     <dd>
  2.4863      <p>The concatenation of:</p>
  2.4864 +
  2.4865      <ol>
  2.4866 -     <li><p>If &lt;counter&gt; has three CSS component values the string
  2.4867 -     "<code>counters(</code>".</li>
  2.4868 -     <li><p>If &lt;counter&gt; has two CSS component values the string
  2.4869 -     "<code>counter(</code>".</li>
  2.4870 -     <li><p>The result of
  2.4871 -     <a href="#serialize-a-comma-separated-list" title="serialize a comma-separated list">serializing</a> the
  2.4872 -     <a href="#serialize-a-css-value-component" title="serialize a CSS component value">serialized</a>
  2.4873 -     CSS component values belonging to &lt;counter&gt; as list while omitting
  2.4874 -     the last CSS component value if it is 'decimal'.</li>
  2.4875 -     <li><p>"<code>)</code>" (U+0029).</li>
  2.4876 +     <li>
  2.4877 +      <p>If &lt;counter&gt; has three CSS component values the string
  2.4878 +       "<code>counters(</code>".
  2.4879 +
  2.4880 +     <li>
  2.4881 +      <p>If &lt;counter&gt; has two CSS component values the string
  2.4882 +       "<code>counter(</code>".
  2.4883 +
  2.4884 +     <li>
  2.4885 +      <p>The result of <a href="#serialize-a-comma-separated-list"
  2.4886 +       title="serialize a comma-separated list">serializing</a> the <a
  2.4887 +       href="#serialize-a-css-value-component"
  2.4888 +       title="serialize a CSS component value">serialized</a> CSS component
  2.4889 +       values belonging to &lt;counter&gt; as list while omitting the last
  2.4890 +       CSS component value if it is ‘<code
  2.4891 +       class=property>decimal</code>’.
  2.4892 +
  2.4893 +     <li>
  2.4894 +      <p>"<code>)</code>" (U+0029).
  2.4895      </ol>
  2.4896 -   </dd>
  2.4897 -
  2.4898 -   <dt>&lt;frequency&gt;</dt>
  2.4899 -   <dd><p>The frequency in hertz serialized as per &lt;number&gt; followed by
  2.4900 -   the literal string "<code>hz</code>".</dd>
  2.4901 -
  2.4902 -   <dt>&lt;identifier&gt;</dt>
  2.4903 -   <dd><p>The identifier
  2.4904 -   <a href="#serialize-an-identifier" title="serialize an identifier">escaped</a>.</dd>
  2.4905 -
  2.4906 -   <dt>&lt;integer&gt;</dt>
  2.4907 -   <dd><p>A base-ten integer using digits 0-9 (U+0030 to U+0039) in the
  2.4908 -   shortest form possible, preceded by "<code>-</code>" (U+002D) if it is
  2.4909 -   negative.</dd>
  2.4910 -
  2.4911 -   <dt>&lt;length&gt;</dt>
  2.4912 +
  2.4913 +   <dt>&lt;frequency&gt;
  2.4914 +
  2.4915 +   <dd>
  2.4916 +    <p>The frequency in hertz serialized as per &lt;number&gt; followed by
  2.4917 +     the literal string "<code>hz</code>".
  2.4918 +
  2.4919 +   <dt>&lt;identifier&gt;
  2.4920 +
  2.4921 +   <dd>
  2.4922 +    <p>The identifier <a href="#serialize-an-identifier"
  2.4923 +     title="serialize an identifier">escaped</a>.
  2.4924 +
  2.4925 +   <dt>&lt;integer&gt;
  2.4926 +
  2.4927 +   <dd>
  2.4928 +    <p>A base-ten integer using digits 0-9 (U+0030 to U+0039) in the shortest
  2.4929 +     form possible, preceded by "<code>-</code>" (U+002D) if it is negative.
  2.4930 +
  2.4931 +   <dt>&lt;length&gt;
  2.4932 +
  2.4933     <dd>
  2.4934      <p>A length of zero is represented by the literal string
  2.4935 -    "<code>0px</code>".</p>
  2.4936 +     "<code>0px</code>".</p>
  2.4937  
  2.4938      <p>Absolute lengths: the number of millimeters serialized as per
  2.4939 -    &lt;number&gt; followed by the literal string "<code>mm</code>".
  2.4940 -    <span class="XXX">Rumor has it absolute lengths will become relative
  2.4941 -    lengths. Centimeters would be compatible with &lt;resolution&gt;...</span></p>
  2.4942 +     &lt;number&gt; followed by the literal string "<code>mm</code>". <span
  2.4943 +     class=XXX>Rumor has it absolute lengths will become relative lengths.
  2.4944 +     Centimeters would be compatible with &lt;resolution&gt;...</span></p>
  2.4945  
  2.4946      <p>Relative lengths: the &lt;number&gt; component serialized as per
  2.4947 -    &lt;number&gt; followed by the unit in its canonical form as defined in its
  2.4948 -    respective specification.</p>
  2.4949 -   </dd>
  2.4950 -
  2.4951 -   <dt>&lt;number&gt;</dt>
  2.4952 -   <dd><p class="XXX">Browsers seem to use ToString(), but that might give a
  2.4953 -   significand which according to some is teh evil (and also currently does
  2.4954 -   not parse correctly).</dd>
  2.4955 -
  2.4956 -   <dt>&lt;percentage&gt;</dt>
  2.4957 -   <dd><p>The &lt;number&gt; component serialized as per &lt;number&gt; followed
  2.4958 -   by the literal string "<code>%</code>" (U+0025).</dd>
  2.4959 -
  2.4960 -   <dt>&lt;resolution&gt;</dt>
  2.4961 -   <dd><p>The resolution in dots per centimeter serialized as per
  2.4962 -   &lt;number&gt; followed by the literal string "<code>dpcm</code>".</dd>
  2.4963 -
  2.4964 -   <dt>&lt;shape&gt;</dt>
  2.4965 -   <dd><p>The string "<code>rect(</code>", followed by the result
  2.4966 -   of <a href="#serialize-a-comma-separated-list" title="serialize a comma-separated list">serializing</a> the
  2.4967 -   <a href="#serialize-a-css-value-component" title="serialize a CSS component value">serialized</a>
  2.4968 -   CSS component values belonging to &lt;shape&gt; as list, followed by
  2.4969 -   "<code>)</code>" (U+0029).</dd>
  2.4970 -
  2.4971 -   <dt>&lt;string&gt;</dt>
  2.4972 -   <dt>&lt;family-name&gt;</dt>
  2.4973 -   <dt>&lt;specific-voice&gt;</dt>
  2.4974 -   <dd><p>The string
  2.4975 -   <a href="#serialize-a-string" title="serialize a string">string escaped</a>.</dd>
  2.4976 -
  2.4977 -   <dt>&lt;time&gt;</dt>
  2.4978 -   <dd><p>The time in seconds serialized as per &lt;number&gt; followed by
  2.4979 -   the literal string "<code>s</code>".</dd>
  2.4980 -
  2.4981 -   <dt>&lt;uri&gt;</dt>
  2.4982 -   <dd><p>The <a class="external" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#absolute-url">absolute URL</a>
  2.4983 -   <a href="#serialize-a-url" title="serialize a URL">URL escaped</a>.</dd>
  2.4984 +     &lt;number&gt; followed by the unit in its canonical form as defined in
  2.4985 +     its respective specification.</p>
  2.4986 +
  2.4987 +   <dt>&lt;number&gt;
  2.4988 +
  2.4989 +   <dd>
  2.4990 +    <p class=XXX>Browsers seem to use ToString(), but that might give a
  2.4991 +     significand which according to some is teh evil (and also currently does
  2.4992 +     not parse correctly).
  2.4993 +
  2.4994 +   <dt>&lt;percentage&gt;
  2.4995 +
  2.4996 +   <dd>
  2.4997 +    <p>The &lt;number&gt; component serialized as per &lt;number&gt; followed
  2.4998 +     by the literal string "<code>%</code>" (U+0025).
  2.4999 +
  2.5000 +   <dt>&lt;resolution&gt;
  2.5001 +
  2.5002 +   <dd>
  2.5003 +    <p>The resolution in dots per centimeter serialized as per &lt;number&gt;
  2.5004 +     followed by the literal string "<code>dpcm</code>".
  2.5005 +
  2.5006 +   <dt>&lt;shape&gt;
  2.5007 +
  2.5008 +   <dd>
  2.5009 +    <p>The string "<code>rect(</code>", followed by the result of <a
  2.5010 +     href="#serialize-a-comma-separated-list"
  2.5011 +     title="serialize a comma-separated list">serializing</a> the <a
  2.5012 +     href="#serialize-a-css-value-component"
  2.5013 +     title="serialize a CSS component value">serialized</a> CSS component
  2.5014 +     values belonging to &lt;shape&gt; as list, followed by "<code>)</code>"
  2.5015 +     (U+0029).
  2.5016 +
  2.5017 +   <dt>&lt;string&gt;
  2.5018 +
  2.5019 +   <dt>&lt;family-name&gt;
  2.5020 +
  2.5021 +   <dt>&lt;specific-voice&gt;
  2.5022 +
  2.5023 +   <dd>
  2.5024 +    <p>The string <a href="#serialize-a-string"
  2.5025 +     title="serialize a string">string escaped</a>.
  2.5026 +
  2.5027 +   <dt>&lt;time&gt;
  2.5028 +
  2.5029 +   <dd>
  2.5030 +    <p>The time in seconds serialized as per &lt;number&gt; followed by the
  2.5031 +     literal string "<code>s</code>".
  2.5032 +
  2.5033 +   <dt>&lt;uri&gt;
  2.5034 +
  2.5035 +   <dd>
  2.5036 +    <p>The <span data-anolis-spec=html>absolute URL</span> <a
  2.5037 +     href="#serialize-a-url" title="serialize a URL">URL escaped</a>.
  2.5038    </dl>
  2.5039  
  2.5040 -  <p>
  2.5041 -   &lt;absolute-size&gt;,
  2.5042 -   &lt;border-width&gt;,
  2.5043 -   &lt;border-style&gt;,
  2.5044 -   &lt;bottom&gt;,
  2.5045 -   &lt;generic-family&gt;,
  2.5046 -   &lt;generic-voice&gt;,
  2.5047 -   &lt;left&gt;,
  2.5048 -   &lt;margin-width&gt;,
  2.5049 -   &lt;padding-width&gt;,
  2.5050 -   &lt;relative-size&gt;,
  2.5051 -   &lt;right&gt;, and
  2.5052 -   &lt;top&gt;,
  2.5053 -   are considered macros by this specification. They all represent instances
  2.5054 -   of components outlined above.</p>
  2.5055 -
  2.5056 -  <p class="XXX">One idea is that we can remove this section somewhere in
  2.5057 -  the CSS3/CSS4 timeline by moving the above definitions to the drafts that
  2.5058 -  define the CSS components.</p>
  2.5059 -
  2.5060 -
  2.5061 -  <h5 id="examples-0"><span class="secno">6.6.2.1 </span>Examples</h5>
  2.5062 +  <p> &lt;absolute-size&gt;, &lt;border-width&gt;, &lt;border-style&gt;,
  2.5063 +   &lt;bottom&gt;, &lt;generic-family&gt;, &lt;generic-voice&gt;,
  2.5064 +   &lt;left&gt;, &lt;margin-width&gt;, &lt;padding-width&gt;,
  2.5065 +   &lt;relative-size&gt;, &lt;right&gt;, and &lt;top&gt;, are considered
  2.5066 +   macros by this specification. They all represent instances of components
  2.5067 +   outlined above.
  2.5068 +
  2.5069 +  <p class=XXX>One idea is that we can remove this section somewhere in the
  2.5070 +   CSS3/CSS4 timeline by moving the above definitions to the drafts that
  2.5071 +   define the CSS components.
  2.5072 +
  2.5073 +  <h5 id=examples0><span class=secno>6.6.2.1. </span>Examples</h5>
  2.5074  
  2.5075    <p>Here are some examples of before and after results on specified values.
  2.5076 -  The before column could be what the author wrote in a style sheet, while
  2.5077 -  the after column shows what querying the DOM would return.</p>
  2.5078 -
  2.5079 -  <div class="example">
  2.5080 +   The before column could be what the author wrote in a style sheet, while
  2.5081 +   the after column shows what querying the DOM would return.
  2.5082 +
  2.5083 +  <div class=example>
  2.5084     <table>
  2.5085      <thead>
  2.5086 -     <tr><th>Before<th>After
  2.5087 +     <tr>
  2.5088 +      <th>Before
  2.5089 +
  2.5090 +      <th>After
  2.5091 +
  2.5092      <tbody>
  2.5093 -     <tr><td><code>background: none</code><td><code>background: rgba(0, 0, 0, 0)</code>
  2.5094 -     <tr><td><code>outline: none</code><td><code>outline: invert</code>
  2.5095 -     <tr><td><code>border: none</code><td><code>border: medium</code>
  2.5096 -     <tr><td><code>list-style: none</code><td><code>list-style: disc</code>
  2.5097 -     <tr><td><code>margin: 0 1px 1px 1px</code><td><code>margin: 0px 1px 1px</code>
  2.5098 -     <tr><td><code>azimuth: behind left</code><td><code>azimuth: 220deg</code>
  2.5099 -     <tr><td><code>font-family: a, 'b"', serif</code><td><code>font-family: "a", "b\"", serif</code>
  2.5100 -     <tr><td><code>content: url('h)i') '\[\]'</code><td><code>content: url("h)i") "[]"</code>
  2.5101 -     <tr><td><code>azimuth: leftwards</code><td><code>azimuth: leftwards</code>
  2.5102 -     <tr><td><code>color: rgb(18, 52, 86)</code><td><code>color: #123456</code>
  2.5103 -     <tr><td><code>color: rgba(000001, 0, 0, 1)</code><td><code>color: #000000</code>
  2.5104 +     <tr>
  2.5105 +      <td><code>background: none</code>
  2.5106 +
  2.5107 +      <td><code>background: rgba(0, 0, 0, 0)</code>
  2.5108 +
  2.5109 +     <tr>
  2.5110 +      <td><code>outline: none</code>
  2.5111 +
  2.5112 +      <td><code>outline: invert</code>
  2.5113 +
  2.5114 +     <tr>
  2.5115 +      <td><code>border: none</code>
  2.5116 +
  2.5117 +      <td><code>border: medium</code>
  2.5118 +
  2.5119 +     <tr>
  2.5120 +      <td><code>list-style: none</code>
  2.5121 +
  2.5122 +      <td><code>list-style: disc</code>
  2.5123 +
  2.5124 +     <tr>
  2.5125 +      <td><code>margin: 0 1px 1px 1px</code>
  2.5126 +
  2.5127 +      <td><code>margin: 0px 1px 1px</code>
  2.5128 +
  2.5129 +     <tr>
  2.5130 +      <td><code>azimuth: behind left</code>
  2.5131 +
  2.5132 +      <td><code>azimuth: 220deg</code>
  2.5133 +
  2.5134 +     <tr>
  2.5135 +      <td><code>font-family: a, 'b"', serif</code>
  2.5136 +
  2.5137 +      <td><code>font-family: "a", "b\"", serif</code>
  2.5138 +
  2.5139 +     <tr>
  2.5140 +      <td><code>content: url('h)i') '\[\]'</code>
  2.5141 +
  2.5142 +      <td><code>content: url("h)i") "[]"</code>
  2.5143 +
  2.5144 +     <tr>
  2.5145 +      <td><code>azimuth: leftwards</code>
  2.5146 +
  2.5147 +      <td><code>azimuth: leftwards</code>
  2.5148 +
  2.5149 +     <tr>
  2.5150 +      <td><code>color: rgb(18, 52, 86)</code>
  2.5151 +
  2.5152 +      <td><code>color: #123456</code>
  2.5153 +
  2.5154 +     <tr>
  2.5155 +      <td><code>color: rgba(000001, 0, 0, 1)</code>
  2.5156 +
  2.5157 +      <td><code>color: #000000</code>
  2.5158     </table>
  2.5159  
  2.5160 -   <p class="XXX">Some of these need to be updated per the new rules.</p>
  2.5161 +   <p class=XXX>Some of these need to be updated per the new rules.</p>
  2.5162    </div>
  2.5163 -
  2.5164    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  2.5165  
  2.5166 -  <h2 id="dom-access-to-css-declaration-blocks"><span class="secno">7 </span>DOM Access to CSS Declaration Blocks</h2>
  2.5167 -
  2.5168 +  <h2 id=dom-access-to-css-declaration-blocks><span class=secno>7. </span>DOM
  2.5169 +   Access to CSS Declaration Blocks</h2>
  2.5170    <!-- ........................................................................................................................ -->
  2.5171    <!-- ........................................................................................................................ -->
  2.5172  
  2.5173 -  <h3 id="the-elementcssinlinestyle-interface"><span class="secno">7.1 </span>The <code>ElementCSSInlineStyle</code> Interface</h3>
  2.5174 -
  2.5175 -  The <code>ElementCSSInlineStyle</code> interface is implemented by <code>Element</code> objects in order to provide access to inline style properties.
  2.5176 -<pre class="idl"><span class="idlInterface" id="widl-def-ElementCSSInlineStyle">interface <span class="idlInterfaceID">ElementCSSInlineStyle</span> {
  2.5177 -<span class="idlAttribute">    readonly attribute <span class="idlAttrType"><a>CSSStyleDeclaration</a></span> <span class="idlAttrName"><a href="#widl-ElementCSSInlineStyle-style">style</a></span>;</span>
  2.5178 +  <h3 id=the-elementcssinlinestyle-interface><span class=secno>7.1.
  2.5179 +   </span>The <code>ElementCSSInlineStyle</code> Interface</h3>
  2.5180 +
  2.5181 +  <p> The <code>ElementCSSInlineStyle</code> interface is implemented by
  2.5182 +   <code>Element</code> objects in order to provide access to inline style
  2.5183 +   properties.
  2.5184 +
  2.5185 +  <pre class=idl><span class=idlInterface
  2.5186 +   id=widl-def-ElementCSSInlineStyle>interface <span
  2.5187 +   class=idlInterfaceID>ElementCSSInlineStyle</span> {
  2.5188 +<span
  2.5189 +   class=idlAttribute>    readonly attribute <span
  2.5190 +   class=idlAttrType><a>CSSStyleDeclaration</a></span> <span
  2.5191 +   class=idlAttrName><a
  2.5192 +   href="#widl-ElementCSSInlineStyle-style">style</a></span>;</span>
  2.5193  };</span></pre>
  2.5194 -<dl class="attributes">
  2.5195 -<dt class="attribute" id="widl-ElementCSSInlineStyle-style">
  2.5196 -<code>style</code> of type <span class="idlAttrType"><a>CSSStyleDeclaration</a></span>, readonly</dt>
  2.5197 -<dd>
  2.5198 -The <code>style</code> attribute must return a mutable <code>CSSStyleDeclaration</code> object    that represents the inline style properties of the associated <code>Element</code> instance.</dd>
  2.5199 -</dl>
  2.5200 -
  2.5201 -
  2.5202 +
  2.5203 +  <dl class=attributes>
  2.5204 +   <dt class=attribute id=widl-ElementCSSInlineStyle-style>
  2.5205 +    <code>style</code> of type <span
  2.5206 +    class=idlAttrType><a>CSSStyleDeclaration</a></span>, readonly
  2.5207 +
  2.5208 +   <dd> The <code>style</code> attribute must return a mutable
  2.5209 +    <code>CSSStyleDeclaration</code> object that represents the inline style
  2.5210 +    properties of the associated <code>Element</code> instance.
  2.5211 +  </dl>
  2.5212    <!-- ........................................................................................................................ -->
  2.5213    <!-- ........................................................................................................................ -->
  2.5214  
  2.5215 -  <h3 id="extensions-to-the-window-interface"><span class="secno">7.2 </span>Extensions to the <code>Window</code> Interface</h3>
  2.5216 -
  2.5217 -  
  2.5218 -<pre class="idl"><span class="idlInterface" id="widl-def-Window">partial interface <span class="idlInterfaceID">Window</span> {
  2.5219 -<span class="idlMethod">    <span class="idlMethType"><a>CSSStyleDeclaration</a></span> <span class="idlMethName"><a href="#widl-Window-getComputedStyle-CSSStyleDeclaration-Element-elt">getComputedStyle</a></span> (<span class="idlParam"><span class="idlParamType"><a>Element</a></span> <span class="idlParamName">elt</span></span>);</span>
  2.5220 -<span class="idlMethod">    <span class="idlMethType"><a>CSSStyleDeclaration</a></span> <span class="idlMethName"><a href="#widl-Window-getComputedStyle-CSSStyleDeclaration-Element-elt-DOMString-pseudoElt">getComputedStyle</a></span> (<span class="idlParam"><span class="idlParamType"><a>Element</a></span> <span class="idlParamName">elt</span></span>, <span class="idlParam"><span class="idlParamType"><a>DOMString</a></span> <span class="idlParamName">pseudoElt</span></span>);</span>
  2.5221 +  <h3 id=extensions-to-the-window-interface><span class=secno>7.2.
  2.5222 +   </span>Extensions to the <code>Window</code> Interface</h3>
  2.5223 +
  2.5224 +  <pre class=idl><span class=idlInterface
  2.5225 +   id=widl-def-Window>partial interface <span
  2.5226 +   class=idlInterfaceID>Window</span> {
  2.5227 +<span class=idlMethod>    <span
  2.5228 +   class=idlMethType><a>CSSStyleDeclaration</a></span> <span
  2.5229 +   class=idlMethName><a
  2.5230 +   href="#widl-Window-getComputedStyle-CSSStyleDeclaration-Element-elt">getComputedStyle</a></span> (<span
  2.5231 +   class=idlParam><span class=idlParamType><a>Element</a></span> <span
  2.5232 +   class=idlParamName>elt</span></span>);</span>
  2.5233 +<span
  2.5234 +   class=idlMethod>    <span
  2.5235 +   class=idlMethType><a>CSSStyleDeclaration</a></span> <span
  2.5236 +   class=idlMethName><a
  2.5237 +   href="#widl-Window-getComputedStyle-CSSStyleDeclaration-Element-elt-DOMString-pseudoElt">getComputedStyle</a></span> (<span
  2.5238 +   class=idlParam><span class=idlParamType><a>Element</a></span> <span
  2.5239 +   class=idlParamName>elt</span></span>, <span class=idlParam><span
  2.5240 +   class=idlParamType><a>DOMString</a></span> <span
  2.5241 +   class=idlParamName>pseudoElt</span></span>);</span>
  2.5242  };</span></pre>
  2.5243 -<dl class="methods">
  2.5244 -<dt class="method" id="widl-Window-getComputedStyle-CSSStyleDeclaration-Element-elt">
  2.5245 -<code>getComputedStyle</code> (<span class="idlParam"><span class="idlParamType"><a>Element</a></span></span>), returns <span class="idlMethType"><a>CSSStyleDeclaration</a></span></dt>
  2.5246 -<dt class="method" id="widl-Window-getComputedStyle-CSSStyleDeclaration-Element-elt-DOMString-pseudoElt">
  2.5247 -<code>getComputedStyle</code> (<span class="idlParam"><span class="idlParamType"><a>Element</a></span></span>, <span class="idlParam"><span class="idlParamType"><a>DOMString</a></span></span>), returns <span class="idlMethType"><a>CSSStyleDeclaration</a></span></dt>
  2.5248 -<dd>
  2.5249 -<p>The <code>getComputedStyle</code> operation must run these steps:</p>    <ol>      <li><p>Let <var>doc</var> be the      <code class="external"><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#document">Document</a></code>      associated with the <code class="external"><a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#window">Window</a></code> object on      which the method was invoked.</li>      <li><p>Let <var>obj</var> be <var>elt</var>.</li>      <li><p>If <var>pseudoElt</var> is as an      <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#ascii-case-insensitive">ASCII case-insensitive</a> match for      either '<code>:before</code>' or '<code>::before</code>' let      <var>obj</var> be the '::before' pseudo-element of      <var>elt</var>.</li>      <li><p>If <var>pseudoElt</var> is as an      <a class="external" href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#ascii-case-insensitive">ASCII case-insensitive</a> match for      either '<code>:after</code>' or '<code>::after</code>' let      <var>obj</var> be the '::after' pseudo-element of      <var>elt</var>.</li>      <li>       <p>Return a <a href="#css-declaration-block">CSS declaration block</a> with the       <a href="#css-declaration-block-readonly-flag">CSS declaration block readonly flag</a> set and the       <a href="#css-declaration-block-declarations">CSS declaration block declarations</a> set to all properties       the user agent supports with as value the <a href="#resolved-value">resolved value</a>       computed for <var>obj</var> using the style rules associated       with <var>doc</var>.</p>       <p class="note">This means that even if <var>obj</var> is in a       different document (e.g. one fetched via <code>XMLHttpRequest</code>) it       will still use the style rules associated with the document that is       associated with the global object on which       <code title="dom-Window-getComputedStyle">getComputedStyle()</code> was       invoked to compute the <a href="#css-declaration-block">CSS declaration block</a>.</p>      </li>    </ol>    <p class="note">Because of historical IDL limitations the <code>getComputedStyle</code> operation used to be on    a separate interface, <code>ViewCSS</code>.</dd>
  2.5250 -</dl>
  2.5251 -
  2.5252 -
  2.5253 +
  2.5254 +  <dl class=methods>
  2.5255 +   <dt class=method
  2.5256 +    id=widl-Window-getComputedStyle-CSSStyleDeclaration-Element-elt>
  2.5257 +    <code>getComputedStyle</code> (<span class=idlParam><span
  2.5258 +    class=idlParamType><a>Element</a></span></span>), returns <span
  2.5259 +    class=idlMethType><a>CSSStyleDeclaration</a></span>
  2.5260 +
  2.5261 +   <dt class=method
  2.5262 +    id=widl-Window-getComputedStyle-CSSStyleDeclaration-Element-elt-DOMString-pseudoElt>
  2.5263 +    <code>getComputedStyle</code> (<span class=idlParam><span
  2.5264 +    class=idlParamType><a>Element</a></span></span>, <span
  2.5265 +    class=idlParam><span class=idlParamType><a>DOMString</a></span></span>),
  2.5266 +    returns <span class=idlMethType><a>CSSStyleDeclaration</a></span>
  2.5267 +
  2.5268 +   <dd>
  2.5269 +    <p>The <code>getComputedStyle</code> operation must run these steps:</p>
  2.5270 +
  2.5271 +    <ol>
  2.5272 +     <li>
  2.5273 +      <p>Let <var>doc</var> be the <code data-anolis-spec=dom>Document</code>
  2.5274 +       associated with the <code data-anolis-spec=html>Window</code> object
  2.5275 +       on which the method was invoked.
  2.5276 +
  2.5277 +     <li>
  2.5278 +      <p>Let <var>obj</var> be <var>elt</var>.
  2.5279 +
  2.5280 +     <li>
  2.5281 +      <p>If <var>pseudoElt</var> is as an <span data-anolis-spec=dom>ASCII
  2.5282 +       case-insensitive</span> match for either ‘<code
  2.5283 +       class=css><code>:before</code></code>’ or ‘<code
  2.5284 +       class=css><code>::before</code></code>’ let <var>obj</var> be the
  2.5285 +       ‘<code class=css>::before</code>’ pseudo-element of
  2.5286 +       <var>elt</var>.
  2.5287 +
  2.5288 +     <li>
  2.5289 +      <p>If <var>pseudoElt</var> is as an <span data-anolis-spec=dom>ASCII
  2.5290 +       case-insensitive</span> match for either ‘<code
  2.5291 +       class=css><code>:after</code></code>’ or ‘<code
  2.5292 +       class=css><code>::after</code></code>’ let <var>obj</var> be the
  2.5293 +       ‘<code class=css>::after</code>’ pseudo-element of <var>elt</var>.
  2.5294 +
  2.5295 +     <li>
  2.5296 +      <p>Return a <a href="#css-declaration-block">CSS declaration block</a>
  2.5297 +       with the <a href="#css-declaration-block-readonly-flag">CSS
  2.5298 +       declaration block readonly flag</a> set and the <a
  2.5299 +       href="#css-declaration-block-declarations">CSS declaration block
  2.5300 +       declarations</a> set to all properties the user agent supports with as
  2.5301 +       value the <a href="#resolved-value">resolved value</a> computed for
  2.5302 +       <var>obj</var> using the style rules associated with <var>doc</var>.</p>
  2.5303 +
  2.5304 +      <p class=note>This means that even if <var>obj</var> is in a different
  2.5305 +       document (e.g. one fetched via <code>XMLHttpRequest</code>) it will
  2.5306 +       still use the style rules associated with the document that is
  2.5307 +       associated with the global object on which <code
  2.5308 +       title=dom-Window-getComputedStyle>getComputedStyle()</code> was
  2.5309 +       invoked to compute the <a href="#css-declaration-block">CSS
  2.5310 +       declaration block</a>.</p>
  2.5311 +    </ol>
  2.5312 +
  2.5313 +    <p class=note>Because of historical IDL limitations the
  2.5314 +     <code>getComputedStyle</code> operation used to be on a separate
  2.5315 +     interface, <code>ViewCSS</code>.
  2.5316 +  </dl>
  2.5317    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  2.5318  
  2.5319 -  <h2 id="resolved-values"><span class="secno">8 </span>Resolved Values</h2>
  2.5320 -
  2.5321 -  <p><code title="dom-Window-getComputedStyle">getComputedStyle()</code> was
  2.5322 -  historically defined to return the "computed value" of an element or
  2.5323 -  pseudo-element. However, the concept of "computed value" changed between
  2.5324 -  revisions of CSS while the implementation of
  2.5325 -  <code title="dom-Window-getComputedStyle">getComputedStyle()</code> had to
  2.5326 -  remain the same for compatibility with deployed scripts. To address this
  2.5327 -  issue this specification introduces the concept of a
  2.5328 -  <dfn id="resolved-value">resolved value</dfn>.</p>
  2.5329 -
  2.5330 -  <p>The <a href="#resolved-value">resolved value</a> for a given property can be determined
  2.5331 -  as follows:</p>
  2.5332 -
  2.5333 -  <dl class="switch">
  2.5334 -   <!--
  2.5335 +  <h2 id=resolved-values><span class=secno>8. </span>Resolved Values</h2>
  2.5336 +
  2.5337 +  <p><code title=dom-Window-getComputedStyle>getComputedStyle()</code> was
  2.5338 +   historically defined to return the "computed value" of an element or
  2.5339 +   pseudo-element. However, the concept of "computed value" changed between
  2.5340 +   revisions of CSS while the implementation of <code
  2.5341 +   title=dom-Window-getComputedStyle>getComputedStyle()</code> had to remain
  2.5342 +   the same for compatibility with deployed scripts. To address this issue
  2.5343 +   this specification introduces the concept of a <dfn
  2.5344 +   id=resolved-value>resolved value</dfn>.
  2.5345 +
  2.5346 +  <p>The <a href="#resolved-value">resolved value</a> for a given property
  2.5347 +   can be determined as follows:
  2.5348 +
  2.5349 +  <dl class=switch><!--
  2.5350     We want to treat shorthand properties like any other value basically.
  2.5351  
  2.5352     <dt>'<code>background</code>'
  2.5353 @@ -2278,132 +3589,131 @@
  2.5354     </dd>
  2.5355     -->
  2.5356  
  2.5357 -   <dt>'<code>line-height</code>'</dt>
  2.5358 -   <dd><p>The <a href="#resolved-value">resolved value</a> is the used value.</dd>
  2.5359 -
  2.5360 -   <dt>'<code>height</code>'</dt>
  2.5361 -   <dt>'<code>margin</code>'</dt>
  2.5362 -   <dt>'<code>margin-bottom</code>'</dt>
  2.5363 -   <dt>'<code>margin-left</code>'</dt>
  2.5364 -   <dt>'<code>margin-right</code>'</dt>
  2.5365 -   <dt>'<code>margin-top</code>'</dt>
  2.5366 -   <dt>'<code>padding</code>'</dt>
  2.5367 -   <dt>'<code>padding-bottom</code>'</dt>
  2.5368 -   <dt>'<code>padding-left</code>'</dt>
  2.5369 -   <dt>'<code>padding-right</code>'</dt>
  2.5370 -   <dt>'<code>padding-top</code>'</dt>
  2.5371 -   <dt>'<code>width</code>'</dt>
  2.5372 -   <dd><p>If the property applies to the element or pseudo-element and the
  2.5373 -   <a href="#resolved-value">resolved value</a> of the '<code>display</code>' property is not
  2.5374 -   <code>none</code>, the <a href="#resolved-value">resolved value</a> is the
  2.5375 -   <span>used value</span>. Otherwise the <a href="#resolved-value">resolved value</a> is the
  2.5376 -   computed value.</dd>
  2.5377 -
  2.5378 -   <dt>'<code>bottom</code>'</dt>
  2.5379 -   <dt>'<code>left</code>'</dt>
  2.5380 -   <dt>'<code>right</code>'</dt>
  2.5381 -   <dt>'<code>top</code>'</dt>
  2.5382 -   <dd><p>If the property applies to a positioned element and the
  2.5383 -   <a href="#resolved-value">resolved value</a> of the '<code>display</code>' property is not
  2.5384 -   <code>none</code>, the <a href="#resolved-value">resolved value</a> is the
  2.5385 -   <span>used value</span>. Otherwise the <a href="#resolved-value">resolved value</a> is the
  2.5386 -   computed value.</dd>
  2.5387 -
  2.5388 -   <dt>Any other property</dt>
  2.5389 -   <dd><p>The <a href="#resolved-value">resolved value</a> is the computed value.</dd>
  2.5390 +   <dt>‘<code class=css><code>line-height</code></code>’
  2.5391 +
  2.5392 +   <dd>
  2.5393 +    <p>The <a href="#resolved-value">resolved value</a> is the used value.
  2.5394 +
  2.5395 +   <dt>‘<code class=css><code>height</code></code>’
  2.5396 +
  2.5397 +   <dt>‘<code class=css><code>margin</code></code>’
  2.5398 +
  2.5399 +   <dt>‘<code class=css><code>margin-bottom</code></code>’
  2.5400 +
  2.5401 +   <dt>‘<code class=css><code>margin-left</code></code>’
  2.5402 +
  2.5403 +   <dt>‘<code class=css><code>margin-right</code></code>’
  2.5404 +
  2.5405 +   <dt>‘<code class=css><code>margin-top</code></code>’
  2.5406 +
  2.5407 +   <dt>‘<code class=css><code>padding</code></code>’
  2.5408 +
  2.5409 +   <dt>‘<code class=css><code>padding-bottom</code></code>’
  2.5410 +
  2.5411 +   <dt>‘<code class=css><code>padding-left</code></code>’
  2.5412 +
  2.5413 +   <dt>‘<code class=css><code>padding-right</code></code>’
  2.5414 +
  2.5415 +   <dt>‘<code class=css><code>padding-top</code></code>’
  2.5416 +
  2.5417 +   <dt>‘<code class=css><code>width</code></code>’
  2.5418 +
  2.5419 +   <dd>
  2.5420 +    <p>If the property applies to the element or pseudo-element and the <a
  2.5421 +     href="#resolved-value">resolved value</a> of the ‘<code
  2.5422 +     class=css><code>display</code></code>’ property is not
  2.5423 +     <code>none</code>, the <a href="#resolved-value">resolved value</a> is
  2.5424 +     the <span>used value</span>. Otherwise the <a
  2.5425 +     href="#resolved-value">resolved value</a> is the computed value.
  2.5426 +
  2.5427 +   <dt>‘<code class=css><code>bottom</code></code>’
  2.5428 +
  2.5429 +   <dt>‘<code class=css><code>left</code></code>’
  2.5430 +
  2.5431 +   <dt>‘<code class=css><code>right</code></code>’
  2.5432 +
  2.5433 +   <dt>‘<code class=css><code>top</code></code>’
  2.5434 +
  2.5435 +   <dd>
  2.5436 +    <p>If the property applies to a positioned element and the <a
  2.5437 +     href="#resolved-value">resolved value</a> of the ‘<code
  2.5438 +     class=css><code>display</code></code>’ property is not
  2.5439 +     <code>none</code>, the <a href="#resolved-value">resolved value</a> is
  2.5440 +     the <span>used value</span>. Otherwise the <a
  2.5441 +     href="#resolved-value">resolved value</a> is the computed value.
  2.5442 +
  2.5443 +   <dt>Any other property
  2.5444 +
  2.5445 +   <dd>
  2.5446 +    <p>The <a href="#resolved-value">resolved value</a> is the computed
  2.5447 +     value.
  2.5448    </dl>
  2.5449 -
  2.5450    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  2.5451  
  2.5452 -  <h2 id="iana-considerations"><span class="secno">9 </span>IANA Considerations</h2>
  2.5453 -
  2.5454 +  <h2 id=iana-considerations><span class=secno>9. </span>IANA Considerations</h2>
  2.5455    <!-- ........................................................................................................................ -->
  2.5456    <!-- ........................................................................................................................ -->
  2.5457  
  2.5458 -  <h3 id="default-style"><span class="secno">9.1 </span><dfn title="http-default-style"><code>Default-Style</code></dfn></h3>
  2.5459 +  <h3 id=default-style><span class=secno>9.1. </span><dfn id=default-style0
  2.5460 +   title=http-default-style><code>Default-Style</code></dfn></h3>
  2.5461  
  2.5462    <p>This section describes a header field for registration in the Permanent
  2.5463 -  Message Header Field Registry.
  2.5464 -  <!--<a href="XXX">[RFC3864]</a>--></p>
  2.5465 +   Message Header Field Registry. <!--<a href="XXX">[RFC3864]</a>-->
  2.5466  
  2.5467    <dl>
  2.5468 -   <dt>Header field name</dt>
  2.5469 -   <dd>Default-Style</dd>
  2.5470 -   <dt>Applicable protocol</dt>
  2.5471 -   <dd>http</dd>
  2.5472 -   <dt>Status</dt>
  2.5473 -   <dd>standard</dd>
  2.5474 -   <dt>Author/Change controller</dt>
  2.5475 -   <dd>W3C</dd>
  2.5476 -   <dt>Specification document(s)</dt>
  2.5477 -   <dd>This document is the relevant specification.</dd>
  2.5478 -   <dt>Related information</dt>
  2.5479 -   <dd>None.</dd>
  2.5480 +   <dt>Header field name
  2.5481 +
  2.5482 +   <dd>Default-Style
  2.5483 +
  2.5484 +   <dt>Applicable protocol
  2.5485 +
  2.5486 +   <dd>http
  2.5487 +
  2.5488 +   <dt>Status
  2.5489 +
  2.5490 +   <dd>standard
  2.5491 +
  2.5492 +   <dt>Author/Change controller
  2.5493 +
  2.5494 +   <dd>W3C
  2.5495 +
  2.5496 +   <dt>Specification document(s)
  2.5497 +
  2.5498 +   <dd>This document is the relevant specification.
  2.5499 +
  2.5500 +   <dt>Related information
  2.5501 +
  2.5502 +   <dd>None.
  2.5503    </dl>
  2.5504 -
  2.5505    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  2.5506  
  2.5507 -  <h2 class="no-num" id="references">References</h2>
  2.5508 -
  2.5509 +  <h2 class=no-num id=references>References</h2>
  2.5510    <!-- ........................................................................................................................ -->
  2.5511    <!-- ........................................................................................................................ -->
  2.5512  
  2.5513 -  <h3 class="no-num" id="normative-references">Normative references</h3>
  2.5514 -  <div id="anolis-references-normative"><dl><dt id="refsDOM">[DOM]
  2.5515 -<dd><cite><a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html">DOM4</a></cite>, Anne van Kesteren, Aryeh Gregor and Ms2ger. W3C.
  2.5516 -
  2.5517 -<dt id="refsHTML">[HTML]
  2.5518 -<dd><cite><a href="http://www.whatwg.org/C">HTML</a></cite>, Ian Hickson. WHATWG.
  2.5519 -
  2.5520 -<dt id="refsRFC2119">[RFC2119]
  2.5521 -<dd><cite><a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a></cite>, Scott Bradner. IETF.
  2.5522 -
  2.5523 -<dt id="refsXML">[XML]
  2.5524 -<dd><cite><a href="http://www.w3.org/TR/xml/">Extensible Markup Language</a></cite>, Tim Bray, Jean Paoli, C. M. Sperberg-McQueen et al.. W3C.
  2.5525 -
  2.5526 -<dt id="refsXMLSS">[XMLSS]
  2.5527 -<dd><cite><a href="http://www.w3.org/TR/xml-stylesheet/">Associating Style Sheets with XML documents 1.0 (Second Edition)</a></cite>, James Clark, Simon Pieters and Henry S. Thompson. W3C.
  2.5528 -
  2.5529 -</dl></div>
  2.5530 -
  2.5531 +  <h3 class=no-num id=normative-references>Normative references</h3>
  2.5532 +
  2.5533 +  <div id=anolis-references-normative></div>
  2.5534    <!-- ........................................................................................................................ -->
  2.5535    <!-- ........................................................................................................................ -->
  2.5536  
  2.5537 -  <h3 class="no-num" id="informative-references">Informative references</h3>
  2.5538 -  <div id="anolis-references-informative"></div>
  2.5539 -
  2.5540 +  <h3 class=no-num id=informative-references>Informative references</h3>
  2.5541 +
  2.5542 +  <div id=anolis-references-informative></div>
  2.5543    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
  2.5544  
  2.5545 -  <h2 class="no-num" id="acknowledgments">Acknowledgments</h2>
  2.5546 -
  2.5547 -  <p>The editors would like to thank
  2.5548 -
  2.5549 -  Alexey Feldgendler,
  2.5550 -  Björn Höhrmann,
  2.5551 -  Brian Kardell,
  2.5552 -  Christian Krebs,
  2.5553 -  Daniel Glazman,
  2.5554 -  David Baron,
  2.5555 -  <i>fantasai</i>,
  2.5556 -  Hallvord R. M. Steen,
  2.5557 -  Ian Hickson,
  2.5558 -  John Daggett,
  2.5559 -  Lachlan Hunt,
  2.5560 -  Morten Stenshorne,
  2.5561 -  Philip Taylor,
  2.5562 -  Robert O'Callahan,
  2.5563 -  Sjoerd Visscher,
  2.5564 -  Simon Pieters,
  2.5565 -  Sylvain Galineau,
  2.5566 -  Tarquin Wilton-Jones, and
  2.5567 -  Zack Weinberg
  2.5568 -
  2.5569 -  for contributing to this specification.</p>
  2.5570 -
  2.5571 -  <p>Additional thanks to Ian Hickson for writing the
  2.5572 -  initial version of the alternative style sheets API and canonicalization
  2.5573 -  (now serialization) rules for CSS values.</p>
  2.5574 -
  2.5575 +  <h2 class=no-num id=acknowledgments>Acknowledgments</h2>
  2.5576 +
  2.5577 +  <p>The editors would like to thank Alexey Feldgendler, Björn Höhrmann,
  2.5578 +   Brian Kardell, Christian Krebs, Daniel Glazman, David Baron,
  2.5579 +   <i>fantasai</i>, Hallvord R. M. Steen, Ian Hickson, John Daggett, Lachlan
  2.5580 +   Hunt, Morten Stenshorne, Philip Taylor, Robert O'Callahan, Sjoerd
  2.5581 +   Visscher, Simon Pieters, Sylvain Galineau, Tarquin Wilton-Jones, and Zack
  2.5582 +   Weinberg for contributing to this specification.
  2.5583 +
  2.5584 +  <p>Additional thanks to Ian Hickson for writing the initial version of the
  2.5585 +   alternative style sheets API and canonicalization (now serialization)
  2.5586 +   rules for CSS values.</p>
  2.5587    <!-- XXX NOTES
  2.5588  
  2.5589    <style type=text/css;charset=utf-8> does create a StyleSheet in Firefox
  2.5590 @@ -2424,8 +3734,3 @@
  2.5591  
  2.5592    Markup style: http://krijnhoetmer.nl/irc-logs/whatwg/20100204#l-529
  2.5593    -->
  2.5594 - 
  2.5595 -
  2.5596 -
  2.5597 -
  2.5598 -
     3.1 --- a/cssom/Overview.src.html	Tue Jul 17 16:26:41 2012 -0700
     3.2 +++ b/cssom/Overview.src.html	Tue Jul 17 19:27:08 2012 -0400
     3.3 @@ -83,6 +83,11 @@
     3.4    can be found in the
     3.5    <a href="http://www.w3.org/TR/">W3C technical reports index at http://www.w3.org/TR/.</a></em>
     3.6  
     3.7 +  <p class="note">
     3.8 +    Note: This draft is not web-compatible and should not be used as a basis for implementation.
     3.9 +    Please reverse-engineer some existing implementation instead, or worst-case use [[DOM-LEVEL-2-STYLE]],
    3.10 +    while we sort out what this specification should actually say. 
    3.11 +
    3.12    </p><p class="dontpublish">This is the [DATE: 3 August 2002] [LONGSTATUS] of CSSOM. Please send comments to
    3.13    <a href="mailto:www-style@w3.org?subject=%5Bcssom%5D%20">www-style@w3.org</a>
    3.14    (<a href="http://lists.w3.org/Archives/Public/www-style/">archived</a>)

mercurial