[css3-conditional] Remove the issue about @import, and excise all mentions of the @document rule. The section is still maintained in a comment in the draft for now.

Wed, 10 Oct 2012 16:53:12 -0700

author
Tab Atkins Jr. <jackalmage@gmail.com>
date
Wed, 10 Oct 2012 16:53:12 -0700
changeset 6838
117c3502294d
parent 6837
a8c932d37c77
child 6839
a48d53959b0a

[css3-conditional] Remove the issue about @import, and excise all mentions of the @document rule. The section is still maintained in a comment in the draft for now.

css3-conditional/Overview.html file | annotate | diff | comparison | revisions
css3-conditional/Overview.src.html file | annotate | diff | comparison | revisions
     1.1 --- a/css3-conditional/Overview.html	Tue Oct 09 17:30:03 2012 -0700
     1.2 +++ b/css3-conditional/Overview.html	Wed Oct 10 16:53:12 2012 -0700
     1.3 @@ -106,9 +106,8 @@
     1.4     rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>, which builds on CSS level 1
     1.5     <a href="#CSS1" rel=biblioentry>[CSS1]<!--{{CSS1}}--></a>. The main
     1.6     extensions compared to level 2 are allowing nesting of certain at-rules
     1.7 -   inside ‘<code class=css>@media</code>’, the addition of the ‘<code
     1.8 -   class=css>@supports</code>’ and ‘<code class=css>@document</code>’
     1.9 -   rules for conditional processing.
    1.10 +   inside ‘<code class=css>@media</code>’, and the addition of the
    1.11 +   ‘<code class=css>@supports</code>’ rule for conditional processing.
    1.12  
    1.13    <h2 class="no-num no-toc" id=status>Status of this document</h2>
    1.14    <!--begin-status-->
    1.15 @@ -166,11 +165,15 @@
    1.16  
    1.17     <li>The support for functions inside of ‘<code
    1.18      class=css>@supports</code>’ is at risk.
    1.19 +  </ul>
    1.20 +  <!--
    1.21  
    1.22 -   <li>The ‘<code class=css>@document</code>’ rule is at risk; if
    1.23 -    interoperable implementations are not found, it may be removed to advance
    1.24 -    the other features in this specification to Proposed Recommendation.
    1.25 -  </ul>
    1.26 +  Things to go in level 4:
    1.27 +
    1.28 +  * Create some way to put these new conditional things on an @import.
    1.29 +  * The @document rule (commented out, down below).
    1.30 +
    1.31 +-->
    1.32  
    1.33    <h2 class="no-num no-toc" id=contents>Table of contents</h2>
    1.34    <!--begin-toc-->
    1.35 @@ -206,55 +209,49 @@
    1.36        </span>Definition of support</a>
    1.37      </ul>
    1.38  
    1.39 -   <li><a href="#at-document"><span class=secno>7. </span>Document queries:
    1.40 -    the ‘<code class=css>@document</code>’ rule</a>
    1.41 -
    1.42 -   <li><a href="#apis"><span class=secno>8. </span>APIs</a>
    1.43 +   <li><a href="#apis"><span class=secno>7. </span>APIs</a>
    1.44      <ul class=toc>
    1.45 -     <li><a href="#extentions-to-cssrule-interface"><span class=secno>8.1.
    1.46 +     <li><a href="#extentions-to-cssrule-interface"><span class=secno>7.1.
    1.47        </span> Extensions to the <code>CSSRule</code> interface</a>
    1.48  
    1.49 -     <li><a href="#the-cssgroupingrule-interface"><span class=secno>8.2.
    1.50 +     <li><a href="#the-cssgroupingrule-interface"><span class=secno>7.2.
    1.51        </span> The <code>CSSGroupingRule</code> interface</a>
    1.52  
    1.53 -     <li><a href="#the-cssconditionrule-interface"><span class=secno>8.3.
    1.54 +     <li><a href="#the-cssconditionrule-interface"><span class=secno>7.3.
    1.55        </span> The <code>CSSConditionRule</code> interface</a>
    1.56  
    1.57 -     <li><a href="#the-cssmediarule-interface"><span class=secno>8.4. </span>
    1.58 +     <li><a href="#the-cssmediarule-interface"><span class=secno>7.4. </span>
    1.59        The <code>CSSMediaRule</code> interface</a>
    1.60  
    1.61 -     <li><a href="#the-csssupportsrule-interface"><span class=secno>8.5.
    1.62 +     <li><a href="#the-csssupportsrule-interface"><span class=secno>7.5.
    1.63        </span> The <code>CSSSupportsRule</code> interface</a>
    1.64  
    1.65 -     <li><a href="#the-cssdocumentrule-interface"><span class=secno>8.6.
    1.66 -      </span> The <code>CSSDocumentRule</code> interface</a>
    1.67 -
    1.68 -     <li><a href="#the-css-interface"><span class=secno>8.7. </span> The
    1.69 +     <li><a href="#the-css-interface"><span class=secno>7.6. </span> The
    1.70        <code>CSS</code> interface, and the <code title="">supports()</code>
    1.71        function</a>
    1.72      </ul>
    1.73  
    1.74     <li class=no-num><a href="#grammar">Grammar</a>
    1.75  
    1.76 -   <li><a href="#conformance"><span class=secno>9. </span>Conformance</a>
    1.77 +   <li><a href="#conformance"><span class=secno>8. </span>Conformance</a>
    1.78      <ul class=toc>
    1.79 -     <li><a href="#base-modules"><span class=secno>9.1. </span>Base
    1.80 +     <li><a href="#base-modules"><span class=secno>8.1. </span>Base
    1.81        Modules</a>
    1.82  
    1.83 -     <li><a href="#conformance-classes"><span class=secno>9.2.
    1.84 +     <li><a href="#conformance-classes"><span class=secno>8.2.
    1.85        </span>Conformance Classes</a>
    1.86  
    1.87 -     <li><a href="#partial"><span class=secno>9.3. </span> Partial
    1.88 +     <li><a href="#partial"><span class=secno>8.3. </span> Partial
    1.89        Implementations</a>
    1.90  
    1.91 -     <li><a href="#experimental"><span class=secno>9.4. </span>Experimental
    1.92 +     <li><a href="#experimental"><span class=secno>8.4. </span>Experimental
    1.93        Implementations</a>
    1.94  
    1.95 -     <li><a href="#cr-exit-criteria"><span class=secno>9.5. </span>CR Exit
    1.96 +     <li><a href="#cr-exit-criteria"><span class=secno>8.5. </span>CR Exit
    1.97        Criteria</a>
    1.98      </ul>
    1.99  
   1.100 -   <li><a href="#changes"><span class=secno>10. </span> Changes</a>
   1.101 +   <li><a href="#changes"><span class=secno>9. </span> Changes</a>
   1.102  
   1.103     <li class=no-num><a href="#acknowledgments">Acknowledgments</a>
   1.104  
   1.105 @@ -293,9 +290,9 @@
   1.106     features involving @-rules with media specific style sheets within a
   1.107     single style sheet.
   1.108  
   1.109 -  <p>This specification also defines additional types of conditional group
   1.110 -   rules, ‘<code class=css>@supports</code>’ and ‘<code
   1.111 -   class=css>@document</code>’, to address author and user requirements.
   1.112 +  <p>This specification also defines an additional type of conditional group
   1.113 +   rule, ‘<code class=css>@supports</code>’, to address author and user
   1.114 +   requirements.
   1.115  
   1.116    <p>The ‘<code class=css>@supports</code>’ rule allows CSS to be
   1.117     conditioned on implementation support for CSS properties and values. This
   1.118 @@ -305,11 +302,6 @@
   1.119     mechanisms, and for other cases where a set of related styles needs to be
   1.120     conditioned on property support.
   1.121  
   1.122 -  <p>The ‘<code class=css>@document</code>’ rule allows CSS to be
   1.123 -   conditioned on the page to which the style sheet is being applied. This
   1.124 -   allows users to apply styles to a particular page or group of pages, which
   1.125 -   greatly increases the power of user style sheets.
   1.126 -
   1.127    <h3 id=placement><span class=secno>1.2. </span>Module Interactions</h3>
   1.128  
   1.129    <p>This module replaces and extends the ‘<code class=css>@media</code>’
   1.130 @@ -373,15 +365,6 @@
   1.131  
   1.132     <p>causes a particular CSS rule (making elements with ID "navigation" be
   1.133      display:none) apply only when the style sheet is used for a print medium.
   1.134 -    Likewise, this CSS rule:
   1.135 -
   1.136 -   <pre>@document url("http://www.example.com/") {
   1.137 -  #example1 { display: none }
   1.138 -}</pre>
   1.139 -
   1.140 -   <p>does the same type of conditional application, but using a different
   1.141 -    condition: whether the style sheet is being applied to the page
   1.142 -    <code>http://www.example.com/</code>.
   1.143    </div>
   1.144  
   1.145    <p>Each conditional group rule has a condition, which at any time evaluates
   1.146 @@ -425,11 +408,6 @@
   1.147    <h2 id=contents-of><span class=secno>3. </span>Contents of conditional
   1.148     group rules</h2>
   1.149  
   1.150 -  <p class=issue>There is also likely demand for using these conditions with
   1.151 -   ‘<code class=css>@import</code>’. We should see if we can come up with
   1.152 -   sensible syntax for that, perhaps functional notation at the end of the
   1.153 -   ‘<code class=css>@import</code>’ rule.
   1.154 -
   1.155    <p>The syntax of each conditional group rule consists of some syntax
   1.156     specific to the type of rule followed by a <dfn id=group-rule-body>group
   1.157     rule body</dfn>, which is a block (pair of braces) containing a sequence
   1.158 @@ -448,7 +426,7 @@
   1.159  
   1.160    <pre>nested_statement
   1.161    : ruleset | media | page | font_face_rule | keyframes_rule |
   1.162 -    supports_rule | document_rule
   1.163 +    supports_rule
   1.164    ;
   1.165  
   1.166  group_rule_body
   1.167 @@ -461,9 +439,9 @@
   1.168     rel=biblioentry>[CSS3-FONTS]<!--{{!CSS3-FONTS}}--></a>,
   1.169     <code>keyframes_rule</code> defined in <a href="#CSS3-ANIMATIONS"
   1.170     rel=biblioentry>[CSS3-ANIMATIONS]<!--{{!CSS3-ANIMATIONS}}--></a>, and
   1.171 -   <code>media</code>, <a
   1.172 -   href="#supports_rule"><code>supports_rule</code></a> and
   1.173 -   <code>document_rule</code> defined in this specification.
   1.174 +   <code>media</code> and <a
   1.175 +   href="#supports_rule"><code>supports_rule</code></a> defined in this
   1.176 +   specification.
   1.177  
   1.178    <p>In general, future CSS specifications that add new @-rules that are not
   1.179     forbidden to occur after some other types of rules should modify this
   1.180 @@ -852,245 +830,220 @@
   1.181     to compound values; implementations must implement all parts of the value
   1.182     in order to consider the declaration supported, either inside a ruleset or
   1.183     in the declaration condition of an ‘<code class=css>@supports</code>’
   1.184 -   rule.
   1.185 +   rule.</p>
   1.186 +  <!--
   1.187 +<h2 id="at-document">Document queries: the '@document' rule</h2>
   1.188  
   1.189 -  <h2 id=at-document><span class=secno>7. </span>Document queries: the
   1.190 -   ‘<code class=css>@document</code>’ rule</h2>
   1.191 +<p>The <dfn>'@document' rule</dfn> is a conditional group
   1.192 +rule whose condition depends on the
   1.193 +<a href="#url-of-doc">URL of the document being styled</a>.
   1.194 +This allows style sheets, particularly user style sheets, to have styles
   1.195 +that only apply to a set of pages rather than to all pages using the
   1.196 +style sheet.</p>
   1.197  
   1.198 -  <p>The <dfn id=atdocument-rule>‘<code class=css>@document</code>’
   1.199 -   rule</dfn> is a conditional group rule whose condition depends on the <a
   1.200 -   href="#url-of-doc">URL of the document being styled</a>. This allows style
   1.201 -   sheets, particularly user style sheets, to have styles that only apply to
   1.202 -   a set of pages rather than to all pages using the style sheet.
   1.203 +<p class="issue">Given that this @-rule is intended primarily for user
   1.204 +style sheets, what should this specification say about its use in author
   1.205 +style sheets?  Should it be forbidden?  Should use instead be
   1.206 +discouraged?  Or should this specification remain neutral on the
   1.207 +topic, since there are valid uses in author style sheets?</p>
   1.208  
   1.209 -  <p class=issue>Given that this @-rule is intended primarily for user style
   1.210 -   sheets, what should this specification say about its use in author style
   1.211 -   sheets? Should it be forbidden? Should use instead be discouraged? Or
   1.212 -   should this specification remain neutral on the topic, since there are
   1.213 -   valid uses in author style sheets?
   1.214 +<p id="url-of-doc">The <dfn>URL of the document being styled</dfn> is
   1.215 +the URI at which the document is located, excluding any fragment
   1.216 +identifiers.  (This means, for example, that HTTP redirects have been
   1.217 +followed.)  If the styles are being applied inside a complete document
   1.218 +embedded into the presentation of another (e.g., [[HTML5]]'s <code
   1.219 +class="html">iframe</code>, <code class="html">object</code>, or <code
   1.220 +class="html">img</code> elements), the relevant URI is that of the
   1.221 +frame, not of its container.  However, if content from other documents
   1.222 +is mixed in via mechanisms that mix content from one document into
   1.223 +another (e.g., [[SVG11]]'s <code>use</code> element), then the
   1.224 +address of the container document is used.</p>
   1.225  
   1.226 -  <p id=url-of-doc>The <dfn id=url-of-the-document-being-styled>URL of the
   1.227 -   document being styled</dfn> is the URI at which the document is located,
   1.228 -   excluding any fragment identifiers. (This means, for example, that HTTP
   1.229 -   redirects have been followed.) If the styles are being applied inside a
   1.230 -   complete document embedded into the presentation of another (e.g., <a
   1.231 -   href="#HTML5" rel=biblioentry>[HTML5]<!--{{HTML5}}--></a>'s <code
   1.232 -   class=html>iframe</code>, <code class=html>object</code>, or <code
   1.233 -   class=html>img</code> elements), the relevant URI is that of the frame,
   1.234 -   not of its container. However, if content from other documents is mixed in
   1.235 -   via mechanisms that mix content from one document into another (e.g., <a
   1.236 -   href="#SVG11" rel=biblioentry>[SVG11]<!--{{SVG11}}--></a>'s
   1.237 -   <code>use</code> element), then the address of the container document is
   1.238 -   used.
   1.239 +<p class="note">Note:  In [[HTML5]], this is the
   1.240 +<a href="http://dev.w3.org/html5/spec/dom.html#documents">document's address</a>
   1.241 +of a document in a
   1.242 +<a href="http://dev.w3.org/html5/spec/browsers.html#browsing-context">browsing context</a>.</p>
   1.243  
   1.244 -  <p class=note>Note: In <a href="#HTML5"
   1.245 -   rel=biblioentry>[HTML5]<!--{{HTML5}}--></a>, this is the <a
   1.246 -   href="http://dev.w3.org/html5/spec/dom.html#documents">document's
   1.247 -   address</a> of a document in a <a
   1.248 -   href="http://dev.w3.org/html5/spec/browsers.html#browsing-context">browsing
   1.249 -   context</a>.
   1.250 +<div class="issue">What form of normalization is done on URLs and domains
   1.251 +before matching?  In particular, this specification needs to describe:
   1.252 +<ul>
   1.253 +<li>what form is used for the <a href="#url-of-doc">URL of the document
   1.254 +being styled</a> (and what has been normalized in that form)</li>
   1.255 +<li>what normalization (if any) happens to the argument of each of the match
   1.256 +functions before the comparison that they describe and</li>
   1.257 +<li>whether the
   1.258 +comparison algorithm used is string comparison or some other URL
   1.259 +comparison algorithm.</li></ul></div>
   1.260  
   1.261 -  <div class=issue>What form of normalization is done on URLs and domains
   1.262 -   before matching? In particular, this specification needs to describe:
   1.263 -   <ul>
   1.264 -    <li>what form is used for the <a href="#url-of-doc">URL of the document
   1.265 -     being styled</a> (and what has been normalized in that form)
   1.266 +<p>The '@document' rule's condition is written as a
   1.267 +comma-separated list of <dfn>URL matching functions</dfn>, and the
   1.268 +condition evaluates to true whenever any one of those functions
   1.269 +evaluates to true.  The following URL matching functions are
   1.270 +permitted:</p>
   1.271  
   1.272 -    <li>what normalization (if any) happens to the argument of each of the
   1.273 -     match functions before the comparison that they describe and
   1.274 +<dl>
   1.275 +  <dt><dfn id="url-exact" title="url()|URL matching functions::exact">&lt;url&gt;</dfn></dt>
   1.276  
   1.277 -    <li>whether the comparison algorithm used is string comparison or some
   1.278 -     other URL comparison algorithm.
   1.279 -   </ul>
   1.280 -  </div>
   1.281 +  <dd>
   1.282 +    <p>The 'url()' function is the <dfn>exact url matching
   1.283 +    function</dfn>.  It evaluates to true whenever the <a
   1.284 +    href="#url-of-doc">URL of the document being styled</a> is exactly
   1.285 +    the URL given.</p>
   1.286  
   1.287 -  <p>The ‘<code class=css>@document</code>’ rule's condition is written
   1.288 -   as a comma-separated list of <dfn id=url-matching-functions>URL matching
   1.289 -   functions</dfn>, and the condition evaluates to true whenever any one of
   1.290 -   those functions evaluates to true. The following URL matching functions
   1.291 -   are permitted:
   1.292 +    <p class="Note">The 'url()' function, since it is a core syntax
   1.293 +    element in CSS, is allowed (subject to different character
   1.294 +    limitations and thus escaping requirements) to contain an unquoted
   1.295 +    value (in addition to the string values that are allowed as
   1.296 +    arguments for all four functions).</p>
   1.297  
   1.298 -  <dl>
   1.299 -   <dt><dfn id=url-exact
   1.300 -    title="url()|URL matching functions::exact">&lt;url&gt;</dfn>
   1.301 -
   1.302 -   <dd>
   1.303 -    <p>The ‘<a href="#url-exact"><code class=css>url()</code></a>’
   1.304 -     function is the <dfn id=exact-url-matching-function>exact url matching
   1.305 -     function</dfn>. It evaluates to true whenever the <a
   1.306 -     href="#url-of-doc">URL of the document being styled</a> is exactly the
   1.307 -     URL given.
   1.308 -
   1.309 -    <p class=Note>The ‘<a href="#url-exact"><code
   1.310 -     class=css>url()</code></a>’ function, since it is a core syntax
   1.311 -     element in CSS, is allowed (subject to different character limitations
   1.312 -     and thus escaping requirements) to contain an unquoted value (in
   1.313 -     addition to the string values that are allowed as arguments for all four
   1.314 -     functions).
   1.315 -
   1.316 -    <div class=example>
   1.317 -     <p>For example, this rule:
   1.318 -
   1.319 -     <pre>@document url("http://www.w3.org/Style/CSS/") {
   1.320 +    <div class="example">
   1.321 +      <p>For example, this rule:</p>
   1.322 +<pre>@document url("http://www.w3.org/Style/CSS/") {
   1.323    #summary { background: yellow; color: black}
   1.324  }</pre>
   1.325 +      <p>styles the <code class="html">summary</code> element on the page
   1.326 +      <code>http://www.w3.org/Style/CSS/</code>, but not on any other
   1.327 +      pages.</p>
   1.328 +    </div>
   1.329 +  </dd>
   1.330  
   1.331 -     <p>styles the <code class=html>summary</code> element on the page
   1.332 -      <code>http://www.w3.org/Style/CSS/</code>, but not on any other pages.
   1.333 -    </div>
   1.334 +  <dt><dfn id="url-prefix" title="url-prefix()|URL matching functions::prefix">url-prefix(&lt;string&gt;)</dfn></dt>
   1.335  
   1.336 -   <dt><dfn id=url-prefix
   1.337 -    title="url-prefix()|URL matching functions::prefix">url-prefix(&lt;string&gt;)</dfn>
   1.338 -
   1.339 -   <dd>
   1.340 -    <p>The ‘<a href="#url-prefix"><code
   1.341 -     class=css>url-prefix()</code></a>’ function is the <dfn
   1.342 -     id=url-prefix-matching-function>url prefix matching function</dfn>. It
   1.343 -     evaluates to true whenever the <a href="#url-of-doc">URL of the document
   1.344 -     being styled</a> has the argument to the function as an initial
   1.345 -     substring (which is true when the two strings are equal). When the
   1.346 -     argument is the empty string, it evaluates to true for all documents.
   1.347 -
   1.348 -    <div class=example>
   1.349 -     <p>For example, this rule:
   1.350 -
   1.351 -     <pre>@document url-prefix("http://www.w3.org/Style/CSS/") {
   1.352 +  <dd>
   1.353 +    <p>The 'url-prefix()' function is the <dfn>url prefix
   1.354 +    matching function</dfn>.  It evaluates to true whenever the
   1.355 +    <a href="#url-of-doc">URL of the document being styled</a>
   1.356 +    has the argument to the function as an
   1.357 +    initial substring (which is true when the two strings are equal).
   1.358 +    When the argument is the empty string, it evaluates to true for all
   1.359 +    documents.</p>
   1.360 +    <div class="example">
   1.361 +      <p>For example, this rule:</p>
   1.362 +<pre>@document url-prefix("http://www.w3.org/Style/CSS/") {
   1.363    #summary { background: yellow; color: black}
   1.364  }</pre>
   1.365 +      <p>styles the <code class="html">summary</code> element on the page
   1.366 +      <code>http://www.w3.org/Style/CSS/</code> and on the page
   1.367 +      <code>http://www.w3.org/Style/CSS/Test</code>, but it does not
   1.368 +      affect the page <code>http://www.w3.org/</code> or the page
   1.369 +      <code>http://www.example.com/Style/CSS/</code>.</p>
   1.370 +    </div>
   1.371 +  </dd>
   1.372  
   1.373 -     <p>styles the <code class=html>summary</code> element on the page
   1.374 -      <code>http://www.w3.org/Style/CSS/</code> and on the page
   1.375 -      <code>http://www.w3.org/Style/CSS/Test</code>, but it does not affect
   1.376 -      the page <code>http://www.w3.org/</code> or the page
   1.377 -      <code>http://www.example.com/Style/CSS/</code>.
   1.378 -    </div>
   1.379 +  <dt><dfn id="url-domain" title="domain()|URL matching functions::domain">domain(&lt;string&gt;)</dfn></dt>
   1.380  
   1.381 -   <dt><dfn id=url-domain
   1.382 -    title="domain()|URL matching functions::domain">domain(&lt;string&gt;)</dfn>
   1.383 -
   1.384 -   <dd>
   1.385 -    <p>The ‘<a href="#url-domain"><code class=css>domain()</code></a>’
   1.386 -     function is the <dfn id=domain-matching-function>domain matching
   1.387 -     function</dfn>. It evaluates to true whenever the <a
   1.388 -     href="#url-of-doc">URL of the document being styled</a> has a host
   1.389 -     subcomponent (as defined in <a href="#URI"
   1.390 -     rel=biblioentry>[URI]<!--{{!URI}}--></a>) and that host subcomponent is
   1.391 -     exactly the argument to the ‘<a href="#url-domain"><code
   1.392 -     class=css>domain()</code></a>’ function or a final substring of the
   1.393 -     host component is a period (U+002E) immediately followed by the argument
   1.394 -     to the ‘<a href="#url-domain"><code class=css>domain()</code></a>’
   1.395 -     function.
   1.396 -
   1.397 -    <div class=example>
   1.398 -     <p>For example, this rule:
   1.399 -
   1.400 -     <pre>@document domain("w3.org") {
   1.401 +  <dd>
   1.402 +    <p>The 'domain()' function is the <dfn>domain
   1.403 +    matching function</dfn>.  It evaluates to true whenever
   1.404 +    the <a href="#url-of-doc">URL of the document being styled</a>
   1.405 +    has a host subcomponent (as defined in [[!URI]])
   1.406 +    and that host subcomponent is exactly the argument to the
   1.407 +    'domain()' function or a final substring of the host
   1.408 +    component is a period (U+002E) immediately followed by the argument
   1.409 +    to the 'domain()' function.</p>
   1.410 +    <div class="example">
   1.411 +      <p>For example, this rule:</p>
   1.412 +<pre>@document domain("w3.org") {
   1.413    body { font-size: 16px ! important }
   1.414  }</pre>
   1.415 -
   1.416 -     <p>changes the font size of the body element for pages such as
   1.417 +      <p>changes the font size of the body element for pages such as
   1.418        <code>http://www.w3.org/Style/CSS/</code> and
   1.419        <code>http://w3.org/Style/CSS/</code> and
   1.420 -      <code>http://lists.w3.org/Archives/Public/www-style/</code> but it does
   1.421 -      not affect the page <code>http://www.example.com/Style/CSS/</code>.
   1.422 +      <code>http://lists.w3.org/Archives/Public/www-style/</code>
   1.423 +      but it does not affect the page
   1.424 +      <code>http://www.example.com/Style/CSS/</code>.</p>
   1.425      </div>
   1.426 +  </dd>
   1.427  
   1.428 -   <dt><dfn id=url-regexp
   1.429 -    title="regexp()|URL matching functions::regular expression">regexp(&lt;string&gt;)</dfn>
   1.430 +  <dt><dfn id="url-regexp" title="regexp()|URL matching functions::regular expression">regexp(&lt;string&gt;)</dfn></dt>
   1.431  
   1.432 -   <dd>
   1.433 +  <dd>
   1.434      <p>The contents of the &lt;string&gt; argument <strong>must</strong>
   1.435 -     match the JavaScript <code>Pattern</code> production (<a
   1.436 -     href="#ECMA-262-5.1"
   1.437 -     rel=biblioentry>[ECMA-262-5.1]<!--{{!ECMA-262-5.1}}--></a>, section
   1.438 -     15.10.1). However, failing to do so is not a CSS syntax error and does
   1.439 -     not trigger any error handling for CSS syntax errors.
   1.440 +    match the JavaScript <code>Pattern</code> production
   1.441 +    ([[!ECMA-262-5.1]], section 15.10.1).  However,
   1.442 +    failing to do so is not a CSS syntax error and does not trigger any
   1.443 +    error handling for CSS syntax errors.</p>
   1.444  
   1.445 -    <p>The ‘<a href="#url-regexp"><code class=css>regexp()</code></a>’
   1.446 -     function evaluates to true whenever the string argument compiled as a
   1.447 -     JavaScript regular expression with the <code>global</code>,
   1.448 -     <code>ignoreCase</code> and <code>multiline</code> flags
   1.449 -     <em>disabled</em> (see <a href="#ECMA-262-5.1"
   1.450 -     rel=biblioentry>[ECMA-262-5.1]<!--{{!ECMA-262-5.1}}--></a>, sections
   1.451 -     15.10.7.2 through 15.10.7.4) compiles successfully and the resulting
   1.452 -     regular expression matches the entirety of the <a href="#url-of-doc">URL
   1.453 -     of the document being styled</a>.
   1.454 +    <p>The ''regexp()'' function evaluates to true whenever the string
   1.455 +    argument compiled as a JavaScript regular expression with the
   1.456 +    <code>global</code>, <code>ignoreCase</code> and
   1.457 +    <code>multiline</code> flags <em>disabled</em>
   1.458 +    (see [[!ECMA-262-5.1]], sections 15.10.7.2 through 15.10.7.4)
   1.459 +    compiles successfully and the resulting regular expression matches
   1.460 +    the entirety of the
   1.461 +    <a href="#url-of-doc">URL of the document being styled</a>.</p>
   1.462  
   1.463 -    <p class=note>Note that regular expression must match the entire URL, not
   1.464 -     just a part of it.
   1.465 +    <p class="note">Note that regular expression must match the entire
   1.466 +    URL, not just a part of it.</p>
   1.467  
   1.468 -    <p class=note>Note that this definition intentionally matches the
   1.469 -     behavior of the <a
   1.470 -     href="http://dev.w3.org/html5/spec/common-input-element-attributes.html#attr-input-pattern"><code
   1.471 -     class=html>pattern</code> attribute</a> on the <code
   1.472 -     class=html>input</code> element in <a href="#HTML5"
   1.473 -     rel=biblioentry>[HTML5]<!--{{HTML5}}--></a>.
   1.474 +    <p class="note">Note that this definition intentionally matches the
   1.475 +    behavior of the <a
   1.476 +    href="http://dev.w3.org/html5/spec/common-input-element-attributes.html#attr-input-pattern"><code class="html">pattern</code>
   1.477 +    attribute</a> on the <code class="html">input</code> element
   1.478 +    in [[HTML5]].</p>
   1.479  
   1.480 -    <div class=example>
   1.481 -     <p>For example, this rule:
   1.482 -
   1.483 -     <pre>@document regexp("http://www.w3.org/TR/\\d{4}/[^/]*-CSS2-\\d{8}/") {
   1.484 +    <div class="example">
   1.485 +      <p>For example, this rule:</p>
   1.486 +<pre>@document regexp("http://www.w3.org/TR/\\d{4}/[^/]*-CSS2-\\d{8}/") {
   1.487    body { font-size: 20px ! important }
   1.488  }</pre>
   1.489 +      <p>changes the font size of the body element for pages such as
   1.490 +      <code>http://www.w3.org/TR/2011/PR-CSS2-20110412/</code>.</p>
   1.491 +      <p class="note">Note that the backslashes in the regular
   1.492 +      expression require CSS escaping as ''\\''.</p>
   1.493 +    </div>
   1.494 +  </dd>
   1.495  
   1.496 -     <p>changes the font size of the body element for pages such as
   1.497 -      <code>http://www.w3.org/TR/2011/PR-CSS2-20110412/</code>.
   1.498 +</dl>
   1.499  
   1.500 -     <p class=note>Note that the backslashes in the regular expression
   1.501 -      require CSS escaping as ‘<code class=css>\\</code>’.
   1.502 -    </div>
   1.503 -  </dl>
   1.504 +<p>Implementations <strong>must</strong> treat any unknown URL matching
   1.505 +functions as a syntax error, and thus ignore the '@document' rule.
   1.506 +<span class="issue">Should we instead have more complicated error
   1.507 +handling rules to make forward-compatibility work differently, or is
   1.508 +this rule the best solution for such future expansion anyway?</span></p>
   1.509  
   1.510 -  <p>Implementations <strong>must</strong> treat any unknown URL matching
   1.511 -   functions as a syntax error, and thus ignore the ‘<code
   1.512 -   class=css>@document</code>’ rule. <span class=issue>Should we instead
   1.513 -   have more complicated error handling rules to make forward-compatibility
   1.514 -   work differently, or is this rule the best solution for such future
   1.515 -   expansion anyway?</span>
   1.516 +<div class="issue">This syntax doesn't offer any ability to do negations,
   1.517 +which has been requested in <a
   1.518 +href="https://bugzilla.mozilla.org/show_bug.cgi?id=349813">Mozilla bug
   1.519 +349813</a>.  Use cases that people have wanted negations for
   1.520 +include:
   1.521 +<ul>
   1.522 +  <li>User style sheets that want a particular rule in general, but know
   1.523 +  that that rule does more harm than good on specific sites.</li>
   1.524 +  <li>Authors who have a rule that they want to apply to most of their
   1.525 +  pages, but wish to make a few exceptions for.</li>
   1.526 +</ul>
   1.527 +</div>
   1.528  
   1.529 -  <div class=issue>This syntax doesn't offer any ability to do negations,
   1.530 -   which has been requested in <a
   1.531 -   href="https://bugzilla.mozilla.org/show_bug.cgi?id=349813">Mozilla bug
   1.532 -   349813</a>. Use cases that people have wanted negations for include:
   1.533 -   <ul>
   1.534 -    <li>User style sheets that want a particular rule in general, but know
   1.535 -     that that rule does more harm than good on specific sites.
   1.536 -
   1.537 -    <li>Authors who have a rule that they want to apply to most of their
   1.538 -     pages, but wish to make a few exceptions for.
   1.539 -   </ul>
   1.540 -  </div>
   1.541 -
   1.542 -  <p>This extends the lexical scanner in the <a
   1.543 -   href="http://www.w3.org/TR/CSS21/grammar.html">Grammar of CSS 2.1</a> (<a
   1.544 -   href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>, Appendix G) by
   1.545 -   adding:
   1.546 -
   1.547 -  <pre>@{D}{O}{C}{U}{M}{E}{N}{T}	{return DOCUMENT_SYM;}</pre>
   1.548 -
   1.549 -  <p>and the grammar by adding
   1.550 -
   1.551 -  <pre>document_rule
   1.552 +<p>This extends the lexical scanner in the
   1.553 +<a href="http://www.w3.org/TR/CSS21/grammar.html">Grammar of CSS 2.1</a>
   1.554 +([[!CSS21]], Appendix G) by adding:
   1.555 +<pre>@{D}{O}{C}{U}{M}{E}{N}{T}	{return DOCUMENT_SYM;}</pre>
   1.556 +<p>and the grammar by adding</p>
   1.557 +<pre>document_rule
   1.558    : DOCUMENT_SYM S+ url_match_fn ( "," S* url_match_fn )* group_rule_body
   1.559    ;
   1.560  
   1.561  url_match_fn
   1.562    : (URI | FUNCTION S* STRING S* ')' ) S*
   1.563    ;</pre>
   1.564 +-->
   1.565  
   1.566 -  <h2 id=apis><span class=secno>8. </span>APIs</h2>
   1.567 +  <h2 id=apis><span class=secno>7. </span>APIs</h2>
   1.568  
   1.569 -  <h3 id=extentions-to-cssrule-interface><span class=secno>8.1. </span>
   1.570 +  <h3 id=extentions-to-cssrule-interface><span class=secno>7.1. </span>
   1.571     Extensions to the <code>CSSRule</code> interface</h3>
   1.572  
   1.573    <p>The <code>CSSRule</code> interface is extended as follows:
   1.574  
   1.575    <pre class=idl>partial interface CSSRule {
   1.576      const unsigned short SUPPORTS_RULE = 12;
   1.577 +    <!--
   1.578      const unsigned short DOCUMENT_RULE = 13;
   1.579 +    -->
   1.580  }</pre>
   1.581  
   1.582 -  <h3 id=the-cssgroupingrule-interface><span class=secno>8.2. </span> The <a
   1.583 +  <h3 id=the-cssgroupingrule-interface><span class=secno>7.2. </span> The <a
   1.584     href="#cssgroupingrule"><code>CSSGroupingRule</code></a> interface</h3>
   1.585  
   1.586    <p>The <dfn id=cssgroupingrule><code>CSSGroupingRule</code></dfn> interface
   1.587 @@ -1125,7 +1078,7 @@
   1.588      CSS rule list returned by <code>cssRules</code> at <var>index</var>.
   1.589    </dl>
   1.590  
   1.591 -  <h3 id=the-cssconditionrule-interface><span class=secno>8.3. </span> The <a
   1.592 +  <h3 id=the-cssconditionrule-interface><span class=secno>7.3. </span> The <a
   1.593     href="#cssconditionrule"><code>CSSConditionRule</code></a> interface</h3>
   1.594  
   1.595    <p>The <dfn id=cssconditionrule><code>CSSConditionRule</code></dfn>
   1.596 @@ -1166,7 +1119,7 @@
   1.597      </ol>
   1.598    </dl>
   1.599  
   1.600 -  <h3 id=the-cssmediarule-interface><span class=secno>8.4. </span> The <a
   1.601 +  <h3 id=the-cssmediarule-interface><span class=secno>7.4. </span> The <a
   1.602     href="#cssmediarule"><code>CSSMediaRule</code></a> interface</h3>
   1.603  
   1.604    <p>The <dfn id=cssmediarule><code>CSSMediaRule</code></dfn> interface
   1.605 @@ -1193,7 +1146,7 @@
   1.606       <code>media.mediaText</code> attribute on the rule.
   1.607    </dl>
   1.608  
   1.609 -  <h3 id=the-csssupportsrule-interface><span class=secno>8.5. </span> The <a
   1.610 +  <h3 id=the-csssupportsrule-interface><span class=secno>7.5. </span> The <a
   1.611     href="#csssupportsrule"><code>CSSSupportsRule</code></a> interface</h3>
   1.612  
   1.613    <p>The <dfn id=csssupportsrule><code>CSSSupportsRule</code></dfn> interface
   1.614 @@ -1201,17 +1154,17 @@
   1.615  
   1.616    <pre class=idl>interface CSSSupportsRule : CSSConditionRule {
   1.617  }</pre>
   1.618 +  <!--
   1.619 +<h3 id="the-cssdocumentrule-interface">
   1.620 +The <code>CSSDocumentRule</code> interface</h3>
   1.621  
   1.622 -  <h3 id=the-cssdocumentrule-interface><span class=secno>8.6. </span> The <a
   1.623 -   href="#cssdocumentrule"><code>CSSDocumentRule</code></a> interface</h3>
   1.624 +<p>The <dfn><code>CSSDocumentRule</code></dfn> interface represents a ''@document'' rule.</p>
   1.625  
   1.626 -  <p>The <dfn id=cssdocumentrule><code>CSSDocumentRule</code></dfn> interface
   1.627 -   represents a ‘<code class=css>@document</code>’ rule.
   1.628 +<pre class='idl'>interface CSSDocumentRule : CSSConditionRule {
   1.629 +}</pre>
   1.630 +-->
   1.631  
   1.632 -  <pre class=idl>interface CSSDocumentRule : CSSConditionRule {
   1.633 -}</pre>
   1.634 -
   1.635 -  <h3 id=the-css-interface><span class=secno>8.7. </span> The <a
   1.636 +  <h3 id=the-css-interface><span class=secno>7.6. </span> The <a
   1.637     href="#CSS-interface"><code>CSS</code></a> interface, and the <code
   1.638     title="">supports()</code> function</h3>
   1.639  
   1.640 @@ -1252,12 +1205,11 @@
   1.641     the <code>media</code> production defined in <a href="#CSS21"
   1.642     rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> with the <code>media</code>
   1.643     production defined in this one, and additionally inserting <code>|
   1.644 -   supports_rule | document_rule</code> alongside <code>ruleset | media |
   1.645 -   page</code>.
   1.646 +   supports_rule</code> alongside <code>ruleset | media | page</code>.
   1.647  
   1.648 -  <h2 id=conformance><span class=secno>9. </span>Conformance</h2>
   1.649 +  <h2 id=conformance><span class=secno>8. </span>Conformance</h2>
   1.650  
   1.651 -  <h3 id=base-modules><span class=secno>9.1. </span>Base Modules</h3>
   1.652 +  <h3 id=base-modules><span class=secno>8.1. </span>Base Modules</h3>
   1.653  
   1.654    <p>This specification defines conformance in terms of base modules, which
   1.655     are modules that this specification builds on top of. The base modules of
   1.656 @@ -1290,7 +1242,7 @@
   1.657     such syntax does not make a style sheet nonconformant and failure to treat
   1.658     such syntax as invalid does not make a processor nonconformant.
   1.659  
   1.660 -  <h3 id=conformance-classes><span class=secno>9.2. </span>Conformance
   1.661 +  <h3 id=conformance-classes><span class=secno>8.2. </span>Conformance
   1.662     Classes</h3>
   1.663  
   1.664    <p>Conformance to the CSS Conditional Rules Module is defined for three
   1.665 @@ -1335,7 +1287,7 @@
   1.666     it writes style sheets that conform to the module and (if it reads CSS) it
   1.667     is a conformant processor.
   1.668  
   1.669 -  <h3 id=partial><span class=secno>9.3. </span> Partial Implementations</h3>
   1.670 +  <h3 id=partial><span class=secno>8.3. </span> Partial Implementations</h3>
   1.671  
   1.672    <p>So that authors can exploit the forward-compatible parsing rules to
   1.673     assign fallback values, CSS renderers <strong>must</strong> treat as
   1.674 @@ -1349,7 +1301,7 @@
   1.675     unsupported values must be), CSS requires that the entire declaration be
   1.676     ignored.
   1.677  
   1.678 -  <h3 id=experimental><span class=secno>9.4. </span>Experimental
   1.679 +  <h3 id=experimental><span class=secno>8.4. </span>Experimental
   1.680     Implementations</h3>
   1.681  
   1.682    <p>To avoid clashes with future CSS features, the CSS specifications
   1.683 @@ -1363,7 +1315,7 @@
   1.684     should implement the non-prefixed syntax for any feature they consider to
   1.685     be correctly implemented according to spec.
   1.686  
   1.687 -  <h3 id=cr-exit-criteria><span class=secno>9.5. </span>CR Exit Criteria</h3>
   1.688 +  <h3 id=cr-exit-criteria><span class=secno>8.5. </span>CR Exit Criteria</h3>
   1.689  
   1.690    <p>For this specification to be advanced to Proposed Recommendation, there
   1.691     must be at least two independent, interoperable implementations of each
   1.692 @@ -1411,7 +1363,7 @@
   1.693    <p>The specification will remain Candidate Recommendation for at least six
   1.694     months.
   1.695  
   1.696 -  <h2 id=changes><span class=secno>10. </span> Changes</h2>
   1.697 +  <h2 id=changes><span class=secno>9. </span> Changes</h2>
   1.698  
   1.699    <p>The following (non-editorial) changes were made to this specification
   1.700     since the <a
   1.701 @@ -1476,16 +1428,6 @@
   1.702     </dd>
   1.703     <!---->
   1.704  
   1.705 -   <dt id=ECMA-262-5.1>[ECMA-262-5.1]
   1.706 -
   1.707 -   <dd><a
   1.708 -    href="http://www.ecma-international.org/publications/standards/Ecma-262.htm"><cite>ECMAScript
   1.709 -    Language Specification, Edition 5.1.</cite></a> June 2011. ISO/IEC
   1.710 -    16262:2011. URL: <a
   1.711 -    href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">http://www.ecma-international.org/publications/standards/Ecma-262.htm</a>
   1.712 -   </dd>
   1.713 -   <!---->
   1.714 -
   1.715     <dt id=MEDIAQ>[MEDIAQ]
   1.716  
   1.717     <dd>Florian Rivoal. <a
   1.718 @@ -1503,16 +1445,6 @@
   1.719      href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>
   1.720     </dd>
   1.721     <!---->
   1.722 -
   1.723 -   <dt id=URI>[URI]
   1.724 -
   1.725 -   <dd>T. Berners-Lee; R. Fielding; L. Masinter. <a
   1.726 -    href="http://www.ietf.org/rfc/rfc3986.txt"><cite>Uniform Resource
   1.727 -    Identifiers (URI): generic syntax.</cite></a> January 2005. Internet RFC
   1.728 -    3986. URL: <a
   1.729 -    href="http://www.ietf.org/rfc/rfc3986.txt">http://www.ietf.org/rfc/rfc3986.txt</a>
   1.730 -   </dd>
   1.731 -   <!---->
   1.732    </dl>
   1.733    <!--end-normative-->
   1.734  
   1.735 @@ -1543,25 +1475,6 @@
   1.736      href="http://www.w3.org/TR/2012/WD-css3-transitions-20120403/">http://www.w3.org/TR/2012/WD-css3-transitions-20120403/</a>
   1.737     </dd>
   1.738     <!---->
   1.739 -
   1.740 -   <dt id=HTML5>[HTML5]
   1.741 -
   1.742 -   <dd>Ian Hickson. <a
   1.743 -    href="http://www.w3.org/TR/2011/WD-html5-20110525/"><cite>HTML5.</cite></a>
   1.744 -    25 May 2011. W3C Working Draft. (Work in progress.) URL: <a
   1.745 -    href="http://www.w3.org/TR/2011/WD-html5-20110525/">http://www.w3.org/TR/2011/WD-html5-20110525/</a>
   1.746 -   </dd>
   1.747 -   <!---->
   1.748 -
   1.749 -   <dt id=SVG11>[SVG11]
   1.750 -
   1.751 -   <dd>Erik Dahlström; et al. <a
   1.752 -    href="http://www.w3.org/TR/2011/REC-SVG11-20110816/"><cite>Scalable
   1.753 -    Vector Graphics (SVG) 1.1 (Second Edition).</cite></a> 16 August 2011.
   1.754 -    W3C Recommendation. URL: <a
   1.755 -    href="http://www.w3.org/TR/2011/REC-SVG11-20110816/">http://www.w3.org/TR/2011/REC-SVG11-20110816/</a>
   1.756 -   </dd>
   1.757 -   <!---->
   1.758    </dl>
   1.759    <!--end-informative-->
   1.760  
   1.761 @@ -1575,44 +1488,29 @@
   1.762     <li>conformance
   1.763      <ul>
   1.764       <li>authoring tool, <a href="#conform-authoring-tool"
   1.765 -      title="conformance, authoring tool"><strong>9.2.</strong></a>
   1.766 +      title="conformance, authoring tool"><strong>8.2.</strong></a>
   1.767  
   1.768       <li>processor, <a href="#conform-processor"
   1.769 -      title="conformance, processor"><strong>9.2.</strong></a>
   1.770 +      title="conformance, processor"><strong>8.2.</strong></a>
   1.771  
   1.772       <li>style sheet, <a href="#conform-style-sheet"
   1.773 -      title="conformance, style sheet"><strong>9.2.</strong></a>
   1.774 +      title="conformance, style sheet"><strong>8.2.</strong></a>
   1.775      </ul>
   1.776  
   1.777     <li><a href="#CSS-interface"><code>CSS</code></a>, <a
   1.778 -    href="#CSS-interface" title=CSS><strong>8.7.</strong></a>
   1.779 +    href="#CSS-interface" title=CSS><strong>7.6.</strong></a>
   1.780  
   1.781     <li><a href="#cssconditionrule"><code>CSSConditionRule</code></a>, <a
   1.782 -    href="#cssconditionrule" title=CSSConditionRule><strong>8.3.</strong></a>
   1.783 -
   1.784 -   <li><a href="#cssdocumentrule"><code>CSSDocumentRule</code></a>, <a
   1.785 -    href="#cssdocumentrule" title=CSSDocumentRule><strong>8.6.</strong></a>
   1.786 +    href="#cssconditionrule" title=CSSConditionRule><strong>7.3.</strong></a>
   1.787  
   1.788     <li><a href="#cssgroupingrule"><code>CSSGroupingRule</code></a>, <a
   1.789 -    href="#cssgroupingrule" title=CSSGroupingRule><strong>8.2.</strong></a>
   1.790 +    href="#cssgroupingrule" title=CSSGroupingRule><strong>7.2.</strong></a>
   1.791  
   1.792     <li><a href="#cssmediarule"><code>CSSMediaRule</code></a>, <a
   1.793 -    href="#cssmediarule" title=CSSMediaRule><strong>8.4.</strong></a>
   1.794 +    href="#cssmediarule" title=CSSMediaRule><strong>7.4.</strong></a>
   1.795  
   1.796     <li><a href="#csssupportsrule"><code>CSSSupportsRule</code></a>, <a
   1.797 -    href="#csssupportsrule" title=CSSSupportsRule><strong>8.5.</strong></a>
   1.798 -
   1.799 -   <li>‘<code class=css>@document</code>’ rule, <a
   1.800 -    href="#atdocument-rule" title="'@document' rule"><strong>7.</strong></a>
   1.801 -
   1.802 -   <li>domain(), <a href="#url-domain"
   1.803 -    title="domain()"><strong>7.</strong></a>
   1.804 -
   1.805 -   <li>domain matching function, <a href="#domain-matching-function"
   1.806 -    title="domain matching function"><strong>7.</strong></a>
   1.807 -
   1.808 -   <li>exact url matching function, <a href="#exact-url-matching-function"
   1.809 -    title="exact url matching function"><strong>7.</strong></a>
   1.810 +    href="#csssupportsrule" title=CSSSupportsRule><strong>7.5.</strong></a>
   1.811  
   1.812     <li>group rule body, <a href="#group-rule-body"
   1.813      title="group rule body"><strong>3.</strong></a>
   1.814 @@ -1620,9 +1518,6 @@
   1.815     <li>‘<code class=css>@media</code>’ rule, <a href="#atmedia-rule"
   1.816      title="'@media' rule"><strong>5.</strong></a>
   1.817  
   1.818 -   <li>regexp(), <a href="#url-regexp"
   1.819 -    title="regexp()"><strong>7.</strong></a>
   1.820 -
   1.821     <li>support, <a href="#dfn-support"
   1.822      title=support><strong>6.1.</strong></a>
   1.823  
   1.824 @@ -1650,34 +1545,6 @@
   1.825  
   1.826     <li>supports_rule, <a href="#supports_rule"
   1.827      title="supports_rule"><strong>6.</strong></a>
   1.828 -
   1.829 -   <li>url(), <a href="#url-exact" title="url()"><strong>7.</strong></a>
   1.830 -
   1.831 -   <li>URL matching functions, <a href="#url-matching-functions"
   1.832 -    title="URL matching functions"><strong>7.</strong></a>
   1.833 -    <ul>
   1.834 -     <li>domain, <a href="#url-domain"
   1.835 -      title="URL matching functions, domain"><strong>7.</strong></a>
   1.836 -
   1.837 -     <li>exact, <a href="#url-exact"
   1.838 -      title="URL matching functions, exact"><strong>7.</strong></a>
   1.839 -
   1.840 -     <li>prefix, <a href="#url-prefix"
   1.841 -      title="URL matching functions, prefix"><strong>7.</strong></a>
   1.842 -
   1.843 -     <li>regular expression, <a href="#url-regexp"
   1.844 -      title="URL matching functions, regular expression"><strong>7.</strong></a>
   1.845 -    </ul>
   1.846 -
   1.847 -   <li>URL of the document being styled, <a
   1.848 -    href="#url-of-the-document-being-styled"
   1.849 -    title="URL of the document being styled"><strong>7.</strong></a>
   1.850 -
   1.851 -   <li>url-prefix(), <a href="#url-prefix"
   1.852 -    title="url-prefix()"><strong>7.</strong></a>
   1.853 -
   1.854 -   <li>url prefix matching function, <a href="#url-prefix-matching-function"
   1.855 -    title="url prefix matching function"><strong>7.</strong></a>
   1.856    </ul>
   1.857    <!--end-index-->
   1.858  </html>
     2.1 --- a/css3-conditional/Overview.src.html	Tue Oct 09 17:30:03 2012 -0700
     2.2 +++ b/css3-conditional/Overview.src.html	Wed Oct 10 16:53:12 2012 -0700
     2.3 @@ -64,8 +64,8 @@
     2.4    which builds on CSS level&nbsp;1 [[CSS1]].
     2.5    The main extensions compared to level&nbsp;2 are
     2.6    allowing nesting of certain at-rules inside '@media',
     2.7 -  the addition of the '@supports' and '@document'
     2.8 -  rules for conditional processing.
     2.9 +  and the addition of the '@supports'
    2.10 +  rule for conditional processing.
    2.11  
    2.12  <h2 class="no-num no-toc" id="status">Status of this document</h2>
    2.13  
    2.14 @@ -91,12 +91,16 @@
    2.15    features in this specification to Proposed Recommendation.</li>
    2.16  
    2.17    <li>The support for functions inside of ''@supports'' is at risk.</li>
    2.18 +</ul>
    2.19  
    2.20 -  <li>The '@document' rule is at risk; if interoperable
    2.21 -  implementations are not found, it may be removed to advance the other
    2.22 -  features in this specification to Proposed Recommendation.</li>
    2.23 +<!--
    2.24  
    2.25 -</ul>
    2.26 +  Things to go in level 4:
    2.27 +
    2.28 +  * Create some way to put these new conditional things on an @import.
    2.29 +  * The @document rule (commented out, down below).
    2.30 +
    2.31 +-->
    2.32  
    2.33  <h2 class="no-num no-toc" id="contents">Table of contents</h2>
    2.34  
    2.35 @@ -123,8 +127,8 @@
    2.36    to combine CSS features involving @-rules with media specific style
    2.37    sheets within a single style sheet.</p>
    2.38  
    2.39 -  <p>This specification also defines additional types of conditional
    2.40 -  group rules, '@supports' and '@document', to
    2.41 +  <p>This specification also defines an additional type of conditional
    2.42 +  group rule, '@supports', to
    2.43    address author and user requirements.</p>
    2.44  
    2.45    <p>The '@supports' rule allows CSS to be conditioned on
    2.46 @@ -135,11 +139,6 @@
    2.47    mechanisms, and for other cases where a set of related styles needs to
    2.48    be conditioned on property support.</p>
    2.49  
    2.50 -  <p>The '@document' rule allows CSS to be conditioned on the
    2.51 -  page to which the style sheet is being applied.  This allows users to
    2.52 -  apply styles to a particular page or group of pages, which greatly
    2.53 -  increases the power of user style sheets.</p>
    2.54 -
    2.55  <h3 id="placement">Module Interactions</h3>
    2.56  
    2.57    <p>This module replaces and extends the '@media' rule
    2.58 @@ -193,13 +192,7 @@
    2.59  }</pre>
    2.60  <p>causes a particular CSS rule (making elements with ID "navigation" be
    2.61  display:none) apply only when the style sheet is used for a print
    2.62 -medium.  Likewise, this CSS rule:</p>
    2.63 -<pre>@document url("http://www.example.com/") {
    2.64 -  #example1 { display: none }
    2.65 -}</pre>
    2.66 -<p>does the same type of conditional application, but using a different
    2.67 -condition:  whether the style sheet is being applied to the page
    2.68 -<code>http://www.example.com/</code>.</p>
    2.69 +medium.
    2.70  </div>
    2.71  
    2.72  <p>Each conditional group rule has a condition, which at any time
    2.73 @@ -240,11 +233,6 @@
    2.74  
    2.75  <h2 id="contents-of">Contents of conditional group rules</h2>
    2.76  
    2.77 -<p class="issue">There is also likely demand for using these
    2.78 -conditions with '@import'.  We should see if we can
    2.79 -come up with sensible syntax for that, perhaps functional notation
    2.80 -at the end of the '@import' rule.</p>
    2.81 -
    2.82  <p>The syntax of each conditional group rule consists of some syntax
    2.83  specific to the type of rule followed by a <dfn>group rule body</dfn>,
    2.84  which is a block (pair of braces) containing a sequence of rules.</p>
    2.85 @@ -261,7 +249,7 @@
    2.86  
    2.87  <pre>nested_statement
    2.88    : ruleset | media | page | font_face_rule | keyframes_rule |
    2.89 -    supports_rule | document_rule
    2.90 +    supports_rule
    2.91    ;
    2.92  
    2.93  group_rule_body
    2.94 @@ -271,8 +259,8 @@
    2.95  in which all the productions are defined in that grammar with the
    2.96  exception of <code>font_face_rule</code> <span class="issue">not</span>
    2.97  defined in [[!CSS3-FONTS]], <code>keyframes_rule</code> defined in
    2.98 -[[!CSS3-ANIMATIONS]], and <code>media</code>, <code>supports_rule</code>
    2.99 -and <code>document_rule</code> defined in this specification.</p>
   2.100 +[[!CSS3-ANIMATIONS]], and <code>media</code> and <code>supports_rule</code>
   2.101 +defined in this specification.</p>
   2.102  
   2.103  <p>In general, future CSS specifications that add new @-rules that are
   2.104  not forbidden to occur after some other types of rules should modify
   2.105 @@ -612,6 +600,7 @@
   2.106  in order to consider the declaration supported, either inside a ruleset
   2.107  or in the declaration condition of an ''@supports'' rule.</p>
   2.108  
   2.109 +<!--
   2.110  <h2 id="at-document">Document queries: the '@document' rule</h2>
   2.111  
   2.112  <p>The <dfn>'@document' rule</dfn> is a conditional group
   2.113 @@ -807,6 +796,8 @@
   2.114  url_match_fn
   2.115    : (URI | FUNCTION S* STRING S* ')' ) S*
   2.116    ;</pre>
   2.117 +-->
   2.118 +
   2.119  
   2.120  <h2 id="apis">APIs</h2>
   2.121  
   2.122 @@ -817,7 +808,9 @@
   2.123  
   2.124  <pre class='idl'>partial interface CSSRule {
   2.125      const unsigned short SUPPORTS_RULE = 12;
   2.126 +    <!--
   2.127      const unsigned short DOCUMENT_RULE = 13;
   2.128 +    -->
   2.129  }</pre>
   2.130  
   2.131  
   2.132 @@ -921,7 +914,7 @@
   2.133  <pre class='idl'>interface CSSSupportsRule : CSSConditionRule {
   2.134  }</pre>
   2.135  
   2.136 -
   2.137 +<!--
   2.138  <h3 id="the-cssdocumentrule-interface">
   2.139  The <code>CSSDocumentRule</code> interface</h3>
   2.140  
   2.141 @@ -929,6 +922,7 @@
   2.142  
   2.143  <pre class='idl'>interface CSSDocumentRule : CSSConditionRule {
   2.144  }</pre>
   2.145 +-->
   2.146  
   2.147  
   2.148  <h3 id='the-css-interface'>
   2.149 @@ -968,7 +962,7 @@
   2.150  href="http://www.w3.org/TR/CSS21/grammar.html">Appendix G</a> grammar of
   2.151  [[!CSS21]] by replacing the <code>media</code> production defined in
   2.152  [[!CSS21]] with the <code>media</code> production defined in this one,
   2.153 -and additionally inserting <code>| supports_rule | document_rule</code>
   2.154 +and additionally inserting <code>| supports_rule</code>
   2.155  alongside <code>ruleset | media | page</code>.</p>
   2.156  
   2.157  

mercurial