csswg/selectors4 Overview.html,1.2,1.3 Overview.src.html,1.2,1.3

Update of /sources/public/csswg/selectors4
In directory hutz:/tmp/cvs-serv3703

Modified Files:
	Overview.html Overview.src.html 
Log Message:
Reorder a couple sections, add :any() as :matches()

Index: Overview.html
===================================================================
RCS file: /sources/public/csswg/selectors4/Overview.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Overview.html	23 Mar 2011 21:38:24 -0000	1.2
+++ Overview.html	23 Mar 2011 22:08:09 -0000	1.3
@@ -138,17 +138,27 @@
    <li><a href="#structure"><span class=secno>3. </span> Selector Syntax and
     Structure</a>
     <ul class=toc>
-     <li><a href="#namespaces"><span class=secno>3.1. </span> Namespaces</a>
-
-     <li><a href="#case-sensitive"><span class=secno>3.2. </span> Characters
+     <li><a href="#case-sensitive"><span class=secno>3.1. </span> Characters
       and case sensitivity</a>
 
+     <li><a href="#namespaces"><span class=secno>3.2. </span> Namespaces</a>
+
      <li><a href="#invalid"><span class=secno>3.3. </span> Invalid Selectors
       and Error Handling</a>
     </ul>
 
-   <li><a href="#grouping"><span class=secno>4. </span> Groups of
-    selectors</a>
+   <li><a href="#logical-combination"><span class=secno>4. </span> Logical
+    Combinations</a>
+    <ul class=toc>
+     <li><a href="#grouping"><span class=secno>4.1. </span> Groups of
+      selectors </a>
+
+     <li><a href="#matches"><span class=secno>4.2. </span> The Matches-Any
+      Psuedo-class: &lsquo;<code class=css>:matches()</code>&rsquo;</a>
+
+     <li><a href="#negation"><span class=secno>4.3. </span> The Negation
+      Pseudo-class: &lsquo;<code class=css>:not()</code>&rsquo;</a>
+    </ul>
 
    <li><a href="#elemental-selectors"><span class=secno>5. </span> Elemental
     selectors</a>
@@ -261,9 +271,6 @@
        <li><a href="#empty-pseudo"><span class=secno>7.4.12. </span> :empty
         pseudo-class</a>
       </ul>
-
-     <li><a href="#negation"><span class=secno>7.5. </span> The negation
-      pseudo-class</a>
     </ul>
 
    <li><a href="#combinators"><span class=secno>8. </span> Combinators</a>
@@ -815,18 +822,7 @@
   <p>An empty selector, containing no compound selector, is an <a
    href="#invalid">invalid selector</a>.
 
-  <h3 id=namespaces><span class=secno>3.1. </span> Namespaces</h3>
-
-  <p>Certain selectors support namespace prefixes. The mechanism by which
-   namespace prefixes are <dfn id=declared>declared</dfn> should be specified
-   by the language that uses Selectors. If the language does not specify a
-   namespace prefix declaration mechanism, then no prefixes are declared. In
-   CSS, namespace prefixes are declared with the <a
-   href="http://www.w3.org/TR/css3-namespace/#declaration"><code>@namespace</code></a>
-   rule. <a href="#CSS3NAMESPACE"
-   rel=biblioentry>[CSS3NAMESPACE]<!--{{!CSS3NAMESPACE}}--></a>
-
-  <h3 id=case-sensitive><span class=secno>3.2. </span> Characters and case
+  <h3 id=case-sensitive><span class=secno>3.1. </span> Characters and case
    sensitivity</h3>
 
   <p>All Selectors syntax is case-insensitive within the ASCII range (i.e.
@@ -843,6 +839,17 @@
    rules</a> as CSS. <a href="#CSS21"
    rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>.
 
+  <h3 id=namespaces><span class=secno>3.2. </span> Namespaces</h3>
+
+  <p>Certain selectors support namespace prefixes. The mechanism by which
+   namespace prefixes are <dfn id=declared>declared</dfn> should be specified
+   by the language that uses Selectors. If the language does not specify a
+   namespace prefix declaration mechanism, then no prefixes are declared. In
+   CSS, namespace prefixes are declared with the <a
+   href="http://www.w3.org/TR/css3-namespace/#declaration"><code>@namespace</code></a>
+   rule. <a href="#CSS3NAMESPACE"
+   rel=biblioentry>[CSS3NAMESPACE]<!--{{!CSS3NAMESPACE}}--></a>
+
   <h3 id=invalid><span class=secno>3.3. </span> Invalid Selectors and Error
    Handling</h3>
 
@@ -852,8 +859,8 @@
   <p>User agents must observe the rules for handling parsing errors:
 
   <ul>
-   <li>a simple selector containing an <a href="#nsdecl">undeclared namespace
-    prefix</a> is invalid
+   <li>a simple selector containing an <a href="#namespaces">undeclared
+    namespace prefix</a> is invalid
 
    <li>a selector containing an invalid simple selector, an invalid
     combinator or an invalid token is invalid.
@@ -861,7 +868,15 @@
    <li>a group of selectors containing an invalid selector is invalid.
   </ul>
 
-  <h2 id=grouping><span class=secno>4. </span> Groups of selectors</h2>
+  <p class=issue>It's been <a
+   href="http://lists.w3.org/Archives/Public/www-style/2010Nov/0203.html">requested</a>
+   that the last rule be dropped in favor of Media Queries-style
+   error-handling.
+
+  <h2 id=logical-combination><span class=secno>4. </span> Logical
+   Combinations</h2>
+
+  <h3 id=grouping><span class=secno>4.1. </span> Groups of selectors</h3>
 
   <p>A comma-separated list of selectors represents the union of all elements
    selected by each of the individual selectors in the list. (A comma is
@@ -907,6 +922,78 @@
     grouped, only the rule for <code>h2..foo</code> is dropped.)</p>
   </div>
 
+  <h3 id=matches><span class=secno>4.2. </span> The Matches-Any Psuedo-class:
+   &lsquo;<code class=css>:matches()</code>&rsquo;</h3>
+
+  <p>The <code>:matches(<var>X</var>)</code> pseudo-class is a functional
+   notation taking a comma-separated list of <a href="#compound">compound
+   selectors</a> as an argument. It represents an element that is represented
+   by any of its arguments.
+
+  <p><code>:matches()</code> may not be nested;
+   <code>:matches(:matches(...))</code> is invalid. Also pseudo-elements are
+   not valid within <code>:matches()</code>.
+
+  <p>Default namespace declarations do not affect the argument of the
+   matches-any pseudo-class unless the argument is a universal selector or a
+   type selector. (See below for examples.)
+
+  <h3 id=negation><span class=secno>4.3. </span> The Negation Pseudo-class:
+   &lsquo;<code class=css>:not()</code>&rsquo;</h3>
+
+  <p>The negation pseudo-class, <code>:not(<var>X</var>)</code>, is a
+   functional notation taking a comma-separated list of <a
+   href="#compound">compound selectors</a> as an argument. It represents an
+   element that is not represented by any of its arguments.
+
+  <p>Negations may not be nested; <code>:not(:not(...))</code> is invalid.
+   Also pseudo-elements are not valid within <code>:not()</code>.
+
+  <div class=example>
+   <p>Examples:</p>
+
+   <p>The following selector matches all <code>button</code> elements in an
+    HTML document that are not disabled.</p>
+
+   <pre>button:not([DISABLED])</pre>
+
+   <p>The following selector represents all but <code>FOO</code> elements.</p>
+
+   <pre>*:not(FOO)</pre>
+
+   <p>The following group of selectors represents all HTML elements except
+    links.</p>
+
+   <pre>html|*:not(:link):not(:visited)</pre>
+  </div>
+
+  <p>Default namespace declarations do not affect the argument of the
+   negation pseudo-class unless the argument is a universal selector or a
+   type selector.
+
+  <div class=example>
+   <p>Examples:</p>
+
+   <p>Assuming that the default namespace is bound to "http://example.com/",
+    the following selector represents all elements that are not in that
+    namespace:</p>
+
+   <pre>*|*:not(*)</pre>
+
+   <p>The following selector matches any element that is not being hovered,
+    regardless of its namespace. In particular, it is not limited to only
+    matching elements in the default namespace that are not being hovered,
+    and elements not in the default namespace don't match the rule when they
+    <em>are</em> being hovered.</p>
+
+   <pre>*|*:not(:hover)</pre>
+  </div>
+
+  <p class=note><strong>Note</strong>: the :not() pseudo allows useless
+   selectors to be written. For instance <code>:not(*|*)</code>, which
+   represents no element at all, or <code>foo:not(bar)</code>, which is
+   equivalent to <code>foo</code> but with a higher specificity.
+
   <h2 id=elemental-selectors><span class=secno>5. </span> Elemental selectors</h2>
 
   <h3 id=type-selectors><span class=secno>5.1. </span> Type selector</h3>
@@ -2134,62 +2221,6 @@
    <pre>&lt;foo&gt;this is not &lt;bar&gt;:empty&lt;/bar&gt;&lt;/foo&gt;</pre>
   </div>
 
-  <h3 id=negation><span class=secno>7.5. </span> The negation pseudo-class</h3>
-
-  <p>The negation pseudo-class, <code>:not(<var>X</var>)</code>, is a
-   functional notation taking a <a href="#simple-selectors-dfn">simple
-   selector</a> (excluding the negation pseudo-class itself) as an argument.
-   It represents an element that is not represented by its argument.
-
-  <p>Negations may not be nested; <code>:not(:not(...))</code> is invalid.
-   Note also that since pseudo-elements are not simple selectors, they are
-   not a valid argument to <code>:not()</code>.
-
-  <div class=example>
-   <p>Examples:</p>
-
-   <p>The following selector matches all <code>button</code> elements in an
-    HTML document that are not disabled.</p>
-
-   <pre>button:not([DISABLED])</pre>
-
-   <p>The following selector represents all but <code>FOO</code> elements.</p>
-
-   <pre>*:not(FOO)</pre>
-
-   <p>The following group of selectors represents all HTML elements except
-    links.</p>
-
-   <pre>html|*:not(:link):not(:visited)</pre>
-  </div>
-
-  <p>Default namespace declarations do not affect the argument of the
-   negation pseudo-class unless the argument is a universal selector or a
-   type selector.
-
-  <div class=example>
-   <p>Examples:</p>
-
-   <p>Assuming that the default namespace is bound to "http://example.com/",
-    the following selector represents all elements that are not in that
-    namespace:</p>
-
-   <pre>*|*:not(*)</pre>
-
-   <p>The following selector matches any element that is not being hovered,
-    regardless of its namespace. In particular, it is not limited to only
-    matching elements in the default namespace that are not being hovered,
-    and elements not in the default namespace don't match the rule when they
-    <em>are</em> being hovered.</p>
-
-   <pre>*|*:not(:hover)</pre>
-  </div>
-
-  <p class=note><strong>Note</strong>: the :not() pseudo allows useless
-   selectors to be written. For instance <code>:not(*|*)</code>, which
-   represents no element at all, or <code>foo:not(bar)</code>, which is
-   equivalent to <code>foo</code> but with a higher specificity.
-
   <h2 id=combinators><span class=secno>8. </span> Combinators</h2>
 
   <h3 id=descendant-combinators><span class=secno>8.1. </span> Descendant

Index: Overview.src.html
===================================================================
RCS file: /sources/public/csswg/selectors4/Overview.src.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- Overview.src.html	23 Mar 2011 21:38:24 -0000	1.2
+++ Overview.src.html	23 Mar 2011 22:08:10 -0000	1.3
@@ -457,17 +457,6 @@
   <p>An empty selector, containing no compound selector, is an
   <a href="#invalid">invalid selector</a>.</p>
 
-<h3 id="namespaces">
-Namespaces</h3>
-
-  <p>Certain selectors support namespace prefixes. The
-  mechanism by which namespace prefixes are <dfn>declared</dfn> should
-  be specified by the language that uses Selectors. If the language does
-  not specify a namespace prefix declaration mechanism, then no prefixes
-  are declared. In CSS, namespace prefixes are declared with the
-  <a href="http://www.w3.org/TR/css3-namespace/#declaration"><code>@namespace</code></a>
-  rule. [[!CSS3NAMESPACE]]</p>
-
 <h3 id=case-sensitive>
 Characters and case sensitivity</h3>
 
@@ -484,6 +473,17 @@
   to the same <a href="http://www.w3.org/TR/CSS21/syndata.html#characters">escaping
   rules</a> as CSS. [[!CSS21]].</p>
 
+<h3 id="namespaces">
+Namespaces</h3>
+
+  <p>Certain selectors support namespace prefixes. The
+  mechanism by which namespace prefixes are <dfn>declared</dfn> should
+  be specified by the language that uses Selectors. If the language does
+  not specify a namespace prefix declaration mechanism, then no prefixes
+  are declared. In CSS, namespace prefixes are declared with the
+  <a href="http://www.w3.org/TR/css3-namespace/#declaration"><code>@namespace</code></a>
+  rule. [[!CSS3NAMESPACE]]</p>
+
 <h3 id=invalid>
 Invalid Selectors and Error Handling</h3>
 
@@ -492,13 +492,19 @@
 
   <p>User agents must observe the rules for handling parsing errors:
   <ul>
-    <li>a simple selector containing an <a href="#nsdecl">undeclared namespace prefix</a> is invalid</li>
+    <li>a simple selector containing an <a href="#namespaces">undeclared namespace prefix</a> is invalid</li>
     <li>a selector containing an invalid simple selector, an invalid combinator
       or an invalid token is invalid. </li>
     <li>a group of selectors containing an invalid selector is invalid.</li>
   </ul>
 
-<h2 id=grouping>
+  <p class="issue">It's been <a href="http://lists.w3.org/Archives/Public/www-style/2010Nov/0203.html">requested</a>
+    that the last rule be dropped in favor of Media Queries-style error-handling.</p>
+
+<h2 id=logical-combination>
+Logical Combinations</h2>
+
+<h3 id=grouping>
 Groups of selectors</h2>
 
   <p>A comma-separated list of selectors represents the union of all
@@ -538,6 +544,70 @@
   is dropped.)</p>
   </div>
 
+<h3 id=matches>
+The Matches-Any Psuedo-class: '':matches()''</h3>
+
+  <p>The <code>:matches(<var>X</var>)</code> pseudo-class is a functional
+  notation taking a comma-separated list of <a href="#compound">compound
+  selectors</a> as an argument. It represents an element that is represented
+  by any of its arguments.
+
+  <p><code>:matches()</code> may not be nested; <code>:matches(:matches(...))</code>
+  is invalid.
+  Also pseudo-elements are not valid within <code>:matches()</code>.</p>
+
+  <p>Default namespace declarations do not affect the argument of the
+  matches-any pseudo-class unless the argument is a universal selector or a
+  type selector. (See below for examples.)</p>
+
+<h3 id=negation>
+The Negation Pseudo-class: '':not()''</h3>
+
+  <p>The negation pseudo-class, <code>:not(<var>X</var>)</code>, is a
+  functional notation taking a comma-separated list of <a href="#compound">compound
+  selectors</a> as an argument. It represents an element that is not
+  represented by any of its arguments.
+
+  <p>Negations may not be nested; <code>:not(:not(...))</code> is invalid.
+  Also pseudo-elements are not valid within <code>:not()</code>.</p>
+
+  <div class="example">
+    <p>Examples:</p>
+    <p>The following selector matches all <code>button</code>
+    elements in an HTML document that are not disabled.</p>
+    <pre>button:not([DISABLED])</pre>
+    <p>The following selector represents all but <code>FOO</code>
+    elements.</p>
+    <pre>*:not(FOO)</pre>
+    <p>The following group of selectors represents all HTML elements
+    except links.</p>
+    <pre>html|*:not(:link):not(:visited)</pre>
+  </div>
+
+  <p>Default namespace declarations do not affect the argument of the
+  negation pseudo-class unless the argument is a universal selector or a
+  type selector.</p>
+
+  <div class="example">
+    <p>Examples:</p>
+    <p>Assuming that the default namespace is bound to
+    "http://example.com/", the following selector represents all
+    elements that are not in that namespace:</p>
+    <pre>*|*:not(*)</pre>
+    <p>The following selector matches any element that is not being
+    hovered, regardless of its namespace. In particular, it is not
+    limited to only matching elements in the default namespace that are
+    not being hovered, and elements not in the default namespace don't
+    match the rule when they <em>are</em> being hovered.</p>
+    <pre>*|*:not(:hover)</pre>
+  </div>
+
+  <p class="note"><strong>Note</strong>: the :not() pseudo allows
+  useless selectors to be written.  For instance <code>:not(*|*)</code>,
+  which represents no element at all, or <code>foo:not(bar)</code>,
+  which is equivalent to <code>foo</code> but with a higher
+  specificity.</p>
+
 <h2 id=elemental-selectors>
 Elemental selectors</h2>
 
@@ -1695,55 +1765,6 @@
    <pre>&lt;foo&gt;this is not &lt;bar&gt;:empty&lt;/bar&gt;&lt;/foo&gt;</pre>
   </div>
 
-<h3 id=negation>
-The negation pseudo-class</h3>
-
-  <p>The negation pseudo-class, <code>:not(<var>X</var>)</code>, is a
-  functional notation taking a <a href="#simple-selectors-dfn">simple
-  selector</a> (excluding the negation pseudo-class itself) as an argument.
-  It represents an element that is not represented by its argument.
-
-  <p>Negations may not be nested; <code>:not(:not(...))</code> is invalid.
-  Note also that since pseudo-elements are not simple selectors, they are
-  not a valid argument to <code>:not()</code>.</p>
-
-  <div class="example">
-    <p>Examples:</p>
-    <p>The following selector matches all <code>button</code>
-    elements in an HTML document that are not disabled.</p>
-    <pre>button:not([DISABLED])</pre>
-    <p>The following selector represents all but <code>FOO</code>
-    elements.</p>
-    <pre>*:not(FOO)</pre>
-    <p>The following group of selectors represents all HTML elements
-    except links.</p>
-    <pre>html|*:not(:link):not(:visited)</pre>
-  </div>
-
-  <p>Default namespace declarations do not affect the argument of the
-  negation pseudo-class unless the argument is a universal selector or a
-  type selector.</p>
-
-  <div class="example">
-    <p>Examples:</p>
-    <p>Assuming that the default namespace is bound to
-    "http://example.com/", the following selector represents all
-    elements that are not in that namespace:</p>
-    <pre>*|*:not(*)</pre>
-    <p>The following selector matches any element that is not being
-    hovered, regardless of its namespace. In particular, it is not
-    limited to only matching elements in the default namespace that are
-    not being hovered, and elements not in the default namespace don't
-    match the rule when they <em>are</em> being hovered.</p>
-    <pre>*|*:not(:hover)</pre>
-  </div>
-
-  <p class="note"><strong>Note</strong>: the :not() pseudo allows
-  useless selectors to be written.  For instance <code>:not(*|*)</code>,
-  which represents no element at all, or <code>foo:not(bar)</code>,
-  which is equivalent to <code>foo</code> but with a higher
-  specificity.</p>
-
 <h2 id=combinators>
 Combinators</h2>
 

Received on Wednesday, 23 March 2011 22:08:14 UTC