- From: Elika Etemad via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 23 Mar 2011 22:47:57 +0000
- To: public-css-commits@w3.org
Update of /sources/public/csswg/selectors4 In directory hutz:/tmp/cvs-serv9999 Modified Files: Overview.html Overview.src.html Log Message: More minor reshuffling. Add subject indicator per Daniel's old old old proposal. Index: Overview.html =================================================================== RCS file: /sources/public/csswg/selectors4/Overview.html,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Overview.html 23 Mar 2011 22:08:09 -0000 1.3 +++ Overview.html 23 Mar 2011 22:47:55 -0000 1.4 @@ -37,9 +37,6 @@ <dt><a name=editors-list></a>Editors: - <dd class=vcard><a class="url fn" href="http://www.tantek.com/" - lang=tr>Tantek Çelik</a> (Invited Expert) - <dd class=vcard><a class="url fn" href="http://fantasai.inkedblade.net/contact">Elika J. Etemad</a> (Invited Expert) @@ -135,15 +132,20 @@ <li><a href="#overview"><span class=secno>2. </span> Selectors Overview</a> - <li><a href="#structure"><span class=secno>3. </span> Selector Syntax and - Structure</a> + <li><a href="#syntax"><span class=secno>3. </span> Selector Syntax</a> <ul class=toc> - <li><a href="#case-sensitive"><span class=secno>3.1. </span> Characters + <li><a href="#structure"><span class=secno>3.1. </span> Structure and + Terminology </a> + + <li><a href="#subject"><span class=secno>3.2. </span> Subject of a + Selector </a> + + <li><a href="#case-sensitive"><span class=secno>3.3. </span> Characters and case sensitivity</a> - <li><a href="#namespaces"><span class=secno>3.2. </span> Namespaces</a> + <li><a href="#namespaces"><span class=secno>3.4. </span> Namespaces</a> - <li><a href="#invalid"><span class=secno>3.3. </span> Invalid Selectors + <li><a href="#invalid"><span class=secno>3.5. </span> Invalid Selectors and Error Handling</a> </ul> @@ -780,49 +782,76 @@ <p>The meaning of each selector is derived from the table above by prepending "matches" to the contents of each cell in the "Meaning" column. - <h2 id=structure><span class=secno>3. </span> Selector Syntax and Structure</h2> + <h2 id=syntax><span class=secno>3. </span> Selector Syntax</h2> + + <h3 id=structure><span class=secno>3.1. </span> Structure and Terminology</h3> <p>A <dfn id=selector>selector</dfn> is a chain of one or more <a href="#compound">compound selectors</a> separated by <a href="#combinators">combinators</a>. <p>A <dfn id=compound-selector><a name=compound>compound selector</a></dfn> - is a chain of <a href="#simple-selectors-dfn">simple selectors</a> that - are not separated by a <a href="#combinators">combinator</a>. It always - begins with a <a href="#type-selectors">type selector</a> or a <a - href="#universal-selector">universal selector</a>. No other type selector - or universal selector is allowed in the sequence. + is a chain of <a href="#simple">simple selectors</a> that are not + separated by a <a href="#combinators">combinator</a>. It always begins + with a <a href="#type-selectors">type selector</a> or a (possibly implied) + <a href="#universal-selector">universal selector</a>. No other type + selector or universal selector is allowed in the sequence. <p>A <dfn id=simple-selector><a name=simple-selectors-dfn></a><a - href="#simple-selectors">simple selector</a></dfn> is either a <a + href="#simple">simple selector</a></dfn> is either a <a href="#type-selectors">type selector</a>, <a href="#universal-selector">universal selector</a>, <a href="#attribute-selectors">attribute selector</a>, <a href="#class-html">class selector</a>, <a href="#id-selectors">ID selector</a>, or <a href="#pseudo-classes">pseudo-class</a>. - <p><dfn id=combinators0>Combinators</dfn> are: whitespace, + <p><dfn id=combinators0>Combinators</dfn> are punctuation that represent a + particular kind of relationship between the compound selectors on either + side. Combinators in Selectors level 4 include: whitespace, "greater-than sign" (U+003E, <code>></code>), "plus sign" (U+002B, <code>+</code>) and "tilde" (U+007E, - <code>~</code>). White space may appear between a combinator and the - simple selectors around it. <a name=whitespace></a>Only the characters - "space" (U+0020), "tab" (U+0009), "line feed" (U+000A), "carriage return" - (U+000D), and "form feed" (U+000C) can occur in whitespace. Other - space-like characters, such as "em-space" (U+2003) and "ideographic space" - (U+3000), are never part of whitespace. - - <p>The elements of a document tree that are represented by a selector are - the <dfn id=subjects-of-the-selector><a name=subject></a>subjects of the - selector</dfn>. A selector consisting of a single compound selector - represents any element satisfying its requirements. Prepending another - compound selector and a combinator to a sequence imposes additional - matching constraints, so the subjects of a selector are always a subset of - the elements represented by the last compound selector. + <code>~</code>). <a href="#whitespace">White space</a> may appear between + a combinator and the simple selectors around it. <p>An empty selector, containing no compound selector, is an <a href="#invalid">invalid selector</a>. - <h3 id=case-sensitive><span class=secno>3.1. </span> Characters and case + <h3 id=subject><span class=secno>3.2. </span> Subject of a Selector</h3> + + <p>The elements of a document tree that are represented by a selector are + the <dfn id=subjects>subjects</dfn> of the selector. + + <p>By default, the subjects of a selector are the elements represented by + the last compound selector in the selector. Thus a selector consisting of + a single compound selector represents any element satisfying its + requirements. Prepending another compound selector and a combinator to a + sequence imposes additional matching constraints, so the subjects of the + selector are always a subset of the elements represented by the last + compound selector. + + <p>The subject of the selector can be explicitly identified by prepending + an exclamation mark (!) to one of the compound selectors in a selector. + Although the element structure that the selector represents is the same + with or without the exclamation mark, indicating the subject in this way + can change which compound selector represents the subject in that + structure. + + <div class=example> + <p>For example, the following selector represents a list item + <code>LI</code> unique child of an ordered list <code>OL</code>: + + <pre>OL > LI:only-child</pre> + + <p>However the following one represents an ordered list <code>OL</code> + having a unique child, that child being a <code>LI</code>: + + <pre>!OL > LI:only-child</pre> + + <p>The structures represented by these two selectors are the same, but the + subjects of the selectors are not. + </div> + + <h3 id=case-sensitive><span class=secno>3.3. </span> Characters and case sensitivity</h3> <p>All Selectors syntax is case-insensitive within the ASCII range (i.e. @@ -834,12 +863,18 @@ namespace prefixes is defined in <a href="#CSS3NAMESPACE" rel=biblioentry>[CSS3NAMESPACE]<!--{{!CSS3NAMESPACE}}--></a>. + <p><dfn id=whitespace>White space</dfn> in Selectors consists of the + characters SPACE (U+0020), TAB (U+0009), LINE FEED (U+000A), CARRIAGE + RETURN (U+000D), and FORM FEED (U+000C) can occur in whitespace. Other + space-like characters, such as EM SPACE (U+2003) and IDEOGRAPHIC SPACE + (U+3000), are never part of white space. + <p>Characters in Selectors can be escaped with a backslash according to the same <a href="http://www.w3.org/TR/CSS21/syndata.html#characters">escaping rules</a> as CSS. <a href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>. - <h3 id=namespaces><span class=secno>3.2. </span> Namespaces</h3> + <h3 id=namespaces><span class=secno>3.4. </span> Namespaces</h3> <p>Certain selectors support namespace prefixes. The mechanism by which namespace prefixes are <dfn id=declared>declared</dfn> should be specified @@ -850,7 +885,7 @@ rule. <a href="#CSS3NAMESPACE" rel=biblioentry>[CSS3NAMESPACE]<!--{{!CSS3NAMESPACE}}--></a> - <h3 id=invalid><span class=secno>3.3. </span> Invalid Selectors and Error + <h3 id=invalid><span class=secno>3.5. </span> Invalid Selectors and Error Handling</h3> <p>Invalidity is caused by a parsing error, e.g. an unrecognized token or a Index: Overview.src.html =================================================================== RCS file: /sources/public/csswg/selectors4/Overview.src.html,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Overview.src.html 23 Mar 2011 22:31:48 -0000 1.4 +++ Overview.src.html 23 Mar 2011 22:47:55 -0000 1.5 @@ -35,7 +35,6 @@ <dt><a name=editors-list></a>Editors: - <dd class="vcard"><a lang="tr" class="url fn" href="http://www.tantek.com/">Tantek Çelik</a> (Invited Expert) <dd class="vcard"><a class="url fn" href="http://fantasai.inkedblade.net/contact">Elika J. Etemad</a> (Invited Expert) <dd class="vcard"><span class="fn">Daniel Glazman</span> (Disruptive Innovations SARL)</dd>
Received on Wednesday, 23 March 2011 22:48:00 UTC